]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - ecp_id_GostR3410_2001_TestParamSet.c
GOST ECC optimizations (#263)
[openssl-gost/engine.git] / ecp_id_GostR3410_2001_TestParamSet.c
1 /* Autogenerated: ECCKiila https://gitlab.com/nisec/ecckiila */
2 /*-
3  * MIT License
4  * 
5  * Copyright (c) 2020 Luis Rivera-Zamarripa, Jesús-Javier Chi-Domínguez, Billy Bob Brumley
6  * 
7  * Permission is hereby granted, free of charge, to any person obtaining a copy
8  * of this software and associated documentation files (the "Software"), to deal
9  * in the Software without restriction, including without limitation the rights
10  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11  * copies of the Software, and to permit persons to whom the Software is
12  * furnished to do so, subject to the following conditions:
13  * 
14  * The above copyright notice and this permission notice shall be included in all
15  * copies or substantial portions of the Software.
16  * 
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23  * SOFTWARE.
24  */
25 #if defined(__SIZEOF_INT128__) && !defined(PEDANTIC)
26
27 #include <stdint.h>
28 #include <string.h>
29 #define LIMB_BITS 64
30 #define LIMB_CNT 4
31 /* Field elements */
32 typedef uint64_t fe_t[LIMB_CNT];
33 typedef uint64_t limb_t;
34
35 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
36 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
37
38 /* Projective points */
39 typedef struct {
40     fe_t X;
41     fe_t Y;
42     fe_t Z;
43 } pt_prj_t;
44
45 /* Affine points */
46 typedef struct {
47     fe_t X;
48     fe_t Y;
49 } pt_aff_t;
50
51 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
52 /*-
53  * MIT License
54  *
55  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
56  *
57  * Permission is hereby granted, free of charge, to any person obtaining a copy
58  * of this software and associated documentation files (the "Software"), to deal
59  * in the Software without restriction, including without limitation the rights
60  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
61  * copies of the Software, and to permit persons to whom the Software is
62  * furnished to do so, subject to the following conditions:
63  *
64  * The above copyright notice and this permission notice shall be included in
65  * all copies or substantial portions of the Software.
66  *
67  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
68  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
69  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
70  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
71  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
72  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
73  * SOFTWARE.
74  */
75
76 /* Autogenerated: word_by_word_montgomery --static id_GostR3410_2001_TestParamSet 64 '2^255 + 1073' */
77 /* curve description: id_GostR3410_2001_TestParamSet */
78 /* machine_wordsize = 64 (from "64") */
79 /* requested operations: (all) */
80 /* m = 0x8000000000000000000000000000000000000000000000000000000000000431 (from "2^255 + 1073") */
81 /*                                                                    */
82 /* NOTE: In addition to the bounds specified above each function, all */
83 /*   functions synthesized for this Montgomery arithmetic require the */
84 /*   input to be strictly less than the prime modulus (m), and also   */
85 /*   require the input to be in the unique saturated representation.  */
86 /*   All functions also ensure that these two properties are true of  */
87 /*   return values.                                                   */
88 /*  */
89 /* Computed values: */
90 /* eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) */
91 /* bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) + (z[28] << 224) + (z[29] << 232) + (z[30] << 240) + (z[31] << 248) */
92
93 #include <stdint.h>
94 typedef unsigned char fiat_id_GostR3410_2001_TestParamSet_uint1;
95 typedef signed char fiat_id_GostR3410_2001_TestParamSet_int1;
96 typedef signed __int128 fiat_id_GostR3410_2001_TestParamSet_int128;
97 typedef unsigned __int128 fiat_id_GostR3410_2001_TestParamSet_uint128;
98
99 #if (-1 & 3) != 3
100 #error "This code only works on a two's complement system"
101 #endif
102
103 /*
104  * The function fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64 is an addition with carry.
105  * Postconditions:
106  *   out1 = (arg1 + arg2 + arg3) mod 2^64
107  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^64⌋
108  *
109  * Input Bounds:
110  *   arg1: [0x0 ~> 0x1]
111  *   arg2: [0x0 ~> 0xffffffffffffffff]
112  *   arg3: [0x0 ~> 0xffffffffffffffff]
113  * Output Bounds:
114  *   out1: [0x0 ~> 0xffffffffffffffff]
115  *   out2: [0x0 ~> 0x1]
116  */
117 static void fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
118     uint64_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
119     fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint64_t arg2,
120     uint64_t arg3) {
121     fiat_id_GostR3410_2001_TestParamSet_uint128 x1;
122     uint64_t x2;
123     fiat_id_GostR3410_2001_TestParamSet_uint1 x3;
124     x1 = ((arg1 + (fiat_id_GostR3410_2001_TestParamSet_uint128)arg2) + arg3);
125     x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
126     x3 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(x1 >> 64);
127     *out1 = x2;
128     *out2 = x3;
129 }
130
131 /*
132  * The function fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64 is a subtraction with borrow.
133  * Postconditions:
134  *   out1 = (-arg1 + arg2 + -arg3) mod 2^64
135  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^64⌋
136  *
137  * Input Bounds:
138  *   arg1: [0x0 ~> 0x1]
139  *   arg2: [0x0 ~> 0xffffffffffffffff]
140  *   arg3: [0x0 ~> 0xffffffffffffffff]
141  * Output Bounds:
142  *   out1: [0x0 ~> 0xffffffffffffffff]
143  *   out2: [0x0 ~> 0x1]
144  */
145 static void fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
146     uint64_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
147     fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint64_t arg2,
148     uint64_t arg3) {
149     fiat_id_GostR3410_2001_TestParamSet_int128 x1;
150     fiat_id_GostR3410_2001_TestParamSet_int1 x2;
151     uint64_t x3;
152     x1 = ((arg2 - (fiat_id_GostR3410_2001_TestParamSet_int128)arg1) - arg3);
153     x2 = (fiat_id_GostR3410_2001_TestParamSet_int1)(x1 >> 64);
154     x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
155     *out1 = x3;
156     *out2 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(0x0 - x2);
157 }
158
159 /*
160  * The function fiat_id_GostR3410_2001_TestParamSet_mulx_u64 is a multiplication, returning the full double-width result.
161  * Postconditions:
162  *   out1 = (arg1 * arg2) mod 2^64
163  *   out2 = ⌊arg1 * arg2 / 2^64⌋
164  *
165  * Input Bounds:
166  *   arg1: [0x0 ~> 0xffffffffffffffff]
167  *   arg2: [0x0 ~> 0xffffffffffffffff]
168  * Output Bounds:
169  *   out1: [0x0 ~> 0xffffffffffffffff]
170  *   out2: [0x0 ~> 0xffffffffffffffff]
171  */
172 static void fiat_id_GostR3410_2001_TestParamSet_mulx_u64(uint64_t *out1,
173                                                          uint64_t *out2,
174                                                          uint64_t arg1,
175                                                          uint64_t arg2) {
176     fiat_id_GostR3410_2001_TestParamSet_uint128 x1;
177     uint64_t x2;
178     uint64_t x3;
179     x1 = ((fiat_id_GostR3410_2001_TestParamSet_uint128)arg1 * arg2);
180     x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
181     x3 = (uint64_t)(x1 >> 64);
182     *out1 = x2;
183     *out2 = x3;
184 }
185
186 /*
187  * The function fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64 is a single-word conditional move.
188  * Postconditions:
189  *   out1 = (if arg1 = 0 then arg2 else arg3)
190  *
191  * Input Bounds:
192  *   arg1: [0x0 ~> 0x1]
193  *   arg2: [0x0 ~> 0xffffffffffffffff]
194  *   arg3: [0x0 ~> 0xffffffffffffffff]
195  * Output Bounds:
196  *   out1: [0x0 ~> 0xffffffffffffffff]
197  */
198 static void fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(
199     uint64_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
200     uint64_t arg2, uint64_t arg3) {
201     fiat_id_GostR3410_2001_TestParamSet_uint1 x1;
202     uint64_t x2;
203     uint64_t x3;
204     x1 = (!(!arg1));
205     x2 = ((fiat_id_GostR3410_2001_TestParamSet_int1)(0x0 - x1) &
206           UINT64_C(0xffffffffffffffff));
207     x3 = ((x2 & arg3) | ((~x2) & arg2));
208     *out1 = x3;
209 }
210
211 /*
212  * The function fiat_id_GostR3410_2001_TestParamSet_mul multiplies two field elements in the Montgomery domain.
213  * Preconditions:
214  *   0 ≤ eval arg1 < m
215  *   0 ≤ eval arg2 < m
216  * Postconditions:
217  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
218  *   0 ≤ eval out1 < m
219  *
220  * Input Bounds:
221  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
222  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
223  * Output Bounds:
224  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
225  */
226 static void fiat_id_GostR3410_2001_TestParamSet_mul(uint64_t out1[4],
227                                                     const uint64_t arg1[4],
228                                                     const uint64_t arg2[4]) {
229     uint64_t x1;
230     uint64_t x2;
231     uint64_t x3;
232     uint64_t x4;
233     uint64_t x5;
234     uint64_t x6;
235     uint64_t x7;
236     uint64_t x8;
237     uint64_t x9;
238     uint64_t x10;
239     uint64_t x11;
240     uint64_t x12;
241     uint64_t x13;
242     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
243     uint64_t x15;
244     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
245     uint64_t x17;
246     fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
247     uint64_t x19;
248     uint64_t x20;
249     uint64_t x21;
250     uint64_t x22;
251     uint64_t x23;
252     uint64_t x24;
253     uint64_t x25;
254     uint64_t x26;
255     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
256     uint64_t x28;
257     fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
258     uint64_t x30;
259     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
260     uint64_t x32;
261     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
262     uint64_t x34;
263     fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
264     uint64_t x36;
265     uint64_t x37;
266     uint64_t x38;
267     uint64_t x39;
268     uint64_t x40;
269     uint64_t x41;
270     uint64_t x42;
271     uint64_t x43;
272     uint64_t x44;
273     fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
274     uint64_t x46;
275     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
276     uint64_t x48;
277     fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
278     uint64_t x50;
279     uint64_t x51;
280     fiat_id_GostR3410_2001_TestParamSet_uint1 x52;
281     uint64_t x53;
282     fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
283     uint64_t x55;
284     fiat_id_GostR3410_2001_TestParamSet_uint1 x56;
285     uint64_t x57;
286     fiat_id_GostR3410_2001_TestParamSet_uint1 x58;
287     uint64_t x59;
288     fiat_id_GostR3410_2001_TestParamSet_uint1 x60;
289     uint64_t x61;
290     uint64_t x62;
291     uint64_t x63;
292     uint64_t x64;
293     uint64_t x65;
294     uint64_t x66;
295     uint64_t x67;
296     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
297     uint64_t x69;
298     fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
299     uint64_t x71;
300     fiat_id_GostR3410_2001_TestParamSet_uint1 x72;
301     uint64_t x73;
302     fiat_id_GostR3410_2001_TestParamSet_uint1 x74;
303     uint64_t x75;
304     fiat_id_GostR3410_2001_TestParamSet_uint1 x76;
305     uint64_t x77;
306     uint64_t x78;
307     uint64_t x79;
308     uint64_t x80;
309     uint64_t x81;
310     uint64_t x82;
311     uint64_t x83;
312     uint64_t x84;
313     uint64_t x85;
314     uint64_t x86;
315     fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
316     uint64_t x88;
317     fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
318     uint64_t x90;
319     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
320     uint64_t x92;
321     uint64_t x93;
322     fiat_id_GostR3410_2001_TestParamSet_uint1 x94;
323     uint64_t x95;
324     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
325     uint64_t x97;
326     fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
327     uint64_t x99;
328     fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
329     uint64_t x101;
330     fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
331     uint64_t x103;
332     uint64_t x104;
333     uint64_t x105;
334     uint64_t x106;
335     uint64_t x107;
336     uint64_t x108;
337     uint64_t x109;
338     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
339     uint64_t x111;
340     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
341     uint64_t x113;
342     fiat_id_GostR3410_2001_TestParamSet_uint1 x114;
343     uint64_t x115;
344     fiat_id_GostR3410_2001_TestParamSet_uint1 x116;
345     uint64_t x117;
346     fiat_id_GostR3410_2001_TestParamSet_uint1 x118;
347     uint64_t x119;
348     uint64_t x120;
349     uint64_t x121;
350     uint64_t x122;
351     uint64_t x123;
352     uint64_t x124;
353     uint64_t x125;
354     uint64_t x126;
355     uint64_t x127;
356     uint64_t x128;
357     fiat_id_GostR3410_2001_TestParamSet_uint1 x129;
358     uint64_t x130;
359     fiat_id_GostR3410_2001_TestParamSet_uint1 x131;
360     uint64_t x132;
361     fiat_id_GostR3410_2001_TestParamSet_uint1 x133;
362     uint64_t x134;
363     uint64_t x135;
364     fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
365     uint64_t x137;
366     fiat_id_GostR3410_2001_TestParamSet_uint1 x138;
367     uint64_t x139;
368     fiat_id_GostR3410_2001_TestParamSet_uint1 x140;
369     uint64_t x141;
370     fiat_id_GostR3410_2001_TestParamSet_uint1 x142;
371     uint64_t x143;
372     fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
373     uint64_t x145;
374     uint64_t x146;
375     uint64_t x147;
376     uint64_t x148;
377     uint64_t x149;
378     uint64_t x150;
379     uint64_t x151;
380     fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
381     uint64_t x153;
382     fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
383     uint64_t x155;
384     fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
385     uint64_t x157;
386     fiat_id_GostR3410_2001_TestParamSet_uint1 x158;
387     uint64_t x159;
388     fiat_id_GostR3410_2001_TestParamSet_uint1 x160;
389     uint64_t x161;
390     uint64_t x162;
391     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
392     uint64_t x164;
393     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
394     uint64_t x166;
395     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
396     uint64_t x168;
397     fiat_id_GostR3410_2001_TestParamSet_uint1 x169;
398     uint64_t x170;
399     fiat_id_GostR3410_2001_TestParamSet_uint1 x171;
400     uint64_t x172;
401     uint64_t x173;
402     uint64_t x174;
403     uint64_t x175;
404     x1 = (arg1[1]);
405     x2 = (arg1[2]);
406     x3 = (arg1[3]);
407     x4 = (arg1[0]);
408     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x5, &x6, x4, (arg2[3]));
409     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x7, &x8, x4, (arg2[2]));
410     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x9, &x10, x4, (arg2[1]));
411     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x11, &x12, x4, (arg2[0]));
412     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x13, &x14, 0x0, x12, x9);
413     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x15, &x16, x14, x10, x7);
414     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x17, &x18, x16, x8, x5);
415     x19 = (x18 + x6);
416     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x20, &x21, x11,
417                                                  UINT64_C(0xdbf951d5883b2b2f));
418     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x22, &x23, x20,
419                                                  UINT64_C(0x8000000000000000));
420     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x24, &x25, x20,
421                                                  UINT16_C(0x431));
422     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x26, &x27, 0x0, x11,
423                                                       x24);
424     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x28, &x29, x27, x13,
425                                                       x25);
426     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x30, &x31, x29, x15,
427                                                       0x0);
428     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x32, &x33, x31, x17,
429                                                       x22);
430     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x34, &x35, x33, x19,
431                                                       x23);
432     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x36, &x37, x1, (arg2[3]));
433     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x38, &x39, x1, (arg2[2]));
434     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x40, &x41, x1, (arg2[1]));
435     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x42, &x43, x1, (arg2[0]));
436     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x44, &x45, 0x0, x43,
437                                                       x40);
438     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x46, &x47, x45, x41,
439                                                       x38);
440     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x48, &x49, x47, x39,
441                                                       x36);
442     x50 = (x49 + x37);
443     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x51, &x52, 0x0, x28,
444                                                       x42);
445     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x53, &x54, x52, x30,
446                                                       x44);
447     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x55, &x56, x54, x32,
448                                                       x46);
449     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x57, &x58, x56, x34,
450                                                       x48);
451     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x59, &x60, x58, x35,
452                                                       x50);
453     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x61, &x62, x51,
454                                                  UINT64_C(0xdbf951d5883b2b2f));
455     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x63, &x64, x61,
456                                                  UINT64_C(0x8000000000000000));
457     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x65, &x66, x61,
458                                                  UINT16_C(0x431));
459     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x67, &x68, 0x0, x51,
460                                                       x65);
461     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x69, &x70, x68, x53,
462                                                       x66);
463     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x71, &x72, x70, x55,
464                                                       0x0);
465     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x73, &x74, x72, x57,
466                                                       x63);
467     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x75, &x76, x74, x59,
468                                                       x64);
469     x77 = ((uint64_t)x76 + x60);
470     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x78, &x79, x2, (arg2[3]));
471     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x80, &x81, x2, (arg2[2]));
472     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x82, &x83, x2, (arg2[1]));
473     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x84, &x85, x2, (arg2[0]));
474     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x86, &x87, 0x0, x85,
475                                                       x82);
476     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x88, &x89, x87, x83,
477                                                       x80);
478     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x90, &x91, x89, x81,
479                                                       x78);
480     x92 = (x91 + x79);
481     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x93, &x94, 0x0, x69,
482                                                       x84);
483     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x95, &x96, x94, x71,
484                                                       x86);
485     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x97, &x98, x96, x73,
486                                                       x88);
487     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x99, &x100, x98, x75,
488                                                       x90);
489     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x101, &x102, x100, x77,
490                                                       x92);
491     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x103, &x104, x93,
492                                                  UINT64_C(0xdbf951d5883b2b2f));
493     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x105, &x106, x103,
494                                                  UINT64_C(0x8000000000000000));
495     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x107, &x108, x103,
496                                                  UINT16_C(0x431));
497     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x109, &x110, 0x0, x93,
498                                                       x107);
499     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x111, &x112, x110, x95,
500                                                       x108);
501     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x113, &x114, x112, x97,
502                                                       0x0);
503     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x115, &x116, x114, x99,
504                                                       x105);
505     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x117, &x118, x116, x101,
506                                                       x106);
507     x119 = ((uint64_t)x118 + x102);
508     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x120, &x121, x3, (arg2[3]));
509     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x122, &x123, x3, (arg2[2]));
510     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x124, &x125, x3, (arg2[1]));
511     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x126, &x127, x3, (arg2[0]));
512     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x128, &x129, 0x0, x127,
513                                                       x124);
514     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x130, &x131, x129, x125,
515                                                       x122);
516     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x132, &x133, x131, x123,
517                                                       x120);
518     x134 = (x133 + x121);
519     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x135, &x136, 0x0, x111,
520                                                       x126);
521     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x137, &x138, x136, x113,
522                                                       x128);
523     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x139, &x140, x138, x115,
524                                                       x130);
525     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x141, &x142, x140, x117,
526                                                       x132);
527     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x143, &x144, x142, x119,
528                                                       x134);
529     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x145, &x146, x135,
530                                                  UINT64_C(0xdbf951d5883b2b2f));
531     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x147, &x148, x145,
532                                                  UINT64_C(0x8000000000000000));
533     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x149, &x150, x145,
534                                                  UINT16_C(0x431));
535     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x151, &x152, 0x0, x135,
536                                                       x149);
537     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x153, &x154, x152, x137,
538                                                       x150);
539     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x155, &x156, x154, x139,
540                                                       0x0);
541     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x157, &x158, x156, x141,
542                                                       x147);
543     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x159, &x160, x158, x143,
544                                                       x148);
545     x161 = ((uint64_t)x160 + x144);
546     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x162, &x163, 0x0, x153,
547                                                        UINT16_C(0x431));
548     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x164, &x165, x163, x155,
549                                                        0x0);
550     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x166, &x167, x165, x157,
551                                                        0x0);
552     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
553         &x168, &x169, x167, x159, UINT64_C(0x8000000000000000));
554     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x170, &x171, x169, x161,
555                                                        0x0);
556     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x172, x171, x162, x153);
557     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x173, x171, x164, x155);
558     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x174, x171, x166, x157);
559     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x175, x171, x168, x159);
560     out1[0] = x172;
561     out1[1] = x173;
562     out1[2] = x174;
563     out1[3] = x175;
564 }
565
566 /*
567  * The function fiat_id_GostR3410_2001_TestParamSet_square squares a field element in the Montgomery domain.
568  * Preconditions:
569  *   0 ≤ eval arg1 < m
570  * Postconditions:
571  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
572  *   0 ≤ eval out1 < m
573  *
574  * Input Bounds:
575  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
576  * Output Bounds:
577  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
578  */
579 static void fiat_id_GostR3410_2001_TestParamSet_square(uint64_t out1[4],
580                                                        const uint64_t arg1[4]) {
581     uint64_t x1;
582     uint64_t x2;
583     uint64_t x3;
584     uint64_t x4;
585     uint64_t x5;
586     uint64_t x6;
587     uint64_t x7;
588     uint64_t x8;
589     uint64_t x9;
590     uint64_t x10;
591     uint64_t x11;
592     uint64_t x12;
593     uint64_t x13;
594     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
595     uint64_t x15;
596     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
597     uint64_t x17;
598     fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
599     uint64_t x19;
600     uint64_t x20;
601     uint64_t x21;
602     uint64_t x22;
603     uint64_t x23;
604     uint64_t x24;
605     uint64_t x25;
606     uint64_t x26;
607     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
608     uint64_t x28;
609     fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
610     uint64_t x30;
611     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
612     uint64_t x32;
613     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
614     uint64_t x34;
615     fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
616     uint64_t x36;
617     uint64_t x37;
618     uint64_t x38;
619     uint64_t x39;
620     uint64_t x40;
621     uint64_t x41;
622     uint64_t x42;
623     uint64_t x43;
624     uint64_t x44;
625     fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
626     uint64_t x46;
627     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
628     uint64_t x48;
629     fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
630     uint64_t x50;
631     uint64_t x51;
632     fiat_id_GostR3410_2001_TestParamSet_uint1 x52;
633     uint64_t x53;
634     fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
635     uint64_t x55;
636     fiat_id_GostR3410_2001_TestParamSet_uint1 x56;
637     uint64_t x57;
638     fiat_id_GostR3410_2001_TestParamSet_uint1 x58;
639     uint64_t x59;
640     fiat_id_GostR3410_2001_TestParamSet_uint1 x60;
641     uint64_t x61;
642     uint64_t x62;
643     uint64_t x63;
644     uint64_t x64;
645     uint64_t x65;
646     uint64_t x66;
647     uint64_t x67;
648     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
649     uint64_t x69;
650     fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
651     uint64_t x71;
652     fiat_id_GostR3410_2001_TestParamSet_uint1 x72;
653     uint64_t x73;
654     fiat_id_GostR3410_2001_TestParamSet_uint1 x74;
655     uint64_t x75;
656     fiat_id_GostR3410_2001_TestParamSet_uint1 x76;
657     uint64_t x77;
658     uint64_t x78;
659     uint64_t x79;
660     uint64_t x80;
661     uint64_t x81;
662     uint64_t x82;
663     uint64_t x83;
664     uint64_t x84;
665     uint64_t x85;
666     uint64_t x86;
667     fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
668     uint64_t x88;
669     fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
670     uint64_t x90;
671     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
672     uint64_t x92;
673     uint64_t x93;
674     fiat_id_GostR3410_2001_TestParamSet_uint1 x94;
675     uint64_t x95;
676     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
677     uint64_t x97;
678     fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
679     uint64_t x99;
680     fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
681     uint64_t x101;
682     fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
683     uint64_t x103;
684     uint64_t x104;
685     uint64_t x105;
686     uint64_t x106;
687     uint64_t x107;
688     uint64_t x108;
689     uint64_t x109;
690     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
691     uint64_t x111;
692     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
693     uint64_t x113;
694     fiat_id_GostR3410_2001_TestParamSet_uint1 x114;
695     uint64_t x115;
696     fiat_id_GostR3410_2001_TestParamSet_uint1 x116;
697     uint64_t x117;
698     fiat_id_GostR3410_2001_TestParamSet_uint1 x118;
699     uint64_t x119;
700     uint64_t x120;
701     uint64_t x121;
702     uint64_t x122;
703     uint64_t x123;
704     uint64_t x124;
705     uint64_t x125;
706     uint64_t x126;
707     uint64_t x127;
708     uint64_t x128;
709     fiat_id_GostR3410_2001_TestParamSet_uint1 x129;
710     uint64_t x130;
711     fiat_id_GostR3410_2001_TestParamSet_uint1 x131;
712     uint64_t x132;
713     fiat_id_GostR3410_2001_TestParamSet_uint1 x133;
714     uint64_t x134;
715     uint64_t x135;
716     fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
717     uint64_t x137;
718     fiat_id_GostR3410_2001_TestParamSet_uint1 x138;
719     uint64_t x139;
720     fiat_id_GostR3410_2001_TestParamSet_uint1 x140;
721     uint64_t x141;
722     fiat_id_GostR3410_2001_TestParamSet_uint1 x142;
723     uint64_t x143;
724     fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
725     uint64_t x145;
726     uint64_t x146;
727     uint64_t x147;
728     uint64_t x148;
729     uint64_t x149;
730     uint64_t x150;
731     uint64_t x151;
732     fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
733     uint64_t x153;
734     fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
735     uint64_t x155;
736     fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
737     uint64_t x157;
738     fiat_id_GostR3410_2001_TestParamSet_uint1 x158;
739     uint64_t x159;
740     fiat_id_GostR3410_2001_TestParamSet_uint1 x160;
741     uint64_t x161;
742     uint64_t x162;
743     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
744     uint64_t x164;
745     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
746     uint64_t x166;
747     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
748     uint64_t x168;
749     fiat_id_GostR3410_2001_TestParamSet_uint1 x169;
750     uint64_t x170;
751     fiat_id_GostR3410_2001_TestParamSet_uint1 x171;
752     uint64_t x172;
753     uint64_t x173;
754     uint64_t x174;
755     uint64_t x175;
756     x1 = (arg1[1]);
757     x2 = (arg1[2]);
758     x3 = (arg1[3]);
759     x4 = (arg1[0]);
760     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x5, &x6, x4, (arg1[3]));
761     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x7, &x8, x4, (arg1[2]));
762     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x9, &x10, x4, (arg1[1]));
763     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x11, &x12, x4, (arg1[0]));
764     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x13, &x14, 0x0, x12, x9);
765     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x15, &x16, x14, x10, x7);
766     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x17, &x18, x16, x8, x5);
767     x19 = (x18 + x6);
768     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x20, &x21, x11,
769                                                  UINT64_C(0xdbf951d5883b2b2f));
770     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x22, &x23, x20,
771                                                  UINT64_C(0x8000000000000000));
772     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x24, &x25, x20,
773                                                  UINT16_C(0x431));
774     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x26, &x27, 0x0, x11,
775                                                       x24);
776     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x28, &x29, x27, x13,
777                                                       x25);
778     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x30, &x31, x29, x15,
779                                                       0x0);
780     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x32, &x33, x31, x17,
781                                                       x22);
782     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x34, &x35, x33, x19,
783                                                       x23);
784     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x36, &x37, x1, (arg1[3]));
785     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x38, &x39, x1, (arg1[2]));
786     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x40, &x41, x1, (arg1[1]));
787     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x42, &x43, x1, (arg1[0]));
788     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x44, &x45, 0x0, x43,
789                                                       x40);
790     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x46, &x47, x45, x41,
791                                                       x38);
792     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x48, &x49, x47, x39,
793                                                       x36);
794     x50 = (x49 + x37);
795     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x51, &x52, 0x0, x28,
796                                                       x42);
797     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x53, &x54, x52, x30,
798                                                       x44);
799     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x55, &x56, x54, x32,
800                                                       x46);
801     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x57, &x58, x56, x34,
802                                                       x48);
803     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x59, &x60, x58, x35,
804                                                       x50);
805     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x61, &x62, x51,
806                                                  UINT64_C(0xdbf951d5883b2b2f));
807     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x63, &x64, x61,
808                                                  UINT64_C(0x8000000000000000));
809     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x65, &x66, x61,
810                                                  UINT16_C(0x431));
811     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x67, &x68, 0x0, x51,
812                                                       x65);
813     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x69, &x70, x68, x53,
814                                                       x66);
815     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x71, &x72, x70, x55,
816                                                       0x0);
817     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x73, &x74, x72, x57,
818                                                       x63);
819     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x75, &x76, x74, x59,
820                                                       x64);
821     x77 = ((uint64_t)x76 + x60);
822     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x78, &x79, x2, (arg1[3]));
823     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x80, &x81, x2, (arg1[2]));
824     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x82, &x83, x2, (arg1[1]));
825     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x84, &x85, x2, (arg1[0]));
826     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x86, &x87, 0x0, x85,
827                                                       x82);
828     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x88, &x89, x87, x83,
829                                                       x80);
830     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x90, &x91, x89, x81,
831                                                       x78);
832     x92 = (x91 + x79);
833     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x93, &x94, 0x0, x69,
834                                                       x84);
835     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x95, &x96, x94, x71,
836                                                       x86);
837     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x97, &x98, x96, x73,
838                                                       x88);
839     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x99, &x100, x98, x75,
840                                                       x90);
841     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x101, &x102, x100, x77,
842                                                       x92);
843     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x103, &x104, x93,
844                                                  UINT64_C(0xdbf951d5883b2b2f));
845     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x105, &x106, x103,
846                                                  UINT64_C(0x8000000000000000));
847     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x107, &x108, x103,
848                                                  UINT16_C(0x431));
849     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x109, &x110, 0x0, x93,
850                                                       x107);
851     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x111, &x112, x110, x95,
852                                                       x108);
853     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x113, &x114, x112, x97,
854                                                       0x0);
855     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x115, &x116, x114, x99,
856                                                       x105);
857     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x117, &x118, x116, x101,
858                                                       x106);
859     x119 = ((uint64_t)x118 + x102);
860     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x120, &x121, x3, (arg1[3]));
861     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x122, &x123, x3, (arg1[2]));
862     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x124, &x125, x3, (arg1[1]));
863     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x126, &x127, x3, (arg1[0]));
864     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x128, &x129, 0x0, x127,
865                                                       x124);
866     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x130, &x131, x129, x125,
867                                                       x122);
868     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x132, &x133, x131, x123,
869                                                       x120);
870     x134 = (x133 + x121);
871     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x135, &x136, 0x0, x111,
872                                                       x126);
873     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x137, &x138, x136, x113,
874                                                       x128);
875     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x139, &x140, x138, x115,
876                                                       x130);
877     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x141, &x142, x140, x117,
878                                                       x132);
879     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x143, &x144, x142, x119,
880                                                       x134);
881     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x145, &x146, x135,
882                                                  UINT64_C(0xdbf951d5883b2b2f));
883     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x147, &x148, x145,
884                                                  UINT64_C(0x8000000000000000));
885     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x149, &x150, x145,
886                                                  UINT16_C(0x431));
887     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x151, &x152, 0x0, x135,
888                                                       x149);
889     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x153, &x154, x152, x137,
890                                                       x150);
891     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x155, &x156, x154, x139,
892                                                       0x0);
893     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x157, &x158, x156, x141,
894                                                       x147);
895     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x159, &x160, x158, x143,
896                                                       x148);
897     x161 = ((uint64_t)x160 + x144);
898     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x162, &x163, 0x0, x153,
899                                                        UINT16_C(0x431));
900     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x164, &x165, x163, x155,
901                                                        0x0);
902     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x166, &x167, x165, x157,
903                                                        0x0);
904     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
905         &x168, &x169, x167, x159, UINT64_C(0x8000000000000000));
906     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x170, &x171, x169, x161,
907                                                        0x0);
908     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x172, x171, x162, x153);
909     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x173, x171, x164, x155);
910     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x174, x171, x166, x157);
911     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x175, x171, x168, x159);
912     out1[0] = x172;
913     out1[1] = x173;
914     out1[2] = x174;
915     out1[3] = x175;
916 }
917
918 /*
919  * The function fiat_id_GostR3410_2001_TestParamSet_add adds two field elements in the Montgomery domain.
920  * Preconditions:
921  *   0 ≤ eval arg1 < m
922  *   0 ≤ eval arg2 < m
923  * Postconditions:
924  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
925  *   0 ≤ eval out1 < m
926  *
927  * Input Bounds:
928  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
929  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
930  * Output Bounds:
931  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
932  */
933 static void fiat_id_GostR3410_2001_TestParamSet_add(uint64_t out1[4],
934                                                     const uint64_t arg1[4],
935                                                     const uint64_t arg2[4]) {
936     uint64_t x1;
937     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
938     uint64_t x3;
939     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
940     uint64_t x5;
941     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
942     uint64_t x7;
943     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
944     uint64_t x9;
945     fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
946     uint64_t x11;
947     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
948     uint64_t x13;
949     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
950     uint64_t x15;
951     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
952     uint64_t x17;
953     fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
954     uint64_t x19;
955     uint64_t x20;
956     uint64_t x21;
957     uint64_t x22;
958     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x1, &x2, 0x0, (arg1[0]),
959                                                       (arg2[0]));
960     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x3, &x4, x2, (arg1[1]),
961                                                       (arg2[1]));
962     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x5, &x6, x4, (arg1[2]),
963                                                       (arg2[2]));
964     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x7, &x8, x6, (arg1[3]),
965                                                       (arg2[3]));
966     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x9, &x10, 0x0, x1,
967                                                        UINT16_C(0x431));
968     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x11, &x12, x10, x3,
969                                                        0x0);
970     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x13, &x14, x12, x5,
971                                                        0x0);
972     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
973         &x15, &x16, x14, x7, UINT64_C(0x8000000000000000));
974     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x17, &x18, x16, x8,
975                                                        0x0);
976     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x19, x18, x9, x1);
977     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x20, x18, x11, x3);
978     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x21, x18, x13, x5);
979     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x22, x18, x15, x7);
980     out1[0] = x19;
981     out1[1] = x20;
982     out1[2] = x21;
983     out1[3] = x22;
984 }
985
986 /*
987  * The function fiat_id_GostR3410_2001_TestParamSet_sub subtracts two field elements in the Montgomery domain.
988  * Preconditions:
989  *   0 ≤ eval arg1 < m
990  *   0 ≤ eval arg2 < m
991  * Postconditions:
992  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
993  *   0 ≤ eval out1 < m
994  *
995  * Input Bounds:
996  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
997  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
998  * Output Bounds:
999  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1000  */
1001 static void fiat_id_GostR3410_2001_TestParamSet_sub(uint64_t out1[4],
1002                                                     const uint64_t arg1[4],
1003                                                     const uint64_t arg2[4]) {
1004     uint64_t x1;
1005     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
1006     uint64_t x3;
1007     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
1008     uint64_t x5;
1009     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
1010     uint64_t x7;
1011     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
1012     uint64_t x9;
1013     uint64_t x10;
1014     fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
1015     uint64_t x12;
1016     fiat_id_GostR3410_2001_TestParamSet_uint1 x13;
1017     uint64_t x14;
1018     fiat_id_GostR3410_2001_TestParamSet_uint1 x15;
1019     uint64_t x16;
1020     fiat_id_GostR3410_2001_TestParamSet_uint1 x17;
1021     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x1, &x2, 0x0, (arg1[0]),
1022                                                        (arg2[0]));
1023     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x3, &x4, x2, (arg1[1]),
1024                                                        (arg2[1]));
1025     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x5, &x6, x4, (arg1[2]),
1026                                                        (arg2[2]));
1027     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x7, &x8, x6, (arg1[3]),
1028                                                        (arg2[3]));
1029     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(
1030         &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
1031     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x10, &x11, 0x0, x1,
1032                                                       (x9 & UINT16_C(0x431)));
1033     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x12, &x13, x11, x3, 0x0);
1034     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x14, &x15, x13, x5, 0x0);
1035     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
1036         &x16, &x17, x15, x7, (x9 & UINT64_C(0x8000000000000000)));
1037     out1[0] = x10;
1038     out1[1] = x12;
1039     out1[2] = x14;
1040     out1[3] = x16;
1041 }
1042
1043 /*
1044  * The function fiat_id_GostR3410_2001_TestParamSet_opp negates a field element in the Montgomery domain.
1045  * Preconditions:
1046  *   0 ≤ eval arg1 < m
1047  * Postconditions:
1048  *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
1049  *   0 ≤ eval out1 < m
1050  *
1051  * Input Bounds:
1052  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1053  * Output Bounds:
1054  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1055  */
1056 static void fiat_id_GostR3410_2001_TestParamSet_opp(uint64_t out1[4],
1057                                                     const uint64_t arg1[4]) {
1058     uint64_t x1;
1059     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
1060     uint64_t x3;
1061     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
1062     uint64_t x5;
1063     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
1064     uint64_t x7;
1065     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
1066     uint64_t x9;
1067     uint64_t x10;
1068     fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
1069     uint64_t x12;
1070     fiat_id_GostR3410_2001_TestParamSet_uint1 x13;
1071     uint64_t x14;
1072     fiat_id_GostR3410_2001_TestParamSet_uint1 x15;
1073     uint64_t x16;
1074     fiat_id_GostR3410_2001_TestParamSet_uint1 x17;
1075     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x1, &x2, 0x0, 0x0,
1076                                                        (arg1[0]));
1077     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x3, &x4, x2, 0x0,
1078                                                        (arg1[1]));
1079     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x5, &x6, x4, 0x0,
1080                                                        (arg1[2]));
1081     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x7, &x8, x6, 0x0,
1082                                                        (arg1[3]));
1083     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(
1084         &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
1085     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x10, &x11, 0x0, x1,
1086                                                       (x9 & UINT16_C(0x431)));
1087     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x12, &x13, x11, x3, 0x0);
1088     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x14, &x15, x13, x5, 0x0);
1089     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
1090         &x16, &x17, x15, x7, (x9 & UINT64_C(0x8000000000000000)));
1091     out1[0] = x10;
1092     out1[1] = x12;
1093     out1[2] = x14;
1094     out1[3] = x16;
1095 }
1096
1097 /*
1098  * The function fiat_id_GostR3410_2001_TestParamSet_from_montgomery translates a field element out of the Montgomery domain.
1099  * Preconditions:
1100  *   0 ≤ eval arg1 < m
1101  * Postconditions:
1102  *   eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^4) mod m
1103  *   0 ≤ eval out1 < m
1104  *
1105  * Input Bounds:
1106  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1107  * Output Bounds:
1108  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1109  */
1110 static void fiat_id_GostR3410_2001_TestParamSet_from_montgomery(
1111     uint64_t out1[4], const uint64_t arg1[4]) {
1112     uint64_t x1;
1113     uint64_t x2;
1114     uint64_t x3;
1115     uint64_t x4;
1116     uint64_t x5;
1117     uint64_t x6;
1118     uint64_t x7;
1119     uint64_t x8;
1120     fiat_id_GostR3410_2001_TestParamSet_uint1 x9;
1121     uint64_t x10;
1122     fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
1123     uint64_t x12;
1124     uint64_t x13;
1125     uint64_t x14;
1126     uint64_t x15;
1127     uint64_t x16;
1128     uint64_t x17;
1129     uint64_t x18;
1130     fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
1131     uint64_t x20;
1132     fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
1133     uint64_t x22;
1134     fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
1135     uint64_t x24;
1136     fiat_id_GostR3410_2001_TestParamSet_uint1 x25;
1137     uint64_t x26;
1138     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
1139     uint64_t x28;
1140     uint64_t x29;
1141     uint64_t x30;
1142     uint64_t x31;
1143     uint64_t x32;
1144     uint64_t x33;
1145     uint64_t x34;
1146     fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
1147     uint64_t x36;
1148     fiat_id_GostR3410_2001_TestParamSet_uint1 x37;
1149     uint64_t x38;
1150     fiat_id_GostR3410_2001_TestParamSet_uint1 x39;
1151     uint64_t x40;
1152     fiat_id_GostR3410_2001_TestParamSet_uint1 x41;
1153     uint64_t x42;
1154     fiat_id_GostR3410_2001_TestParamSet_uint1 x43;
1155     uint64_t x44;
1156     fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
1157     uint64_t x46;
1158     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
1159     uint64_t x48;
1160     uint64_t x49;
1161     uint64_t x50;
1162     uint64_t x51;
1163     uint64_t x52;
1164     uint64_t x53;
1165     uint64_t x54;
1166     fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
1167     uint64_t x56;
1168     fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
1169     uint64_t x58;
1170     fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
1171     uint64_t x60;
1172     fiat_id_GostR3410_2001_TestParamSet_uint1 x61;
1173     uint64_t x62;
1174     uint64_t x63;
1175     fiat_id_GostR3410_2001_TestParamSet_uint1 x64;
1176     uint64_t x65;
1177     fiat_id_GostR3410_2001_TestParamSet_uint1 x66;
1178     uint64_t x67;
1179     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
1180     uint64_t x69;
1181     fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
1182     uint64_t x71;
1183     fiat_id_GostR3410_2001_TestParamSet_uint1 x72;
1184     uint64_t x73;
1185     uint64_t x74;
1186     uint64_t x75;
1187     uint64_t x76;
1188     x1 = (arg1[0]);
1189     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x2, &x3, x1,
1190                                                  UINT64_C(0xdbf951d5883b2b2f));
1191     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x4, &x5, x2,
1192                                                  UINT64_C(0x8000000000000000));
1193     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x6, &x7, x2, UINT16_C(0x431));
1194     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x8, &x9, 0x0, x1, x6);
1195     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x10, &x11, 0x0,
1196                                                       (x9 + x7), (arg1[1]));
1197     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x12, &x13, x10,
1198                                                  UINT64_C(0xdbf951d5883b2b2f));
1199     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x14, &x15, x12,
1200                                                  UINT64_C(0x8000000000000000));
1201     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x16, &x17, x12,
1202                                                  UINT16_C(0x431));
1203     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x18, &x19, 0x0, x5, x14);
1204     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x20, &x21, 0x0, x10,
1205                                                       x16);
1206     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
1207         &x22, &x23, 0x0, (((uint64_t)x21 + x11) + x17), (arg1[2]));
1208     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x24, &x25, x23, x4, 0x0);
1209     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x26, &x27, x25, x18,
1210                                                       0x0);
1211     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x28, &x29, x22,
1212                                                  UINT64_C(0xdbf951d5883b2b2f));
1213     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x30, &x31, x28,
1214                                                  UINT64_C(0x8000000000000000));
1215     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x32, &x33, x28,
1216                                                  UINT16_C(0x431));
1217     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x34, &x35, 0x0, x22,
1218                                                       x32);
1219     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x36, &x37, x35, x24,
1220                                                       x33);
1221     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x38, &x39, x37, x26,
1222                                                       0x0);
1223     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x40, &x41, x39,
1224                                                       (x27 + (x19 + x15)), x30);
1225     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x42, &x43, 0x0, x36,
1226                                                       (arg1[3]));
1227     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x44, &x45, x43, x38,
1228                                                       0x0);
1229     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x46, &x47, x45, x40,
1230                                                       0x0);
1231     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x48, &x49, x42,
1232                                                  UINT64_C(0xdbf951d5883b2b2f));
1233     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x50, &x51, x48,
1234                                                  UINT64_C(0x8000000000000000));
1235     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x52, &x53, x48,
1236                                                  UINT16_C(0x431));
1237     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x54, &x55, 0x0, x42,
1238                                                       x52);
1239     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x56, &x57, x55, x44,
1240                                                       x53);
1241     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x58, &x59, x57, x46,
1242                                                       0x0);
1243     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x60, &x61, x59,
1244                                                       (x47 + (x41 + x31)), x50);
1245     x62 = (x61 + x51);
1246     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x63, &x64, 0x0, x56,
1247                                                        UINT16_C(0x431));
1248     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x65, &x66, x64, x58,
1249                                                        0x0);
1250     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x67, &x68, x66, x60,
1251                                                        0x0);
1252     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
1253         &x69, &x70, x68, x62, UINT64_C(0x8000000000000000));
1254     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x71, &x72, x70, 0x0,
1255                                                        0x0);
1256     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x73, x72, x63, x56);
1257     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x74, x72, x65, x58);
1258     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x75, x72, x67, x60);
1259     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x76, x72, x69, x62);
1260     out1[0] = x73;
1261     out1[1] = x74;
1262     out1[2] = x75;
1263     out1[3] = x76;
1264 }
1265
1266 /*
1267  * The function fiat_id_GostR3410_2001_TestParamSet_to_montgomery translates a field element into the Montgomery domain.
1268  * Preconditions:
1269  *   0 ≤ eval arg1 < m
1270  * Postconditions:
1271  *   eval (from_montgomery out1) mod m = eval arg1 mod m
1272  *   0 ≤ eval out1 < m
1273  *
1274  * Input Bounds:
1275  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1276  * Output Bounds:
1277  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1278  */
1279 static void fiat_id_GostR3410_2001_TestParamSet_to_montgomery(
1280     uint64_t out1[4], const uint64_t arg1[4]) {
1281     uint64_t x1;
1282     uint64_t x2;
1283     uint64_t x3;
1284     uint64_t x4;
1285     uint64_t x5;
1286     uint64_t x6;
1287     uint64_t x7;
1288     uint64_t x8;
1289     uint64_t x9;
1290     uint64_t x10;
1291     uint64_t x11;
1292     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
1293     uint64_t x13;
1294     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
1295     uint64_t x15;
1296     uint64_t x16;
1297     uint64_t x17;
1298     uint64_t x18;
1299     uint64_t x19;
1300     uint64_t x20;
1301     uint64_t x21;
1302     fiat_id_GostR3410_2001_TestParamSet_uint1 x22;
1303     uint64_t x23;
1304     uint64_t x24;
1305     uint64_t x25;
1306     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
1307     uint64_t x27;
1308     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
1309     uint64_t x29;
1310     fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
1311     uint64_t x31;
1312     fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
1313     uint64_t x33;
1314     uint64_t x34;
1315     uint64_t x35;
1316     uint64_t x36;
1317     uint64_t x37;
1318     uint64_t x38;
1319     uint64_t x39;
1320     fiat_id_GostR3410_2001_TestParamSet_uint1 x40;
1321     uint64_t x41;
1322     fiat_id_GostR3410_2001_TestParamSet_uint1 x42;
1323     uint64_t x43;
1324     fiat_id_GostR3410_2001_TestParamSet_uint1 x44;
1325     uint64_t x45;
1326     fiat_id_GostR3410_2001_TestParamSet_uint1 x46;
1327     uint64_t x47;
1328     uint64_t x48;
1329     uint64_t x49;
1330     fiat_id_GostR3410_2001_TestParamSet_uint1 x50;
1331     uint64_t x51;
1332     fiat_id_GostR3410_2001_TestParamSet_uint1 x52;
1333     uint64_t x53;
1334     fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
1335     uint64_t x55;
1336     uint64_t x56;
1337     uint64_t x57;
1338     uint64_t x58;
1339     uint64_t x59;
1340     uint64_t x60;
1341     uint64_t x61;
1342     fiat_id_GostR3410_2001_TestParamSet_uint1 x62;
1343     uint64_t x63;
1344     fiat_id_GostR3410_2001_TestParamSet_uint1 x64;
1345     uint64_t x65;
1346     fiat_id_GostR3410_2001_TestParamSet_uint1 x66;
1347     uint64_t x67;
1348     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
1349     uint64_t x69;
1350     uint64_t x70;
1351     fiat_id_GostR3410_2001_TestParamSet_uint1 x71;
1352     uint64_t x72;
1353     fiat_id_GostR3410_2001_TestParamSet_uint1 x73;
1354     uint64_t x74;
1355     fiat_id_GostR3410_2001_TestParamSet_uint1 x75;
1356     uint64_t x76;
1357     fiat_id_GostR3410_2001_TestParamSet_uint1 x77;
1358     uint64_t x78;
1359     fiat_id_GostR3410_2001_TestParamSet_uint1 x79;
1360     uint64_t x80;
1361     uint64_t x81;
1362     uint64_t x82;
1363     uint64_t x83;
1364     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x1, &x2, (arg1[0]),
1365                                                  UINT32_C(0x464584));
1366     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x3, &x4, x1,
1367                                                  UINT64_C(0xdbf951d5883b2b2f));
1368     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x5, &x6, x3,
1369                                                  UINT64_C(0x8000000000000000));
1370     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x7, &x8, x3, UINT16_C(0x431));
1371     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x9, &x10, (arg1[1]),
1372                                                  UINT32_C(0x464584));
1373     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x11, &x12, 0x0, x1, x7);
1374     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x13, &x14, 0x0,
1375                                                       ((x12 + x2) + x8), x9);
1376     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x15, &x16, x13,
1377                                                  UINT64_C(0xdbf951d5883b2b2f));
1378     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x17, &x18, x15,
1379                                                  UINT64_C(0x8000000000000000));
1380     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x19, &x20, x15,
1381                                                  UINT16_C(0x431));
1382     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x21, &x22, 0x0, x6, x17);
1383     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x23, &x24, (arg1[2]),
1384                                                  UINT32_C(0x464584));
1385     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x25, &x26, 0x0, x13,
1386                                                       x19);
1387     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
1388         &x27, &x28, 0x0, ((x26 + (x14 + x10)) + x20), x23);
1389     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x29, &x30, x28, x5, x24);
1390     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x31, &x32, x30, x21,
1391                                                       0x0);
1392     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x33, &x34, x27,
1393                                                  UINT64_C(0xdbf951d5883b2b2f));
1394     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x35, &x36, x33,
1395                                                  UINT64_C(0x8000000000000000));
1396     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x37, &x38, x33,
1397                                                  UINT16_C(0x431));
1398     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x39, &x40, 0x0, x27,
1399                                                       x37);
1400     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x41, &x42, x40, x29,
1401                                                       x38);
1402     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x43, &x44, x42, x31,
1403                                                       0x0);
1404     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x45, &x46, x44,
1405                                                       (x32 + (x22 + x18)), x35);
1406     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x47, &x48, (arg1[3]),
1407                                                  UINT32_C(0x464584));
1408     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x49, &x50, 0x0, x41,
1409                                                       x47);
1410     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x51, &x52, x50, x43,
1411                                                       x48);
1412     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x53, &x54, x52, x45,
1413                                                       0x0);
1414     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x55, &x56, x49,
1415                                                  UINT64_C(0xdbf951d5883b2b2f));
1416     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x57, &x58, x55,
1417                                                  UINT64_C(0x8000000000000000));
1418     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x59, &x60, x55,
1419                                                  UINT16_C(0x431));
1420     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x61, &x62, 0x0, x49,
1421                                                       x59);
1422     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x63, &x64, x62, x51,
1423                                                       x60);
1424     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x65, &x66, x64, x53,
1425                                                       0x0);
1426     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x67, &x68, x66,
1427                                                       (x54 + (x46 + x36)), x57);
1428     x69 = (x68 + x58);
1429     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x70, &x71, 0x0, x63,
1430                                                        UINT16_C(0x431));
1431     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x72, &x73, x71, x65,
1432                                                        0x0);
1433     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x74, &x75, x73, x67,
1434                                                        0x0);
1435     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
1436         &x76, &x77, x75, x69, UINT64_C(0x8000000000000000));
1437     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x78, &x79, x77, 0x0,
1438                                                        0x0);
1439     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x80, x79, x70, x63);
1440     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x81, x79, x72, x65);
1441     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x82, x79, x74, x67);
1442     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x83, x79, x76, x69);
1443     out1[0] = x80;
1444     out1[1] = x81;
1445     out1[2] = x82;
1446     out1[3] = x83;
1447 }
1448
1449 /*
1450  * The function fiat_id_GostR3410_2001_TestParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
1451  * Preconditions:
1452  *   0 ≤ eval arg1 < m
1453  * Postconditions:
1454  *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
1455  *
1456  * Input Bounds:
1457  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1458  * Output Bounds:
1459  *   out1: [0x0 ~> 0xffffffffffffffff]
1460  */
1461 static void fiat_id_GostR3410_2001_TestParamSet_nonzero(
1462     uint64_t *out1, const uint64_t arg1[4]) {
1463     uint64_t x1;
1464     x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | (uint64_t)0x0))));
1465     *out1 = x1;
1466 }
1467
1468 /*
1469  * The function fiat_id_GostR3410_2001_TestParamSet_selectznz is a multi-limb conditional select.
1470  * Postconditions:
1471  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
1472  *
1473  * Input Bounds:
1474  *   arg1: [0x0 ~> 0x1]
1475  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1476  *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1477  * Output Bounds:
1478  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1479  */
1480 static void fiat_id_GostR3410_2001_TestParamSet_selectznz(
1481     uint64_t out1[4], fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
1482     const uint64_t arg2[4], const uint64_t arg3[4]) {
1483     uint64_t x1;
1484     uint64_t x2;
1485     uint64_t x3;
1486     uint64_t x4;
1487     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x1, arg1, (arg2[0]),
1488                                                     (arg3[0]));
1489     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x2, arg1, (arg2[1]),
1490                                                     (arg3[1]));
1491     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x3, arg1, (arg2[2]),
1492                                                     (arg3[2]));
1493     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x4, arg1, (arg2[3]),
1494                                                     (arg3[3]));
1495     out1[0] = x1;
1496     out1[1] = x2;
1497     out1[2] = x3;
1498     out1[3] = x4;
1499 }
1500
1501 /*
1502  * The function fiat_id_GostR3410_2001_TestParamSet_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
1503  * Preconditions:
1504  *   0 ≤ eval arg1 < m
1505  * Postconditions:
1506  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
1507  *
1508  * Input Bounds:
1509  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1510  * Output Bounds:
1511  *   out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
1512  */
1513 static void fiat_id_GostR3410_2001_TestParamSet_to_bytes(
1514     uint8_t out1[32], const uint64_t arg1[4]) {
1515     uint64_t x1;
1516     uint64_t x2;
1517     uint64_t x3;
1518     uint64_t x4;
1519     uint64_t x5;
1520     uint8_t x6;
1521     uint64_t x7;
1522     uint8_t x8;
1523     uint64_t x9;
1524     uint8_t x10;
1525     uint64_t x11;
1526     uint8_t x12;
1527     uint64_t x13;
1528     uint8_t x14;
1529     uint64_t x15;
1530     uint8_t x16;
1531     uint8_t x17;
1532     uint8_t x18;
1533     uint8_t x19;
1534     uint64_t x20;
1535     uint8_t x21;
1536     uint64_t x22;
1537     uint8_t x23;
1538     uint64_t x24;
1539     uint8_t x25;
1540     uint64_t x26;
1541     uint8_t x27;
1542     uint64_t x28;
1543     uint8_t x29;
1544     uint64_t x30;
1545     uint8_t x31;
1546     uint8_t x32;
1547     uint8_t x33;
1548     uint8_t x34;
1549     uint64_t x35;
1550     uint8_t x36;
1551     uint64_t x37;
1552     uint8_t x38;
1553     uint64_t x39;
1554     uint8_t x40;
1555     uint64_t x41;
1556     uint8_t x42;
1557     uint64_t x43;
1558     uint8_t x44;
1559     uint64_t x45;
1560     uint8_t x46;
1561     uint8_t x47;
1562     uint8_t x48;
1563     uint8_t x49;
1564     uint64_t x50;
1565     uint8_t x51;
1566     uint64_t x52;
1567     uint8_t x53;
1568     uint64_t x54;
1569     uint8_t x55;
1570     uint64_t x56;
1571     uint8_t x57;
1572     uint64_t x58;
1573     uint8_t x59;
1574     uint64_t x60;
1575     uint8_t x61;
1576     uint8_t x62;
1577     uint8_t x63;
1578     x1 = (arg1[3]);
1579     x2 = (arg1[2]);
1580     x3 = (arg1[1]);
1581     x4 = (arg1[0]);
1582     x5 = (x4 >> 8);
1583     x6 = (uint8_t)(x4 & UINT8_C(0xff));
1584     x7 = (x5 >> 8);
1585     x8 = (uint8_t)(x5 & UINT8_C(0xff));
1586     x9 = (x7 >> 8);
1587     x10 = (uint8_t)(x7 & UINT8_C(0xff));
1588     x11 = (x9 >> 8);
1589     x12 = (uint8_t)(x9 & UINT8_C(0xff));
1590     x13 = (x11 >> 8);
1591     x14 = (uint8_t)(x11 & UINT8_C(0xff));
1592     x15 = (x13 >> 8);
1593     x16 = (uint8_t)(x13 & UINT8_C(0xff));
1594     x17 = (uint8_t)(x15 >> 8);
1595     x18 = (uint8_t)(x15 & UINT8_C(0xff));
1596     x19 = (uint8_t)(x17 & UINT8_C(0xff));
1597     x20 = (x3 >> 8);
1598     x21 = (uint8_t)(x3 & UINT8_C(0xff));
1599     x22 = (x20 >> 8);
1600     x23 = (uint8_t)(x20 & UINT8_C(0xff));
1601     x24 = (x22 >> 8);
1602     x25 = (uint8_t)(x22 & UINT8_C(0xff));
1603     x26 = (x24 >> 8);
1604     x27 = (uint8_t)(x24 & UINT8_C(0xff));
1605     x28 = (x26 >> 8);
1606     x29 = (uint8_t)(x26 & UINT8_C(0xff));
1607     x30 = (x28 >> 8);
1608     x31 = (uint8_t)(x28 & UINT8_C(0xff));
1609     x32 = (uint8_t)(x30 >> 8);
1610     x33 = (uint8_t)(x30 & UINT8_C(0xff));
1611     x34 = (uint8_t)(x32 & UINT8_C(0xff));
1612     x35 = (x2 >> 8);
1613     x36 = (uint8_t)(x2 & UINT8_C(0xff));
1614     x37 = (x35 >> 8);
1615     x38 = (uint8_t)(x35 & UINT8_C(0xff));
1616     x39 = (x37 >> 8);
1617     x40 = (uint8_t)(x37 & UINT8_C(0xff));
1618     x41 = (x39 >> 8);
1619     x42 = (uint8_t)(x39 & UINT8_C(0xff));
1620     x43 = (x41 >> 8);
1621     x44 = (uint8_t)(x41 & UINT8_C(0xff));
1622     x45 = (x43 >> 8);
1623     x46 = (uint8_t)(x43 & UINT8_C(0xff));
1624     x47 = (uint8_t)(x45 >> 8);
1625     x48 = (uint8_t)(x45 & UINT8_C(0xff));
1626     x49 = (uint8_t)(x47 & UINT8_C(0xff));
1627     x50 = (x1 >> 8);
1628     x51 = (uint8_t)(x1 & UINT8_C(0xff));
1629     x52 = (x50 >> 8);
1630     x53 = (uint8_t)(x50 & UINT8_C(0xff));
1631     x54 = (x52 >> 8);
1632     x55 = (uint8_t)(x52 & UINT8_C(0xff));
1633     x56 = (x54 >> 8);
1634     x57 = (uint8_t)(x54 & UINT8_C(0xff));
1635     x58 = (x56 >> 8);
1636     x59 = (uint8_t)(x56 & UINT8_C(0xff));
1637     x60 = (x58 >> 8);
1638     x61 = (uint8_t)(x58 & UINT8_C(0xff));
1639     x62 = (uint8_t)(x60 >> 8);
1640     x63 = (uint8_t)(x60 & UINT8_C(0xff));
1641     out1[0] = x6;
1642     out1[1] = x8;
1643     out1[2] = x10;
1644     out1[3] = x12;
1645     out1[4] = x14;
1646     out1[5] = x16;
1647     out1[6] = x18;
1648     out1[7] = x19;
1649     out1[8] = x21;
1650     out1[9] = x23;
1651     out1[10] = x25;
1652     out1[11] = x27;
1653     out1[12] = x29;
1654     out1[13] = x31;
1655     out1[14] = x33;
1656     out1[15] = x34;
1657     out1[16] = x36;
1658     out1[17] = x38;
1659     out1[18] = x40;
1660     out1[19] = x42;
1661     out1[20] = x44;
1662     out1[21] = x46;
1663     out1[22] = x48;
1664     out1[23] = x49;
1665     out1[24] = x51;
1666     out1[25] = x53;
1667     out1[26] = x55;
1668     out1[27] = x57;
1669     out1[28] = x59;
1670     out1[29] = x61;
1671     out1[30] = x63;
1672     out1[31] = x62;
1673 }
1674
1675 /*
1676  * The function fiat_id_GostR3410_2001_TestParamSet_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
1677  * Preconditions:
1678  *   0 ≤ bytes_eval arg1 < m
1679  * Postconditions:
1680  *   eval out1 mod m = bytes_eval arg1 mod m
1681  *   0 ≤ eval out1 < m
1682  *
1683  * Input Bounds:
1684  *   arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
1685  * Output Bounds:
1686  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1687  */
1688 static void fiat_id_GostR3410_2001_TestParamSet_from_bytes(
1689     uint64_t out1[4], const uint8_t arg1[32]) {
1690     uint64_t x1;
1691     uint64_t x2;
1692     uint64_t x3;
1693     uint64_t x4;
1694     uint64_t x5;
1695     uint64_t x6;
1696     uint64_t x7;
1697     uint8_t x8;
1698     uint64_t x9;
1699     uint64_t x10;
1700     uint64_t x11;
1701     uint64_t x12;
1702     uint64_t x13;
1703     uint64_t x14;
1704     uint64_t x15;
1705     uint8_t x16;
1706     uint64_t x17;
1707     uint64_t x18;
1708     uint64_t x19;
1709     uint64_t x20;
1710     uint64_t x21;
1711     uint64_t x22;
1712     uint64_t x23;
1713     uint8_t x24;
1714     uint64_t x25;
1715     uint64_t x26;
1716     uint64_t x27;
1717     uint64_t x28;
1718     uint64_t x29;
1719     uint64_t x30;
1720     uint64_t x31;
1721     uint8_t x32;
1722     uint64_t x33;
1723     uint64_t x34;
1724     uint64_t x35;
1725     uint64_t x36;
1726     uint64_t x37;
1727     uint64_t x38;
1728     uint64_t x39;
1729     x1 = ((uint64_t)(arg1[31]) << 56);
1730     x2 = ((uint64_t)(arg1[30]) << 48);
1731     x3 = ((uint64_t)(arg1[29]) << 40);
1732     x4 = ((uint64_t)(arg1[28]) << 32);
1733     x5 = ((uint64_t)(arg1[27]) << 24);
1734     x6 = ((uint64_t)(arg1[26]) << 16);
1735     x7 = ((uint64_t)(arg1[25]) << 8);
1736     x8 = (arg1[24]);
1737     x9 = ((uint64_t)(arg1[23]) << 56);
1738     x10 = ((uint64_t)(arg1[22]) << 48);
1739     x11 = ((uint64_t)(arg1[21]) << 40);
1740     x12 = ((uint64_t)(arg1[20]) << 32);
1741     x13 = ((uint64_t)(arg1[19]) << 24);
1742     x14 = ((uint64_t)(arg1[18]) << 16);
1743     x15 = ((uint64_t)(arg1[17]) << 8);
1744     x16 = (arg1[16]);
1745     x17 = ((uint64_t)(arg1[15]) << 56);
1746     x18 = ((uint64_t)(arg1[14]) << 48);
1747     x19 = ((uint64_t)(arg1[13]) << 40);
1748     x20 = ((uint64_t)(arg1[12]) << 32);
1749     x21 = ((uint64_t)(arg1[11]) << 24);
1750     x22 = ((uint64_t)(arg1[10]) << 16);
1751     x23 = ((uint64_t)(arg1[9]) << 8);
1752     x24 = (arg1[8]);
1753     x25 = ((uint64_t)(arg1[7]) << 56);
1754     x26 = ((uint64_t)(arg1[6]) << 48);
1755     x27 = ((uint64_t)(arg1[5]) << 40);
1756     x28 = ((uint64_t)(arg1[4]) << 32);
1757     x29 = ((uint64_t)(arg1[3]) << 24);
1758     x30 = ((uint64_t)(arg1[2]) << 16);
1759     x31 = ((uint64_t)(arg1[1]) << 8);
1760     x32 = (arg1[0]);
1761     x33 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + (x26 + x25)))))));
1762     x34 = (x33 & UINT64_C(0xffffffffffffffff));
1763     x35 = (x8 + (x7 + (x6 + (x5 + (x4 + (x3 + (x2 + x1)))))));
1764     x36 = (x16 + (x15 + (x14 + (x13 + (x12 + (x11 + (x10 + x9)))))));
1765     x37 = (x24 + (x23 + (x22 + (x21 + (x20 + (x19 + (x18 + x17)))))));
1766     x38 = (x37 & UINT64_C(0xffffffffffffffff));
1767     x39 = (x36 & UINT64_C(0xffffffffffffffff));
1768     out1[0] = x34;
1769     out1[1] = x38;
1770     out1[2] = x39;
1771     out1[3] = x35;
1772 }
1773
1774 /* END verbatim fiat code */
1775
1776 /*-
1777  * Finite field inversion via FLT.
1778  * NB: this is not a real Fiat function, just named that way for consistency.
1779  * Autogenerated: ecp/id_GostR3410_2001_TestParamSet/fe_inv.op3
1780  * sliding window w=5
1781  */
1782 static void fiat_id_GostR3410_2001_TestParamSet_inv(fe_t output,
1783                                                     const fe_t t1) {
1784     int i;
1785     /* temporary variables */
1786     fe_t acc, t15;
1787
1788     fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
1789     fiat_id_GostR3410_2001_TestParamSet_mul(t15, t1, acc);
1790     for (i = 0; i < 6; i++)
1791         fiat_id_GostR3410_2001_TestParamSet_mul(t15, t15, acc);
1792     fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
1793     for (i = 0; i < 244; i++)
1794         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
1795     fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
1796     for (i = 0; i < 5; i++)
1797         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
1798     fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
1799     for (i = 0; i < 5; i++)
1800         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
1801     fiat_id_GostR3410_2001_TestParamSet_mul(output, acc, t15);
1802 }
1803
1804 /* curve coefficient constants */
1805
1806 static const limb_t const_one[4] = {
1807     UINT64_C(0xFFFFFFFFFFFFFBCF), UINT64_C(0xFFFFFFFFFFFFFFFF),
1808     UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)};
1809
1810 static const limb_t const_a[4] = {
1811     UINT64_C(0xFFFFFFFFFFFFC983), UINT64_C(0xFFFFFFFFFFFFFFFF),
1812     UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)};
1813
1814 static const limb_t const_b3[4] = {
1815     UINT64_C(0x81733EE96AEAB71C), UINT64_C(0x00CD3D1CFC4E6FC7),
1816     UINT64_C(0x60AB503A75853407), UINT64_C(0x0A9EC8AE4556810A)};
1817
1818 /* LUT for scalar multiplication by comb interleaving */
1819 static const pt_aff_t lut_cmb[27][16] = {
1820     {
1821         {{UINT64_C(0xFFFFFFFFFFFFF36D), UINT64_C(0xFFFFFFFFFFFFFFFF),
1822           UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)},
1823          {UINT64_C(0x9AF45A5A471125F5), UINT64_C(0x7CE5090AF69BF9AE),
1824           UINT64_C(0x67617A63E4B6DDE6), UINT64_C(0x03F66B354AA3DAA4)}},
1825         {{UINT64_C(0xB39BDC16149B5D15), UINT64_C(0x87CE978A7309454F),
1826           UINT64_C(0xD22F32EF315A7A56), UINT64_C(0x4C7DE232B69A6B57)},
1827          {UINT64_C(0x9E2DAF6D466DC64D), UINT64_C(0x758C27B14B1C8A55),
1828           UINT64_C(0x74A0CB23BD647F1A), UINT64_C(0x27E748682C2F4C70)}},
1829         {{UINT64_C(0xF2D8F32E55A62594), UINT64_C(0x8323D57036BC547A),
1830           UINT64_C(0x497679EB98D4B25A), UINT64_C(0x061167F2B87E0534)},
1831          {UINT64_C(0xE1FFFDCE223E4DF8), UINT64_C(0x7C83AE78DCD891E9),
1832           UINT64_C(0x743985863C1B95D0), UINT64_C(0x11D7320574B3F5AB)}},
1833         {{UINT64_C(0x34B9C048ACB97F7C), UINT64_C(0x8232E73CE3B9BCC6),
1834           UINT64_C(0x81F4B63FDA2DB71D), UINT64_C(0x4EEE5393A2DF4C84)},
1835          {UINT64_C(0xCA6E63AEAC469C69), UINT64_C(0x27BC807C428E4F01),
1836           UINT64_C(0x4A2C23BA5F4EC124), UINT64_C(0x74847CFCAAE2668B)}},
1837         {{UINT64_C(0x4435585F6716AF4E), UINT64_C(0xB872D8B71CDB965F),
1838           UINT64_C(0x662F1962746FFAD0), UINT64_C(0x52761A24DB5D0187)},
1839          {UINT64_C(0xF6A09922A57E0E3D), UINT64_C(0x86C69342A9C12B63),
1840           UINT64_C(0x91FF20B65AF190C5), UINT64_C(0x10DB7A2A4EEEE1AE)}},
1841         {{UINT64_C(0xBB464A5374628B90), UINT64_C(0x6E7A1227057A4F25),
1842           UINT64_C(0x4C309D690B0FA41F), UINT64_C(0x7548260777FE7B93)},
1843          {UINT64_C(0xF2583EC70B612421), UINT64_C(0xFF2CFC835E2B15ED),
1844           UINT64_C(0x1E97A7DB8CABC5CF), UINT64_C(0x1EC08FAA925C149F)}},
1845         {{UINT64_C(0xBA0170E30E9FCBA9), UINT64_C(0x8976DF7C70D9939B),
1846           UINT64_C(0xEAE6E74B21AF14DD), UINT64_C(0x09F098680D0861F9)},
1847          {UINT64_C(0x4F7FE26E21A781FF), UINT64_C(0x1725B8D0D73DCEF7),
1848           UINT64_C(0x9DA632177E743498), UINT64_C(0x0F51D42C1B828B99)}},
1849         {{UINT64_C(0xBABB076B9AFE09BD), UINT64_C(0x4AC8922317C4050D),
1850           UINT64_C(0xCA3EA6E3DA3E57E8), UINT64_C(0x20AAA384A33242C0)},
1851          {UINT64_C(0x6D3A1F2DEF929BF5), UINT64_C(0xB34E2605E751A62D),
1852           UINT64_C(0xE1AC629FB8CF1F99), UINT64_C(0x7152D4E3F0BBA01A)}},
1853         {{UINT64_C(0xA97A6CE3943E5B8E), UINT64_C(0x1C0F6C7F2D053A9D),
1854           UINT64_C(0x9D4A91DE64457DE4), UINT64_C(0x1E19EA8FC6140057)},
1855          {UINT64_C(0xD4766CB6500995C8), UINT64_C(0xA019D41DE70CD7EE),
1856           UINT64_C(0xBA1828AA7AB0A162), UINT64_C(0x0CACA0630B7A4E93)}},
1857         {{UINT64_C(0x1E68315CA1B3FE03), UINT64_C(0x21FB277E1AAB6B20),
1858           UINT64_C(0x210305D76A90FB22), UINT64_C(0x4C3D3EEA2E51B9BC)},
1859          {UINT64_C(0xC5662C6D89C3A2E8), UINT64_C(0x66EA48181712BF9B),
1860           UINT64_C(0x417F8F042254FBAB), UINT64_C(0x2F57DF29B057EEC1)}},
1861         {{UINT64_C(0xF6975C9F6509AE4F), UINT64_C(0x58300438DC89C220),
1862           UINT64_C(0xE81DA879907FF785), UINT64_C(0x68D600E30910ED2F)},
1863          {UINT64_C(0xFBB25113B43BF686), UINT64_C(0x8B391E3F50A64FAE),
1864           UINT64_C(0x8C1190D23112B7ED), UINT64_C(0x617BCD41CCB4CA50)}},
1865         {{UINT64_C(0x75036E69DD780ACA), UINT64_C(0xC90A01DE6FBCD996),
1866           UINT64_C(0x75E1A8E80C851CEF), UINT64_C(0x7225D38AF71BDCC6)},
1867          {UINT64_C(0x74AE6935868B78D2), UINT64_C(0xE70570F31CDB5A1E),
1868           UINT64_C(0x3E700C48BEBD2FA4), UINT64_C(0x3E483638325D3214)}},
1869         {{UINT64_C(0x9F272CD5C0E6D8AD), UINT64_C(0x9E29687CE09743A2),
1870           UINT64_C(0xBE0E0D5993CD64B3), UINT64_C(0x5D57A75D504B58F0)},
1871          {UINT64_C(0x81A1A6E35D44B092), UINT64_C(0x38AD0169310D7868),
1872           UINT64_C(0xC8D3C9A6CC297B73), UINT64_C(0x34D98A19908E0814)}},
1873         {{UINT64_C(0xFFB946ADE5A57E1F), UINT64_C(0xF7EA0AA2191B6C5F),
1874           UINT64_C(0x52D070588DF529C1), UINT64_C(0x06B7BDE52AFDA727)},
1875          {UINT64_C(0x651E6DC990658555), UINT64_C(0x8F910D891FC416CE),
1876           UINT64_C(0x0BA4D84ECBF086D5), UINT64_C(0x73DA158C0C4A4B4A)}},
1877         {{UINT64_C(0xE22420A6521DB62C), UINT64_C(0x8EBC1A21BC90EB6F),
1878           UINT64_C(0xE1529AACE50F6EB4), UINT64_C(0x4025BF278BE235DB)},
1879          {UINT64_C(0x406077109FFE2B82), UINT64_C(0x7A6BB75B696B4634),
1880           UINT64_C(0x0CEF27A92B2F25D3), UINT64_C(0x6C9CFFD7CA0B7112)}},
1881         {{UINT64_C(0x12B39FF0EDA5C43B), UINT64_C(0x2E1FC66C54E0FE3F),
1882           UINT64_C(0xFB2DEA80248A9167), UINT64_C(0x11BCDA103B2BB322)},
1883          {UINT64_C(0xFDDF6E8416D2C928), UINT64_C(0x99DDF6A136E887F4),
1884           UINT64_C(0x1E56D2F3920092D6), UINT64_C(0x67433BF42D77AE5A)}},
1885     },
1886     {
1887         {{UINT64_C(0x6C204DDC321BFA62), UINT64_C(0xA96E42B82F138A80),
1888           UINT64_C(0x4C98E986E3EC1A7D), UINT64_C(0x223C8BC4136CADC4)},
1889          {UINT64_C(0xFA9F15D3BA3CE54A), UINT64_C(0xA103B9D719963D88),
1890           UINT64_C(0x1ED233542F811A21), UINT64_C(0x64D6B14C65A4E833)}},
1891         {{UINT64_C(0x2485175CCFBD1039), UINT64_C(0xC4DAE65B7C92D8EC),
1892           UINT64_C(0x6FC70F541859FD47), UINT64_C(0x6D54344433E8305C)},
1893          {UINT64_C(0x1A65FEC2944DDA07), UINT64_C(0x7BCF8391EF375B21),
1894           UINT64_C(0xDDCFC356BE4CD8D6), UINT64_C(0x4BF93B9E13850042)}},
1895         {{UINT64_C(0xBDF7A56C88B7F950), UINT64_C(0x3A60E5FC81B8590E),
1896           UINT64_C(0x475B94D16F6E6807), UINT64_C(0x2F1B9F062F0D49A8)},
1897          {UINT64_C(0x3C36DCF32E6A01D3), UINT64_C(0x807E1D5B30444003),
1898           UINT64_C(0xE3768486FECF5768), UINT64_C(0x73C4D0CFEF12B5CC)}},
1899         {{UINT64_C(0x9D76477CF4C6FF93), UINT64_C(0x03F16687C5A1A495),
1900           UINT64_C(0x5071DA3DB41748B2), UINT64_C(0x0F3A3784971D6A7D)},
1901          {UINT64_C(0x0B9A5AD62785A782), UINT64_C(0x957E72A009FF09F9),
1902           UINT64_C(0x3072C1DCAE3CF5F4), UINT64_C(0x63D463ACCD9CFD7E)}},
1903         {{UINT64_C(0xDA0DEE0BC77B516C), UINT64_C(0x446D7199E6AA0E1F),
1904           UINT64_C(0xCC0D1590BFFA705C), UINT64_C(0x6A6FC81CC35B59BA)},
1905          {UINT64_C(0x39DF210E593E3EB9), UINT64_C(0x17F331CED0DCC01F),
1906           UINT64_C(0x02E0E5EBBD176C5B), UINT64_C(0x68946CCC8A2D6290)}},
1907         {{UINT64_C(0x8D1400D609ECFEF2), UINT64_C(0x57D5F91BE1E76A98),
1908           UINT64_C(0x5CF76130A12DFF8D), UINT64_C(0x5C36192261002939)},
1909          {UINT64_C(0x8D45C8C1FB0FE974), UINT64_C(0x0C97725EF942ED70),
1910           UINT64_C(0xB1C6649873C5AA42), UINT64_C(0x4A121FC47E203187)}},
1911         {{UINT64_C(0x58430EE3FCEDA76C), UINT64_C(0x3496699AF5C88D62),
1912           UINT64_C(0x1C3FC81114273E7E), UINT64_C(0x3E38E9FC1D6D67DA)},
1913          {UINT64_C(0xBB683EA4AB685B3B), UINT64_C(0xB63F72B1B0904BB3),
1914           UINT64_C(0x5DFA23C547A75297), UINT64_C(0x09E80AA038B59560)}},
1915         {{UINT64_C(0x7D8325C67F4D22FC), UINT64_C(0xBFFB01B18C2FA282),
1916           UINT64_C(0x01A037DC4A89BE98), UINT64_C(0x092F652584EA8C8A)},
1917          {UINT64_C(0x873D33DAC52FD518), UINT64_C(0x0A245B1544AFDD41),
1918           UINT64_C(0x7899373798FA7FF5), UINT64_C(0x1BB48AD221D29087)}},
1919         {{UINT64_C(0x00C97A991A59313C), UINT64_C(0xBD4F29EE5CF9A6FF),
1920           UINT64_C(0xEA59D87AD839B62B), UINT64_C(0x16F18F4897CAB63C)},
1921          {UINT64_C(0xB339789A6F6C292F), UINT64_C(0xEC52E644D005ABB2),
1922           UINT64_C(0xEEAC93C9AE24DA46), UINT64_C(0x0ECB9957E5C43B4F)}},
1923         {{UINT64_C(0xD91B220220561AF7), UINT64_C(0xECA260DD55F2CFB8),
1924           UINT64_C(0xF03A8C1D17B91CCF), UINT64_C(0x55A0491F64B35D9A)},
1925          {UINT64_C(0x0A97E5CC1A2F8F39), UINT64_C(0x02C187D123B1D80B),
1926           UINT64_C(0xA9C13D26DB9FBA1A), UINT64_C(0x7CCDDBACF8051F0D)}},
1927         {{UINT64_C(0x05CA8EA5ED0E9DB8), UINT64_C(0xE888079F53A8EA3F),
1928           UINT64_C(0x6DDBC40D9209BFA2), UINT64_C(0x068E5BA980DCEAEA)},
1929          {UINT64_C(0xDB69D133B19D824B), UINT64_C(0x65154FB6E6A3A462),
1930           UINT64_C(0x9FCF733D020B2AC7), UINT64_C(0x15178DDEE1329315)}},
1931         {{UINT64_C(0x76F78865877EE476), UINT64_C(0x5824EACC12B471BA),
1932           UINT64_C(0x71BDFADFBBB640A8), UINT64_C(0x5181B08F9A631D09)},
1933          {UINT64_C(0x2913CCA5FFE978E8), UINT64_C(0x9CEF3612AEB89AA6),
1934           UINT64_C(0x93BB373EE02AD6DC), UINT64_C(0x5D7984F004144769)}},
1935         {{UINT64_C(0x3219DB074F98D2C3), UINT64_C(0xE3EF888FBD40ACCC),
1936           UINT64_C(0x07A30E3A31124C73), UINT64_C(0x5D9C820BB070C53F)},
1937          {UINT64_C(0x94D41768DA0661AB), UINT64_C(0x27FC266121FF87EB),
1938           UINT64_C(0xB8DCBC7FFF17A977), UINT64_C(0x71F75FF9392EB13D)}},
1939         {{UINT64_C(0xC5CED56C9AD71AB0), UINT64_C(0xE744EAB039D6C9F1),
1940           UINT64_C(0x6E49B00B839BD904), UINT64_C(0x0C0EDE2CD7003054)},
1941          {UINT64_C(0x792C3F801A6A1BB7), UINT64_C(0x6E5093B14B2C7885),
1942           UINT64_C(0x2887320913EA65F7), UINT64_C(0x085A2697F381C851)}},
1943         {{UINT64_C(0x84FC6B9DDA60A255), UINT64_C(0x12397EED4B495BC6),
1944           UINT64_C(0x4881DF6B71A5AA87), UINT64_C(0x57BB32599572CFE2)},
1945          {UINT64_C(0x306777593A10A65F), UINT64_C(0x670B82ECDB1758DD),
1946           UINT64_C(0xD84F3E8FD57B513E), UINT64_C(0x617A512A89088E78)}},
1947         {{UINT64_C(0x83971322AE3D7707), UINT64_C(0x66563CDE6D34D0B4),
1948           UINT64_C(0x95342D9BC13309ED), UINT64_C(0x62C2B1B6082A5887)},
1949          {UINT64_C(0xD94A8712C3C27158), UINT64_C(0xDE2C9C9DA844BF60),
1950           UINT64_C(0xDE897386CE3E4F3C), UINT64_C(0x2C22A82E6ACEBDF1)}},
1951     },
1952     {
1953         {{UINT64_C(0x2755028A0604E200), UINT64_C(0xADE23A7D44189101),
1954           UINT64_C(0xA6E418F4F0B7F9B7), UINT64_C(0x036F5503212EDC2A)},
1955          {UINT64_C(0xE069D06A3F5E0456), UINT64_C(0x2FAFF7C80F37F2D8),
1956           UINT64_C(0xFF08E8797F5EDE53), UINT64_C(0x7F97725D797E0427)}},
1957         {{UINT64_C(0xE44E39C1B32E5B1B), UINT64_C(0x25CD4614AD3EC706),
1958           UINT64_C(0x2E97B090E382C5D2), UINT64_C(0x3E1A1F6BB00D79F2)},
1959          {UINT64_C(0x27573C4EC2375837), UINT64_C(0xAD53D2C86C8D5CCD),
1960           UINT64_C(0x94EE5460FC09725A), UINT64_C(0x6E59250602DD0DF4)}},
1961         {{UINT64_C(0x6CFFA4BF3D0C7AC4), UINT64_C(0x663B121869ED4317),
1962           UINT64_C(0x933094F6C79AD5C1), UINT64_C(0x569F37EDFFC54767)},
1963          {UINT64_C(0x954EEE0C1F338782), UINT64_C(0x5BE69673A46CA276),
1964           UINT64_C(0x77BA000920CB26DC), UINT64_C(0x2211CAC3029316AE)}},
1965         {{UINT64_C(0xC8DEF3CB184EBD7C), UINT64_C(0x393370506A4DB0A0),
1966           UINT64_C(0x6FF7993A0BE1D82C), UINT64_C(0x01D7674AFC9252C0)},
1967          {UINT64_C(0xB10BA727F62D9268), UINT64_C(0x6E2338D8817B687B),
1968           UINT64_C(0x266443F2E47405F1), UINT64_C(0x6A1BD9CE6872B879)}},
1969         {{UINT64_C(0x192137652B2BD346), UINT64_C(0x962CA22CE2ACFB8E),
1970           UINT64_C(0x518CF45D62FECDE1), UINT64_C(0x529AE629A13D9E8D)},
1971          {UINT64_C(0xAF796DB0BB69D5E3), UINT64_C(0xA064209DD4E596B7),
1972           UINT64_C(0x9F3DFD4A47942C73), UINT64_C(0x7FAB6C6D7810D5EC)}},
1973         {{UINT64_C(0x55D1525066A3B287), UINT64_C(0x1ECC6A20EEFDDC75),
1974           UINT64_C(0xF683FA6026DE8C01), UINT64_C(0x4F5DE2A69FBA658C)},
1975          {UINT64_C(0xE748D78AC66D82F4), UINT64_C(0x2BA525EF3B24C76B),
1976           UINT64_C(0x5A9539E630EE69CE), UINT64_C(0x2DA4C4C2B7861B2D)}},
1977         {{UINT64_C(0x9D1E982D820743E6), UINT64_C(0x705D9237AB0CC42D),
1978           UINT64_C(0xBDD0166347C4E7D7), UINT64_C(0x3D48EE78F8E69896)},
1979          {UINT64_C(0x7A822BCD41132782), UINT64_C(0xBD41BEFAEE46F715),
1980           UINT64_C(0x8E5C3B5FD0B2F4B0), UINT64_C(0x690A53D45E47ED55)}},
1981         {{UINT64_C(0x390536C165A40E44), UINT64_C(0x4B4D79701C92235C),
1982           UINT64_C(0xCAC270848B7389E4), UINT64_C(0x7B5B23B219041D01)},
1983          {UINT64_C(0x7C18B9733B5FD5BA), UINT64_C(0xFD14865D84B72217),
1984           UINT64_C(0x5592547E267EDE4C), UINT64_C(0x22DB62E58B369753)}},
1985         {{UINT64_C(0x06083D33DDF15BDD), UINT64_C(0x5766555F361925F5),
1986           UINT64_C(0xECC0F110B7ACDEA7), UINT64_C(0x3E3F1B270A3453B5)},
1987          {UINT64_C(0x5A8B7DF96F7B980D), UINT64_C(0xEBA90E39B44756AC),
1988           UINT64_C(0x954D7ECDAC9A7DB2), UINT64_C(0x43F688D328EA7151)}},
1989         {{UINT64_C(0x51F645694638EFAE), UINT64_C(0x5840A5DB3D28BF3C),
1990           UINT64_C(0xDD486261134D3E8F), UINT64_C(0x09F17E2C7B6B466B)},
1991          {UINT64_C(0x30D3546378ED7016), UINT64_C(0x342E9701B86D8508),
1992           UINT64_C(0xA3FF656542B19533), UINT64_C(0x4405F02C061A4A81)}},
1993         {{UINT64_C(0x15C921C03D3AAF1E), UINT64_C(0x2DD720C77D297559),
1994           UINT64_C(0x93A07904CB80E3B2), UINT64_C(0x427C610B6B1EDB93)},
1995          {UINT64_C(0xD2CE818FF61E2F41), UINT64_C(0x1DA534218252FB3C),
1996           UINT64_C(0x37A4A997ED07538F), UINT64_C(0x48A928BF962454F2)}},
1997         {{UINT64_C(0x65091E4D7A420273), UINT64_C(0x6AF382AFE54C0B47),
1998           UINT64_C(0x150DAB088047A423), UINT64_C(0x22C3740A45BD197C)},
1999          {UINT64_C(0x64429AA0E07C3468), UINT64_C(0xC506B8C97B37FE10),
2000           UINT64_C(0x30E2FE783CC5062C), UINT64_C(0x2F3B5A5FA9242F2D)}},
2001         {{UINT64_C(0x2619A3B25A40BCA1), UINT64_C(0xD012DF23118C2FEA),
2002           UINT64_C(0x2868C8B7B73FE15C), UINT64_C(0x45A9CC5AEB10B475)},
2003          {UINT64_C(0x7111AB75069050AD), UINT64_C(0x0665182BEC2398A9),
2004           UINT64_C(0xD9A5126E9B86A240), UINT64_C(0x601CF0E040E2AED6)}},
2005         {{UINT64_C(0xE74C9DCDF48C8655), UINT64_C(0xEE703CA8900E89D5),
2006           UINT64_C(0x6C2DFF8B5390F052), UINT64_C(0x08588E891316CC4C)},
2007          {UINT64_C(0x0F2CC83A47E80C87), UINT64_C(0x23DE34CFD87824E4),
2008           UINT64_C(0xC530AF41541FE8F9), UINT64_C(0x0BF01DC0D142F1C0)}},
2009         {{UINT64_C(0x210B0B1E886C0C4A), UINT64_C(0x66369DF19C56A126),
2010           UINT64_C(0x5D79AE81EAC22A5E), UINT64_C(0x4E6C67D4D16F7DB6)},
2011          {UINT64_C(0x274572F6247CDE60), UINT64_C(0xF3C92AC754E8454B),
2012           UINT64_C(0x784EC1A1F08C32D1), UINT64_C(0x222716D8E1FE9C4E)}},
2013         {{UINT64_C(0xAF6AEF5D3FB1DB1E), UINT64_C(0xB8B55842C4C2A4D8),
2014           UINT64_C(0x258A2F44CA5AB578), UINT64_C(0x558A803F7D8B2D70)},
2015          {UINT64_C(0x9A7345C37E0247A3), UINT64_C(0x4E5A6904B4D920B1),
2016           UINT64_C(0xCF7FAA4176BCBBE1), UINT64_C(0x66CF993FEE112271)}},
2017     },
2018     {
2019         {{UINT64_C(0xDE7D208F84D2C56B), UINT64_C(0xD1C77403DDA20F33),
2020           UINT64_C(0xB73FDC099A6F337A), UINT64_C(0x1B2A380740CD2CBD)},
2021          {UINT64_C(0xB642FA2C65988D73), UINT64_C(0x117E75BC059DAB8E),
2022           UINT64_C(0xC7E2E935D6B279AA), UINT64_C(0x5EEB9654EEA2A445)}},
2023         {{UINT64_C(0xA84747C0A59D7A2A), UINT64_C(0x4478AD4A1004C5B8),
2024           UINT64_C(0xF55C2B1BA22DE791), UINT64_C(0x2FF6097D23F8F89F)},
2025          {UINT64_C(0xD079C875E117BC40), UINT64_C(0x14AEA36003CB43DD),
2026           UINT64_C(0x8C730D890A20D653), UINT64_C(0x6956274A02FD02D8)}},
2027         {{UINT64_C(0x9F5D0E9DD46293CF), UINT64_C(0x53748DD4F0D93AB7),
2028           UINT64_C(0x6F81339FB9C37CF0), UINT64_C(0x00B8677AF4B041FC)},
2029          {UINT64_C(0xF76E0FFEB5A6FE97), UINT64_C(0x6D3C71F5F7D198A2),
2030           UINT64_C(0xF91E840811420372), UINT64_C(0x36F9F35470036AED)}},
2031         {{UINT64_C(0x503AF4F25D446956), UINT64_C(0xCA08C5372DC9777C),
2032           UINT64_C(0xDB4BA888E1308D3A), UINT64_C(0x01EA28EA01DB98CB)},
2033          {UINT64_C(0x27CC52A9A7DF5FE0), UINT64_C(0x7DA5186B7DE31E0A),
2034           UINT64_C(0x63E32889F136FAD5), UINT64_C(0x1BB010A8A363AF23)}},
2035         {{UINT64_C(0x65828B54C0FE56C9), UINT64_C(0x7322CD514ED3935A),
2036           UINT64_C(0x42F068F437B4A727), UINT64_C(0x7AA9F9F0B4C02BE4)},
2037          {UINT64_C(0xBB77851ADEBB2DD4), UINT64_C(0x7757D5F6D105B81F),
2038           UINT64_C(0x7805369C52FA1512), UINT64_C(0x4CBC43AE38B6976A)}},
2039         {{UINT64_C(0x24FE8ABD4096725B), UINT64_C(0xC3FAC73A3895D1E2),
2040           UINT64_C(0xBCAF7757006A2360), UINT64_C(0x75AE96ADC03EBB33)},
2041          {UINT64_C(0x310744780BD1FB6F), UINT64_C(0x729E8E6AEA386CBE),
2042           UINT64_C(0xA8BBCC0B4845AAEC), UINT64_C(0x1A0A2D19E6582656)}},
2043         {{UINT64_C(0x332BC9BD69BD55F7), UINT64_C(0x93D987E2EFB6F780),
2044           UINT64_C(0xE57DE09614381F4D), UINT64_C(0x7BDF4217FF01C4D9)},
2045          {UINT64_C(0x2A07C4AB1956BF02), UINT64_C(0x7C7B3684553823D9),
2046           UINT64_C(0x8F750E8ED40F600C), UINT64_C(0x63F253E99693A3C3)}},
2047         {{UINT64_C(0x250ED8BFC62CE42B), UINT64_C(0xE8A1A295E70674E1),
2048           UINT64_C(0x05ED093D163A92F1), UINT64_C(0x515FF44B628969A0)},
2049          {UINT64_C(0xF617DF0341CE3AF8), UINT64_C(0xCADE131AF9E60202),
2050           UINT64_C(0xFE83C379363B87E9), UINT64_C(0x7196A80B493EF65F)}},
2051         {{UINT64_C(0x4B176FE6D7A2047B), UINT64_C(0x6981D18241DCA514),
2052           UINT64_C(0xDDC7EE8EDC74AC2E), UINT64_C(0x3A95A20385CC07D1)},
2053          {UINT64_C(0x8D4BA2D8841E3200), UINT64_C(0x837DDD9B5F654197),
2054           UINT64_C(0x388D358EFBFE4D06), UINT64_C(0x562DE2F261143A85)}},
2055         {{UINT64_C(0x3BA1F6E5CFACB903), UINT64_C(0xB5BBA41FBD97A3A2),
2056           UINT64_C(0xB86F117FCFCF2547), UINT64_C(0x506428593D9A13DB)},
2057          {UINT64_C(0xC15C82AE7B5F2A8F), UINT64_C(0x47E772DDEF89351E),
2058           UINT64_C(0x78C53901CAAC4CC7), UINT64_C(0x6B0F5D3068D72131)}},
2059         {{UINT64_C(0x47E17734A0B407E6), UINT64_C(0x29E0683034949A81),
2060           UINT64_C(0x63D83340CB1AC772), UINT64_C(0x178A6DD6EB84F909)},
2061          {UINT64_C(0xA9E948263C27D7BA), UINT64_C(0xC86AF96DDB027A4C),
2062           UINT64_C(0xE7D04E3456D5DF86), UINT64_C(0x7212EAC22E8D0EE3)}},
2063         {{UINT64_C(0xE7E5AA648A75F66B), UINT64_C(0x7E86B6AA8CFD9597),
2064           UINT64_C(0x1B7DDE0C834C0271), UINT64_C(0x397EAF2AD4AD306F)},
2065          {UINT64_C(0x0A3579061657E32B), UINT64_C(0xAAEB2DCF4957B3AF),
2066           UINT64_C(0x1C0CBD0269D3CEE9), UINT64_C(0x7434EC325A6E7D53)}},
2067         {{UINT64_C(0xEB5878F785559E86), UINT64_C(0xB9555F704A09C168),
2068           UINT64_C(0xBFFAC5DB80501134), UINT64_C(0x4CDBF53A05B53160)},
2069          {UINT64_C(0x1413BA295F90344B), UINT64_C(0xC6A9D1EDD0DD0CFD),
2070           UINT64_C(0x8C56AA29A0C31B73), UINT64_C(0x1C9B0B61F4E58E08)}},
2071         {{UINT64_C(0xBF8D22370E2F595A), UINT64_C(0x7A646816CBA13CD8),
2072           UINT64_C(0xBD2E93A15CD728B6), UINT64_C(0x30FDF85C07CF9009)},
2073          {UINT64_C(0x3496D94906122B98), UINT64_C(0xE63EC7415A80B3AF),
2074           UINT64_C(0xA2A39CF782838A44), UINT64_C(0x4A064F99C015E1D4)}},
2075         {{UINT64_C(0x9CCDF95B456CB242), UINT64_C(0xDA1CB24E6F4517DC),
2076           UINT64_C(0x60450E0F931A1115), UINT64_C(0x6780D774B5680A8D)},
2077          {UINT64_C(0xAFE48DCD1FDA4243), UINT64_C(0x6BDD541CAE9733C7),
2078           UINT64_C(0xCBBCC69CD79D1D52), UINT64_C(0x334F4F671A513B3E)}},
2079         {{UINT64_C(0xCE7712C4DF49E1A0), UINT64_C(0xB5444862E0B96135),
2080           UINT64_C(0x10564C4BF050D010), UINT64_C(0x0531AEC8FEBEFCC8)},
2081          {UINT64_C(0xD45B4BE770DF6D29), UINT64_C(0x1ACC2D706829054E),
2082           UINT64_C(0x9744CDE154E56E05), UINT64_C(0x3C5DE93E6EE02696)}},
2083     },
2084     {
2085         {{UINT64_C(0xF43A2B993951B674), UINT64_C(0xE82789E85E72FC98),
2086           UINT64_C(0x2AD4843686992601), UINT64_C(0x3FDEB17201A2B65A)},
2087          {UINT64_C(0x926B48393666322B), UINT64_C(0x68847D5C44B3FDB7),
2088           UINT64_C(0xD06C450DF2F5E247), UINT64_C(0x0CEC0646BBA7C892)}},
2089         {{UINT64_C(0x76446D2661F9C9DA), UINT64_C(0xEF2C7B98AC60376F),
2090           UINT64_C(0xEEA8CABE2410C057), UINT64_C(0x4C2CE2A73672A2B6)},
2091          {UINT64_C(0x3F77094512879BA5), UINT64_C(0x719D5BD0AD913022),
2092           UINT64_C(0x28A82DD936D445A4), UINT64_C(0x26382C23965965AA)}},
2093         {{UINT64_C(0x66709D92B8AA8419), UINT64_C(0xFAEFF2E40AB5C241),
2094           UINT64_C(0xABB7C5DD1DD46DEB), UINT64_C(0x7DD03C3339DB6CB5)},
2095          {UINT64_C(0x76CDD1EA9E160F01), UINT64_C(0x00598D5681C5CA37),
2096           UINT64_C(0x16D23B04241772EC), UINT64_C(0x5132B02852A6B807)}},
2097         {{UINT64_C(0x6D48D4B5CC041445), UINT64_C(0x0B1CD9231528DF63),
2098           UINT64_C(0x82EE4DC64A815F60), UINT64_C(0x29DA60590451E242)},
2099          {UINT64_C(0xCD90BFB017A8A6D0), UINT64_C(0x8BCF439252A7FC3D),
2100           UINT64_C(0x49AD55F21974860C), UINT64_C(0x20BBF0105EDCB1D2)}},
2101         {{UINT64_C(0xB4F0EA84A8F6C08C), UINT64_C(0x4341BEA7D50164F3),
2102           UINT64_C(0xE538901906320C0F), UINT64_C(0x69D4851A8BA6F033)},
2103          {UINT64_C(0x1CE5866077902045), UINT64_C(0xF3B88D85BD8579B3),
2104           UINT64_C(0xF84FF63A4FB0A17B), UINT64_C(0x09EE62EEDE6581BF)}},
2105         {{UINT64_C(0x8B8C15B57C0516DE), UINT64_C(0x3B448FC3A530B89F),
2106           UINT64_C(0xE385BBE5500B0251), UINT64_C(0x5F643F85ED70804B)},
2107          {UINT64_C(0x550D9B7D239E85A5), UINT64_C(0xDC910B5B8666E41F),
2108           UINT64_C(0x655221817D4E390F), UINT64_C(0x5DD2D3E83162FE10)}},
2109         {{UINT64_C(0x59609390DF024A25), UINT64_C(0xE66A77E908CCBA91),
2110           UINT64_C(0xC5CEA91A65E24DB6), UINT64_C(0x0888DFB53DCEA0A7)},
2111          {UINT64_C(0x8C8E58CC92FA0754), UINT64_C(0x99C259ABF7DC9538),
2112           UINT64_C(0x3A06D8ED9BEFE750), UINT64_C(0x71AF22E1FAACDC97)}},
2113         {{UINT64_C(0xCC41D094250AC059), UINT64_C(0xCD792A733BE3DA01),
2114           UINT64_C(0x2DA07802CC61EFE1), UINT64_C(0x293AFB0857053A5D)},
2115          {UINT64_C(0x3E7E48842FD8A8A0), UINT64_C(0x183FA5000B9B48D3),
2116           UINT64_C(0x9CAC07BE431AACF6), UINT64_C(0x4F82D7992DF89F10)}},
2117         {{UINT64_C(0xFD9F61A80A84935C), UINT64_C(0x78B948D0BB5A7E56),
2118           UINT64_C(0xDA4787660ACCEEB3), UINT64_C(0x47BDAE4453C3851D)},
2119          {UINT64_C(0x5AE2C60C0CFE8D0D), UINT64_C(0xAC8F79B31D8A79C9),
2120           UINT64_C(0xA958C15E0A79CA31), UINT64_C(0x1C46E20EF0952018)}},
2121         {{UINT64_C(0xAE552ECEF04AC529), UINT64_C(0xB295B601E2BFEFBC),
2122           UINT64_C(0xECC1EE5554733412), UINT64_C(0x28BCBA5312282094)},
2123          {UINT64_C(0x306C078150B25069), UINT64_C(0x10D5D23CE9A18FFE),
2124           UINT64_C(0xC34FC5C71BD5489F), UINT64_C(0x2B610028E191867D)}},
2125         {{UINT64_C(0x458A1CC13E17E84D), UINT64_C(0x6EAE343D5D7CFB98),
2126           UINT64_C(0xC6E0FDAA101F0B7E), UINT64_C(0x0B9F7C2C2A023288)},
2127          {UINT64_C(0xBEA893A86F3FCAA0), UINT64_C(0x7D711B2B452B07C0),
2128           UINT64_C(0x2895873798E2C88D), UINT64_C(0x553A0180DFD99A2A)}},
2129         {{UINT64_C(0x8D617BE80DBA5986), UINT64_C(0xDB763C1413D18594),
2130           UINT64_C(0x822CB0DAD2DAD82F), UINT64_C(0x37ACD99F93239947)},
2131          {UINT64_C(0x6A2A7070CDC08BE6), UINT64_C(0x86B3B66ACF6D63FF),
2132           UINT64_C(0x5BEFF3FB0F7D4A67), UINT64_C(0x05C25557EBC94AE5)}},
2133         {{UINT64_C(0x5D1DC08789183418), UINT64_C(0xA25C7AE26EA5A960),
2134           UINT64_C(0x074698B9D31F3AAE), UINT64_C(0x5A5B510B221788A4)},
2135          {UINT64_C(0x896A87871DCE95FE), UINT64_C(0x89E7B93D7F24020C),
2136           UINT64_C(0xFC19BF42865B4334), UINT64_C(0x0389FBF75B78B06D)}},
2137         {{UINT64_C(0x73B6DA7B0BB3A3E2), UINT64_C(0xDBC1267044D56755),
2138           UINT64_C(0x7AF2DE287CC1C589), UINT64_C(0x7E248FCB697CB6B7)},
2139          {UINT64_C(0x9410EC06C64202C0), UINT64_C(0x79C8215875EB3A8C),
2140           UINT64_C(0x74FDD2F6E95C5EA9), UINT64_C(0x2A40B5B51CCA72C7)}},
2141         {{UINT64_C(0x569842235C29E320), UINT64_C(0x8266392AE871D9E2),
2142           UINT64_C(0x9D86C6C77B391763), UINT64_C(0x5E9E61E202543C9E)},
2143          {UINT64_C(0xD62A9334D2501D1A), UINT64_C(0x9D19F54D9211135D),
2144           UINT64_C(0x66D0B9618FE81272), UINT64_C(0x6E64635AD09C2033)}},
2145         {{UINT64_C(0x93BD0AD806F84E11), UINT64_C(0x45F18F2B131AFDBF),
2146           UINT64_C(0x881F053F6058EB37), UINT64_C(0x36B8D656948AD0D5)},
2147          {UINT64_C(0x53DC2E02E1934E38), UINT64_C(0xA8AD5055C0435B6C),
2148           UINT64_C(0x0DF7BD114BD7154F), UINT64_C(0x6350B05E73BC98FC)}},
2149     },
2150     {
2151         {{UINT64_C(0x12AC549604BF927A), UINT64_C(0x9BB322DBE749323E),
2152           UINT64_C(0xC10C666DF6D99AD6), UINT64_C(0x0FDF8FB34C883E0A)},
2153          {UINT64_C(0x10667F92665272E8), UINT64_C(0xA30D4CE15BF8702F),
2154           UINT64_C(0x56314B47A2D6033D), UINT64_C(0x09EC90D9DAC1A10E)}},
2155         {{UINT64_C(0x364F06DDC9EB81D1), UINT64_C(0xFD181A564DC5CB76),
2156           UINT64_C(0x91CF010CE264567C), UINT64_C(0x71D9A95BA05C02FC)},
2157          {UINT64_C(0xAB5AFBA653967407), UINT64_C(0x3FC779139B0AA089),
2158           UINT64_C(0xDF1D4912AF29EF02), UINT64_C(0x01C3D61C5796A0A5)}},
2159         {{UINT64_C(0x11503A1CB376E8DE), UINT64_C(0x5CB17D6DB8B98321),
2160           UINT64_C(0x96C9D585BD8FE9C2), UINT64_C(0x048C8DA7D117171D)},
2161          {UINT64_C(0xDF7FABB8B582282A), UINT64_C(0x75C2A93724FD6BB7),
2162           UINT64_C(0xDF0DBD3200633701), UINT64_C(0x04FB7AEC039B3E72)}},
2163         {{UINT64_C(0xE60CCE960E20C09A), UINT64_C(0xAD295B31116E1C38),
2164           UINT64_C(0xCA6B625DC04477D0), UINT64_C(0x032FE03BFFA32E36)},
2165          {UINT64_C(0x46334FEEE2AAABC6), UINT64_C(0x9808B03CDA1C6871),
2166           UINT64_C(0x76D0E3AAF934A482), UINT64_C(0x2B0BF54AF9CB8F97)}},
2167         {{UINT64_C(0xB5D527172CA29D02), UINT64_C(0xF9DAEAFBDBEACF03),
2168           UINT64_C(0x3786E64B113A3811), UINT64_C(0x6A01A1A55C30569D)},
2169          {UINT64_C(0x0A91E160BA1C28B6), UINT64_C(0x5BFA32BA929D3F05),
2170           UINT64_C(0x1108F87540C51084), UINT64_C(0x37FD238342FD5AE1)}},
2171         {{UINT64_C(0xABF14EDE2A79BFB8), UINT64_C(0x08B34155AA34300C),
2172           UINT64_C(0x85C0DFA064077041), UINT64_C(0x3AE5D28DF542D447)},
2173          {UINT64_C(0xC303A0FEB74DC4FB), UINT64_C(0xB75292FA556E0B87),
2174           UINT64_C(0x785628B051BDC64C), UINT64_C(0x43FE786E13C579F6)}},
2175         {{UINT64_C(0xBC5898CB5F08790F), UINT64_C(0xA298A59A125644EC),
2176           UINT64_C(0xD2D9627BB048217A), UINT64_C(0x6DCEEF327B1F23F7)},
2177          {UINT64_C(0x7F02FC44FA7B9C6A), UINT64_C(0x90C6496073597BF7),
2178           UINT64_C(0x5DD7E4F42CB0B3A2), UINT64_C(0x5EC5F92C43E83553)}},
2179         {{UINT64_C(0xC06B4D4959E2C8E9), UINT64_C(0x7DBC82181DF8AD8B),
2180           UINT64_C(0x35570120DAE8B6D7), UINT64_C(0x4222A1BA0CDE2691)},
2181          {UINT64_C(0xD2F1EFA6C1693046), UINT64_C(0x2707228D7D36D9CD),
2182           UINT64_C(0xD668EE25062D499C), UINT64_C(0x7AC81BDFCE2621A0)}},
2183         {{UINT64_C(0x3A9F04BB16F6A215), UINT64_C(0x739BB2BC89E5494E),
2184           UINT64_C(0xCB8DBAE8D1CEB043), UINT64_C(0x6B177DF009A6B465)},
2185          {UINT64_C(0xB7C4980E1A529744), UINT64_C(0x3941B9970E9012B5),
2186           UINT64_C(0xDF317B9504C6D677), UINT64_C(0x17898D81829F51D6)}},
2187         {{UINT64_C(0x3D48FD66A12282BA), UINT64_C(0xB775465B899E5A1A),
2188           UINT64_C(0xDE0CCB9955D95C35), UINT64_C(0x4CB3CCDD950AB9DF)},
2189          {UINT64_C(0x0B4ABA02175C4CAE), UINT64_C(0x2DA7C698CF86187C),
2190           UINT64_C(0x3A4453DF9A9BF6CA), UINT64_C(0x53C86F9C8BB9F543)}},
2191         {{UINT64_C(0x806B815E5B7DB133), UINT64_C(0x2451D6AC118FA7C1),
2192           UINT64_C(0x32C148B6FB0BEFC3), UINT64_C(0x2E6ECEF6E433031E)},
2193          {UINT64_C(0x2B78F31754B2EE29), UINT64_C(0xBC321BF95A73BF01),
2194           UINT64_C(0xDF6F7840F8F7F981), UINT64_C(0x751A917A22280C40)}},
2195         {{UINT64_C(0x73EFA6314F9161C8), UINT64_C(0xB61C5E6821145C52),
2196           UINT64_C(0x609477736A04DC52), UINT64_C(0x758E38FF2C2073B2)},
2197          {UINT64_C(0xDC6FEA7303A54541), UINT64_C(0x5E77682CB6E65787),
2198           UINT64_C(0xAFEF6C1C37370FD0), UINT64_C(0x33DEEF00D5AC255A)}},
2199         {{UINT64_C(0x1AD81101061D35CC), UINT64_C(0xD55EED7D8A77D246),
2200           UINT64_C(0x8D59DC22926E64C3), UINT64_C(0x76C9D6CEAFC6FFA6)},
2201          {UINT64_C(0x945A89B53F4FCC0F), UINT64_C(0x65EB52CF9087F46A),
2202           UINT64_C(0xC3380377AE9F09DE), UINT64_C(0x59067EDD43DFD5FB)}},
2203         {{UINT64_C(0xCBB7BC66CF841445), UINT64_C(0x9ED681D3A3BE7C94),
2204           UINT64_C(0xF5CF59BE396C6DD5), UINT64_C(0x2598A5DCFA763634)},
2205          {UINT64_C(0xAD2B445A85CF4FDE), UINT64_C(0xC8CE3F42A0D92F4C),
2206           UINT64_C(0x78356D5BF01CD0F5), UINT64_C(0x26E44A455D50C9D7)}},
2207         {{UINT64_C(0x22EB53E34EDF35A5), UINT64_C(0xA0C6CDEFAF1A8A60),
2208           UINT64_C(0x1D31BA2CD07C1EBD), UINT64_C(0x513511A0D2C2ADE1)},
2209          {UINT64_C(0xBD3772D4C4449889), UINT64_C(0xAF5EF819D3F49C61),
2210           UINT64_C(0xAAF2159940047745), UINT64_C(0x2128938CA54B8080)}},
2211         {{UINT64_C(0x9761A94A73ADBEC8), UINT64_C(0x4710BBF01FB2F257),
2212           UINT64_C(0xFE52603EB3920007), UINT64_C(0x663937507DE06F13)},
2213          {UINT64_C(0x35F4E633965AC706), UINT64_C(0xF49DC41833F953E5),
2214           UINT64_C(0x1562AD5131CFE467), UINT64_C(0x035FB54D8ADB1F7A)}},
2215     },
2216     {
2217         {{UINT64_C(0xF632081FFD73062E), UINT64_C(0xB2740C19CB740B59),
2218           UINT64_C(0x2DFD957F8751E315), UINT64_C(0x5722E015C21039C2)},
2219          {UINT64_C(0x44781BFCA4E56D39), UINT64_C(0x894BD2F7DA2FBE63),
2220           UINT64_C(0x9E81007B5DE22DE0), UINT64_C(0x0CED0859C68788FC)}},
2221         {{UINT64_C(0x97DD8CF18DDA6292), UINT64_C(0x3E9191F727FCF7F1),
2222           UINT64_C(0x07885E32DAA6AD44), UINT64_C(0x624CE66EBE9F7E62)},
2223          {UINT64_C(0x0483DA421893A3D9), UINT64_C(0x1041B7EA8F2A105F),
2224           UINT64_C(0x5B706F99429A24B9), UINT64_C(0x30BFBCEE167C12E1)}},
2225         {{UINT64_C(0xEB2C7218C38251D8), UINT64_C(0x5FE5D8F6022B6411),
2226           UINT64_C(0xF62200C193DCCB63), UINT64_C(0x2CF0F8F1CFF221E6)},
2227          {UINT64_C(0xDCF1BCD69217EE42), UINT64_C(0x1904879C9DB2580B),
2228           UINT64_C(0x2DDB7E5DF6510164), UINT64_C(0x7BB299858A0EAC6B)}},
2229         {{UINT64_C(0x98313C0E0FCF8397), UINT64_C(0xB594D0B742C8EEF1),
2230           UINT64_C(0xBD31FC3497E842F7), UINT64_C(0x49476B9D8F3ADB9B)},
2231          {UINT64_C(0xD1B5FD3750B45445), UINT64_C(0x526C51CAD583A89F),
2232           UINT64_C(0x5D461F096782C060), UINT64_C(0x414023EC27274A60)}},
2233         {{UINT64_C(0x7C809B26EAE4285A), UINT64_C(0x939814BF0A066043),
2234           UINT64_C(0x9CBAC0BB6C640E3D), UINT64_C(0x647E22E130EB1B86)},
2235          {UINT64_C(0x21E2A42D3C7DFA0D), UINT64_C(0xFF8CC304E2CD0CCE),
2236           UINT64_C(0x3DC8C9203496964C), UINT64_C(0x5D91FE782B4DF7C2)}},
2237         {{UINT64_C(0xD5BBBD6E96D84346), UINT64_C(0x8363527BF91FFA8C),
2238           UINT64_C(0x931D0FDA7F408588), UINT64_C(0x2C51F17BB0B19D0F)},
2239          {UINT64_C(0x7A693804FF61C86D), UINT64_C(0xBAB4AC45B3FFD529),
2240           UINT64_C(0xEDEA275F4C171C84), UINT64_C(0x0520925CD59B94D9)}},
2241         {{UINT64_C(0xB6A620AAE8718BB4), UINT64_C(0x67851F0F88D37A61),
2242           UINT64_C(0xCBEE8DBC9984A787), UINT64_C(0x7190B766AE834635)},
2243          {UINT64_C(0x3A1D7DB4C9AC1A8E), UINT64_C(0x6EEBD5AD7B97BCB7),
2244           UINT64_C(0x609786259D0AB769), UINT64_C(0x5AD56C0C7C7F02DD)}},
2245         {{UINT64_C(0x2C0003DE2DB3B6F2), UINT64_C(0x3BE1CE3FEFCF1DD8),
2246           UINT64_C(0xE2F79872379E6B8A), UINT64_C(0x3F9640D80B898094)},
2247          {UINT64_C(0x11EBD93715B29D41), UINT64_C(0xD6A076B93EF17D8C),
2248           UINT64_C(0x0A2C0016B38ED3BA), UINT64_C(0x64329A02CCB161CC)}},
2249         {{UINT64_C(0xD135032DB1ED1DEA), UINT64_C(0x43F7684842F734A0),
2250           UINT64_C(0x1F6C12BD3C18D8C5), UINT64_C(0x7D7757B7C0A304E8)},
2251          {UINT64_C(0x3F0C2867DE3B6B9F), UINT64_C(0x72F98EBBB7201E4F),
2252           UINT64_C(0xCC408000940E748D), UINT64_C(0x34FE6D8FAD74B322)}},
2253         {{UINT64_C(0xA12A9359E6D884FE), UINT64_C(0xB080A081DE063103),
2254           UINT64_C(0x672DE27D97ABB854), UINT64_C(0x712B0883EE6F3485)},
2255          {UINT64_C(0xF430BF2D2044A2A2), UINT64_C(0x665610207D12027A),
2256           UINT64_C(0x5ED63AD22C539C3B), UINT64_C(0x7982AAD0FE5EE1D1)}},
2257         {{UINT64_C(0x873DC8F63BE94D26), UINT64_C(0x909236394B41BD76),
2258           UINT64_C(0xE439A4960CBE4B5C), UINT64_C(0x424F8D2411782BF1)},
2259          {UINT64_C(0x6612BD9949686ED9), UINT64_C(0x78157AA9FB04E27E),
2260           UINT64_C(0x844E1616805F809C), UINT64_C(0x717AEB3262CB8BCD)}},
2261         {{UINT64_C(0xE98C1A0E5248CF6A), UINT64_C(0xC84294A8B0E4ADF8),
2262           UINT64_C(0xD35748A4A7769275), UINT64_C(0x2C3867E103363C82)},
2263          {UINT64_C(0x2EC7AF438F43885A), UINT64_C(0x7979D1A23AE516C7),
2264           UINT64_C(0x059939EC8B81056C), UINT64_C(0x434AA4DD7E358480)}},
2265         {{UINT64_C(0x12EA1C874A5228EA), UINT64_C(0x47B481984D293B9F),
2266           UINT64_C(0x319CE379E9696688), UINT64_C(0x7C9FF5957CE6FD05)},
2267          {UINT64_C(0x15E954DF3093E3E4), UINT64_C(0xBC98307C304015AF),
2268           UINT64_C(0x66522DF8975C69C5), UINT64_C(0x4C9EBFB3963CE892)}},
2269         {{UINT64_C(0x1CEEF18A628FB125), UINT64_C(0xFB69A2344BF30BB6),
2270           UINT64_C(0x510EB33970C9C864), UINT64_C(0x1EE9D1ED8A89151D)},
2271          {UINT64_C(0x340940284EE1A486), UINT64_C(0x664401672FC79CEE),
2272           UINT64_C(0xB597625AC7DA3A75), UINT64_C(0x6E5B920E65205AF9)}},
2273         {{UINT64_C(0x749D0CA4D87C914C), UINT64_C(0x55ECBEBB0D60C59E),
2274           UINT64_C(0x916A1127A65B4652), UINT64_C(0x503964D44E4767A3)},
2275          {UINT64_C(0x8899A4C21B1F94D5), UINT64_C(0xEFFCAF5233E0D94D),
2276           UINT64_C(0x61B89B3FA3DAD87D), UINT64_C(0x3CB455F55088D6BE)}},
2277         {{UINT64_C(0x5088A52B70678C14), UINT64_C(0x212823D941B00FC3),
2278           UINT64_C(0x38D5CEB619865BDB), UINT64_C(0x2E9C7FD712E63491)},
2279          {UINT64_C(0x6656F91659E73913), UINT64_C(0x57AE9A47E9035A63),
2280           UINT64_C(0x970DCF2BF02B8DAE), UINT64_C(0x3366F8A6950FF8A9)}},
2281     },
2282     {
2283         {{UINT64_C(0x93DABD6FAC4A8F83), UINT64_C(0x272334881CFF0AAD),
2284           UINT64_C(0xBCAC3181F500EDFB), UINT64_C(0x27C6DB15B5297515)},
2285          {UINT64_C(0x9CD142D92F08A89F), UINT64_C(0x3C0054232EAD0A80),
2286           UINT64_C(0x82845F9544A7623A), UINT64_C(0x5104707072BC4862)}},
2287         {{UINT64_C(0x4303797ADC1B9159), UINT64_C(0x7842434B5D9C9AC1),
2288           UINT64_C(0x8A36ED2D6009FE2E), UINT64_C(0x11FE35C95106429C)},
2289          {UINT64_C(0xDF20A39323554A92), UINT64_C(0x59364A48932E37C2),
2290           UINT64_C(0x6D7DE6AE7754A5DF), UINT64_C(0x00CCC6A3462725AC)}},
2291         {{UINT64_C(0xB1F86CA5BAE83077), UINT64_C(0x82FE28A55110782C),
2292           UINT64_C(0x8031BBF3D942182C), UINT64_C(0x4F1F3815410D9F83)},
2293          {UINT64_C(0xE57F9907835ABA65), UINT64_C(0x0A8220C25AA10903),
2294           UINT64_C(0x2E9847178812602E), UINT64_C(0x0AEC467D2A7D2C6C)}},
2295         {{UINT64_C(0xC779F708C4DBED03), UINT64_C(0x10A30CD88582BD4E),
2296           UINT64_C(0xFA5646C5243FEAEE), UINT64_C(0x1CFAF38ECA459EF7)},
2297          {UINT64_C(0xCCDD014695BC8077), UINT64_C(0x4ECDE91965858C49),
2298           UINT64_C(0x562764C677FEE1B6), UINT64_C(0x3CF5A3AB43524407)}},
2299         {{UINT64_C(0x0CCEAADD0F6EF445), UINT64_C(0x690C12C1C297AFAF),
2300           UINT64_C(0xD67AA6EAC15B3D7B), UINT64_C(0x445D233C9FF8884E)},
2301          {UINT64_C(0xC38FFD096CAD3234), UINT64_C(0xA690FFD1C7002F6F),
2302           UINT64_C(0xD445E85111ACB469), UINT64_C(0x64EE138097166E52)}},
2303         {{UINT64_C(0x1EB031CCCEFBFB0A), UINT64_C(0x60F3DEF4AA40D6A9),
2304           UINT64_C(0x240F7CA5F96FCAFE), UINT64_C(0x53AF2F10E4450A06)},
2305          {UINT64_C(0xE8AF980FA84058EF), UINT64_C(0x3E30001734AFFC6E),
2306           UINT64_C(0x62D1D094C86B458C), UINT64_C(0x5338383D75732C7E)}},
2307         {{UINT64_C(0x6BD46AEB04D82638), UINT64_C(0x86940A3162E645A0),
2308           UINT64_C(0xD025B4B1A5736B40), UINT64_C(0x1056D9D0924E8E5E)},
2309          {UINT64_C(0x3D0495CC1DB58101), UINT64_C(0xC300C6E72D677581),
2310           UINT64_C(0xFE38B898610AECEC), UINT64_C(0x1C8B94E2D66F64ED)}},
2311         {{UINT64_C(0x5C9C3A3706D0C7EC), UINT64_C(0x6B4B5437B8A74918),
2312           UINT64_C(0x85689C989052A235), UINT64_C(0x4F7C2C8D87B53AA6)},
2313          {UINT64_C(0x9FCD866FD8F1D334), UINT64_C(0xDBAAA2276898223C),
2314           UINT64_C(0x933DE9DA95C7B35A), UINT64_C(0x329AE20F3EA949FD)}},
2315         {{UINT64_C(0xB83547AF948A2ECD), UINT64_C(0xEBF7C1E7BE34890C),
2316           UINT64_C(0x5F0F44F3F8211C33), UINT64_C(0x14A10BDBC6927638)},
2317          {UINT64_C(0x7FD885675B579BF5), UINT64_C(0xD7C712815B7417F0),
2318           UINT64_C(0x7C04F1112083502E), UINT64_C(0x42029128E9AD6283)}},
2319         {{UINT64_C(0x32FBFFAE2C5C0928), UINT64_C(0x4E31D3121469F1D3),
2320           UINT64_C(0x17307E28D79F51A2), UINT64_C(0x546C91AF79A51EBD)},
2321          {UINT64_C(0x041D464D668086A6), UINT64_C(0x4986BDE50DB695DB),
2322           UINT64_C(0xCBA5F6EEEF317AA0), UINT64_C(0x5879259F730221D3)}},
2323         {{UINT64_C(0xBD9C5CA5253BB4BA), UINT64_C(0xBBFC60790E2A75BB),
2324           UINT64_C(0xB5F11AE367AB9033), UINT64_C(0x6411CB1EAC2BFAFE)},
2325          {UINT64_C(0x750734FEBF5390B0), UINT64_C(0xA044BED4879A3D3D),
2326           UINT64_C(0xE1E9F0E4A0C47093), UINT64_C(0x3BCAD93EB64DA48C)}},
2327         {{UINT64_C(0xAFC6BCB6B37E16C2), UINT64_C(0xB54F56C02331B0CD),
2328           UINT64_C(0x725E81B45BBFBEE7), UINT64_C(0x2AE0C039E8B9D922)},
2329          {UINT64_C(0x85301041DB958319), UINT64_C(0xDFAE34DD0681C4A4),
2330           UINT64_C(0x906C9219CBF7BB2B), UINT64_C(0x1463E9EF10A1710A)}},
2331         {{UINT64_C(0x41E6C38821E6FC9D), UINT64_C(0x0B629A1E24A39EC8),
2332           UINT64_C(0xC62F60BE1AEF7A46), UINT64_C(0x59A50B54C5A16B6E)},
2333          {UINT64_C(0x41CA367A285B891E), UINT64_C(0x70A6CE6BE2F8AF59),
2334           UINT64_C(0x74058747CBCEEF98), UINT64_C(0x4B912170601C375F)}},
2335         {{UINT64_C(0x7D975CE2734EE866), UINT64_C(0x8D3572C6A09F5F14),
2336           UINT64_C(0x1DB4CC882232EE5E), UINT64_C(0x6C9790497C04C250)},
2337          {UINT64_C(0xB5EC7706AE1EBC20), UINT64_C(0x7BDBD34DE21AAA32),
2338           UINT64_C(0xAD4125FDC5D1C733), UINT64_C(0x28B0302D731E6B09)}},
2339         {{UINT64_C(0xD68EEC491521415E), UINT64_C(0x31963424092763C0),
2340           UINT64_C(0xCA90F48D0BFB513B), UINT64_C(0x4814DDFF573A056A)},
2341          {UINT64_C(0x7E67599C400E804D), UINT64_C(0x3545275051FD0596),
2342           UINT64_C(0x45EDD7FBDB331B66), UINT64_C(0x172DA8B3BDEDE107)}},
2343         {{UINT64_C(0xD46F284CB5BEB1C8), UINT64_C(0x5DE5D3F17B125701),
2344           UINT64_C(0xC3BA591E248053D1), UINT64_C(0x4E67F1F29C8F487C)},
2345          {UINT64_C(0x380D93E48C252EC5), UINT64_C(0x913F96F122BC5CF6),
2346           UINT64_C(0xC1F06BBDD7BAA634), UINT64_C(0x7B625179A30BF1B9)}},
2347     },
2348     {
2349         {{UINT64_C(0x125D398DABD424AC), UINT64_C(0xFE65DF039CC70479),
2350           UINT64_C(0x89A31794FB5EC82C), UINT64_C(0x63EFFB55A31C5DCA)},
2351          {UINT64_C(0x948F7571045B576A), UINT64_C(0xEC9F6FAB022B5FC8),
2352           UINT64_C(0x174DC936BD9F0DD2), UINT64_C(0x5EEA65E6F4C4EE8B)}},
2353         {{UINT64_C(0xE97070AE8B800D67), UINT64_C(0xB9CB66FAB59B433E),
2354           UINT64_C(0xC4496574C6141364), UINT64_C(0x530AA9B56A9677EA)},
2355          {UINT64_C(0x4A4E2EE375200533), UINT64_C(0x4C38A5090F20A9BE),
2356           UINT64_C(0x0A6FFBA4EA683510), UINT64_C(0x7340EFEE65732EA9)}},
2357         {{UINT64_C(0x3A5612E4E41C2B43), UINT64_C(0x31F51B80FCB5C0A8),
2358           UINT64_C(0x4C5BBA64BD1F03E6), UINT64_C(0x253872433694ADCA)},
2359          {UINT64_C(0xF114EFAF1F7E4D5C), UINT64_C(0xBEA5223A4EA3A59D),
2360           UINT64_C(0x82CEF46F67EB414D), UINT64_C(0x09D351C19B6CAC3D)}},
2361         {{UINT64_C(0xC69F25CE810F5054), UINT64_C(0xE33E5E97548A2CDF),
2362           UINT64_C(0x20B3F44236946D3C), UINT64_C(0x572C0F5C65DF2D3B)},
2363          {UINT64_C(0xFC5B2DF3CC953CC8), UINT64_C(0x934D54C0D1CCADC6),
2364           UINT64_C(0x828A906EA6E7B4DB), UINT64_C(0x610D36C15AD3076F)}},
2365         {{UINT64_C(0x960B0A0174F56E27), UINT64_C(0x9942C6ACCF3FEA75),
2366           UINT64_C(0x2E4D786D82C51490), UINT64_C(0x23A516369A4749C9)},
2367          {UINT64_C(0xD86AB36A2F7560FC), UINT64_C(0xDA66B49DDDB852A9),
2368           UINT64_C(0x84E1587D544C1023), UINT64_C(0x7AB8BC696AA3C1DA)}},
2369         {{UINT64_C(0xFD0397AFA5F30701), UINT64_C(0x96FFB15DDFC8B187),
2370           UINT64_C(0xF2C864531475E520), UINT64_C(0x71521986EF37300E)},
2371          {UINT64_C(0xD81F75A868006D45), UINT64_C(0xDF7814EACBC06D4D),
2372           UINT64_C(0x5BCF959B2E8E9150), UINT64_C(0x146D37D756668C18)}},
2373         {{UINT64_C(0x1ABD731288E8DC77), UINT64_C(0x0B34B877C1C3A4DB),
2374           UINT64_C(0x85739093F844BACE), UINT64_C(0x5DEDCF8F04A7CF80)},
2375          {UINT64_C(0xD8BB237ED87CDBDC), UINT64_C(0x89852174CCBA784F),
2376           UINT64_C(0x6843BAB8B2FAECC3), UINT64_C(0x15268302AA4BBA32)}},
2377         {{UINT64_C(0x3B58225AB23D3770), UINT64_C(0x9357EB5910CC9DE6),
2378           UINT64_C(0x8665F92A42ECF80E), UINT64_C(0x4819CC9DC875C031)},
2379          {UINT64_C(0x09CBE5D8C34B979B), UINT64_C(0x161E8AC07E1D0E63),
2380           UINT64_C(0x874DF24F282E36E8), UINT64_C(0x6528E6FA0712A0CD)}},
2381         {{UINT64_C(0xE37AD786107633E4), UINT64_C(0x122D7123CF1FE646),
2382           UINT64_C(0x1E6E682BCFA93AC0), UINT64_C(0x0A25F4EE276200DB)},
2383          {UINT64_C(0x44E290EDE25FBB01), UINT64_C(0x3E392DF5C3C1B418),
2384           UINT64_C(0xE5E1574583EBE689), UINT64_C(0x016139D24B999926)}},
2385         {{UINT64_C(0x048915B065D7DA58), UINT64_C(0x6EF7C4EFA78F3D9E),
2386           UINT64_C(0x78CCCE55AD614974), UINT64_C(0x43DB7DA054B95643)},
2387          {UINT64_C(0xFC423B70E53F1A67), UINT64_C(0x8F8BED814EFE2427),
2388           UINT64_C(0xF5D6AD5F95B045EB), UINT64_C(0x23582D5DD7407716)}},
2389         {{UINT64_C(0x9E5D24FB9F674472), UINT64_C(0x1AE1863668626041),
2390           UINT64_C(0x8977E68F7ABC4380), UINT64_C(0x7D9FF8E805AF2D04)},
2391          {UINT64_C(0x9D31195F4197C4E1), UINT64_C(0x9F3F6E114400F35E),
2392           UINT64_C(0x1A87D5867BBEF801), UINT64_C(0x42AE0380952BB025)}},
2393         {{UINT64_C(0xC6A3ED756B96482B), UINT64_C(0x58B38724A9C6DD2F),
2394           UINT64_C(0x464C8CE89297FB47), UINT64_C(0x0245797EFB6D6C55)},
2395          {UINT64_C(0xBE141C80C0B58C8F), UINT64_C(0xC4C405CB77766C48),
2396           UINT64_C(0xD57EE428D10C0F31), UINT64_C(0x03D4862B50E8FE7B)}},
2397         {{UINT64_C(0x21976F8A1DC3722C), UINT64_C(0x02EC30D55F476F0D),
2398           UINT64_C(0xD711E01DCA434B06), UINT64_C(0x551AC91099FF2488)},
2399          {UINT64_C(0x24AEC72DA56CA3C7), UINT64_C(0x2DD1219A891896CE),
2400           UINT64_C(0xD84BAD1967882925), UINT64_C(0x27E65D7F9D4778EF)}},
2401         {{UINT64_C(0x09F19C8F4685687F), UINT64_C(0xB7C7B9E3BBB58BD3),
2402           UINT64_C(0x349D03A78FA34DD5), UINT64_C(0x41F9D0038D59E889)},
2403          {UINT64_C(0xCF3367D42B3ED6FA), UINT64_C(0xCF3C6715378DA1ED),
2404           UINT64_C(0x86DC39034E935E9A), UINT64_C(0x50692CFFF08CB23A)}},
2405         {{UINT64_C(0x18CA772AC2D65C87), UINT64_C(0xC9092B384F1D0CB6),
2406           UINT64_C(0x91E71CF1BBD2015A), UINT64_C(0x4A09DAAC4F3DEF26)},
2407          {UINT64_C(0x7CCA7B4A735C9281), UINT64_C(0x2028F1441BF0AAEE),
2408           UINT64_C(0xCF72A082ACB5B748), UINT64_C(0x58957D5D43299B85)}},
2409         {{UINT64_C(0x64BB164E901F1789), UINT64_C(0xC68766E65AEF97BF),
2410           UINT64_C(0x30ECA3E2942B6DCE), UINT64_C(0x632676FAF9E798F3)},
2411          {UINT64_C(0xB52533D3F13896EE), UINT64_C(0xAD9128312D8A29C1),
2412           UINT64_C(0x12F1B9A4BC14E7FF), UINT64_C(0x4E1D23FD8828D196)}},
2413     },
2414     {
2415         {{UINT64_C(0xC4F89E00EF494793), UINT64_C(0xA6044BC3C93D2F55),
2416           UINT64_C(0x68E60B588797F8AF), UINT64_C(0x4D5969FA841E4B5E)},
2417          {UINT64_C(0xB1EE70FBD759BB2D), UINT64_C(0x9AC3043366D8AD01),
2418           UINT64_C(0xD93F23DB84E9F677), UINT64_C(0x2AD9D16FC53029A4)}},
2419         {{UINT64_C(0xD01FC16BDD882D23), UINT64_C(0x3BF921F1FA5B4128),
2420           UINT64_C(0x3D3FE145235BC9CE), UINT64_C(0x5955671662E686E1)},
2421          {UINT64_C(0xE329A7C279F99D69), UINT64_C(0xA67EF5ECA4F5F5F5),
2422           UINT64_C(0xF96A41EED5A34FF0), UINT64_C(0x09D0CF0674674B5F)}},
2423         {{UINT64_C(0x8CCDF71C6135B7E2), UINT64_C(0x91F1E33EAFB6AD6B),
2424           UINT64_C(0xC452F439DB0CFEDF), UINT64_C(0x15724711C05B06D4)},
2425          {UINT64_C(0x5FEE0E0EA3BC1277), UINT64_C(0xD6847FAD8D8BA081),
2426           UINT64_C(0x8B02666C0D4C8DDD), UINT64_C(0x149E5009C35559DB)}},
2427         {{UINT64_C(0xB4D0D2C95461D9CA), UINT64_C(0xFE7993B6CE0A3973),
2428           UINT64_C(0x42B2A500D6032E95), UINT64_C(0x4DEEE35A217131C6)},
2429          {UINT64_C(0x94E65C8CFFE7C2EB), UINT64_C(0x0DAD7785B19D4B4A),
2430           UINT64_C(0xEEBA6794925613F9), UINT64_C(0x6AF45BBEE30494CB)}},
2431         {{UINT64_C(0x41352A6132F43F67), UINT64_C(0x0D218DE948F886D3),
2432           UINT64_C(0xCDFC0C559B33B0F6), UINT64_C(0x21FC63536C5B90CD)},
2433          {UINT64_C(0x5D8CA5AD7898AFF2), UINT64_C(0xA743F80E24287C30),
2434           UINT64_C(0x4D0371319084A3A2), UINT64_C(0x52041EEDB5EFC978)}},
2435         {{UINT64_C(0x80B588EECC1BCFCB), UINT64_C(0xAD871A11E5CE0035),
2436           UINT64_C(0xF47224D0F966D746), UINT64_C(0x5215A9D2B387FCC2)},
2437          {UINT64_C(0xC54EB2E7695C02AF), UINT64_C(0x36FD06BCDFC8493D),
2438           UINT64_C(0x1CE8A9AA98CE7C76), UINT64_C(0x058DFCBF644D398B)}},
2439         {{UINT64_C(0xCD7E67DC5BB81464), UINT64_C(0xE7A19301047A7789),
2440           UINT64_C(0xCCC31EE5573E837B), UINT64_C(0x25EE99AFAF7703D5)},
2441          {UINT64_C(0x34FDD6DADDB3E807), UINT64_C(0x273D8288109092DD),
2442           UINT64_C(0xF8F2464FB7357633), UINT64_C(0x26B2CBADCCAA31D5)}},
2443         {{UINT64_C(0xBA9CFEDEF707F9F7), UINT64_C(0xA9A6896CAC4975FB),
2444           UINT64_C(0x62135D9DBB1C35E4), UINT64_C(0x13AE840FCBA133D2)},
2445          {UINT64_C(0x6ABF39134C2BA3A9), UINT64_C(0xE4D8508A6D8A62C1),
2446           UINT64_C(0xF256535466D96607), UINT64_C(0x5C368CCEB6CABAE8)}},
2447         {{UINT64_C(0x0C3B52E88B3999BB), UINT64_C(0xB752E28FEF691871),
2448           UINT64_C(0xA0460ABCF17D0D2D), UINT64_C(0x7DDCE3C1B7741F2C)},
2449          {UINT64_C(0x076A6BAB3673000F), UINT64_C(0xCDB1CD2B425E8A9D),
2450           UINT64_C(0x357FCFFF2606EAB5), UINT64_C(0x308644F8035DE7B4)}},
2451         {{UINT64_C(0xBA64A1276D6FF45E), UINT64_C(0x1F52B6AE6B0C3CEF),
2452           UINT64_C(0x91295179CBF496CB), UINT64_C(0x2B986FADA1B12BE4)},
2453          {UINT64_C(0x243D236644DBAF57), UINT64_C(0x48E22BBA346E88C2),
2454           UINT64_C(0xCDFB79578BBAFA0D), UINT64_C(0x094ED36E0D70670E)}},
2455         {{UINT64_C(0x2BAD1539A0D60407), UINT64_C(0xC1A9286E6E744111),
2456           UINT64_C(0x6D08C0DB81A6DCAA), UINT64_C(0x108F35EC80AFB34F)},
2457          {UINT64_C(0xBE79A6E31E3E34AE), UINT64_C(0x206EAA2816D524E5),
2458           UINT64_C(0x563B6E1C344ABA64), UINT64_C(0x6C362A613207CA68)}},
2459         {{UINT64_C(0x04D8145BEF9A9A0F), UINT64_C(0x8B57559BA15B6247),
2460           UINT64_C(0x72D53570303AFBF3), UINT64_C(0x01C36B41D6DB5736)},
2461          {UINT64_C(0x94D583C91173B5FA), UINT64_C(0x71F8E12D013C8AAA),
2462           UINT64_C(0xA4B5A532F29CB838), UINT64_C(0x4B1797007CE4EBA4)}},
2463         {{UINT64_C(0x69CFA7B00CE86FC3), UINT64_C(0x3705D7C0D60E076C),
2464           UINT64_C(0xB1A1464AB1091E10), UINT64_C(0x097945A97FE80950)},
2465          {UINT64_C(0xD9C71A959AA381E3), UINT64_C(0x2A929073A410FF56),
2466           UINT64_C(0x79EF8353F0FEB121), UINT64_C(0x1437C4B05F3107E5)}},
2467         {{UINT64_C(0xC5128C8B621DB2E5), UINT64_C(0x4E9C9B2E51A9499A),
2468           UINT64_C(0x11535880D8CD7594), UINT64_C(0x35A26F59B0697C07)},
2469          {UINT64_C(0xAB3F4B75C43B624E), UINT64_C(0x69F82105B8E03E6B),
2470           UINT64_C(0xFB268288FB04E036), UINT64_C(0x6A5E6BD3A0BDB41C)}},
2471         {{UINT64_C(0x8C716A1AC8082916), UINT64_C(0xB1D1B1524592472C),
2472           UINT64_C(0x63657A6D3AB6938A), UINT64_C(0x44882EB6F03214AE)},
2473          {UINT64_C(0x19575B8AC615AF7D), UINT64_C(0x14D740C135EE3D98),
2474           UINT64_C(0xBC478E8957768D2D), UINT64_C(0x30CC8FA213FC5E4C)}},
2475         {{UINT64_C(0x705607C54EBE1E7C), UINT64_C(0x631E5B88284EDA2B),
2476           UINT64_C(0x07E9E39C07F54DDB), UINT64_C(0x4E554D888DCF6BC5)},
2477          {UINT64_C(0x12E9FB200CBAB0FE), UINT64_C(0x6F3BC7CEBA5E007F),
2478           UINT64_C(0xA770BA1DBC871DF6), UINT64_C(0x541AA4C6FE01142C)}},
2479     },
2480     {
2481         {{UINT64_C(0xBFE26700F2412EC7), UINT64_C(0x0E975796CFE96AF4),
2482           UINT64_C(0x7D30BF7CDD6B04F7), UINT64_C(0x5421925DF1D8FCE4)},
2483          {UINT64_C(0x1CF5E9F5EC709107), UINT64_C(0x124FCFC2B4580AA9),
2484           UINT64_C(0x02F7012B67A835B3), UINT64_C(0x753FE01B47C0760F)}},
2485         {{UINT64_C(0x82FD5D47B1D2A896), UINT64_C(0x7EABC17554E75DDB),
2486           UINT64_C(0x724FC3A81AB080BC), UINT64_C(0x363D6016A75C31DD)},
2487          {UINT64_C(0x5D465FF2863F308F), UINT64_C(0x9EC70664E515ADCB),
2488           UINT64_C(0x4BD7A1A2B3BC206A), UINT64_C(0x2022576C4A167D34)}},
2489         {{UINT64_C(0xF5AC34515CD6AC65), UINT64_C(0x7629731E5839F554),
2490           UINT64_C(0xA3260AE393545A60), UINT64_C(0x49D190E8A7AD1979)},
2491          {UINT64_C(0x5AA8492FF0B35045), UINT64_C(0x4A5FAB7B2584E651),
2492           UINT64_C(0x5A05420E395E2AAE), UINT64_C(0x30613C78547B4038)}},
2493         {{UINT64_C(0x47E1C59DF9DAE7E6), UINT64_C(0x8D68839B247A5A9D),
2494           UINT64_C(0x663B5977C1A80D5E), UINT64_C(0x5E51F87240D8CF32)},
2495          {UINT64_C(0x88ADBF9EECE49494), UINT64_C(0x40B4AC5C1792BAE8),
2496           UINT64_C(0x278200D19A1B3314), UINT64_C(0x7D15320ED9F83584)}},
2497         {{UINT64_C(0xFE6DAA74EAF2BFF8), UINT64_C(0x6E4EE4C0C156AA6B),
2498           UINT64_C(0xD9310FF8D0F4E7D5), UINT64_C(0x552EEF9E7BB0C42D)},
2499          {UINT64_C(0x323FF6F1FDC69E1A), UINT64_C(0x00FA66B741D79365),
2500           UINT64_C(0x0006B16EA96B22B4), UINT64_C(0x71BBC653D20F07BE)}},
2501         {{UINT64_C(0x89A7B7EEA440FA1C), UINT64_C(0x52BB5278757CD658),
2502           UINT64_C(0xC5906F4BB0CDDEA4), UINT64_C(0x66AAAFEE5DE2D8DA)},
2503          {UINT64_C(0x4D5E016A53B6E226), UINT64_C(0xA2F73DC61993A1D7),
2504           UINT64_C(0x7CDD4C1DA09DD554), UINT64_C(0x6F723079AB416627)}},
2505         {{UINT64_C(0xE641639EC4E5C4AF), UINT64_C(0x8BC6100D371CC648),
2506           UINT64_C(0x7BD161B19B216E8A), UINT64_C(0x58098AEBF810DB32)},
2507          {UINT64_C(0xEE52BB465AD92372), UINT64_C(0x4B2C48E1EEF938CA),
2508           UINT64_C(0xE8FDE4D6AB43A5D0), UINT64_C(0x459274CDA5284C83)}},
2509         {{UINT64_C(0xA98925B0D015095D), UINT64_C(0xC8969F5F4611A1A5),
2510           UINT64_C(0xBDDCD62F2CE4663B), UINT64_C(0x1C9D9007A076C8BE)},
2511          {UINT64_C(0xE8DE8890749F7BE5), UINT64_C(0xC9E455E7FF208E75),
2512           UINT64_C(0xDCEE17A98F5FAC9A), UINT64_C(0x776B72D368A3A666)}},
2513         {{UINT64_C(0x28C7D648FEE0E89A), UINT64_C(0x621B370F463AF60D),
2514           UINT64_C(0x9DC1548E5ADC8ACD), UINT64_C(0x48032ACFA0B49504)},
2515          {UINT64_C(0x146C6EAC85E992D5), UINT64_C(0x5A2CB5775CB491E0),
2516           UINT64_C(0x669DD6D4454C120A), UINT64_C(0x3431AB3398203C39)}},
2517         {{UINT64_C(0xE87615039DE017BF), UINT64_C(0xAB117D2FB60AE61F),
2518           UINT64_C(0x0846463F827937FF), UINT64_C(0x45E6BD406BD89C65)},
2519          {UINT64_C(0x3160AD67A613BDB8), UINT64_C(0xBD5266F3B8714A49),
2520           UINT64_C(0xF7D29C4751A233E4), UINT64_C(0x6887B48D4DE6A90C)}},
2521         {{UINT64_C(0x087290A5DFDE1EF8), UINT64_C(0xC70CCB52A166950A),
2522           UINT64_C(0xAA7F095B4A170AAE), UINT64_C(0x15301F4E5517CA0B)},
2523          {UINT64_C(0x3C86B787302F1F84), UINT64_C(0x95D4153544676E39),
2524           UINT64_C(0xBFEC4AE39DF5F751), UINT64_C(0x4A0D3986304923D3)}},
2525         {{UINT64_C(0x70FAABA979B1390C), UINT64_C(0xA9067EEE62BA8B9E),
2526           UINT64_C(0x987895031E17DF6F), UINT64_C(0x5997E8AE78D5B295)},
2527          {UINT64_C(0x31E13AD7AE0C6768), UINT64_C(0x23262F05EF17A7B1),
2528           UINT64_C(0x1580322749B7B101), UINT64_C(0x1234A9C536B5BA70)}},
2529         {{UINT64_C(0xED65C961395793AC), UINT64_C(0x01157CD8CCDE1C47),
2530           UINT64_C(0x0D0240B01D5614DF), UINT64_C(0x0F0DA1EF568E83A5)},
2531          {UINT64_C(0x57C90846C0B783C1), UINT64_C(0x4501048C81E2F613),
2532           UINT64_C(0x03D8A69BA2709DC1), UINT64_C(0x06F365C4A97CCE0E)}},
2533         {{UINT64_C(0xEAF23159551580CD), UINT64_C(0x0F1E586A053DD5EE),
2534           UINT64_C(0xEB7A78DD3CBCC3D5), UINT64_C(0x39BBC65AB014B850)},
2535          {UINT64_C(0x13DA4E8579B61AC7), UINT64_C(0x33E78DCF0DA59E37),
2536           UINT64_C(0x4E65AF252A643C4C), UINT64_C(0x0DC38C9708869D03)}},
2537         {{UINT64_C(0x2B648345A3A38837), UINT64_C(0x2FA6D8F7905E261D),
2538           UINT64_C(0xA23BD78666A14946), UINT64_C(0x781633FD5E01CC9A)},
2539          {UINT64_C(0xB1352709E2C71AD1), UINT64_C(0x9D74505283A6D365),
2540           UINT64_C(0xD88B5CAE66567032), UINT64_C(0x27FC40DF53D875CA)}},
2541         {{UINT64_C(0xB254E54C47F7554F), UINT64_C(0x33AD0ED6D708614D),
2542           UINT64_C(0x830566A376CE908D), UINT64_C(0x73DF94BDAA1ADD5C)},
2543          {UINT64_C(0x23EC411F2DBDD8A3), UINT64_C(0x9BA473383A979FDC),
2544           UINT64_C(0x56A2C27FC667E9F7), UINT64_C(0x295647C7427E6BFB)}},
2545     },
2546     {
2547         {{UINT64_C(0x9B5F4652F8E48C13), UINT64_C(0xE979034F9EEF4BA3),
2548           UINT64_C(0xF95FD7767CF5AF6E), UINT64_C(0x4236C47E506CEB46)},
2549          {UINT64_C(0x0C02A249E08D2312), UINT64_C(0xAA5A38CCC056499A),
2550           UINT64_C(0xCB26A8E27C188B64), UINT64_C(0x38FB961D0AE373D5)}},
2551         {{UINT64_C(0xEB179C9E7B23470D), UINT64_C(0xAE70102F1EBC44E7),
2552           UINT64_C(0x8184C1D492E0EED0), UINT64_C(0x329882815C21BF08)},
2553          {UINT64_C(0x469589678180D11E), UINT64_C(0xEBD5518C7FD7278D),
2554           UINT64_C(0xFCEB7F68AD2B74F7), UINT64_C(0x082D2011F9C7B6DA)}},
2555         {{UINT64_C(0x65D5AED1BBE0299D), UINT64_C(0x0077F756CF565A0A),
2556           UINT64_C(0xD44FCD6B344BB90D), UINT64_C(0x6C2A19C0536F3F25)},
2557          {UINT64_C(0x32EE7439BB2A4D91), UINT64_C(0xA97E677AED9351E1),
2558           UINT64_C(0x6752EDCF413A16E0), UINT64_C(0x5DE1B0C71CE4FBE6)}},
2559         {{UINT64_C(0x6C10DA15D6009B36), UINT64_C(0xAAD05F4FE5D8CFBE),
2560           UINT64_C(0xD8BCE0B431D58B76), UINT64_C(0x08DE344E27B2811B)},
2561          {UINT64_C(0xD9A78AAE80B51E48), UINT64_C(0x1E1D0A813E41C63A),
2562           UINT64_C(0x844376DE8076B3C7), UINT64_C(0x73F0D4A35FDF9D53)}},
2563         {{UINT64_C(0xF1532922558C7719), UINT64_C(0x0F10188AA8221197),
2564           UINT64_C(0x51A97E5F5DDC1716), UINT64_C(0x0F583A9B444789E7)},
2565          {UINT64_C(0xAA8FC58D97D63B87), UINT64_C(0xA5AF048B1CFDA59C),
2566           UINT64_C(0x2A4A0C5F2DDB34EB), UINT64_C(0x66C0F0C7701E2E07)}},
2567         {{UINT64_C(0xC0BC88B836BE2ABF), UINT64_C(0x265CCE745C721B85),
2568           UINT64_C(0x483EBB01D54299BA), UINT64_C(0x18F11CBE348ED89E)},
2569          {UINT64_C(0x5E9AE7B9E42129D4), UINT64_C(0x6B3E9E8D81DE5B77),
2570           UINT64_C(0xB3ADBAC97A14A74A), UINT64_C(0x1B6CEBB20003B266)}},
2571         {{UINT64_C(0xD4D4DD1015EB200E), UINT64_C(0xEEAEA4C6FB87C57B),
2572           UINT64_C(0x48F0B95772FF6321), UINT64_C(0x187C4B75B782B01D)},
2573          {UINT64_C(0x3DC1AACDE9B4D622), UINT64_C(0x0358418E3F4ED519),
2574           UINT64_C(0x981A24F8773D019C), UINT64_C(0x6643CA913DB0B4F4)}},
2575         {{UINT64_C(0xE3254F4BD47670E3), UINT64_C(0x9822612530B1DDE9),
2576           UINT64_C(0x61EB6C86DA8AF160), UINT64_C(0x725C771618363269)},
2577          {UINT64_C(0xB051DC9F02F62462), UINT64_C(0xFF8C9EDF00AC5531),
2578           UINT64_C(0x3909C79B962A92A3), UINT64_C(0x25C90D9327790237)}},
2579         {{UINT64_C(0x0A5DF2CC88ADC475), UINT64_C(0x48D26967E5D27D0A),
2580           UINT64_C(0x21D5F616359FF194), UINT64_C(0x38ACD14189977CE2)},
2581          {UINT64_C(0x39B9BD92FDAA8ACB), UINT64_C(0xDB157DF2035B62D0),
2582           UINT64_C(0x4E33386EB7D252D9), UINT64_C(0x6BD2E33FCF196258)}},
2583         {{UINT64_C(0xE0806297CE8F10C5), UINT64_C(0x446AFD6D8A14B746),
2584           UINT64_C(0xD7931F29BF566190), UINT64_C(0x4D9CFBFA86FDB72A)},
2585          {UINT64_C(0x7752885195009F63), UINT64_C(0x5FE5013434C0FF45),
2586           UINT64_C(0xC38CABBB6E134B81), UINT64_C(0x2E60B277E36DB037)}},
2587         {{UINT64_C(0xA614CF6757184CA5), UINT64_C(0x6CBD8D6325BE01E3),
2588           UINT64_C(0xE313EE8DA0030BE3), UINT64_C(0x69AF03992B1E7C60)},
2589          {UINT64_C(0x519ABFBB50423F30), UINT64_C(0x200111FF486B9519),
2590           UINT64_C(0x6FF93CCB3351F692), UINT64_C(0x32EB3E543ED9BE71)}},
2591         {{UINT64_C(0x0851ACB954052EBD), UINT64_C(0x3A389B7B6D2336D7),
2592           UINT64_C(0x50A8792517C6ACD9), UINT64_C(0x031FE845B807D9B1)},
2593          {UINT64_C(0xA348BB01E22F7492), UINT64_C(0x9547ED3605F39661),
2594           UINT64_C(0x97DF675668EC4AC2), UINT64_C(0x5836FEFE85B7F81B)}},
2595         {{UINT64_C(0x4E4869A65F0B2ACB), UINT64_C(0xC4798F3FDEC46001),
2596           UINT64_C(0x281A4ED600903474), UINT64_C(0x04F22E9DEFB9AABD)},
2597          {UINT64_C(0x2AC92264FAA721A4), UINT64_C(0xBCE2FF0B276F8041),
2598           UINT64_C(0x5F605607E4943926), UINT64_C(0x388C5FAB55506DF7)}},
2599         {{UINT64_C(0xFF104F6DAB5687E2), UINT64_C(0x1B6DAFE93B2D0245),
2600           UINT64_C(0x6405C02681B2EC4B), UINT64_C(0x2B7676DAF489EBBC)},
2601          {UINT64_C(0xBAA158F06DA1F57A), UINT64_C(0x9CB044AD27A8457F),
2602           UINT64_C(0xC23737A5A3BBD6C9), UINT64_C(0x71FB5B471D2267E1)}},
2603         {{UINT64_C(0x779BD825D14F56E4), UINT64_C(0xD7E672A008396F23),
2604           UINT64_C(0x23FE3FC0D40BA6EE), UINT64_C(0x41E749E73B56A3AB)},
2605          {UINT64_C(0xD19471CE72042F67), UINT64_C(0x8A686DA74989D4D7),
2606           UINT64_C(0x52A709C64FA09BC9), UINT64_C(0x1DC21162B3B6AA64)}},
2607         {{UINT64_C(0x62C9838BF9B3BD1D), UINT64_C(0x1EE59E5A0CE6384C),
2608           UINT64_C(0xA9F5ABF6ECE8CC7F), UINT64_C(0x1961D80F80BDDA83)},
2609          {UINT64_C(0x7A40880CCA406FB1), UINT64_C(0x5035D307DFBCE2E4),
2610           UINT64_C(0x590259E03D637299), UINT64_C(0x1607AC9FD6C34E05)}},
2611     },
2612     {
2613         {{UINT64_C(0x4ABC27109D818B72), UINT64_C(0x2496CEA6092607B7),
2614           UINT64_C(0xFB1087E1055C4EC8), UINT64_C(0x50A30C6A258ADC7D)},
2615          {UINT64_C(0xAF4EB6B30FF502E3), UINT64_C(0x5D5D76AD190607AB),
2616           UINT64_C(0xC9C9B71134482C13), UINT64_C(0x574A971842213696)}},
2617         {{UINT64_C(0x7C90FAFD7018FC70), UINT64_C(0x36A045592B83291C),
2618           UINT64_C(0x6120B51E40D1B175), UINT64_C(0x45F10B203DCF9606)},
2619          {UINT64_C(0x3C6A9EFFF20C5636), UINT64_C(0xB2768BA3FFBBC648),
2620           UINT64_C(0x1C9DF90AB523B36C), UINT64_C(0x4148BF06D6FF34ED)}},
2621         {{UINT64_C(0x3D29821A3B5F9492), UINT64_C(0xAE12C78290B24561),
2622           UINT64_C(0xEF6FB2778A3BDC5F), UINT64_C(0x6034BF3BAC3BD74E)},
2623          {UINT64_C(0x131D57CD4ACB6F85), UINT64_C(0xDED1C4333BE79B31),
2624           UINT64_C(0xB091348978A896B8), UINT64_C(0x1247C0B7B287862C)}},
2625         {{UINT64_C(0xEB6428937C494054), UINT64_C(0x7922793022142D26),
2626           UINT64_C(0x8F1C8371943E8398), UINT64_C(0x583C7AEF60886DB7)},
2627          {UINT64_C(0xAFE460223A12EE0E), UINT64_C(0xE9C9253AB6CB8685),
2628           UINT64_C(0x5334F9DD6316A4C6), UINT64_C(0x4E2F13D8E6F1DEE9)}},
2629         {{UINT64_C(0x7499A5B4B37D8BA5), UINT64_C(0xA12AA6371C9BCDE2),
2630           UINT64_C(0xCC99471DBFD6AE86), UINT64_C(0x0996637892048D63)},
2631          {UINT64_C(0x42CBFA9D552E71A3), UINT64_C(0x84A8B153675C1716),
2632           UINT64_C(0xB9C07C0E4CF00A7D), UINT64_C(0x32E2322B0DA504DB)}},
2633         {{UINT64_C(0x569F581FE671EE59), UINT64_C(0x293522D7422E86C7),
2634           UINT64_C(0x5E4CEA7E15DCEF10), UINT64_C(0x67C8A9FC483C0FE3)},
2635          {UINT64_C(0x4DE5AC0947B79284), UINT64_C(0x22AB8FBD025016BA),
2636           UINT64_C(0x51318C232A099B37), UINT64_C(0x542EA0FA49E06623)}},
2637         {{UINT64_C(0xDD240F6428909F31), UINT64_C(0x46B66F9E101B7F01),
2638           UINT64_C(0x788C29CA20481C3F), UINT64_C(0x3218A509CA5D5182)},
2639          {UINT64_C(0x64BCC7AD63E9A2B9), UINT64_C(0x3D213CA2ADDF5C0B),
2640           UINT64_C(0x6D93ED4C9960D650), UINT64_C(0x3F13DB22284EE5F3)}},
2641         {{UINT64_C(0x5B678C3A6697E0D1), UINT64_C(0x25A171F416D9D878),
2642           UINT64_C(0xC20A6D80FAEC362B), UINT64_C(0x1BB3F14CC512EA4B)},
2643          {UINT64_C(0xECE5313B2AE35FA5), UINT64_C(0xE390A01FBBD76B87),
2644           UINT64_C(0xC78EA4C5882DA3FC), UINT64_C(0x771BCDAE42086A77)}},
2645         {{UINT64_C(0x8E9E3C8B565802E9), UINT64_C(0xC37A7B3553FA1BE7),
2646           UINT64_C(0x9D2F1A264408FB77), UINT64_C(0x0B3ECE36FF308B7B)},
2647          {UINT64_C(0x8FB35B361F30FC37), UINT64_C(0x463B44E283E1A3C9),
2648           UINT64_C(0x7218F09F3402233A), UINT64_C(0x1519638AFC9A6990)}},
2649         {{UINT64_C(0x51FB3E5D8EAAC478), UINT64_C(0x620E4826760ED4EC),
2650           UINT64_C(0x46FC5B1F1D865577), UINT64_C(0x15EF2AD95244A538)},
2651          {UINT64_C(0x8D7E477C4BF382BD), UINT64_C(0xCBF170C902A5C9EE),
2652           UINT64_C(0xB91A870C4AFB0EC1), UINT64_C(0x052FFC5169C31425)}},
2653         {{UINT64_C(0x1FD437462018D066), UINT64_C(0xBC5015174C67FC35),
2654           UINT64_C(0xE65BC2FBBC990EB6), UINT64_C(0x538CA6F973F87F92)},
2655          {UINT64_C(0x42FBDAE08352B03F), UINT64_C(0xF265B1E099A4C9B9),
2656           UINT64_C(0x6E3EAB2F185CA070), UINT64_C(0x6E6F4F7D37D0A2C1)}},
2657         {{UINT64_C(0x9B20D8EEC2D5D73E), UINT64_C(0x190521AE75844C15),
2658           UINT64_C(0x67663AC426AD08FE), UINT64_C(0x67AEEFEFF984EC06)},
2659          {UINT64_C(0x61C71142CBDD87EF), UINT64_C(0x0FA4995B63396E3B),
2660           UINT64_C(0x3196E55185C193B0), UINT64_C(0x36C0A2A8DACB3A3D)}},
2661         {{UINT64_C(0xEAB89FDC178A1115), UINT64_C(0xC7B764D8D7C31303),
2662           UINT64_C(0xA5B2D6FB90203755), UINT64_C(0x3C360BF9D5F8AEEE)},
2663          {UINT64_C(0x8DFDCD0502F1CC3C), UINT64_C(0x7F8A64D264E5269E),
2664           UINT64_C(0xA36196ECEA13FFD7), UINT64_C(0x35E2241577E3839F)}},
2665         {{UINT64_C(0x29E7AB0BE22E0C52), UINT64_C(0x68BF32C78B27DEDA),
2666           UINT64_C(0x52A762A2DC7971AE), UINT64_C(0x4CA4348718B0CDCC)},
2667          {UINT64_C(0xED429DA13FCEAF73), UINT64_C(0x49396E6F06718D19),
2668           UINT64_C(0xDECB93375BB3301C), UINT64_C(0x4B7723C10FF489B1)}},
2669         {{UINT64_C(0xAE321F09ABEE6B9B), UINT64_C(0xF251BF4D37318F60),
2670           UINT64_C(0xB0A8A251B63DC269), UINT64_C(0x514A25FC71817963)},
2671          {UINT64_C(0x518F574755C9B2E9), UINT64_C(0x3E56CC3E1C9B4845),
2672           UINT64_C(0xBDFD637A283AE1FA), UINT64_C(0x419BA4B4C3DE778E)}},
2673         {{UINT64_C(0xC7F18E93BCD2EB74), UINT64_C(0x171264C8FC61FB42),
2674           UINT64_C(0x27282E7685119033), UINT64_C(0x225006A4D7DB91C7)},
2675          {UINT64_C(0x628E0F3C1ECF5024), UINT64_C(0xDC5111E000859CDE),
2676           UINT64_C(0x4AB1764F1F220711), UINT64_C(0x7C6916F170DDED3C)}},
2677     },
2678     {
2679         {{UINT64_C(0xF9FFE8FC5F0CA58A), UINT64_C(0x09E34F3022879EBB),
2680           UINT64_C(0x648D6339ED7B0520), UINT64_C(0x0D6719D01AF5ECDC)},
2681          {UINT64_C(0x2878714D0B8590E4), UINT64_C(0x827D04ED90EC312B),
2682           UINT64_C(0xD415C8B43B5767C3), UINT64_C(0x4170F0ADC09FD18D)}},
2683         {{UINT64_C(0x9B649CFC3C601031), UINT64_C(0x0478603A636DDAE7),
2684           UINT64_C(0xDC972DFA914E100A), UINT64_C(0x519C55DF091621AE)},
2685          {UINT64_C(0x863046CBD4A9963D), UINT64_C(0xDF16763C5ACF7C0C),
2686           UINT64_C(0x4999A93EFF5468A4), UINT64_C(0x35543EFF424074A5)}},
2687         {{UINT64_C(0x27B1DBFADD33307C), UINT64_C(0xA0D04784927CA6F3),
2688           UINT64_C(0xBD3EBC5EA37CF855), UINT64_C(0x59D02EF549F5AA2C)},
2689          {UINT64_C(0xCDABE86FBDD57BF3), UINT64_C(0x7B3ADD2F37819D86),
2690           UINT64_C(0x7B90BA150413B7B0), UINT64_C(0x470717826B99685B)}},
2691         {{UINT64_C(0xB7C3218EEF0CE97F), UINT64_C(0xDAE3B56C0898C79C),
2692           UINT64_C(0x6349D83D0908877D), UINT64_C(0x0970C6C0C81E8C4E)},
2693          {UINT64_C(0x0E45C4A7A47F426C), UINT64_C(0xAB000A593FBB194E),
2694           UINT64_C(0x570FBBA53A6DD13E), UINT64_C(0x66045580C8F44A57)}},
2695         {{UINT64_C(0x5ABEB74912A72F7F), UINT64_C(0x15072A927AE56F4D),
2696           UINT64_C(0x1C77AE00222AB2C4), UINT64_C(0x591EAEC69AFE63DE)},
2697          {UINT64_C(0xB51D41AFDFD24304), UINT64_C(0xDE28DF26DFBCC096),
2698           UINT64_C(0x02F046C838A20DA7), UINT64_C(0x5EC3DBDC1AE0A45B)}},
2699         {{UINT64_C(0x7C19BD7563DD86C2), UINT64_C(0xDB1193118D78A57B),
2700           UINT64_C(0xF48BB4FA23C5C4E7), UINT64_C(0x65514C1C97DB0A05)},
2701          {UINT64_C(0x1BC1F2F043CAC49C), UINT64_C(0x975FEB512851B4BE),
2702           UINT64_C(0x0E0A4633DD60D530), UINT64_C(0x32BBBF1409B1D2C6)}},
2703         {{UINT64_C(0x79124749A670EAC0), UINT64_C(0x504D89D531DD893C),
2704           UINT64_C(0xDDCED74CE0654D63), UINT64_C(0x58956BE5E2208707)},
2705          {UINT64_C(0xBE6A3ECD437E7077), UINT64_C(0xB8AB332D574095C8),
2706           UINT64_C(0x4E79AC1C3869DA42), UINT64_C(0x79D4C3FB68859F51)}},
2707         {{UINT64_C(0x1E5FC1B97936A831), UINT64_C(0x1EA42ED2D74F1F41),
2708           UINT64_C(0x33D22EC1C4EA3228), UINT64_C(0x5705333F729BEBFE)},
2709          {UINT64_C(0xDBD1A67B64596076), UINT64_C(0x6BFF269DFA65BA98),
2710           UINT64_C(0x8451A9C26C47E715), UINT64_C(0x243D679D22898DB3)}},
2711         {{UINT64_C(0xE935D705B8323FD0), UINT64_C(0xE2DA88456937E5CB),
2712           UINT64_C(0x1C9DFFF84A5EAE1E), UINT64_C(0x796F0B9545DF7A79)},
2713          {UINT64_C(0xC24D573F640DBA32), UINT64_C(0x2B77521702E4B792),
2714           UINT64_C(0xD437EB6394D12C40), UINT64_C(0x6182AF6D4AD371F0)}},
2715         {{UINT64_C(0x133EDA5241FC7551), UINT64_C(0xA0088A2BE91714AF),
2716           UINT64_C(0xB41B9AC25E0A73C0), UINT64_C(0x4808BB5A1D3B3953)},
2717          {UINT64_C(0xD875AA142B9AE648), UINT64_C(0x4F38C9462408244C),
2718           UINT64_C(0x04B6B941FF051A87), UINT64_C(0x1D5B0B9E6DF48ECD)}},
2719         {{UINT64_C(0x27FD368A169E757F), UINT64_C(0x2ACB35607B94D9DB),
2720           UINT64_C(0x81903F4B4D4C9B5F), UINT64_C(0x641F806C169B81DE)},
2721          {UINT64_C(0x574E94449E957475), UINT64_C(0xE08814AEC6C8EE52),
2722           UINT64_C(0xD1AE71EC6C84FDDF), UINT64_C(0x44A56014FAA040D9)}},
2723         {{UINT64_C(0x06DA690875A48F60), UINT64_C(0x7BA6C9CBBB2CD408),
2724           UINT64_C(0x57D2D0FF3A1BCBFF), UINT64_C(0x186F1A8B8928CE36)},
2725          {UINT64_C(0x0FFD205B7A40F877), UINT64_C(0x2915BC8E01AF68F7),
2726           UINT64_C(0x816AC4DFC36A5FB1), UINT64_C(0x609B0A872C9E1F7D)}},
2727         {{UINT64_C(0x4032AC5EB97536FB), UINT64_C(0x53E6FE68A7C5EDB6),
2728           UINT64_C(0x2F4149305F0DCBA1), UINT64_C(0x209752562837E314)},
2729          {UINT64_C(0xDF5DC4963C3C1D27), UINT64_C(0x0DFDAAF371797C36),
2730           UINT64_C(0x5F3E9229DA504E04), UINT64_C(0x354EA88D8C234246)}},
2731         {{UINT64_C(0xAF6741C30922D317), UINT64_C(0x7429853B9DF0A572),
2732           UINT64_C(0x0EA1AE041DC207A8), UINT64_C(0x2C1DAA1C450075F5)},
2733          {UINT64_C(0x27C71F166ED729B4), UINT64_C(0x785718A653AB8EC0),
2734           UINT64_C(0x1EEC7BBFA8465487), UINT64_C(0x78DA9B044C578BA9)}},
2735         {{UINT64_C(0xFF9ED65EB3B707FA), UINT64_C(0xF8C8301FF5D28D33),
2736           UINT64_C(0xB15D498FA65F5C0F), UINT64_C(0x6DEF256DB0EF2B89)},
2737          {UINT64_C(0x0D40A6B252184EF6), UINT64_C(0xC702EBE52BF06F5A),
2738           UINT64_C(0x13E50E184BA041AA), UINT64_C(0x53552D887EC4C784)}},
2739         {{UINT64_C(0x2CD09B19F28ABB3A), UINT64_C(0x4F5C040F724EDB9B),
2740           UINT64_C(0xD6820590E0DCBD16), UINT64_C(0x45D84DE91B7155A3)},
2741          {UINT64_C(0x995BDD01A251B1BA), UINT64_C(0x607F951737CAA4DC),
2742           UINT64_C(0x747FEA1CA15D9674), UINT64_C(0x646C187673E97C97)}},
2743     },
2744     {
2745         {{UINT64_C(0x1951682B6FAC1486), UINT64_C(0x8B578E1E4A4D14C5),
2746           UINT64_C(0x083FA101B7384D42), UINT64_C(0x13380CE9ED1C8A87)},
2747          {UINT64_C(0xC7052ED8732A493B), UINT64_C(0xD5FEF40FB32E3D69),
2748           UINT64_C(0xA64ACE8788833566), UINT64_C(0x6E36CFDB4177DC00)}},
2749         {{UINT64_C(0xAA14E281E742C3B4), UINT64_C(0xB75E7B2AEE5AF40A),
2750           UINT64_C(0x3FC5FF0B1616EFA2), UINT64_C(0x090259B0AD763298)},
2751          {UINT64_C(0x4105B57E38753438), UINT64_C(0x70ED1A00CF2D8926),
2752           UINT64_C(0x78921395322F40BB), UINT64_C(0x3AEE819967A3FF56)}},
2753         {{UINT64_C(0x88073D0011EA75FC), UINT64_C(0xD23D279606A4B4EB),
2754           UINT64_C(0x1FD22F9ED85D3A6B), UINT64_C(0x6B5EA051AFB43B70)},
2755          {UINT64_C(0x96C9C176D99BE576), UINT64_C(0x85AC2B6C4C47261E),
2756           UINT64_C(0x2726395999A9C378), UINT64_C(0x6D36E9FE8B5CABDA)}},
2757         {{UINT64_C(0xC9FC7661A58F614C), UINT64_C(0x82AA317D2E45AE73),
2758           UINT64_C(0xDCB1925FC8CB9CC7), UINT64_C(0x1341C1AA27813205)},
2759          {UINT64_C(0xDD06745B6CD478AB), UINT64_C(0x0C2534B21E28F6A3),
2760           UINT64_C(0xE21833459D27FE63), UINT64_C(0x7F1E2A3306466147)}},
2761         {{UINT64_C(0x378D727E5AEE2471), UINT64_C(0xB718FC17D47739B6),
2762           UINT64_C(0xDA27CB9B4145E8EF), UINT64_C(0x3F8AB1A30EF2AB20)},
2763          {UINT64_C(0xA89ADD37E16C0141), UINT64_C(0x2127823B59DF1C95),
2764           UINT64_C(0x53F90B73B7455CC2), UINT64_C(0x7F9605861183FBE5)}},
2765         {{UINT64_C(0x56D0475AE77235C3), UINT64_C(0xED2907C5B18ED61A),
2766           UINT64_C(0x2D02C4CB7D73F6F8), UINT64_C(0x35EF69B4C42E7AED)},
2767          {UINT64_C(0x53A6120A31B7324A), UINT64_C(0x982DD22159F1A395),
2768           UINT64_C(0x03ECA86F835CFD94), UINT64_C(0x4CBA837D73CA1BD5)}},
2769         {{UINT64_C(0x64F66D3941B17E6D), UINT64_C(0x3C869BF5CB14F3B3),
2770           UINT64_C(0x1EBA045A28350EFA), UINT64_C(0x7ACFB882C7CDEC47)},
2771          {UINT64_C(0x7ACFD28D8FB3097B), UINT64_C(0xDA397C3162986426),
2772           UINT64_C(0xD49F84212A1A7A94), UINT64_C(0x7B372E2DFAB65156)}},
2773         {{UINT64_C(0x3ADBDD0701D9DB0F), UINT64_C(0x617521E694FF0CFB),
2774           UINT64_C(0x5BA5905C3F5BD583), UINT64_C(0x6F89603378670CD1)},
2775          {UINT64_C(0x0A59C447FB98EA11), UINT64_C(0x59B918CC653EDC59),
2776           UINT64_C(0x00BF4D2A9F72C01E), UINT64_C(0x748455D147DEE00F)}},
2777         {{UINT64_C(0xE371A7A8386E7491), UINT64_C(0xF71711CC621A3484),
2778           UINT64_C(0x1568256EE0015C3B), UINT64_C(0x5ACEF7A67D3FFDE9)},
2779          {UINT64_C(0x02ED70E5B08E4219), UINT64_C(0x7ECE1726832AC3AA),
2780           UINT64_C(0xC3C0D32B951D1CA2), UINT64_C(0x4C99166438DECC59)}},
2781         {{UINT64_C(0xB99DF8BA96EB21A4), UINT64_C(0xB88D25F42BBF8E6D),
2782           UINT64_C(0x16B3E0B1686DAA3C), UINT64_C(0x1131456170D47C57)},
2783          {UINT64_C(0x8DCDC3D13338342D), UINT64_C(0xE6D39B0188E028A7),
2784           UINT64_C(0xB781F1ED72855B5E), UINT64_C(0x0E0D82F6CC192572)}},
2785         {{UINT64_C(0xC86A8E5DCF1E20AA), UINT64_C(0x1A87AEF3F9AB96D5),
2786           UINT64_C(0xA8941635F3D19051), UINT64_C(0x67B1D0A2654FFF15)},
2787          {UINT64_C(0x266FD5ED92862ACD), UINT64_C(0xB72587BED11DEEAC),
2788           UINT64_C(0x5CF0D2E2D09320AA), UINT64_C(0x68456EBA515E0277)}},
2789         {{UINT64_C(0x86A5461C771F64CA), UINT64_C(0xB7A220B748FF8D7A),
2790           UINT64_C(0x9A0DD72AD7A568D1), UINT64_C(0x18F5E1DCF644D858)},
2791          {UINT64_C(0xB7AE1BC23E00364F), UINT64_C(0xD7EA31F3CEE8D9F7),
2792           UINT64_C(0xD18DA30FDCDB883D), UINT64_C(0x179CFCA5CBA00F48)}},
2793         {{UINT64_C(0x496F2C0139E7860C), UINT64_C(0xACDF8B4027F15EAF),
2794           UINT64_C(0x8871966C687AC815), UINT64_C(0x6228F1B58DB8FDB5)},
2795          {UINT64_C(0x8644656AF30ECF2B), UINT64_C(0x15576CC2AE1DEAFF),
2796           UINT64_C(0x93D86D56697AB3FC), UINT64_C(0x3E4A428E811E3FF2)}},
2797         {{UINT64_C(0xFB85DE3D91B9F5DF), UINT64_C(0xCDB595D4B20A9C71),
2798           UINT64_C(0x55CB08F3B44D671E), UINT64_C(0x780FC2E5FCD7D5ED)},
2799          {UINT64_C(0x815AB41F7F939366), UINT64_C(0xA7597A02ECD52B20),
2800           UINT64_C(0x9BE078F04648E3C5), UINT64_C(0x7A3E217917BD3DC2)}},
2801         {{UINT64_C(0x22758C419D9E5E53), UINT64_C(0x44D675F49EF09FAE),
2802           UINT64_C(0x1AB7986D27159F97), UINT64_C(0x72B3F02BB6B9465B)},
2803          {UINT64_C(0xA372FAC7FE56F578), UINT64_C(0x33FA6479DA534F4A),
2804           UINT64_C(0xB0003307DF63BF2D), UINT64_C(0x34D40B4DB80D0F64)}},
2805         {{UINT64_C(0x8A8929DC3D2B9FC2), UINT64_C(0x7D12E86C55EE75E5),
2806           UINT64_C(0xB3FE1AD392E1A870), UINT64_C(0x27148C94729CFE4C)},
2807          {UINT64_C(0x6A8C3B5218BA868B), UINT64_C(0xDD2006E47F038A9C),
2808           UINT64_C(0x4606FA9EB7124908), UINT64_C(0x434A8C07F4940CB1)}},
2809     },
2810     {
2811         {{UINT64_C(0x15F36EBEF98B91EA), UINT64_C(0x94D802DEC1ED17B1),
2812           UINT64_C(0x3C45FA08085D77F8), UINT64_C(0x0A30B3C302FF571A)},
2813          {UINT64_C(0x70F5852D264C93D0), UINT64_C(0x5E51BCAB191AEE57),
2814           UINT64_C(0xD5C14AE9FAD8E96E), UINT64_C(0x73B00534D4BC414B)}},
2815         {{UINT64_C(0x21CF876B12AFF5E7), UINT64_C(0x3E9F664CF75799A6),
2816           UINT64_C(0xC23B7D199A0E73CD), UINT64_C(0x77AAB691427EEA36)},
2817          {UINT64_C(0x2E74F972604EE854), UINT64_C(0x8712C7A0F867C81A),
2818           UINT64_C(0x6085980F953A4C56), UINT64_C(0x2DB997070F7707E1)}},
2819         {{UINT64_C(0x5ECC087F78BDB7A7), UINT64_C(0x43CC156C04C693F2),
2820           UINT64_C(0x965067CF039BD7F1), UINT64_C(0x72140E566E3FAE2F)},
2821          {UINT64_C(0x26452E4DE019DED1), UINT64_C(0x6F4C23492EDEF154),
2822           UINT64_C(0xA7066D7F054DFC0F), UINT64_C(0x544E6F6D3381AB44)}},
2823         {{UINT64_C(0x9B6E94699214C791), UINT64_C(0xD74F9C5586938BDC),
2824           UINT64_C(0x0F1527F6FC2928FD), UINT64_C(0x5B0FBF0F63C3A053)},
2825          {UINT64_C(0xAC1F442CFC41FF10), UINT64_C(0x34EF88EF787B4932),
2826           UINT64_C(0xF8120F08316732AC), UINT64_C(0x7BCCF12CA655DC4A)}},
2827         {{UINT64_C(0x750DF97FA6C7760E), UINT64_C(0xF1A0A827609BF215),
2828           UINT64_C(0x7348C1B467FD04B4), UINT64_C(0x6A581016615C8145)},
2829          {UINT64_C(0x9DC012259A11AAFC), UINT64_C(0x24F65B053F2B0C8B),
2830           UINT64_C(0xA27CB8BFDCB1B2A4), UINT64_C(0x3C44B811E48C1A71)}},
2831         {{UINT64_C(0xBC059AF2F780B295), UINT64_C(0xDF58928C0B6B247D),
2832           UINT64_C(0x224D4C3C01903F3D), UINT64_C(0x7152E120818EE0AC)},
2833          {UINT64_C(0x6C8F474554BFF1BE), UINT64_C(0x98A6C7EC431ADEF7),
2834           UINT64_C(0xDCB6BB7591B2CFB6), UINT64_C(0x145F6D397E83A5BB)}},
2835         {{UINT64_C(0x827C000C81D23BC1), UINT64_C(0x5CDC1135403956FC),
2836           UINT64_C(0xD967A5B13C751158), UINT64_C(0x52AF85BC96201D7D)},
2837          {UINT64_C(0x522BC492644558F7), UINT64_C(0xF74A35AFED7A060D),
2838           UINT64_C(0x10E5F9FD4DC4619E), UINT64_C(0x06071F1F324F60BB)}},
2839         {{UINT64_C(0xC5FFD5EF65921C34), UINT64_C(0x46CE1A69302BAA5D),
2840           UINT64_C(0x89CC84EC4E22FF1D), UINT64_C(0x16A481AE68131754)},
2841          {UINT64_C(0x2A06A156B89039F5), UINT64_C(0x40B6401BB3A95AB9),
2842           UINT64_C(0xFFCC53EB313820C3), UINT64_C(0x256B00E7EA959F76)}},
2843         {{UINT64_C(0xCCE87FC954FBDD74), UINT64_C(0xEC258542B23C6E1D),
2844           UINT64_C(0x5BE392B49E5E1928), UINT64_C(0x65AF311047A8A759)},
2845          {UINT64_C(0x943F7A2547DFFD31), UINT64_C(0xDCCDA18651E896FA),
2846           UINT64_C(0x71A93B1E933E747F), UINT64_C(0x44F5C468DFB043AD)}},
2847         {{UINT64_C(0xF6AEC52C786FCCBA), UINT64_C(0x23D49DCF6D51FA78),
2848           UINT64_C(0x0F81463B9B40D8E6), UINT64_C(0x18B9D932708D3DA2)},
2849          {UINT64_C(0x796F94EDF986DC6D), UINT64_C(0x33B2CCC1FC2622C3),
2850           UINT64_C(0x16790DFB9CCEC606), UINT64_C(0x6F5D1452CFD31481)}},
2851         {{UINT64_C(0x91F15DDC6C3A15D6), UINT64_C(0x45D12F404D360E75),
2852           UINT64_C(0xF2E28EE81DAFFC9C), UINT64_C(0x5CC6A0566CDF5566)},
2853          {UINT64_C(0x855166D21779B9BF), UINT64_C(0x92BA5EF4CF94D9FE),
2854           UINT64_C(0x1266FB2A985BC1DD), UINT64_C(0x4572CE8FCA3018AD)}},
2855         {{UINT64_C(0x8729A12DBE4BB604), UINT64_C(0x6A29C8494E99E9AB),
2856           UINT64_C(0x54AE50117A89894D), UINT64_C(0x5E66A255CDB0EEBD)},
2857          {UINT64_C(0x006736EACBEE153B), UINT64_C(0x8A36CC2D225E7B86),
2858           UINT64_C(0xF731E430EC0598EC), UINT64_C(0x49338E4D7FD9A11F)}},
2859         {{UINT64_C(0xE038CE03DA6DABAA), UINT64_C(0x13A08DCE7C1BCE0C),
2860           UINT64_C(0x12D00DD0DA89EFBF), UINT64_C(0x70A13FB96FCF0510)},
2861          {UINT64_C(0x16ED1C925CDB03E2), UINT64_C(0xDF1AB61D08E9EE4B),
2862           UINT64_C(0x48983DA803AF3E3D), UINT64_C(0x63CCA113429DB770)}},
2863         {{UINT64_C(0x6D9AC1EBCFB805E5), UINT64_C(0x47C3FE6950FA37B8),
2864           UINT64_C(0xD308EC732C33D457), UINT64_C(0x3CB08E00D4CCA340)},
2865          {UINT64_C(0xC078DAD0BE862794), UINT64_C(0x2D147F83F4E10A57),
2866           UINT64_C(0xE91820FF3DE1B3D5), UINT64_C(0x3D85DD726F30491B)}},
2867         {{UINT64_C(0xD486A022F5CBDD3A), UINT64_C(0x2663134ACAC0B99E),
2868           UINT64_C(0x42DE13F55F3ABFCA), UINT64_C(0x4967A225B365B973)},
2869          {UINT64_C(0x99C98A2510F1F997), UINT64_C(0x23F057C97714FAB2),
2870           UINT64_C(0xCE07CA6E1BA2338D), UINT64_C(0x3BA69161069F65D7)}},
2871         {{UINT64_C(0xCCD8C86FC026FB0E), UINT64_C(0xF49F1FEA50407A8C),
2872           UINT64_C(0x72FEA37B7F19A1DB), UINT64_C(0x22A03E253F457DB7)},
2873          {UINT64_C(0x2D6C62B271F736D2), UINT64_C(0xCC99F8E7A5ACB4E5),
2874           UINT64_C(0x8F7DBF2E0DE5F380), UINT64_C(0x24494786352B4933)}},
2875     },
2876     {
2877         {{UINT64_C(0xF020E7A9AE2A5E8F), UINT64_C(0x5ADC788BD14C5F02),
2878           UINT64_C(0xC5E5AFE465C84DB4), UINT64_C(0x392FACC435C2633C)},
2879          {UINT64_C(0x47D5007042DEE269), UINT64_C(0x76706ED76EB7849C),
2880           UINT64_C(0x6BF56D56316548CB), UINT64_C(0x4A466066D37FF4DF)}},
2881         {{UINT64_C(0xC8EBBFB5C30283AD), UINT64_C(0x31E9CF963544E645),
2882           UINT64_C(0x90EA9A4988886B50), UINT64_C(0x5E4B8C88021D3D5D)},
2883          {UINT64_C(0xA4DB92250DFEB658), UINT64_C(0x8AA95DB61910FDAE),
2884           UINT64_C(0x82E9A997DE400EB9), UINT64_C(0x238967E996769A04)}},
2885         {{UINT64_C(0x1ABB076A89E2DF0A), UINT64_C(0xDA8B09B007065929),
2886           UINT64_C(0x332BE8A563BD349B), UINT64_C(0x0EB973CEA2D35385)},
2887          {UINT64_C(0x67F7AE639C7D375E), UINT64_C(0xA235818DE7AE90B1),
2888           UINT64_C(0x2B59C26E817493B0), UINT64_C(0x39DC105033C4ACD6)}},
2889         {{UINT64_C(0x11801ACE7B7DB3F5), UINT64_C(0x79C214C38CC97CA5),
2890           UINT64_C(0xB4BFE1ABBF2674BF), UINT64_C(0x598EA7DC43252011)},
2891          {UINT64_C(0x217FF6D3B08F8EF5), UINT64_C(0x9797BBC98B9226B7),
2892           UINT64_C(0xAB8E98C97B0EDB09), UINT64_C(0x240EC22D083A401F)}},
2893         {{UINT64_C(0x55A75BCF459ABC3D), UINT64_C(0xB2F9859864ECC2DC),
2894           UINT64_C(0x271C47C39EE84779), UINT64_C(0x0166E5D4BF9BDBF2)},
2895          {UINT64_C(0xD205380F4215B666), UINT64_C(0xF704139664E9FE64),
2896           UINT64_C(0x4C737E942BB0DA40), UINT64_C(0x2E763521C8119691)}},
2897         {{UINT64_C(0x79550B60FD2F8593), UINT64_C(0x47E00AFD0C17A56F),
2898           UINT64_C(0x0D900A9DB44157CF), UINT64_C(0x016CF746A81BED76)},
2899          {UINT64_C(0xC21E861BAC47A84B), UINT64_C(0x0E14387A1724BD47),
2900           UINT64_C(0xC209303E2077F7BC), UINT64_C(0x33B5EB59BAD12F0B)}},
2901         {{UINT64_C(0x7152354F9850FC1F), UINT64_C(0x1239576F83637934),
2902           UINT64_C(0xB00C4E4E82AF46BA), UINT64_C(0x563D5062EC3FEEFF)},
2903          {UINT64_C(0xEF25E37333D67B7F), UINT64_C(0x3A80A50E50D9845E),
2904           UINT64_C(0x1DCED1E9A5787EF5), UINT64_C(0x15723E9AA0F87C3C)}},
2905         {{UINT64_C(0x217435112B4A156D), UINT64_C(0xB75C041CCD12BD2B),
2906           UINT64_C(0x6947368C79F393A6), UINT64_C(0x32CDE49E76420E56)},
2907          {UINT64_C(0x67FBA31543D612FF), UINT64_C(0x697F7FAEE3B87BC2),
2908           UINT64_C(0x980DAFBC7391129A), UINT64_C(0x438B28586F707469)}},
2909         {{UINT64_C(0xDA8AD16D5E9D085F), UINT64_C(0xE636F1AF768FA87C),
2910           UINT64_C(0x08520756B85FF1F1), UINT64_C(0x1B8184816ABB31BE)},
2911          {UINT64_C(0x25B3DCB92E686F1A), UINT64_C(0xE12821342B0CB829),
2912           UINT64_C(0x626232BC3B9B759C), UINT64_C(0x797316BB38C4338E)}},
2913         {{UINT64_C(0xF8365B644A62DCBD), UINT64_C(0xC2CF51BA6BF0EFED),
2914           UINT64_C(0x37E379EFABF74764), UINT64_C(0x5DC32071A350D603)},
2915          {UINT64_C(0x5465CC805B732100), UINT64_C(0x3231B4E3B3BB5366),
2916           UINT64_C(0x23F5385ED0D067CE), UINT64_C(0x76CD762167D33451)}},
2917         {{UINT64_C(0xC6C93A0555D857DD), UINT64_C(0xB4B6F1768F308F7F),
2918           UINT64_C(0x2371CD88C0F13577), UINT64_C(0x1E507D6C70807D9D)},
2919          {UINT64_C(0x7A77CCE1C73E8E2F), UINT64_C(0x1DD96274FCCBDEEB),
2920           UINT64_C(0xA4DBEA5D03F378B8), UINT64_C(0x44B4DF552A1C347F)}},
2921         {{UINT64_C(0x9853D2828D067A47), UINT64_C(0xBF0ADAF486813E74),
2922           UINT64_C(0xFDE1F24D39409037), UINT64_C(0x0E629604973B045D)},
2923          {UINT64_C(0x9880A74B3BB92FAB), UINT64_C(0xBC4E3405C6C4D6C6),
2924           UINT64_C(0x98C243185184A2D6), UINT64_C(0x07D65412C210C183)}},
2925         {{UINT64_C(0x3938E528441A5FBC), UINT64_C(0x2CCD837DCCC66B22),
2926           UINT64_C(0x075FADE75E606282), UINT64_C(0x321811654BB0E76A)},
2927          {UINT64_C(0xE7240305FC929890), UINT64_C(0x1FA427C8E03AAA52),
2928           UINT64_C(0xF23C879B0BC7B9F8), UINT64_C(0x699A1235D6BBC908)}},
2929         {{UINT64_C(0x20C2978114124B8A), UINT64_C(0x0C6464B348000278),
2930           UINT64_C(0xF1939127D644E10C), UINT64_C(0x47A479E64EC07EE3)},
2931          {UINT64_C(0xB631576877023389), UINT64_C(0xC0FD319D8BFDD90F),
2932           UINT64_C(0x0EBEC2006CB022D4), UINT64_C(0x6810DF3D302F58EF)}},
2933         {{UINT64_C(0xCF97FA07ACB1C3F2), UINT64_C(0xACC60D84A2C3F2F1),
2934           UINT64_C(0x4EF3CAAC5DEB73D4), UINT64_C(0x654D0D90D5472C1D)},
2935          {UINT64_C(0x5A39A718E4729062), UINT64_C(0x84B286B08324E0F2),
2936           UINT64_C(0xA07A01CBD21E8457), UINT64_C(0x0EC091C7B094714E)}},
2937         {{UINT64_C(0x7AB81940895736BD), UINT64_C(0x9AE791B7E4679DF5),
2938           UINT64_C(0x36163D81F064109B), UINT64_C(0x3DDEE4A40E956B07)},
2939          {UINT64_C(0xE146E7EEFEAAE47C), UINT64_C(0x81C0C2A76A8EEC03),
2940           UINT64_C(0x10BB8DD9A8C315CB), UINT64_C(0x2CB423D8D21B9AB0)}},
2941     },
2942     {
2943         {{UINT64_C(0x5B11D3C7166A5B9A), UINT64_C(0x973627BB8768861D),
2944           UINT64_C(0x82A5E2CD5A3E442A), UINT64_C(0x13F6C741DDE63678)},
2945          {UINT64_C(0x8DAA3C74D892738E), UINT64_C(0x0A07D651A932376F),
2946           UINT64_C(0xE12612C56892504B), UINT64_C(0x619D2B1DCA3FF301)}},
2947         {{UINT64_C(0x2B6D686F1B07CEB7), UINT64_C(0x90C0260C298D0996),
2948           UINT64_C(0x8CAAB926102BC73C), UINT64_C(0x445A6487AEB3911C)},
2949          {UINT64_C(0x7EE1E54757F17290), UINT64_C(0xC055478B417711BF),
2950           UINT64_C(0x29EF9FEC5CFA42C2), UINT64_C(0x5A022DE42B8EA0D6)}},
2951         {{UINT64_C(0x81A5EC18AEEB2675), UINT64_C(0xA867C5AAAD1BBA8A),
2952           UINT64_C(0xAECB36888DB47EBC), UINT64_C(0x77CE00BC26D1038F)},
2953          {UINT64_C(0xADC635EF3E68504B), UINT64_C(0x0EFC21DEDAE8AF4F),
2954           UINT64_C(0xDE57FD43AC70C4C9), UINT64_C(0x123360BEE78FFC0D)}},
2955         {{UINT64_C(0xD608DB32D82B61DB), UINT64_C(0x05AF2A908E45C853),
2956           UINT64_C(0xF1B8213E9D3B0032), UINT64_C(0x2312F8ABCAD15361)},
2957          {UINT64_C(0xDC8D8E32C29EE818), UINT64_C(0x07D7A475DE5CD587),
2958           UINT64_C(0x766109130C6C38B8), UINT64_C(0x0131B6C6D7984BD9)}},
2959         {{UINT64_C(0xC05CD4D0CF69C844), UINT64_C(0x747C092D81A9B005),
2960           UINT64_C(0x0D793551D9E39F54), UINT64_C(0x3BBB00DA7FFEF17C)},
2961          {UINT64_C(0x6CAB83D9655AD7C1), UINT64_C(0x601BECD066A8F590),
2962           UINT64_C(0xFADB086DAE51811B), UINT64_C(0x7768A5D8D69F734B)}},
2963         {{UINT64_C(0x3BB9B347F0E2385E), UINT64_C(0x376C8C48F7D39F23),
2964           UINT64_C(0xE656C1A4D82EC840), UINT64_C(0x328B25C9FC2AC59A)},
2965          {UINT64_C(0xD02B2F39A046BEE6), UINT64_C(0xDBAB19A580066D6C),
2966           UINT64_C(0x6A2E8F67E938B7F7), UINT64_C(0x645A57A1AA7F2661)}},
2967         {{UINT64_C(0x6227904D9A006FAE), UINT64_C(0xA975FC4CB598CB72),
2968           UINT64_C(0x945BFC2FA1120B82), UINT64_C(0x437A8AB42AC15CE5)},
2969          {UINT64_C(0xA512A1070F53317C), UINT64_C(0x7B552554FF9BD7D6),
2970           UINT64_C(0xF81213E754155AF9), UINT64_C(0x0923F42CFDCE0842)}},
2971         {{UINT64_C(0x135239165216BB55), UINT64_C(0xF27E4C7A599CA117),
2972           UINT64_C(0x464D040A7DD95BE1), UINT64_C(0x408974863C417D05)},
2973          {UINT64_C(0x0A3D16BF7C88E5D7), UINT64_C(0x0B94C661C13B286F),
2974           UINT64_C(0xF73C7126E2214821), UINT64_C(0x4B3D5BF0F2F6DAFA)}},
2975         {{UINT64_C(0xCFABD8A2F1A4332A), UINT64_C(0x56DB1546BAAC9A51),
2976           UINT64_C(0x8CC5204B04416247), UINT64_C(0x75EC13BFF0583310)},
2977          {UINT64_C(0x0D68896ED35B55D0), UINT64_C(0xE89274E267FC14D9),
2978           UINT64_C(0x18D425C0FC322878), UINT64_C(0x69477DD7916C714A)}},
2979         {{UINT64_C(0x427CBB6C9BDDF0F9), UINT64_C(0xCF6941E2DB9F52CB),
2980           UINT64_C(0xEF144DF635E60DFA), UINT64_C(0x27B5246EB61DF45C)},
2981          {UINT64_C(0x0E124518B8D3D1D9), UINT64_C(0xBB3BA1348B313B95),
2982           UINT64_C(0x050DCBDF0FA2B7A9), UINT64_C(0x50DBCF6D1D0A99B5)}},
2983         {{UINT64_C(0x8A8B22CB3924A1E5), UINT64_C(0x86CB4C5A118F9D55),
2984           UINT64_C(0xE5330ACC5B339C53), UINT64_C(0x6D5FDDF966A35A67)},
2985          {UINT64_C(0xC95007196F6438A5), UINT64_C(0x9723F2BA07E5394E),
2986           UINT64_C(0xA9CE2117866B45A8), UINT64_C(0x1B737D8D045CA2CA)}},
2987         {{UINT64_C(0x6093F5A56EE00E30), UINT64_C(0x5CAB98D45DE0A6FC),
2988           UINT64_C(0xADFB652C65DE754F), UINT64_C(0x679900D1862EFD1D)},
2989          {UINT64_C(0x6E5C230FAFC5D235), UINT64_C(0x3A1E557912CF6DD3),
2990           UINT64_C(0x241C20FB03FB4FA0), UINT64_C(0x562FFAE320F6C013)}},
2991         {{UINT64_C(0x6EFC732F397F25EC), UINT64_C(0x304D1F7DBC1F03B8),
2992           UINT64_C(0xA2FA60018890DADE), UINT64_C(0x4F91F97C51A25539)},
2993          {UINT64_C(0xE75F9C5048F4EF02), UINT64_C(0xCC53F460218AEE9D),
2994           UINT64_C(0xE7B4048910D76649), UINT64_C(0x148F90A242ECDBA4)}},
2995         {{UINT64_C(0xBF45023A1F683AD6), UINT64_C(0x2EA5F70C95E868D1),
2996           UINT64_C(0x47A19F33A97F2DE3), UINT64_C(0x3C8CCA9E8A76ED9F)},
2997          {UINT64_C(0x01562C6EE1A268D0), UINT64_C(0x9EB6EBACBA4EF01E),
2998           UINT64_C(0x835E64D4342410FB), UINT64_C(0x06F96B87FFF4594D)}},
2999         {{UINT64_C(0xE49A383AD233612B), UINT64_C(0x3CA5421FC9C14F64),
3000           UINT64_C(0x25192E1BBB53DF81), UINT64_C(0x3C1451FEA94C046C)},
3001          {UINT64_C(0x72B270F80423FAA8), UINT64_C(0xFF63513D3763888A),
3002           UINT64_C(0xB22F2F20C1745190), UINT64_C(0x2E005A7A35DEA32C)}},
3003         {{UINT64_C(0x6B5A4E7A6305B2EB), UINT64_C(0xF017BCA19CCD05D2),
3004           UINT64_C(0xB37027C9D19AD8CB), UINT64_C(0x2CFCB4700CBB36A6)},
3005          {UINT64_C(0x17F4FE51663F3485), UINT64_C(0x7DC20A170DC3467B),
3006           UINT64_C(0x6B56BA3F4AF63CBD), UINT64_C(0x4E7CF2890D5D64AF)}},
3007     },
3008     {
3009         {{UINT64_C(0xE2C5CD1F7F59D2E9), UINT64_C(0x6B9ACEB79D7FBE1E),
3010           UINT64_C(0x84F0441DA20225B0), UINT64_C(0x15875CDA8B369FBC)},
3011          {UINT64_C(0xED1332770659E294), UINT64_C(0x7FAA913E7AE02043),
3012           UINT64_C(0xCA0E58DA9DCEDE14), UINT64_C(0x5F6A70FDCDE68547)}},
3013         {{UINT64_C(0x524B790DE7282711), UINT64_C(0x4B4F6246BCA05694),
3014           UINT64_C(0x85169ECB949AF774), UINT64_C(0x5B168842CC743068)},
3015          {UINT64_C(0xB8D0E9F231FB3BA3), UINT64_C(0x56DD4BC362D471C7),
3016           UINT64_C(0xB14D689CE2A34F75), UINT64_C(0x7F4E171702E8D2D2)}},
3017         {{UINT64_C(0x8EE3491AB17090B9), UINT64_C(0x67C071166B7EDAF4),
3018           UINT64_C(0x6876E4CE4D0E6CCE), UINT64_C(0x6D2FBB64BC5A86BE)},
3019          {UINT64_C(0x0431C67A070FA8C3), UINT64_C(0x91EFF9BE0F5D65F4),
3020           UINT64_C(0x332985E2E07088DF), UINT64_C(0x006D2583676EADA8)}},
3021         {{UINT64_C(0xA1FBCC370AA747D6), UINT64_C(0xADEA4A90B0DFDF3C),
3022           UINT64_C(0x650162C7401ED81B), UINT64_C(0x0FBC4841A8B15E22)},
3023          {UINT64_C(0x1044B4E8BF98CDAC), UINT64_C(0x37071115ECD1C668),
3024           UINT64_C(0x29B93C17233C220C), UINT64_C(0x4BEBC3CCE69BC0C0)}},
3025         {{UINT64_C(0xD1A16E3746BF7E51), UINT64_C(0x889C7782F7A7370C),
3026           UINT64_C(0xC73F396E3CCB474D), UINT64_C(0x1C508F18B9D67A2E)},
3027          {UINT64_C(0x3F17E9676B03B7E7), UINT64_C(0x3928F1D8F857BB26),
3028           UINT64_C(0x3086FB2EC0EA8620), UINT64_C(0x15DC32C21BE7C3E4)}},
3029         {{UINT64_C(0xF48D4C3211F4D949), UINT64_C(0xE14A4AE3B0357C05),
3030           UINT64_C(0x77A1121F151D91AE), UINT64_C(0x33F85C2FE8C6869D)},
3031          {UINT64_C(0x8EA3BB4C364B77B0), UINT64_C(0x1F155B919BD43E50),
3032           UINT64_C(0xA6C2873054748E7D), UINT64_C(0x5AA34DDAE7DDC539)}},
3033         {{UINT64_C(0xF0F80DDAA6CF8A82), UINT64_C(0x87DE6D6C091663B5),
3034           UINT64_C(0x9479873402FE5519), UINT64_C(0x109D411F96722130)},
3035          {UINT64_C(0xBC47CA73E661041F), UINT64_C(0x071D605965741541),
3036           UINT64_C(0x7CD4DF6607E08735), UINT64_C(0x175E1F77E68FC807)}},
3037         {{UINT64_C(0xB88BDAB8DA58865B), UINT64_C(0x14AD911220ED2B89),
3038           UINT64_C(0x2B21AEDF039BF0A3), UINT64_C(0x789717779D4B77E9)},
3039          {UINT64_C(0x133DA2ACD6612EF3), UINT64_C(0x6260FCF512AD1785),
3040           UINT64_C(0xDBA784DA9DF08843), UINT64_C(0x1A30C4CF4449FBD1)}},
3041         {{UINT64_C(0xB6FECE874EF7ACA2), UINT64_C(0x9CE7B61A13F7C58C),
3042           UINT64_C(0x6B0223C9F8719A60), UINT64_C(0x21199AA5A3B3B088)},
3043          {UINT64_C(0x4A7171966938BB02), UINT64_C(0x2E9A17C9E7ABC263),
3044           UINT64_C(0x83F796234BAB12B7), UINT64_C(0x15C0C4AF49D7CFBD)}},
3045         {{UINT64_C(0x99B3413956D2957F), UINT64_C(0xA51B8DFD07218BB6),
3046           UINT64_C(0x47CA4323FC91D7C9), UINT64_C(0x44B01E753DCFD5F0)},
3047          {UINT64_C(0x29F9D18E8CE894F3), UINT64_C(0x22BCC54095227C6F),
3048           UINT64_C(0x815CD9363FC75409), UINT64_C(0x0D58B325D8989472)}},
3049         {{UINT64_C(0x8B4C6980B6C80208), UINT64_C(0xA5D974978FB77CCD),
3050           UINT64_C(0x1B8965719477132F), UINT64_C(0x348ABC213AE45F53)},
3051          {UINT64_C(0xE438C1C314BCDB96), UINT64_C(0x63150CF98007C1BF),
3052           UINT64_C(0xDB861A338508B903), UINT64_C(0x421DFB017B04ECD6)}},
3053         {{UINT64_C(0xF2FCE58B19430E7B), UINT64_C(0x851A5F03D0F8ECB7),
3054           UINT64_C(0xE756C1670A5A1833), UINT64_C(0x25A51405227F866C)},
3055          {UINT64_C(0x40F34CB03C6EE5F3), UINT64_C(0xF4010401F244B5CF),
3056           UINT64_C(0x0E21BDED01349BCF), UINT64_C(0x1B129D8204547F42)}},
3057         {{UINT64_C(0x802EC4800927D153), UINT64_C(0x0F75E4FE72541520),
3058           UINT64_C(0xA4A1557A026C4613), UINT64_C(0x25E8DAFB7D92BC18)},
3059          {UINT64_C(0x1D87A14312F15F05), UINT64_C(0x79390E3C7B6B4240),
3060           UINT64_C(0xFC199D76492E6273), UINT64_C(0x0053F1C47EB090C0)}},
3061         {{UINT64_C(0xE790F1CAACEE6DFC), UINT64_C(0xC8FB4626DFEA04FF),
3062           UINT64_C(0xBF03627F627D88D7), UINT64_C(0x1B3698843D81A75A)},
3063          {UINT64_C(0x83405DDA917FA19D), UINT64_C(0xFFB23FF98C7DDCD2),
3064           UINT64_C(0x644F54C740F10B48), UINT64_C(0x4636FADF17FF713A)}},
3065         {{UINT64_C(0xDA62ECC227F417E4), UINT64_C(0xC0DBE48FFD8662BE),
3066           UINT64_C(0x729EE4AA1011E73C), UINT64_C(0x4BAE5D3C3E11C84B)},
3067          {UINT64_C(0x854DFFF86CEF6CDA), UINT64_C(0x7939228CCB7131EA),
3068           UINT64_C(0x58B3744AD3EBC607), UINT64_C(0x6EB9248F2049E239)}},
3069         {{UINT64_C(0x0265CAE9ED0D4E57), UINT64_C(0x92166D028AA65AEF),
3070           UINT64_C(0x2E337CDA198345D6), UINT64_C(0x6775330CABE1AD7B)},
3071          {UINT64_C(0xA9A828A8BF6FBC7D), UINT64_C(0x33A56F8DCBFEA393),
3072           UINT64_C(0x2DB72F77D811EC51), UINT64_C(0x3DDFCD268327C78E)}},
3073     },
3074     {
3075         {{UINT64_C(0x7CF8A521B46AA2C4), UINT64_C(0xE3B20937ACF0D567),
3076           UINT64_C(0xD47D8D1BA440648E), UINT64_C(0x674E79201E9791A1)},
3077          {UINT64_C(0x27B714EB18366462), UINT64_C(0x1526E5588476F588),
3078           UINT64_C(0x72C8D3746C240D70), UINT64_C(0x066BBAFB805C1265)}},
3079         {{UINT64_C(0x15F1CFF5457034E1), UINT64_C(0xCF7C6550DD819FA7),
3080           UINT64_C(0x57C2CD5377AC7AD6), UINT64_C(0x7DB2A8BEAFED669D)},
3081          {UINT64_C(0x2DAFD95FD4697340), UINT64_C(0x382FF89215A6B6E7),
3082           UINT64_C(0x036FC753BF4A6B1B), UINT64_C(0x3E7AC46DE4012711)}},
3083         {{UINT64_C(0xBA5ECDED5752A34D), UINT64_C(0xB08749D46BAA08DD),
3084           UINT64_C(0x8A2B98974A4A47A8), UINT64_C(0x7230966FE42DCE02)},
3085          {UINT64_C(0xA6FF614A58654FF5), UINT64_C(0x7F3531D1AB3C2A7E),
3086           UINT64_C(0x0282A2F00D0ED417), UINT64_C(0x2DC7B872EA9755A3)}},
3087         {{UINT64_C(0x7678D7652392536A), UINT64_C(0x0C2025F1574C657D),
3088           UINT64_C(0x01701C80795413DC), UINT64_C(0x63F0D4965396279E)},
3089          {UINT64_C(0xB0F9968AFA32EA64), UINT64_C(0x81265D155BB393DE),
3090           UINT64_C(0xC05ECC6D0BCD8C10), UINT64_C(0x4F3769F92824457E)}},
3091         {{UINT64_C(0x9AA58686F13DB92E), UINT64_C(0x1155CDF4ED2E1B18),
3092           UINT64_C(0xA06E919409823F5A), UINT64_C(0x7F1BBE734257AB0E)},
3093          {UINT64_C(0x2DFB6472ABA6FCD1), UINT64_C(0x04BE6BCAD73D850E),
3094           UINT64_C(0x72AAEC34297D312B), UINT64_C(0x31F4C02C7509D9F5)}},
3095         {{UINT64_C(0xAA9BA0007CA72AD5), UINT64_C(0x21EE29457FBCB4D6),
3096           UINT64_C(0x0E210AAB1CF8580A), UINT64_C(0x600479FE0FA8DE10)},
3097          {UINT64_C(0x246FD26554322F70), UINT64_C(0xC60BE9BB60DF1893),
3098           UINT64_C(0x04D4F99D05137E38), UINT64_C(0x6ACB9E016164C176)}},
3099         {{UINT64_C(0x126F2C7EC1DB7B6C), UINT64_C(0x4C3B30B5CF4DD3C0),
3100           UINT64_C(0x827D57A2F782A489), UINT64_C(0x41B897DEE52621F0)},
3101          {UINT64_C(0xED31C55ADDA0A3CD), UINT64_C(0x21C91BB2A11AD179),
3102           UINT64_C(0x60E606B843FD6E23), UINT64_C(0x31B8138D51ED7FA6)}},
3103         {{UINT64_C(0x1387B313E72E4BC5), UINT64_C(0xDCCCB09C82EBFC72),
3104           UINT64_C(0xF0B01202AA4432D6), UINT64_C(0x632599C47C52B69D)},
3105          {UINT64_C(0x3922D0C0BCE9A04C), UINT64_C(0xC2397D88B53F4268),
3106           UINT64_C(0x50AE5ED900669858), UINT64_C(0x1B2BD4C216C7696B)}},
3107         {{UINT64_C(0x6FAE1B082BF7DF06), UINT64_C(0x870B3FE85210DB3B),
3108           UINT64_C(0x680BE4229BDC0B91), UINT64_C(0x56BA83C6BCC970AD)},
3109          {UINT64_C(0x1AE91BAC859D6C78), UINT64_C(0xC5BDD5FB2895A1A6),
3110           UINT64_C(0xA169E73C550610F5), UINT64_C(0x01B467670CC7D3EA)}},
3111         {{UINT64_C(0x1E147A510EC5ECE2), UINT64_C(0x9B612A1FD0E2C46C),
3112           UINT64_C(0x664FDD555E293783), UINT64_C(0x52070E1567DC4DBC)},
3113          {UINT64_C(0x449B53E54A4903FB), UINT64_C(0x79B53583A8D30103),
3114           UINT64_C(0x616C97F3AF7CC314), UINT64_C(0x6BEB304C2849862C)}},
3115         {{UINT64_C(0xB9C636D6019F0313), UINT64_C(0x0B08E7CBD3E0188D),
3116           UINT64_C(0xEAEB1715D704DE15), UINT64_C(0x4990282C837E7543)},
3117          {UINT64_C(0xCBB0BD49FBD3A061), UINT64_C(0x3454A8AC1DA124AE),
3118           UINT64_C(0x0D524A0237D64EAB), UINT64_C(0x766807490B3E4ADE)}},
3119         {{UINT64_C(0xC293E01195B04835), UINT64_C(0x76D304BA23D0C885),
3120           UINT64_C(0x36A63627D6552D80), UINT64_C(0x3B4FA680C504CCAB)},
3121          {UINT64_C(0xF25B3A04E1FC08DF), UINT64_C(0x786380E562D080F8),
3122           UINT64_C(0x0A731427DAC0D110), UINT64_C(0x1D65288FD628429A)}},
3123         {{UINT64_C(0x3CE5E929DC94453E), UINT64_C(0xEC7CF988B6073324),
3124           UINT64_C(0x023361E7DCB35234), UINT64_C(0x3AF20624F5E89B7C)},
3125          {UINT64_C(0x860F188EA5B2B103), UINT64_C(0x5EAC84CECB6D112F),
3126           UINT64_C(0x63B200C3914C9FFD), UINT64_C(0x327870A055A1FDCB)}},
3127         {{UINT64_C(0x4F94633C155280ED), UINT64_C(0xF98321D53654B8AA),
3128           UINT64_C(0x9C057A23489AE89A), UINT64_C(0x1124A1FBD59CA3B5)},
3129          {UINT64_C(0x2F4CE0521F64AFD7), UINT64_C(0x841EE4417C789152),
3130           UINT64_C(0x93531ED459A98374), UINT64_C(0x69A4F48C36BB8F07)}},
3131         {{UINT64_C(0xD8FFD2435FD512A7), UINT64_C(0xF48C96F19BEA1738),
3132           UINT64_C(0xF70E1F6A0FFB4553), UINT64_C(0x29DB63B15FF91D21)},
3133          {UINT64_C(0xC1355C2377BF7279), UINT64_C(0xD3946EE9A2FC904D),
3134           UINT64_C(0x07223881E7B7A9F4), UINT64_C(0x212D896756E08ED6)}},
3135         {{UINT64_C(0x32B8C22A45503451), UINT64_C(0x9E4FDAF1E6AB7B3D),
3136           UINT64_C(0x7A300E3D04A31294), UINT64_C(0x0F529DFD05FE2AEB)},
3137          {UINT64_C(0x7EFFEA9E9951B6FB), UINT64_C(0x18C60266336B9A2B),
3138           UINT64_C(0xB78A5EE16C8D0EEC), UINT64_C(0x68C17FE446ED0B23)}},
3139     },
3140     {
3141         {{UINT64_C(0xF707FAD596B3222E), UINT64_C(0xD6AF61610223F804),
3142           UINT64_C(0x13FFDC744F43A0E9), UINT64_C(0x6A3B70E93347F487)},
3143          {UINT64_C(0xBDDF02A46A4AF4F5), UINT64_C(0x61B451E1E4C69950),
3144           UINT64_C(0xFF854590F9E3BB99), UINT64_C(0x46EB1F697CD54C54)}},
3145         {{UINT64_C(0x70E643B68E6848D3), UINT64_C(0xC58B8519848C2587),
3146           UINT64_C(0x2F195C54EDF4A38E), UINT64_C(0x206E6A323D2A52E8)},
3147          {UINT64_C(0x234845B5417595BF), UINT64_C(0x90354373FF5AE3CB),
3148           UINT64_C(0x13BE31CE89C0E555), UINT64_C(0x2D18AA43CC67E26F)}},
3149         {{UINT64_C(0xC74EE8C4F041BD17), UINT64_C(0x655CF527C2B3CC64),
3150           UINT64_C(0x6735CF0A160FF053), UINT64_C(0x35DAB9EB04218A0D)},
3151          {UINT64_C(0x32BB2E9ACBC34E46), UINT64_C(0xF780CEAF7D190342),
3152           UINT64_C(0x161C0C1A9F0DA1A4), UINT64_C(0x7B198C9EE7642FD6)}},
3153         {{UINT64_C(0x936C763E122FD0B4), UINT64_C(0xA3819ED9A7E0C435),
3154           UINT64_C(0x86228B04CAAE6D7B), UINT64_C(0x2E1160187A3C65B4)},
3155          {UINT64_C(0xF55BB1F3D4EB0345), UINT64_C(0x858A0BF40630B569),
3156           UINT64_C(0x8CC22657CB78A626), UINT64_C(0x7CD93BDEB45E3005)}},
3157         {{UINT64_C(0xCAA1F45998E517AB), UINT64_C(0x36E60281B34A6F5C),
3158           UINT64_C(0x877A49F30B46F47F), UINT64_C(0x0179824B9E7BE761)},
3159          {UINT64_C(0x6830A2B2D455D9C0), UINT64_C(0xB734BA0A7BA31962),
3160           UINT64_C(0x344665A4065C3B51), UINT64_C(0x0B1D2210562E7F1D)}},
3161         {{UINT64_C(0x289BAFCA0B2E22E8), UINT64_C(0x038929A083390107),
3162           UINT64_C(0x968A014D0683E782), UINT64_C(0x5A1AD5C853D34463)},
3163          {UINT64_C(0xA26133349527B2CA), UINT64_C(0xE8471271310B745F),
3164           UINT64_C(0x49C81A2631387F59), UINT64_C(0x1B955AF70343C691)}},
3165         {{UINT64_C(0x069328ADA4A9FCA4), UINT64_C(0x14EF09A7624FCB94),
3166           UINT64_C(0x21C76F0DE3E0CECD), UINT64_C(0x5F470B866C1BCE0F)},
3167          {UINT64_C(0x79319A3FB15BC8B4), UINT64_C(0xB1407CB1DB06AFA1),
3168           UINT64_C(0xD69E9E09911116E0), UINT64_C(0x6E77524E0756579E)}},
3169         {{UINT64_C(0xD3EC5EBCE2D851D5), UINT64_C(0xC888BC2303B63143),
3170           UINT64_C(0x5F3DE41EDB0C357F), UINT64_C(0x646FFBD3C3D47D37)},
3171          {UINT64_C(0xE53F8BEB0692639B), UINT64_C(0x7E194E37D4FBC3D4),
3172           UINT64_C(0xE1988A22452B2A2E), UINT64_C(0x5D359A15B013F9E1)}},
3173         {{UINT64_C(0xA48160A7B2A6627D), UINT64_C(0x5EFDC8483CE8789E),
3174           UINT64_C(0x264CBFF1B1CD14EE), UINT64_C(0x288823D444D84222)},
3175          {UINT64_C(0x2F091B233A6DB1F8), UINT64_C(0xBFD737B5CEA89B44),
3176           UINT64_C(0x682AB86C17F5E969), UINT64_C(0x7653005CABB0FA87)}},
3177         {{UINT64_C(0x619C2629D4B8A43A), UINT64_C(0xBFDAF433B6DAF943),
3178           UINT64_C(0xDC7AA1EE6D640DB8), UINT64_C(0x35ADEEA83B08D55C)},
3179          {UINT64_C(0x30935454D7AF5382), UINT64_C(0x1F9C51A13D68A24A),
3180           UINT64_C(0xDBD13CFC78BDBEA9), UINT64_C(0x003B6D9931210A3F)}},
3181         {{UINT64_C(0xD4547A329C2B515D), UINT64_C(0x4AF29AA8FECDAAA9),
3182           UINT64_C(0x85C80ECDE401D5AD), UINT64_C(0x2830332D8AA315A1)},
3183          {UINT64_C(0x5675882371DCE198), UINT64_C(0x55AC9D106ACBDEE3),
3184           UINT64_C(0xF6D468CF575CF4BB), UINT64_C(0x46E4FA98576B5C4A)}},
3185         {{UINT64_C(0xAD20F82020D859EF), UINT64_C(0x380915882A5462B0),
3186           UINT64_C(0x35F45C9F2135DA7D), UINT64_C(0x6B426F91F7F20DBD)},
3187          {UINT64_C(0x4A0D8CBEF96E77D2), UINT64_C(0x8FC36F5BCC51D3F4),
3188           UINT64_C(0x7A1870DDBE16A0A8), UINT64_C(0x29C3E2B3114DB780)}},
3189         {{UINT64_C(0xFF692A4C21779E6E), UINT64_C(0x698231ABA6026EC1),
3190           UINT64_C(0xDAB0D835EF03E21B), UINT64_C(0x770BFFACC846D56F)},
3191          {UINT64_C(0xCD28722D3B8B0747), UINT64_C(0x3DEFE04032AE95E5),
3192           UINT64_C(0x6F5D816A0F9857D6), UINT64_C(0x2E483FEDFC630F5E)}},
3193         {{UINT64_C(0xDBF82EC4967C7140), UINT64_C(0x6265CAD10D20A2A5),
3194           UINT64_C(0x1509652B5862DEFE), UINT64_C(0x699DD93994A284E5)},
3195          {UINT64_C(0xC01166460B2CC732), UINT64_C(0x583FE01294C3EF86),
3196           UINT64_C(0xCD5DAEA8CD353430), UINT64_C(0x2B39A746C7ADA62B)}},
3197         {{UINT64_C(0xF449B989E4257BBC), UINT64_C(0x95BA21BAA90DCCE6),
3198           UINT64_C(0xDD53AD5C93CA4ACD), UINT64_C(0x7FCF27380BB4213B)},
3199          {UINT64_C(0x0E57C1C0C2E7E54E), UINT64_C(0xD1769DAEA1A0E975),
3200           UINT64_C(0x68F62C4EC3B6E13B), UINT64_C(0x75152F9A781242D8)}},
3201         {{UINT64_C(0x4D58276824B8B820), UINT64_C(0x36E37AC45BBD9F84),
3202           UINT64_C(0x1F34414ADA076F12), UINT64_C(0x08A77C283E0333C6)},
3203          {UINT64_C(0xBB1F017DD9193382), UINT64_C(0x56E9AA2483A5612D),
3204           UINT64_C(0x6959B02BD0B4554F), UINT64_C(0x2479BC56E4559B52)}},
3205     },
3206     {
3207         {{UINT64_C(0x96D631C60F570A8E), UINT64_C(0xE3F566A3D714B807),
3208           UINT64_C(0x564DD512EF7E1550), UINT64_C(0x1C5CF24A79FA2F58)},
3209          {UINT64_C(0x973BA599897958DB), UINT64_C(0x93951D1711A9CBB1),
3210           UINT64_C(0x86BA17F6A37A969A), UINT64_C(0x4807CAC7A069B195)}},
3211         {{UINT64_C(0xB64AC0D46665B35E), UINT64_C(0xBA9CD3947EF72C68),
3212           UINT64_C(0x838807B29C4CBC44), UINT64_C(0x2675D26882770197)},
3213          {UINT64_C(0xBFC2F13717087FA9), UINT64_C(0x811E644BE7B79B31),
3214           UINT64_C(0x597CE23FC963A061), UINT64_C(0x40BC32E42EA0DEB0)}},
3215         {{UINT64_C(0xC0AEFB5027C85959), UINT64_C(0x76D1087E058E0FDD),
3216           UINT64_C(0x6ADA5AAF7E51A6F8), UINT64_C(0x424B16E0054A058D)},
3217          {UINT64_C(0x9A2C20A963AF9766), UINT64_C(0x4C1CB5323CF18DAB),
3218           UINT64_C(0x599CD9296C5D6A00), UINT64_C(0x57C39BAE8AA311BF)}},
3219         {{UINT64_C(0x3FDF5B46CD987F02), UINT64_C(0x57755078353175C4),
3220           UINT64_C(0x80223EC0CD578394), UINT64_C(0x04BBA6ACAEB7D278)},
3221          {UINT64_C(0xD27FD2BE8688BFB2), UINT64_C(0xB2F80278C27A62E5),
3222           UINT64_C(0x8BA6FB07339429D8), UINT64_C(0x57737FF63AB70AA0)}},
3223         {{UINT64_C(0x0140E47F8EAEB3C9), UINT64_C(0xB91C9798735AC8EA),
3224           UINT64_C(0x325E031283D4EFAA), UINT64_C(0x1E7DA3BED9C5888E)},
3225          {UINT64_C(0xA210CDA6F7F1EB13), UINT64_C(0xEDC1F6B3936EA9E9),
3226           UINT64_C(0x46E831C41B097F65), UINT64_C(0x008576011939A0AE)}},
3227         {{UINT64_C(0x7C26F7111F68BB40), UINT64_C(0xEA69C84539DDBE6D),
3228           UINT64_C(0x590BF426E5316F22), UINT64_C(0x40CDC921CC2DF9C9)},
3229          {UINT64_C(0x28A32DDEF3F991C6), UINT64_C(0xD75B59E65356CA78),
3230           UINT64_C(0xB5DD3861D1F5F318), UINT64_C(0x09EB1A2DE7929834)}},
3231         {{UINT64_C(0x701F9A2DDBC0370D), UINT64_C(0x559D0FAF2870B59D),
3232           UINT64_C(0xE89E5DF055367B5D), UINT64_C(0x22BBD4FC74005A58)},
3233          {UINT64_C(0x7ACED1E499CDC76B), UINT64_C(0xD41C827CE3C219D3),
3234           UINT64_C(0x5AF3F2AE8221D91F), UINT64_C(0x6D62C990E5B6BC98)}},
3235         {{UINT64_C(0x23B2A0BF7FFC9D0F), UINT64_C(0xED98F71D974CA299),
3236           UINT64_C(0x10F8C07A151D559B), UINT64_C(0x40E46FC38E949C62)},
3237          {UINT64_C(0x0CF53E34BBE55338), UINT64_C(0xF2D6CF26115520D4),
3238           UINT64_C(0x915FF09A590B4E23), UINT64_C(0x072E4233BEDC75F2)}},
3239         {{UINT64_C(0xB67A6B60997E9BFA), UINT64_C(0xE7686AC9973BC3E7),
3240           UINT64_C(0x9525B4490B228320), UINT64_C(0x6C7275837ADE8F19)},
3241          {UINT64_C(0x3D064298062FF3D5), UINT64_C(0x5483826C07E22768),
3242           UINT64_C(0xF4ADE9211F7A64A4), UINT64_C(0x70BDDCF7BD92EB25)}},
3243         {{UINT64_C(0xA8DB36115D8A9E36), UINT64_C(0xAA6A5F33FA81065A),
3244           UINT64_C(0x8EC120A3366DDA90), UINT64_C(0x2AA0AB25D8A15CF7)},
3245          {UINT64_C(0x5E11E169A0DFFB9C), UINT64_C(0x8C7572E9118408A7),
3246           UINT64_C(0x4EEFD13E35833ADF), UINT64_C(0x2C6732E8FC2C1811)}},
3247         {{UINT64_C(0x15D063F9B1537DF6), UINT64_C(0x864176B30414FCFD),
3248           UINT64_C(0x9C0A194C8FF9E32E), UINT64_C(0x4DB14C6FDDE1540B)},
3249          {UINT64_C(0xFAA4AED431F6493F), UINT64_C(0x2C479F1DD3C41A46),
3250           UINT64_C(0xC31196678E5E85A2), UINT64_C(0x7E567C8084E9A76C)}},
3251         {{UINT64_C(0xB9E2C92A689A6B95), UINT64_C(0xCCEAC3833B635B01),
3252           UINT64_C(0x04FEA46534AAB952), UINT64_C(0x772E502763B5CF63)},
3253          {UINT64_C(0xCB94F5D225830581), UINT64_C(0x791004AFC77FB7DE),
3254           UINT64_C(0x53273C335140E4AE), UINT64_C(0x0C2D329EA524419F)}},
3255         {{UINT64_C(0xB7CEDA36B307B0E4), UINT64_C(0x12DF7FD00F8F9667),
3256           UINT64_C(0x74274002BF62BD94), UINT64_C(0x6765C73DC436C319)},
3257          {UINT64_C(0x79B64CE5F6EEC946), UINT64_C(0x3B1B4B43DAB258B6),
3258           UINT64_C(0x377819A3EE1F8B84), UINT64_C(0x1F45F1D676D0EB1F)}},
3259         {{UINT64_C(0xCC5BF9B358C953AD), UINT64_C(0x8303250F7BAD1D2C),
3260           UINT64_C(0xBCA7BC36F164972B), UINT64_C(0x2CACF8A9B1DFDA64)},
3261          {UINT64_C(0xB03A59B9D4E2A06F), UINT64_C(0xFED68E681B7FB8FD),
3262           UINT64_C(0x08F75A527E747AE6), UINT64_C(0x3299EA6B37A4420B)}},
3263         {{UINT64_C(0x49A00BE6932E5BA6), UINT64_C(0x4921250556114C4B),
3264           UINT64_C(0x786B7D31376183C7), UINT64_C(0x01F9E229DD8A5EAF)},
3265          {UINT64_C(0xE9B8E99053094AD4), UINT64_C(0x2EDA305CBFAEDFA8),
3266           UINT64_C(0x344437267F9E3BC8), UINT64_C(0x1729519C6B55B3C3)}},
3267         {{UINT64_C(0xEA5A68C050A597D6), UINT64_C(0xA65147D4F1E86D1B),
3268           UINT64_C(0x554FA36B8B47CDEB), UINT64_C(0x7F38364B9F24FFED)},
3269          {UINT64_C(0x657C7E051D2A8E2B), UINT64_C(0x8270F1A7E3F64D62),
3270           UINT64_C(0xFD258B59953AF5A2), UINT64_C(0x6DE0114143510AA3)}},
3271     },
3272     {
3273         {{UINT64_C(0x483904280D7A5CBE), UINT64_C(0xD37E8C1FDE441E5E),
3274           UINT64_C(0x908C88B80DE31C8C), UINT64_C(0x7C0E24BB0ACD87CE)},
3275          {UINT64_C(0x4A78117725ECCCE8), UINT64_C(0xC06C2F7ACBDA746F),
3276           UINT64_C(0xDB9E9A08AB565DD4), UINT64_C(0x1E9B44C0BE776F5B)}},
3277         {{UINT64_C(0x7CFD4E5085B54ABC), UINT64_C(0x41A4A4DCE7A44F8B),
3278           UINT64_C(0x751C5052A4422576), UINT64_C(0x534FE0B2D56B6CB1)},
3279          {UINT64_C(0x22DAA5CDD5D767D0), UINT64_C(0x9C1999AB0AF8E22C),
3280           UINT64_C(0xC70C093299259068), UINT64_C(0x459D212EFD0839F0)}},
3281         {{UINT64_C(0xA207E7DEFD32D79B), UINT64_C(0xA7B54991410B479F),
3282           UINT64_C(0x806912B6D68E5CDC), UINT64_C(0x1CB7B68C92AB8B64)},
3283          {UINT64_C(0x3DB85378DF98339F), UINT64_C(0xA24101DC83EA7A18),
3284           UINT64_C(0x8892367CE25522C5), UINT64_C(0x491A8BB37753A2C3)}},
3285         {{UINT64_C(0x571C547E8C7875A7), UINT64_C(0x7E5F23E4E9747C13),
3286           UINT64_C(0x00F3BBB21058548D), UINT64_C(0x7081F172E2397102)},
3287          {UINT64_C(0xB4351B8A6B573034), UINT64_C(0xB35A4F44C1A094F0),
3288           UINT64_C(0xE2C1DAEDAE951E96), UINT64_C(0x5CF2A742B9DAA081)}},
3289         {{UINT64_C(0xB4F0D3F09828ED9F), UINT64_C(0x6DB312FBA9251386),
3290           UINT64_C(0xC9A4583F537203F2), UINT64_C(0x5E0996399CE76D40)},
3291          {UINT64_C(0x3381B894C9F8CEA8), UINT64_C(0x8242DAF8626E07E8),
3292           UINT64_C(0x64A0B68C6077DFD9), UINT64_C(0x3CC462C0563CF051)}},
3293         {{UINT64_C(0x8937364C87AF4A45), UINT64_C(0x8C4ACBFA2DE0FD60),
3294           UINT64_C(0xF10AED11472A5D8A), UINT64_C(0x3F5674B55380C2E6)},
3295          {UINT64_C(0x8F4FD0F52BF8A452), UINT64_C(0xB436E388C7390418),
3296           UINT64_C(0xAFAB7B7CE6EE9406), UINT64_C(0x4F623177951739BA)}},
3297         {{UINT64_C(0x90B0ED35A9B50F2A), UINT64_C(0x46DC3F91AC6CF217),
3298           UINT64_C(0x2F1420312C7B119C), UINT64_C(0x55A93CBC07D79225)},
3299          {UINT64_C(0x45E0DD7DB304A642), UINT64_C(0xB743DFCDD572D446),
3300           UINT64_C(0x867B02EBAC74B368), UINT64_C(0x67B2B86C169B94B0)}},
3301         {{UINT64_C(0x18396DA7483CFEDB), UINT64_C(0x6C6E03708A3A07C2),
3302           UINT64_C(0xF32A1AFEAB554998), UINT64_C(0x408C911987D1C136)},
3303          {UINT64_C(0x755F63254BBE0B78), UINT64_C(0xDC4A7319D1178550),
3304           UINT64_C(0x44B49813B3B9E459), UINT64_C(0x0294B9A94C3D3620)}},
3305         {{UINT64_C(0x6480F6FE067FA6FF), UINT64_C(0x67891400F307A52E),
3306           UINT64_C(0x9F846EF87F865DA8), UINT64_C(0x318DAC55AE02F671)},
3307          {UINT64_C(0x91119652E288A317), UINT64_C(0x4D7CF2B8038C61B8),
3308           UINT64_C(0x098F80DD5154C1A8), UINT64_C(0x10C04F87D239A2D4)}},
3309         {{UINT64_C(0x134609265CA6F183), UINT64_C(0x5E97AD18D52001ED),
3310           UINT64_C(0x7DCD2477E14843DF), UINT64_C(0x27DAB27698A30426)},
3311          {UINT64_C(0x7939CAE3E120D80C), UINT64_C(0xC9F4646651E5B81A),
3312           UINT64_C(0xED620322E2E49D52), UINT64_C(0x3C0F5A2EFA172BBB)}},
3313         {{UINT64_C(0xBFFE87425DB1196B), UINT64_C(0xCD45F8ED49B7214E),
3314           UINT64_C(0x923ABA47C35F5C33), UINT64_C(0x16ED1F1083F3EE48)},
3315          {UINT64_C(0x042E6DF099274930), UINT64_C(0xE8AE1DCFC5F8EA16),
3316           UINT64_C(0x004462CBF02EA2B2), UINT64_C(0x427F9381D284B04E)}},
3317         {{UINT64_C(0x4CD481F875EFACC5), UINT64_C(0xD98C3FD421C83368),
3318           UINT64_C(0x4335E7C83894CE88), UINT64_C(0x18321F87955A298C)},
3319          {UINT64_C(0x073DD00AD1716E18), UINT64_C(0x66D82A5FFE0BFE61),
3320           UINT64_C(0x7D869E202310C532), UINT64_C(0x29A376FB19BF4704)}},
3321         {{UINT64_C(0xA1B12B35C149B5B0), UINT64_C(0x3411B2311E828959),
3322           UINT64_C(0x56417519560D99FB), UINT64_C(0x4E0EB143EBB52124)},
3323          {UINT64_C(0x7B594B5E6AEF3801), UINT64_C(0x00AEE12E9ECB536E),
3324           UINT64_C(0x6BF0FB2956E23145), UINT64_C(0x2B2D83B961AE8E98)}},
3325         {{UINT64_C(0x9CB3E2E86AC27F2D), UINT64_C(0x82BACA965A6280AA),
3326           UINT64_C(0xCBC6C01B2C6B7C8F), UINT64_C(0x390511BCD0C01ABD)},
3327          {UINT64_C(0xB322D97249551C0D), UINT64_C(0x7905E82E7B6489C8),
3328           UINT64_C(0x4DD0CE8B40EEC20D), UINT64_C(0x5C0B3EE72409298A)}},
3329         {{UINT64_C(0x4418D685B635FB99), UINT64_C(0x652EA6083ACE8B39),
3330           UINT64_C(0xE586FBDC46FC4047), UINT64_C(0x3C832D34D8CC13D8)},
3331          {UINT64_C(0x14CC9F23F7AA54A1), UINT64_C(0x80D094E607153B9F),
3332           UINT64_C(0x0776E5406A2EED8E), UINT64_C(0x03CC3BFC77249085)}},
3333         {{UINT64_C(0x5F8F281F1308C1A8), UINT64_C(0x31C8E737D1AFC4B7),
3334           UINT64_C(0x6778529841AE8EF2), UINT64_C(0x17716086FD028A4B)},
3335          {UINT64_C(0x1A2083E0F922E100), UINT64_C(0xD67EC9D1D53FE691),
3336           UINT64_C(0x2DF8B6EDECCA8DEB), UINT64_C(0x3B595EE4BCCC999E)}},
3337     },
3338     {
3339         {{UINT64_C(0x11F03F895A4B8C04), UINT64_C(0x254C36487DAE8E6B),
3340           UINT64_C(0xAB6EAAF1637CDB83), UINT64_C(0x41F52243FDDED8F6)},
3341          {UINT64_C(0x487078E1BBDF3270), UINT64_C(0x98853B49339CEA28),
3342           UINT64_C(0x8AF0522BAB3EDE57), UINT64_C(0x734D711F85EB4CC0)}},
3343         {{UINT64_C(0xFD1F46ADF86BA644), UINT64_C(0xA5332B97A3299855),
3344           UINT64_C(0x61BE90DBD9493634), UINT64_C(0x308F09B1C2705911)},
3345          {UINT64_C(0xD59F1B1A0B7918A5), UINT64_C(0x9CF333D0CF6399E6),
3346           UINT64_C(0xD09C63CDFBB26B6B), UINT64_C(0x76C27913A6536647)}},
3347         {{UINT64_C(0x3DF1811FAAAB555C), UINT64_C(0x60853351886C828B),
3348           UINT64_C(0xF6CA7707F1E87F41), UINT64_C(0x5B4F6EDF7D7082E6)},
3349          {UINT64_C(0xADE518E03F672DE7), UINT64_C(0x00ED0B84022541B2),
3350           UINT64_C(0x04FE5DD6618E8969), UINT64_C(0x2F5F5C65DB9CCA4D)}},
3351         {{UINT64_C(0x00B69B4596BDAE2C), UINT64_C(0x06DB22CF770604C4),
3352           UINT64_C(0xC2EB7F8F856585C3), UINT64_C(0x6E3225390413C614)},
3353          {UINT64_C(0x22C09EA870A46872), UINT64_C(0x143E73BC1FF23734),
3354           UINT64_C(0xCAC5E2DD575C20B4), UINT64_C(0x225E53903FEBE787)}},
3355         {{UINT64_C(0x594FEA4EBE9C512D), UINT64_C(0x5850709292CB73AE),
3356           UINT64_C(0xFD8EFC7DB0CE2096), UINT64_C(0x3B58C199E031D6AB)},
3357          {UINT64_C(0x55DA1CBD479F23E4), UINT64_C(0x060C6BB5A6DB6137),
3358           UINT64_C(0xD8319CF86864488E), UINT64_C(0x6C15A31B21B02EDA)}},
3359         {{UINT64_C(0x13C483728CA7084D), UINT64_C(0xF7554E59A171ECE5),
3360           UINT64_C(0x7425C5D823A97699), UINT64_C(0x6F2C68DA71E1120E)},
3361          {UINT64_C(0x9591B9B624324B64), UINT64_C(0x2DA33472C02AC704),
3362           UINT64_C(0xC5DE7FC981EE1295), UINT64_C(0x6A646A445D6E93C6)}},
3363         {{UINT64_C(0x48684061A39D6554), UINT64_C(0xB70ABF61C3DF57B6),
3364           UINT64_C(0x9824AFD658B9EEE3), UINT64_C(0x46EBE9D13A14A733)},
3365          {UINT64_C(0x8E70F95DD74F8E94), UINT64_C(0xA9D922A26AFCA4E2),
3366           UINT64_C(0x519A97536988CC16), UINT64_C(0x711DEF16D545AF8A)}},
3367         {{UINT64_C(0x362A5D95811A2BF7), UINT64_C(0x42A84A33566B90CE),
3368           UINT64_C(0x25CBC7607C41EC87), UINT64_C(0x6B77E39CD4B7DBEE)},
3369          {UINT64_C(0xA98B8201833015A4), UINT64_C(0xE412E217C31B26F4),
3370           UINT64_C(0x518BE8F0E0090782), UINT64_C(0x08D9F4B63DB51D4E)}},
3371         {{UINT64_C(0x2C80CE87297D421E), UINT64_C(0x2FD137F8ADBA1498),
3372           UINT64_C(0xA2ED3D472899AA14), UINT64_C(0x2AC924A5FE4F365A)},
3373          {UINT64_C(0xAC0389B7666DC0A0), UINT64_C(0x3CC997398ABF3D9E),
3374           UINT64_C(0x33060DB6DFBFF83A), UINT64_C(0x54EEE2150339C3B8)}},
3375         {{UINT64_C(0x06C3A4F5820F7E4D), UINT64_C(0x86F083E208C3D311),
3376           UINT64_C(0x47E29984FE4B0476), UINT64_C(0x218F52E2CA7DF6CF)},
3377          {UINT64_C(0x59317E26BF2C2084), UINT64_C(0xEA9C865B289A10CF),
3378           UINT64_C(0x7AA1E50B2074FEA3), UINT64_C(0x708A1D8C4B3EFC31)}},
3379         {{UINT64_C(0x34C5C63E864817D7), UINT64_C(0x0F614043D89E995B),
3380           UINT64_C(0x60CE8BCE975E2A03), UINT64_C(0x70916E2978493E0C)},
3381          {UINT64_C(0xBD0748F9216782C6), UINT64_C(0x0051C65AED32FB72),
3382           UINT64_C(0x9DC5F5584DD64705), UINT64_C(0x674F1A63EEC14B50)}},
3383         {{UINT64_C(0x73D6E68EDB633FD1), UINT64_C(0x7B5F8303F52F9537),
3384           UINT64_C(0x980FDDDC88A74CFB), UINT64_C(0x6419C18F47FC32D1)},
3385          {UINT64_C(0x93727B4C870B5D59), UINT64_C(0x4BCE05DECF28021D),
3386           UINT64_C(0x3C059B47AB4F0CE5), UINT64_C(0x77CA7F67B85FFDBB)}},
3387         {{UINT64_C(0xDBEADDCEC525088E), UINT64_C(0x561E12BE390D2221),
3388           UINT64_C(0xCD224FC1D9BA7AF0), UINT64_C(0x03744552394DC073)},
3389          {UINT64_C(0xCFC67B4921BB6B6E), UINT64_C(0xD234FD8D1B5F8E6A),
3390           UINT64_C(0x6DDBC18B40B7F8B0), UINT64_C(0x79F40857DAACCC74)}},
3391         {{UINT64_C(0x30E5F9909DD71B9C), UINT64_C(0x00FCBFA5291124EF),
3392           UINT64_C(0xBE595A2549B8C570), UINT64_C(0x5B4B8141BC094446)},
3393          {UINT64_C(0xB22B4F04469191B6), UINT64_C(0x10845AC8D73C4D38),
3394           UINT64_C(0x39C9F0FBED0C8224), UINT64_C(0x7E009DFBF5813BEE)}},
3395         {{UINT64_C(0xA47C2989A61D09C0), UINT64_C(0x3706F45659E55A9C),
3396           UINT64_C(0x2373976FEA0259B9), UINT64_C(0x13FC0E09077D20CC)},
3397          {UINT64_C(0xBB24DD05E78D29CF), UINT64_C(0xD8757A67822CFA02),
3398           UINT64_C(0x36CA74863C55A4C6), UINT64_C(0x4234E6893EEABBE1)}},
3399         {{UINT64_C(0xA2F54D14B46BDB51), UINT64_C(0x8A530B78675BB770),
3400           UINT64_C(0x617D7E8EDE9F1F8B), UINT64_C(0x799B3E442DCC4712)},
3401          {UINT64_C(0x658A31D8B486FE8C), UINT64_C(0x45BAFC29163D4AF0),
3402           UINT64_C(0x3A2C7F66A5289C8D), UINT64_C(0x4ECC3C7DB91FF3DB)}},
3403     },
3404     {
3405         {{UINT64_C(0x738CF1C7DF4DFD43), UINT64_C(0x72943A2DE987084C),
3406           UINT64_C(0xEA21C05F2491FF24), UINT64_C(0x3D3F4ED7DA050094)},
3407          {UINT64_C(0xF90644E461C4054D), UINT64_C(0x253792143A50E82A),
3408           UINT64_C(0x47EDB006C7DEF970), UINT64_C(0x0F8F031C0F53F307)}},
3409         {{UINT64_C(0x50FEB6D8724976D5), UINT64_C(0x57AA499FF40C7720),
3410           UINT64_C(0x6B80AC540DAAF428), UINT64_C(0x7AC6845E1F6FC276)},
3411          {UINT64_C(0x8EC7FAB117A4B9C5), UINT64_C(0x8336DD62ED0C8F97),
3412           UINT64_C(0x6014A510B7B7104E), UINT64_C(0x4991A03BA2911C30)}},
3413         {{UINT64_C(0x6D353975CBCC9BA3), UINT64_C(0x23E97E28C4564492),
3414           UINT64_C(0xDF432FDAF8AEED3E), UINT64_C(0x11DB40DD6F6B472C)},
3415          {UINT64_C(0x5B87005B95AA0174), UINT64_C(0x1DB4108089D9F1A8),
3416           UINT64_C(0x5A6BC444689DF208), UINT64_C(0x16153F87BF38FF8D)}},
3417         {{UINT64_C(0xD217003FFFD3C814), UINT64_C(0x1ADE64C3FD50AF95),
3418           UINT64_C(0x1936332C9FFB8BEB), UINT64_C(0x6EE322DCD70CD8D8)},
3419          {UINT64_C(0xE40A0419F2A60976), UINT64_C(0xA62F6FA1EF93B05B),
3420           UINT64_C(0x5978206C596575FF), UINT64_C(0x5CDCA200B68BFE5C)}},
3421         {{UINT64_C(0x3FB16AEDB7949E33), UINT64_C(0x3453892840304A1B),
3422           UINT64_C(0x7FA35A343BCA4239), UINT64_C(0x22FD1AEFEE76919E)},
3423          {UINT64_C(0x1F8FE6A40F6A5D50), UINT64_C(0x27CC704F26BBA46B),
3424           UINT64_C(0x230FD0CA3420CC52), UINT64_C(0x3E9E4DA4B3A83D85)}},
3425         {{UINT64_C(0x1D82390E7F5CC75E), UINT64_C(0x7025624549D0A605),
3426           UINT64_C(0x5B8778134FF4BC44), UINT64_C(0x28E6A057B5EC02E4)},
3427          {UINT64_C(0xBC7A10DA2E89FB84), UINT64_C(0x3AF182E520E1EA00),
3428           UINT64_C(0x4B590FFA9C507274), UINT64_C(0x26BA94D6AA7FD65B)}},
3429         {{UINT64_C(0xC02CC77C238CC195), UINT64_C(0x3F175C97A97EE3E4),
3430           UINT64_C(0x8A28FA23DFA1F9DC), UINT64_C(0x35CAC0FF1F968D15)},
3431          {UINT64_C(0x0FC41B3337C7C773), UINT64_C(0x71E06B10BC999443),
3432           UINT64_C(0x073A1ABA2C87B0A4), UINT64_C(0x29F29B129E5E8B70)}},
3433         {{UINT64_C(0xAA25F348E491FE70), UINT64_C(0x9371F94BC1713992),
3434           UINT64_C(0x674B478C4FA08818), UINT64_C(0x6F3C31FEB1407431)},
3435          {UINT64_C(0xBB7D37FBD93DD5E1), UINT64_C(0xE34A40B87E04EE7A),
3436           UINT64_C(0xCF82360DF3C33528), UINT64_C(0x0A3B8FF501477712)}},
3437         {{UINT64_C(0xA45914716B718511), UINT64_C(0x7B0CE8DED2FD6B9B),
3438           UINT64_C(0xC42544FA6845DBEF), UINT64_C(0x456A698563AF476A)},
3439          {UINT64_C(0x5DD611F69CDE4E74), UINT64_C(0x860956832B346AEB),
3440           UINT64_C(0xD15C5DA06E75B3D7), UINT64_C(0x220FFD73C72D5D2C)}},
3441         {{UINT64_C(0x478DA345D2ED888F), UINT64_C(0xA69D4FB9E04CBCC7),
3442           UINT64_C(0xA427150AB3F1179D), UINT64_C(0x1DD3B8C2D5CEA78A)},
3443          {UINT64_C(0x9462EFF0B8628A22), UINT64_C(0xB2FFFF4AB2CB44A5),
3444           UINT64_C(0x8234A3FF24039BA8), UINT64_C(0x01BE7202916DE889)}},
3445         {{UINT64_C(0x510669856DFCEF0B), UINT64_C(0x25729D98DF20CDEE),
3446           UINT64_C(0x872FD39D9693E5EF), UINT64_C(0x72D03AE12D859635)},
3447          {UINT64_C(0x3F28F84EDACAEB82), UINT64_C(0x9EB40FD6CB5284D7),
3448           UINT64_C(0x66C2DCA6C5F54041), UINT64_C(0x4BDBA3821C1F2461)}},
3449         {{UINT64_C(0xE53421970E0ED176), UINT64_C(0xF588547AA225A47F),
3450           UINT64_C(0xC83B54ED1FEB2259), UINT64_C(0x1B03791392F3733D)},
3451          {UINT64_C(0x935C97822271ECFA), UINT64_C(0x5F7E94A653CFE07C),
3452           UINT64_C(0xBFF5B0E61B40CA19), UINT64_C(0x36C7851D459445E1)}},
3453         {{UINT64_C(0xB6547971588C9748), UINT64_C(0xCFD8E81B11970562),
3454           UINT64_C(0x41333C80702FE4FA), UINT64_C(0x2F153C8C962A993B)},
3455          {UINT64_C(0x028BBD6A8BDA48AC), UINT64_C(0x7B076F88FE1DB02A),
3456           UINT64_C(0xC9560400078FB3FC), UINT64_C(0x5DCC0946035907EA)}},
3457         {{UINT64_C(0x93D7CF33A6233F1C), UINT64_C(0x03184BC4DF2A187C),
3458           UINT64_C(0x291149BCE83DAC32), UINT64_C(0x575F4279FAEDF216)},
3459          {UINT64_C(0x101427B4086FC141), UINT64_C(0xC924F2AED288562E),
3460           UINT64_C(0xDB610463EEF5799A), UINT64_C(0x20F187676A09661D)}},
3461         {{UINT64_C(0xE39BB775F59D0C20), UINT64_C(0x18DA90E2723A4EF2),
3462           UINT64_C(0x8E747A7BF56B381B), UINT64_C(0x7EF67224F98F26DC)},
3463          {UINT64_C(0xB1373AF5E1F94B99), UINT64_C(0x1076FBA60C3B6AA8),
3464           UINT64_C(0x7FCD0017A3A7811C), UINT64_C(0x6D1A697346554E7E)}},
3465         {{UINT64_C(0xE5734077B9CED2C2), UINT64_C(0xC94D17F81F770914),
3466           UINT64_C(0x58B47BCB1CD248EB), UINT64_C(0x2E06538C24804B6F)},
3467          {UINT64_C(0x275D933F32E7CA19), UINT64_C(0x1B982B491FC9241E),
3468           UINT64_C(0x8B8A6ED53986B6AC), UINT64_C(0x1756822135B4EA6A)}},
3469     },
3470     {
3471         {{UINT64_C(0x090AD05AE796327F), UINT64_C(0xA78DAE5EAD21DD4B),
3472           UINT64_C(0x8EEC9EDB9C2F8CBE), UINT64_C(0x33E375E0653E0F2D)},
3473          {UINT64_C(0xDA19EFF28D67AC72), UINT64_C(0xBFC7E62B2737AB8C),
3474           UINT64_C(0xBBF8BD1D4CF53C12), UINT64_C(0x5ABFE23F45C6D555)}},
3475         {{UINT64_C(0x32460B330DE39342), UINT64_C(0x3567454AB8977067),
3476           UINT64_C(0x10A1E47DF954592C), UINT64_C(0x4DE8C6EF4DD019C4)},
3477          {UINT64_C(0x1F1D296B1BDAAAFA), UINT64_C(0x4E6B8E8F3A75AD99),
3478           UINT64_C(0x259015E1A27FE061), UINT64_C(0x6B6A48209F320632)}},
3479         {{UINT64_C(0x8AA089AFA0B5E605), UINT64_C(0x1D6C1EEE1B4058FD),
3480           UINT64_C(0x1D920534B4E89BEF), UINT64_C(0x722A3A3516163340)},
3481          {UINT64_C(0xA3B9178CF33B49B2), UINT64_C(0xFF8FE9BB65558E90),
3482           UINT64_C(0x94766BC09794EFAE), UINT64_C(0x79A1EFA2FDFAEB42)}},
3483         {{UINT64_C(0x2FE44B97BCB6D558), UINT64_C(0xB4F4F402DB8B0A79),
3484           UINT64_C(0xF53D8AB1247C32E5), UINT64_C(0x3B883CE54DA4C009)},
3485          {UINT64_C(0xB46168BD2EC9F1C6), UINT64_C(0xD40BDE7B6B8FE01A),
3486           UINT64_C(0x60A5C168CDFE509F), UINT64_C(0x3314D87823BE249E)}},
3487         {{UINT64_C(0x02511A854D9F5769), UINT64_C(0x8398F9BDB49D6A8E),
3488           UINT64_C(0xE8D773F35D2D7135), UINT64_C(0x09B3B8AB9DECC331)},
3489          {UINT64_C(0x8D2B269B584C11D9), UINT64_C(0xF76619446B6B86A9),
3490           UINT64_C(0x719A3620C7659AF7), UINT64_C(0x3CFC8DF037C27DBE)}},
3491         {{UINT64_C(0x5EE0BE061145B14B), UINT64_C(0xAC6950E423193ED6),
3492           UINT64_C(0x7291C44CDF244C7F), UINT64_C(0x4650C16243D744EA)},
3493          {UINT64_C(0x60B92D3F34A084D8), UINT64_C(0xBBD44A0E376E5414),
3494           UINT64_C(0x5C0E488A0980F36C), UINT64_C(0x4E53FCCAD7991A09)}},
3495         {{UINT64_C(0x7A2ADBCF367B55C2), UINT64_C(0x96A88B751FED467E),
3496           UINT64_C(0x8E75E37EFB263845), UINT64_C(0x4C2E47B8EB508DD0)},
3497          {UINT64_C(0x20BF51DEB19FCD14), UINT64_C(0xD907174914CB67D0),
3498           UINT64_C(0xEC90714B29EBDA7C), UINT64_C(0x4ACADAA6634C0F2E)}},
3499         {{UINT64_C(0xA516B9B8EC715EC9), UINT64_C(0xC7DCA26342B8A87B),
3500           UINT64_C(0x2CE450C9DA27B456), UINT64_C(0x3C97481200A8819F)},
3501          {UINT64_C(0xF4822C23ECDED574), UINT64_C(0xFA737FAD19FA48D4),
3502           UINT64_C(0xE34B2F2A45D718E0), UINT64_C(0x1D6F19FEBEA7B540)}},
3503         {{UINT64_C(0xADC8FCE798E24789), UINT64_C(0xFE2F890C45869609),
3504           UINT64_C(0x6466E03C78A35C19), UINT64_C(0x24C70FEDC1F34AA9)},
3505          {UINT64_C(0x89530F7557747DD1), UINT64_C(0x343DE05B2B8CDE2D),
3506           UINT64_C(0xC33134E335CC8D5A), UINT64_C(0x3CCEFC38AC9B4F2B)}},
3507         {{UINT64_C(0x84C904B8EF923364), UINT64_C(0x46E1FECFBDDD31D8),
3508           UINT64_C(0xA8126DD6FAE79B6B), UINT64_C(0x4A53C034FBF05C9A)},
3509          {UINT64_C(0x44CA3ACBBE8F255F), UINT64_C(0x6F0FD374EC319885),
3510           UINT64_C(0xADBCB4AAF1836DC2), UINT64_C(0x6CC3A59665187EE9)}},
3511         {{UINT64_C(0x941E7821B397B5E7), UINT64_C(0xD3457371FEE2A9D5),
3512           UINT64_C(0x9F69BE4466382F60), UINT64_C(0x6DCEAD04A1F49E9B)},
3513          {UINT64_C(0xDC6BC23B3BF21647), UINT64_C(0x1500FD7FB5271BE9),
3514           UINT64_C(0x9B0994DDF23FDF3D), UINT64_C(0x38A2ECEB45065CF7)}},
3515         {{UINT64_C(0x2667CEFE0DCA8BF4), UINT64_C(0x8227ACB3E46EB469),
3516           UINT64_C(0x4C20677DA75C5B8B), UINT64_C(0x224FC5B4B36ACDFE)},
3517          {UINT64_C(0xA0007E147A6A01D3), UINT64_C(0x15C79558F8A64EED),
3518           UINT64_C(0xFB58A76A93DEDC09), UINT64_C(0x2057DDDC26F10A98)}},
3519         {{UINT64_C(0x1FF658AEBDB27AE4), UINT64_C(0x7F30DF57DDD96647),
3520           UINT64_C(0x63490B8DC7294313), UINT64_C(0x0EAEC5735435869E)},
3521          {UINT64_C(0x85F05C49DF115B78), UINT64_C(0x95739C0C62992F5D),
3522           UINT64_C(0x72F143192B573963), UINT64_C(0x05600E6486328FF4)}},
3523         {{UINT64_C(0x9BE7331FEAB0F425), UINT64_C(0x2E4CF5AA74447C20),
3524           UINT64_C(0x9B26F51266243D2A), UINT64_C(0x77C9672284AB5627)},
3525          {UINT64_C(0xEC545427601673B4), UINT64_C(0xEF6A34FB2F127AF7),
3526           UINT64_C(0x519559C1E2DFD269), UINT64_C(0x34D7D7548258E37A)}},
3527         {{UINT64_C(0xC113747B5E8B5281), UINT64_C(0x0C085456E04D779B),
3528           UINT64_C(0x3E3260521CCBCFC6), UINT64_C(0x5C954CC12A37D19F)},
3529          {UINT64_C(0xB1A4A5B39124435B), UINT64_C(0x5E8B8D4118ED98E7),
3530           UINT64_C(0xC973D969144A3793), UINT64_C(0x0CB98CC888DD8B49)}},
3531         {{UINT64_C(0x0E0233B2B48D04DF), UINT64_C(0x1B3916E07BEAA4A5),
3532           UINT64_C(0xA24A4BE4B672BE8C), UINT64_C(0x7A61506D845AB94D)},
3533          {UINT64_C(0x160DFA0FE7F4CA3B), UINT64_C(0xA9562C89D84C1148),
3534           UINT64_C(0x52979B9592A276EB), UINT64_C(0x17869B53924E86E9)}},
3535     },
3536     {
3537         {{UINT64_C(0x5D39F4781A86D0D8), UINT64_C(0xDE5932DAFB8BC8A9),
3538           UINT64_C(0xD706C6D72F5B4B70), UINT64_C(0x53F450FC8A36AFC2)},
3539          {UINT64_C(0xE1DC35401E550B3B), UINT64_C(0x475507DC8B7EB6D2),
3540           UINT64_C(0xF803F78ADFA2E5F7), UINT64_C(0x40B5F263C48097FF)}},
3541         {{UINT64_C(0x336FB00E226CDB1F), UINT64_C(0xDDC1BB0288215C40),
3542           UINT64_C(0x6C4DD40E73C07FD0), UINT64_C(0x4D0D2E498F7D15E7)},
3543          {UINT64_C(0xAF96E9B3D2061402), UINT64_C(0x15A3084A1372FCF8),
3544           UINT64_C(0x91B571E6307B02D6), UINT64_C(0x2239592F53AE7705)}},
3545         {{UINT64_C(0x7D8615A1C20B6645), UINT64_C(0xF4875767C7C4465B),
3546           UINT64_C(0xF6D3E718861702AB), UINT64_C(0x7F014A53131F726A)},
3547          {UINT64_C(0x30809F8FDAAB77CA), UINT64_C(0x7CE8DC6128F944D3),
3548           UINT64_C(0xF915111D9AEEF6A1), UINT64_C(0x246D7CC8206902FD)}},
3549         {{UINT64_C(0x7677488BEF806225), UINT64_C(0x994C8104F4C75EAE),
3550           UINT64_C(0x17586D4E4E0C8988), UINT64_C(0x70E5258090E33A2A)},
3551          {UINT64_C(0xB993F26A022D2FED), UINT64_C(0x955C130D689FBFBD),
3552           UINT64_C(0x0D3D1C63A3612E8E), UINT64_C(0x423D73E1B91A8DE6)}},
3553         {{UINT64_C(0x7274BE083027164F), UINT64_C(0xDE907B4942FDB769),
3554           UINT64_C(0x61D74449B697060D), UINT64_C(0x18A5FDC226602CC9)},
3555          {UINT64_C(0xB08DC02B049CAF4A), UINT64_C(0xC84AF48578DBA1F1),
3556           UINT64_C(0x0A5B35197178E4DF), UINT64_C(0x6EC7A7A55B26D0FE)}},
3557         {{UINT64_C(0xDEF1782F88554F05), UINT64_C(0xB73E7333D8D6DF47),
3558           UINT64_C(0x1DDF902290E9C67A), UINT64_C(0x5D217B51D56181AC)},
3559          {UINT64_C(0x7A338C7BE27F90EE), UINT64_C(0xB97CCD2A0D84A177),
3560           UINT64_C(0x3E1016017C5E3FA9), UINT64_C(0x2706E77C30FF0918)}},
3561         {{UINT64_C(0x1BD1274F72A7CB9F), UINT64_C(0x8B60357A0622DB90),
3562           UINT64_C(0x0140E14A2151BB23), UINT64_C(0x358D7DDAE9A30C4C)},
3563          {UINT64_C(0x3B15306089BFB2C6), UINT64_C(0x47462C79B6757C69),
3564           UINT64_C(0x2B22239DB43EF986), UINT64_C(0x6793671F0B774DE3)}},
3565         {{UINT64_C(0x99EDB02EF6F8EDC6), UINT64_C(0x24432760C4257DD9),
3566           UINT64_C(0x4FDD73010336EED2), UINT64_C(0x44879709F6C6506B)},
3567          {UINT64_C(0x107C7DE213F18D89), UINT64_C(0x71C71DFBA5701FBD),
3568           UINT64_C(0x97017E24C7DE3E0B), UINT64_C(0x0F8D7E09FC9EDDC2)}},
3569         {{UINT64_C(0x7A0BB3B13897E01D), UINT64_C(0x7FD4F504C5892BDE),
3570           UINT64_C(0x2EA9AA77AB752928), UINT64_C(0x19A82F559078B466)},
3571          {UINT64_C(0xEF2842C555A0F0D9), UINT64_C(0x5501EEE915B6F2B4),
3572           UINT64_C(0x9665EA6F942AA4B4), UINT64_C(0x015F41F40E707C32)}},
3573         {{UINT64_C(0x1B4D6A919C6B6FD6), UINT64_C(0xCFD2CEE968217AFC),
3574           UINT64_C(0xC5076256BBC9284D), UINT64_C(0x4C7F4EEFAC36547B)},
3575          {UINT64_C(0xAB1AAD2C65EE1907), UINT64_C(0xBCFE8C77BAC25425),
3576           UINT64_C(0x38BA0F85C9048A35), UINT64_C(0x300E6AC460A035F6)}},
3577         {{UINT64_C(0xA8EDBC5E34707CC6), UINT64_C(0x3DA6BC5156ADFC16),
3578           UINT64_C(0x5C7CB5E1CA8B6F3F), UINT64_C(0x76E4A0282D612DFA)},
3579          {UINT64_C(0x75AB66FD64F49D39), UINT64_C(0x5AF9879DC387A739),
3580           UINT64_C(0x839648083E9EDBCF), UINT64_C(0x555D8BBD7F4C4FFE)}},
3581         {{UINT64_C(0xAAE8A2FE3C5590B0), UINT64_C(0x461C6CCC8AB34213),
3582           UINT64_C(0xB2F3E8229E719B77), UINT64_C(0x25B8FCA8663188BB)},
3583          {UINT64_C(0xAA7A047B72548131), UINT64_C(0x0878FFEE189FA6F0),
3584           UINT64_C(0x9E7FB402CE3E17C3), UINT64_C(0x6F260D9344418277)}},
3585         {{UINT64_C(0x0EF1C290B703B647), UINT64_C(0x995009FA651673E4),
3586           UINT64_C(0x661F76D7BE46362D), UINT64_C(0x74B00FD123E56E7A)},
3587          {UINT64_C(0x9557D0ABA1A50E4B), UINT64_C(0xC5A1CF95587688CE),
3588           UINT64_C(0x2A14D1B27AE08ECA), UINT64_C(0x2DA8816C3C23D507)}},
3589         {{UINT64_C(0x51CB405FB9934883), UINT64_C(0xC99A67D401A6864B),
3590           UINT64_C(0xCCF622336CDFFFC3), UINT64_C(0x2938F9F998FE0B79)},
3591          {UINT64_C(0x7766691139A5AA28), UINT64_C(0xDF56CBB52427BFC0),
3592           UINT64_C(0xA39BE968189EB66D), UINT64_C(0x71E6E105A64FD2AB)}},
3593         {{UINT64_C(0xA0C6F79560F9D20B), UINT64_C(0xE06DC8BB765670CC),
3594           UINT64_C(0x9FA1DD58A67275E0), UINT64_C(0x0F7F670DE2D23BBB)},
3595          {UINT64_C(0xF8F07CF333FB15EA), UINT64_C(0x1D09B592723A0271),
3596           UINT64_C(0xF14029234E6FCAAB), UINT64_C(0x05BE1273AE301940)}},
3597         {{UINT64_C(0x2D83906C114AFD1E), UINT64_C(0x091474FDC88E5761),
3598           UINT64_C(0xAFF18EEBEF9E4F9B), UINT64_C(0x136ECAE5F4E646ED)},
3599          {UINT64_C(0xEF4526D0EB01808F), UINT64_C(0x3923EBBA940C0AEC),
3600           UINT64_C(0xAB34160CA437F460), UINT64_C(0x7A46966E421AD57C)}},
3601     }};
3602
3603 /*-
3604  * Q := 2P, both projective, Q and P same pointers OK
3605  * Autogenerated: op3/dbl_proj_any.op3
3606  * https://eprint.iacr.org/2015/1060 Alg 3
3607  */
3608 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
3609     /* temporary variables */
3610     fe_t t0, t1, t2, t3, t4;
3611     /* constants */
3612     const limb_t *b3 = const_b3;
3613     const limb_t *a = const_a;
3614     /* set pointers for legacy curve arith */
3615     const limb_t *X = P->X;
3616     const limb_t *Y = P->Y;
3617     const limb_t *Z = P->Z;
3618     limb_t *X3 = Q->X;
3619     limb_t *Y3 = Q->Y;
3620     limb_t *Z3 = Q->Z;
3621
3622     /* the curve arith formula */
3623     fiat_id_GostR3410_2001_TestParamSet_square(t0, X);
3624     fiat_id_GostR3410_2001_TestParamSet_square(t1, Y);
3625     fiat_id_GostR3410_2001_TestParamSet_square(t2, Z);
3626     fiat_id_GostR3410_2001_TestParamSet_mul(t3, X, Y);
3627     fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, t3);
3628     fiat_id_GostR3410_2001_TestParamSet_mul(t4, Y, Z);
3629     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, X, Z);
3630     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
3631     fiat_id_GostR3410_2001_TestParamSet_mul(X3, a, Z3);
3632     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, b3, t2);
3633     fiat_id_GostR3410_2001_TestParamSet_add(Y3, X3, Y3);
3634     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Y3);
3635     fiat_id_GostR3410_2001_TestParamSet_add(Y3, t1, Y3);
3636     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Y3);
3637     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
3638     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, b3, Z3);
3639     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
3640     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t0, t2);
3641     fiat_id_GostR3410_2001_TestParamSet_mul(t3, a, t3);
3642     fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, Z3);
3643     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t0, t0);
3644     fiat_id_GostR3410_2001_TestParamSet_add(t0, Z3, t0);
3645     fiat_id_GostR3410_2001_TestParamSet_add(t0, t0, t2);
3646     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t0, t3);
3647     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
3648     fiat_id_GostR3410_2001_TestParamSet_add(t2, t4, t4);
3649     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t2, t3);
3650     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
3651     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t2, t1);
3652     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
3653     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
3654 }
3655
3656 /*-
3657  * R := Q + P where R and Q are projective, P affine.
3658  * R and Q same pointers OK
3659  * R and P same pointers not OK
3660  * Autogenerated: op3/add_mixed_any.op3
3661  * https://eprint.iacr.org/2015/1060 Alg 2
3662  */
3663 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
3664     /* temporary variables */
3665     fe_t t0, t1, t2, t3, t4, t5;
3666     /* constants */
3667     const limb_t *b3 = const_b3;
3668     const limb_t *a = const_a;
3669     /* set pointers for legacy curve arith */
3670     const limb_t *X1 = Q->X;
3671     const limb_t *Y1 = Q->Y;
3672     const limb_t *Z1 = Q->Z;
3673     const limb_t *X2 = P->X;
3674     const limb_t *Y2 = P->Y;
3675     fe_t X3;
3676     fe_t Y3;
3677     fe_t Z3;
3678     limb_t nz;
3679
3680     /* check P for affine inf */
3681     fiat_id_GostR3410_2001_TestParamSet_nonzero(&nz, P->Y);
3682
3683     /* the curve arith formula */
3684     fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
3685     fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
3686     fiat_id_GostR3410_2001_TestParamSet_add(t3, X2, Y2);
3687     fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Y1);
3688     fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
3689     fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
3690     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
3691     fiat_id_GostR3410_2001_TestParamSet_mul(t4, X2, Z1);
3692     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, X1);
3693     fiat_id_GostR3410_2001_TestParamSet_mul(t5, Y2, Z1);
3694     fiat_id_GostR3410_2001_TestParamSet_add(t5, t5, Y1);
3695     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
3696     fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, Z1);
3697     fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
3698     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
3699     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
3700     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
3701     fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
3702     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
3703     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, Z1);
3704     fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
3705     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
3706     fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
3707     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
3708     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
3709     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
3710     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
3711     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
3712     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
3713     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
3714     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
3715     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
3716     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
3717
3718     /* if P is inf, throw all that away and take Q */
3719     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->X, nz, Q->X, X3);
3720     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Y, nz, Q->Y, Y3);
3721     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Z, nz, Q->Z, Z3);
3722 }
3723
3724 /*-
3725  * R := Q + P all projective.
3726  * R and Q same pointers OK
3727  * R and P same pointers not OK
3728  * Autogenerated: op3/add_proj_any.op3
3729  * https://eprint.iacr.org/2015/1060 Alg 1
3730  */
3731 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
3732     /* temporary variables */
3733     fe_t t0, t1, t2, t3, t4, t5;
3734     /* constants */
3735     const limb_t *b3 = const_b3;
3736     const limb_t *a = const_a;
3737     /* set pointers for legacy curve arith */
3738     const limb_t *X1 = Q->X;
3739     const limb_t *Y1 = Q->Y;
3740     const limb_t *Z1 = Q->Z;
3741     const limb_t *X2 = P->X;
3742     const limb_t *Y2 = P->Y;
3743     const limb_t *Z2 = P->Z;
3744     limb_t *X3 = R->X;
3745     limb_t *Y3 = R->Y;
3746     limb_t *Z3 = R->Z;
3747
3748     /* the curve arith formula */
3749     fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
3750     fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
3751     fiat_id_GostR3410_2001_TestParamSet_mul(t2, Z1, Z2);
3752     fiat_id_GostR3410_2001_TestParamSet_add(t3, X1, Y1);
3753     fiat_id_GostR3410_2001_TestParamSet_add(t4, X2, Y2);
3754     fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
3755     fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
3756     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
3757     fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Z1);
3758     fiat_id_GostR3410_2001_TestParamSet_add(t5, X2, Z2);
3759     fiat_id_GostR3410_2001_TestParamSet_mul(t4, t4, t5);
3760     fiat_id_GostR3410_2001_TestParamSet_add(t5, t0, t2);
3761     fiat_id_GostR3410_2001_TestParamSet_sub(t4, t4, t5);
3762     fiat_id_GostR3410_2001_TestParamSet_add(t5, Y1, Z1);
3763     fiat_id_GostR3410_2001_TestParamSet_add(X3, Y2, Z2);
3764     fiat_id_GostR3410_2001_TestParamSet_mul(t5, t5, X3);
3765     fiat_id_GostR3410_2001_TestParamSet_add(X3, t1, t2);
3766     fiat_id_GostR3410_2001_TestParamSet_sub(t5, t5, X3);
3767     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
3768     fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, t2);
3769     fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
3770     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
3771     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
3772     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
3773     fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
3774     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
3775     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
3776     fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
3777     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
3778     fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
3779     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
3780     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
3781     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
3782     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
3783     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
3784     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
3785     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
3786     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
3787     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
3788     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
3789 }
3790
3791 /* constants */
3792 #define RADIX 5
3793 #define DRADIX (1 << RADIX)
3794 #define DRADIX_WNAF ((DRADIX) << 1)
3795
3796 /*-
3797  * precomp for wnaf scalar multiplication:
3798  * precomp[0] = 1P
3799  * precomp[1] = 3P
3800  * precomp[2] = 5P
3801  * precomp[3] = 7P
3802  * precomp[4] = 9P
3803  * ...
3804  */
3805 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
3806     int i;
3807
3808     fe_copy(precomp[0].X, P->X);
3809     fe_copy(precomp[0].Y, P->Y);
3810     fe_copy(precomp[0].Z, const_one);
3811     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
3812
3813     for (i = 1; i < DRADIX / 2; i++)
3814         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
3815 }
3816
3817 /* fetch a scalar bit */
3818 static int scalar_get_bit(const unsigned char in[32], int idx) {
3819     int widx, rshift;
3820
3821     widx = idx >> 3;
3822     rshift = idx & 0x7;
3823
3824     if (idx < 0 || widx >= 32) return 0;
3825
3826     return (in[widx] >> rshift) & 0x1;
3827 }
3828
3829 /*-
3830  * Compute "regular" wnaf representation of a scalar.
3831  * See "Exponent Recoding and Regular Exponentiation Algorithms",
3832  * Tunstall et al., AfricaCrypt 2009, Alg 6.
3833  * It forces an odd scalar and outputs digits in
3834  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
3835  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
3836  */
3837 static void scalar_rwnaf(char out[52], const unsigned char in[32]) {
3838     int i;
3839     char window, d;
3840
3841     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
3842     for (i = 0; i < 51; i++) {
3843         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
3844         out[i] = d;
3845         window = (window - d) >> RADIX;
3846         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
3847         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
3848         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
3849         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
3850         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
3851     }
3852     out[i] = window;
3853 }
3854
3855 /*-
3856  * Compute "textbook" wnaf representation of a scalar.
3857  * NB: not constant time
3858  */
3859 static void scalar_wnaf(char out[257], const unsigned char in[32]) {
3860     int i;
3861     char window, d;
3862
3863     window = in[0] & (DRADIX_WNAF - 1);
3864     for (i = 0; i < 257; i++) {
3865         d = 0;
3866         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
3867             d -= DRADIX_WNAF;
3868         out[i] = d;
3869         window = (window - d) >> 1;
3870         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
3871     }
3872 }
3873
3874 /*-
3875  * Simulateous scalar multiplication: interleaved "textbook" wnaf.
3876  * NB: not constant time
3877  */
3878 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
3879                               const unsigned char b[32], const pt_aff_t *P) {
3880     int i, d, is_neg, is_inf = 1, flipped = 0;
3881     char anaf[257] = {0};
3882     char bnaf[257] = {0};
3883     pt_prj_t Q;
3884     pt_prj_t precomp[DRADIX / 2];
3885
3886     precomp_wnaf(precomp, P);
3887     scalar_wnaf(anaf, a);
3888     scalar_wnaf(bnaf, b);
3889
3890     for (i = 256; i >= 0; i--) {
3891         if (!is_inf) point_double(&Q, &Q);
3892         if ((d = bnaf[i])) {
3893             if ((is_neg = d < 0) != flipped) {
3894                 fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
3895                 flipped ^= 1;
3896             }
3897             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
3898             if (is_inf) {
3899                 /* initialize accumulator */
3900                 fe_copy(Q.X, &precomp[d].X);
3901                 fe_copy(Q.Y, &precomp[d].Y);
3902                 fe_copy(Q.Z, &precomp[d].Z);
3903                 is_inf = 0;
3904             } else
3905                 point_add_proj(&Q, &Q, &precomp[d]);
3906         }
3907         if ((d = anaf[i])) {
3908             if ((is_neg = d < 0) != flipped) {
3909                 fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
3910                 flipped ^= 1;
3911             }
3912             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
3913             if (is_inf) {
3914                 /* initialize accumulator */
3915                 fe_copy(Q.X, &lut_cmb[0][d].X);
3916                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
3917                 fe_copy(Q.Z, const_one);
3918                 is_inf = 0;
3919             } else
3920                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
3921         }
3922     }
3923
3924     if (is_inf) {
3925         /* initialize accumulator to inf: all-zero scalars */
3926         fe_set_zero(Q.X);
3927         fe_copy(Q.Y, const_one);
3928         fe_set_zero(Q.Z);
3929     }
3930
3931     if (flipped) {
3932         /* correct sign */
3933         fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
3934     }
3935
3936     /* convert to affine -- NB depends on coordinate system */
3937     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
3938     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
3939     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
3940 }
3941
3942 /*-
3943  * Variable point scalar multiplication with "regular" wnaf.
3944  */
3945 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
3946                            const pt_aff_t *P) {
3947     int i, j, d, diff, is_neg;
3948     char rnaf[52] = {0};
3949     pt_prj_t Q, lut;
3950     pt_prj_t precomp[DRADIX / 2];
3951
3952     precomp_wnaf(precomp, P);
3953     scalar_rwnaf(rnaf, scalar);
3954
3955 #if defined(_MSC_VER)
3956     /* result still unsigned: yes we know */
3957 #pragma warning(push)
3958 #pragma warning(disable : 4146)
3959 #endif
3960
3961     /* initialize accumulator to high digit */
3962     d = (rnaf[51] - 1) >> 1;
3963     for (j = 0; j < DRADIX / 2; j++) {
3964         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
3965         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, diff, Q.X,
3966                                                       precomp[j].X);
3967         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, diff, Q.Y,
3968                                                       precomp[j].Y);
3969         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, diff, Q.Z,
3970                                                       precomp[j].Z);
3971     }
3972
3973     for (i = 50; i >= 0; i--) {
3974         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
3975         d = rnaf[i];
3976         /* is_neg = (d < 0) ? 1 : 0 */
3977         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
3978         /* d = abs(d) */
3979         d = (d ^ -is_neg) + is_neg;
3980         d = (d - 1) >> 1;
3981         for (j = 0; j < DRADIX / 2; j++) {
3982             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
3983             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.X, diff, lut.X,
3984                                                           precomp[j].X);
3985             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, diff, lut.Y,
3986                                                           precomp[j].Y);
3987             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Z, diff, lut.Z,
3988                                                           precomp[j].Z);
3989         }
3990         /* negate lut point if digit is negative */
3991         fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
3992         fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
3993                                                       out->Y);
3994         point_add_proj(&Q, &Q, &lut);
3995     }
3996
3997 #if defined(_MSC_VER)
3998 #pragma warning(pop)
3999 #endif
4000
4001     /* conditionally subtract P if the scalar was even */
4002     fe_copy(lut.X, precomp[0].X);
4003     fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, precomp[0].Y);
4004     fe_copy(lut.Z, precomp[0].Z);
4005     point_add_proj(&lut, &lut, &Q);
4006     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, lut.X,
4007                                                   Q.X);
4008     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, lut.Y,
4009                                                   Q.Y);
4010     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, lut.Z,
4011                                                   Q.Z);
4012
4013     /* convert to affine -- NB depends on coordinate system */
4014     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
4015     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
4016     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
4017 }
4018
4019 /*-
4020  * Fixed scalar multiplication: comb with interleaving.
4021  */
4022 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
4023     int i, j, k, d, diff, is_neg = 0;
4024     char rnaf[52] = {0};
4025     pt_prj_t Q, R;
4026     pt_aff_t lut;
4027
4028     scalar_rwnaf(rnaf, scalar);
4029
4030     /* initalize accumulator to inf */
4031     fe_set_zero(Q.X);
4032     fe_copy(Q.Y, const_one);
4033     fe_set_zero(Q.Z);
4034
4035 #if defined(_MSC_VER)
4036     /* result still unsigned: yes we know */
4037 #pragma warning(push)
4038 #pragma warning(disable : 4146)
4039 #endif
4040
4041     for (i = 1; i >= 0; i--) {
4042         for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
4043         for (j = 0; j < 27; j++) {
4044             if (j * 2 + i > 51) continue;
4045             d = rnaf[j * 2 + i];
4046             /* is_neg = (d < 0) ? 1 : 0 */
4047             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
4048             /* d = abs(d) */
4049             d = (d ^ -is_neg) + is_neg;
4050             d = (d - 1) >> 1;
4051             for (k = 0; k < DRADIX / 2; k++) {
4052                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
4053                 fiat_id_GostR3410_2001_TestParamSet_selectznz(
4054                     lut.X, diff, lut.X, lut_cmb[j][k].X);
4055                 fiat_id_GostR3410_2001_TestParamSet_selectznz(
4056                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
4057             }
4058             /* negate lut point if digit is negative */
4059             fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
4060             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
4061                                                           out->Y);
4062             point_add_mixed(&Q, &Q, &lut);
4063         }
4064     }
4065
4066 #if defined(_MSC_VER)
4067 #pragma warning(pop)
4068 #endif
4069
4070     /* conditionally subtract P if the scalar was even */
4071     fe_copy(lut.X, lut_cmb[0][0].X);
4072     fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, lut_cmb[0][0].Y);
4073     point_add_mixed(&R, &Q, &lut);
4074     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, R.X, Q.X);
4075     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, R.Y, Q.Y);
4076     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, R.Z, Q.Z);
4077
4078     /* convert to affine -- NB depends on coordinate system */
4079     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
4080     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
4081     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
4082 }
4083
4084 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
4085                           const unsigned char a[32], const unsigned char b[32],
4086                           const unsigned char inx[32],
4087                           const unsigned char iny[32]) {
4088     pt_aff_t P;
4089
4090     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
4091     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
4092     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
4093     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
4094     /* simultaneous scalar multiplication */
4095     var_smul_wnaf_two(&P, a, b, &P);
4096
4097     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
4098     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
4099     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
4100     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
4101 }
4102
4103 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
4104                         const unsigned char scalar[32]) {
4105     pt_aff_t P;
4106
4107     /* fixed scmul function */
4108     fixed_smul_cmb(&P, scalar);
4109     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
4110     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
4111     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
4112     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
4113 }
4114
4115 static void point_mul(unsigned char outx[32], unsigned char outy[32],
4116                       const unsigned char scalar[32],
4117                       const unsigned char inx[32],
4118                       const unsigned char iny[32]) {
4119     pt_aff_t P;
4120
4121     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
4122     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
4123     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
4124     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
4125     /* var scmul function */
4126     var_smul_rwnaf(&P, scalar, &P);
4127     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
4128     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
4129     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
4130     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
4131 }
4132
4133 #include <openssl/ec.h>
4134
4135 static const unsigned char const_zb[32] = {0};
4136
4137     int
4138     point_mul_two_id_GostR3410_2001_TestParamSet(const EC_GROUP *group,
4139                                                  EC_POINT *r, const BIGNUM *n,
4140                                                  const EC_POINT *q,
4141                                                  const BIGNUM *m, BN_CTX *ctx) {
4142     int ret = 0;
4143     unsigned char b_x[32];
4144     unsigned char b_y[32];
4145     unsigned char b_n[32];
4146     unsigned char b_m[32];
4147     BIGNUM *x = NULL, *y = NULL;
4148
4149     BN_CTX_start(ctx);
4150     x = BN_CTX_get(ctx);
4151     if ((y = BN_CTX_get(ctx)) == NULL
4152         /* pull out coords as bytes */
4153         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4154         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
4155         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
4156         goto err;
4157     /* do the simultaneous scalar multiplication */
4158     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
4159     /* check for infinity */
4160     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4161         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4162         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4163     } else {
4164         /* otherwise, pack the bytes into the result */
4165         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4166             BN_lebin2bn(b_y, 32, y) == NULL ||
4167             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4168             goto err;
4169     }
4170     ret = 1;
4171 err:
4172     BN_CTX_end(ctx);
4173     return ret;
4174 }
4175
4176     int
4177     point_mul_id_GostR3410_2001_TestParamSet(const EC_GROUP *group, EC_POINT *r,
4178                                              const EC_POINT *q, const BIGNUM *m,
4179                                              BN_CTX *ctx) {
4180     int ret = 0;
4181     unsigned char b_x[32];
4182     unsigned char b_y[32];
4183     unsigned char b_m[32];
4184     BIGNUM *x = NULL, *y = NULL;
4185
4186     BN_CTX_start(ctx);
4187     x = BN_CTX_get(ctx);
4188     if ((y = BN_CTX_get(ctx)) == NULL
4189         /* pull out coords as bytes */
4190         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4191         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
4192         BN_bn2lebinpad(m, b_m, 32) != 32)
4193         goto err;
4194     /* do the variable scalar multiplication */
4195     point_mul(b_x, b_y, b_m, b_x, b_y);
4196     /* check for infinity */
4197     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4198         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4199         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4200     } else {
4201         /* otherwise, pack the bytes into the result */
4202         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4203             BN_lebin2bn(b_y, 32, y) == NULL ||
4204             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4205             goto err;
4206     }
4207     ret = 1;
4208 err:
4209     BN_CTX_end(ctx);
4210     return ret;
4211 }
4212
4213     int
4214     point_mul_g_id_GostR3410_2001_TestParamSet(const EC_GROUP *group,
4215                                                EC_POINT *r, const BIGNUM *n,
4216                                                BN_CTX *ctx) {
4217     int ret = 0;
4218     unsigned char b_x[32];
4219     unsigned char b_y[32];
4220     unsigned char b_n[32];
4221     BIGNUM *x = NULL, *y = NULL;
4222
4223     BN_CTX_start(ctx);
4224     x = BN_CTX_get(ctx);
4225     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
4226         goto err;
4227     /* do the fixed scalar multiplication */
4228     point_mul_g(b_x, b_y, b_n);
4229     /* check for infinity */
4230     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4231         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4232         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4233     } else {
4234         /* otherwise, pack the bytes into the result */
4235         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4236             BN_lebin2bn(b_y, 32, y) == NULL ||
4237             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4238             goto err;
4239     }
4240     ret = 1;
4241 err:
4242     BN_CTX_end(ctx);
4243     return ret;
4244 }
4245
4246
4247
4248 #else /* __SIZEOF_INT128__ */
4249
4250 #include <stdint.h>
4251 #include <string.h>
4252 #define LIMB_BITS 32
4253 #define LIMB_CNT 8
4254 /* Field elements */
4255 typedef uint32_t fe_t[LIMB_CNT];
4256 typedef uint32_t limb_t;
4257
4258 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
4259 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
4260
4261 /* Projective points */
4262 typedef struct {
4263     fe_t X;
4264     fe_t Y;
4265     fe_t Z;
4266 } pt_prj_t;
4267
4268 /* Affine points */
4269 typedef struct {
4270     fe_t X;
4271     fe_t Y;
4272 } pt_aff_t;
4273
4274 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
4275 /*-
4276  * MIT License
4277  *
4278  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
4279  *
4280  * Permission is hereby granted, free of charge, to any person obtaining a copy
4281  * of this software and associated documentation files (the "Software"), to deal
4282  * in the Software without restriction, including without limitation the rights
4283  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4284  * copies of the Software, and to permit persons to whom the Software is
4285  * furnished to do so, subject to the following conditions:
4286  *
4287  * The above copyright notice and this permission notice shall be included in
4288  * all copies or substantial portions of the Software.
4289  *
4290  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4291  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4292  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4293  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4294  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4295  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4296  * SOFTWARE.
4297  */
4298
4299 /* Autogenerated: word_by_word_montgomery --static id_GostR3410_2001_TestParamSet 32 '2^255 + 1073' */
4300 /* curve description: id_GostR3410_2001_TestParamSet */
4301 /* machine_wordsize = 32 (from "32") */
4302 /* requested operations: (all) */
4303 /* m = 0x8000000000000000000000000000000000000000000000000000000000000431 (from "2^255 + 1073") */
4304 /*                                                                    */
4305 /* NOTE: In addition to the bounds specified above each function, all */
4306 /*   functions synthesized for this Montgomery arithmetic require the */
4307 /*   input to be strictly less than the prime modulus (m), and also   */
4308 /*   require the input to be in the unique saturated representation.  */
4309 /*   All functions also ensure that these two properties are true of  */
4310 /*   return values.                                                   */
4311 /*  */
4312 /* Computed values: */
4313 /* 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) */
4314 /* 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) */
4315
4316 #include <stdint.h>
4317 typedef unsigned char fiat_id_GostR3410_2001_TestParamSet_uint1;
4318 typedef signed char fiat_id_GostR3410_2001_TestParamSet_int1;
4319
4320 #if (-1 & 3) != 3
4321 #error "This code only works on a two's complement system"
4322 #endif
4323
4324 /*
4325  * The function fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32 is an addition with carry.
4326  * Postconditions:
4327  *   out1 = (arg1 + arg2 + arg3) mod 2^32
4328  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^32⌋
4329  *
4330  * Input Bounds:
4331  *   arg1: [0x0 ~> 0x1]
4332  *   arg2: [0x0 ~> 0xffffffff]
4333  *   arg3: [0x0 ~> 0xffffffff]
4334  * Output Bounds:
4335  *   out1: [0x0 ~> 0xffffffff]
4336  *   out2: [0x0 ~> 0x1]
4337  */
4338 static void fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
4339     uint32_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
4340     fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint32_t arg2,
4341     uint32_t arg3) {
4342     uint64_t x1;
4343     uint32_t x2;
4344     fiat_id_GostR3410_2001_TestParamSet_uint1 x3;
4345     x1 = ((arg1 + (uint64_t)arg2) + arg3);
4346     x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
4347     x3 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(x1 >> 32);
4348     *out1 = x2;
4349     *out2 = x3;
4350 }
4351
4352 /*
4353  * The function fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32 is a subtraction with borrow.
4354  * Postconditions:
4355  *   out1 = (-arg1 + arg2 + -arg3) mod 2^32
4356  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^32⌋
4357  *
4358  * Input Bounds:
4359  *   arg1: [0x0 ~> 0x1]
4360  *   arg2: [0x0 ~> 0xffffffff]
4361  *   arg3: [0x0 ~> 0xffffffff]
4362  * Output Bounds:
4363  *   out1: [0x0 ~> 0xffffffff]
4364  *   out2: [0x0 ~> 0x1]
4365  */
4366 static void fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(
4367     uint32_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
4368     fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint32_t arg2,
4369     uint32_t arg3) {
4370     int64_t x1;
4371     fiat_id_GostR3410_2001_TestParamSet_int1 x2;
4372     uint32_t x3;
4373     x1 = ((arg2 - (int64_t)arg1) - arg3);
4374     x2 = (fiat_id_GostR3410_2001_TestParamSet_int1)(x1 >> 32);
4375     x3 = (uint32_t)(x1 & UINT32_C(0xffffffff));
4376     *out1 = x3;
4377     *out2 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(0x0 - x2);
4378 }
4379
4380 /*
4381  * The function fiat_id_GostR3410_2001_TestParamSet_mulx_u32 is a multiplication, returning the full double-width result.
4382  * Postconditions:
4383  *   out1 = (arg1 * arg2) mod 2^32
4384  *   out2 = ⌊arg1 * arg2 / 2^32⌋
4385  *
4386  * Input Bounds:
4387  *   arg1: [0x0 ~> 0xffffffff]
4388  *   arg2: [0x0 ~> 0xffffffff]
4389  * Output Bounds:
4390  *   out1: [0x0 ~> 0xffffffff]
4391  *   out2: [0x0 ~> 0xffffffff]
4392  */
4393 static void fiat_id_GostR3410_2001_TestParamSet_mulx_u32(uint32_t *out1,
4394                                                          uint32_t *out2,
4395                                                          uint32_t arg1,
4396                                                          uint32_t arg2) {
4397     uint64_t x1;
4398     uint32_t x2;
4399     uint32_t x3;
4400     x1 = ((uint64_t)arg1 * arg2);
4401     x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
4402     x3 = (uint32_t)(x1 >> 32);
4403     *out1 = x2;
4404     *out2 = x3;
4405 }
4406
4407 /*
4408  * The function fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32 is a single-word conditional move.
4409  * Postconditions:
4410  *   out1 = (if arg1 = 0 then arg2 else arg3)
4411  *
4412  * Input Bounds:
4413  *   arg1: [0x0 ~> 0x1]
4414  *   arg2: [0x0 ~> 0xffffffff]
4415  *   arg3: [0x0 ~> 0xffffffff]
4416  * Output Bounds:
4417  *   out1: [0x0 ~> 0xffffffff]
4418  */
4419 static void fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(
4420     uint32_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
4421     uint32_t arg2, uint32_t arg3) {
4422     fiat_id_GostR3410_2001_TestParamSet_uint1 x1;
4423     uint32_t x2;
4424     uint32_t x3;
4425     x1 = (!(!arg1));
4426     x2 = ((fiat_id_GostR3410_2001_TestParamSet_int1)(0x0 - x1) &
4427           UINT32_C(0xffffffff));
4428     x3 = ((x2 & arg3) | ((~x2) & arg2));
4429     *out1 = x3;
4430 }
4431
4432 /*
4433  * The function fiat_id_GostR3410_2001_TestParamSet_mul multiplies two field elements in the Montgomery domain.
4434  * Preconditions:
4435  *   0 ≤ eval arg1 < m
4436  *   0 ≤ eval arg2 < m
4437  * Postconditions:
4438  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
4439  *   0 ≤ eval out1 < m
4440  *
4441  * Input Bounds:
4442  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
4443  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
4444  * Output Bounds:
4445  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
4446  */
4447 static void fiat_id_GostR3410_2001_TestParamSet_mul(uint32_t out1[8],
4448                                                     const uint32_t arg1[8],
4449                                                     const uint32_t arg2[8]) {
4450     uint32_t x1;
4451     uint32_t x2;
4452     uint32_t x3;
4453     uint32_t x4;
4454     uint32_t x5;
4455     uint32_t x6;
4456     uint32_t x7;
4457     uint32_t x8;
4458     uint32_t x9;
4459     uint32_t x10;
4460     uint32_t x11;
4461     uint32_t x12;
4462     uint32_t x13;
4463     uint32_t x14;
4464     uint32_t x15;
4465     uint32_t x16;
4466     uint32_t x17;
4467     uint32_t x18;
4468     uint32_t x19;
4469     uint32_t x20;
4470     uint32_t x21;
4471     uint32_t x22;
4472     uint32_t x23;
4473     uint32_t x24;
4474     uint32_t x25;
4475     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
4476     uint32_t x27;
4477     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
4478     uint32_t x29;
4479     fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
4480     uint32_t x31;
4481     fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
4482     uint32_t x33;
4483     fiat_id_GostR3410_2001_TestParamSet_uint1 x34;
4484     uint32_t x35;
4485     fiat_id_GostR3410_2001_TestParamSet_uint1 x36;
4486     uint32_t x37;
4487     fiat_id_GostR3410_2001_TestParamSet_uint1 x38;
4488     uint32_t x39;
4489     uint32_t x40;
4490     uint32_t x41;
4491     uint32_t x42;
4492     uint32_t x43;
4493     uint32_t x44;
4494     uint32_t x45;
4495     uint32_t x46;
4496     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
4497     uint32_t x48;
4498     fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
4499     uint32_t x50;
4500     fiat_id_GostR3410_2001_TestParamSet_uint1 x51;
4501     uint32_t x52;
4502     fiat_id_GostR3410_2001_TestParamSet_uint1 x53;
4503     uint32_t x54;
4504     fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
4505     uint32_t x56;
4506     fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
4507     uint32_t x58;
4508     fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
4509     uint32_t x60;
4510     fiat_id_GostR3410_2001_TestParamSet_uint1 x61;
4511     uint32_t x62;
4512     fiat_id_GostR3410_2001_TestParamSet_uint1 x63;
4513     uint32_t x64;
4514     uint32_t x65;
4515     uint32_t x66;
4516     uint32_t x67;
4517     uint32_t x68;
4518     uint32_t x69;
4519     uint32_t x70;
4520     uint32_t x71;
4521     uint32_t x72;
4522     uint32_t x73;
4523     uint32_t x74;
4524     uint32_t x75;
4525     uint32_t x76;
4526     uint32_t x77;
4527     uint32_t x78;
4528     uint32_t x79;
4529     uint32_t x80;
4530     fiat_id_GostR3410_2001_TestParamSet_uint1 x81;
4531     uint32_t x82;
4532     fiat_id_GostR3410_2001_TestParamSet_uint1 x83;
4533     uint32_t x84;
4534     fiat_id_GostR3410_2001_TestParamSet_uint1 x85;
4535     uint32_t x86;
4536     fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
4537     uint32_t x88;
4538     fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
4539     uint32_t x90;
4540     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
4541     uint32_t x92;
4542     fiat_id_GostR3410_2001_TestParamSet_uint1 x93;
4543     uint32_t x94;
4544     uint32_t x95;
4545     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
4546     uint32_t x97;
4547     fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
4548     uint32_t x99;
4549     fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
4550     uint32_t x101;
4551     fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
4552     uint32_t x103;
4553     fiat_id_GostR3410_2001_TestParamSet_uint1 x104;
4554     uint32_t x105;
4555     fiat_id_GostR3410_2001_TestParamSet_uint1 x106;
4556     uint32_t x107;
4557     fiat_id_GostR3410_2001_TestParamSet_uint1 x108;
4558     uint32_t x109;
4559     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
4560     uint32_t x111;
4561     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
4562     uint32_t x113;
4563     uint32_t x114;
4564     uint32_t x115;
4565     uint32_t x116;
4566     uint32_t x117;
4567     uint32_t x118;
4568     uint32_t x119;
4569     fiat_id_GostR3410_2001_TestParamSet_uint1 x120;
4570     uint32_t x121;
4571     fiat_id_GostR3410_2001_TestParamSet_uint1 x122;
4572     uint32_t x123;
4573     fiat_id_GostR3410_2001_TestParamSet_uint1 x124;
4574     uint32_t x125;
4575     fiat_id_GostR3410_2001_TestParamSet_uint1 x126;
4576     uint32_t x127;
4577     fiat_id_GostR3410_2001_TestParamSet_uint1 x128;
4578     uint32_t x129;
4579     fiat_id_GostR3410_2001_TestParamSet_uint1 x130;
4580     uint32_t x131;
4581     fiat_id_GostR3410_2001_TestParamSet_uint1 x132;
4582     uint32_t x133;
4583     fiat_id_GostR3410_2001_TestParamSet_uint1 x134;
4584     uint32_t x135;
4585     fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
4586     uint32_t x137;
4587     uint32_t x138;
4588     uint32_t x139;
4589     uint32_t x140;
4590     uint32_t x141;
4591     uint32_t x142;
4592     uint32_t x143;
4593     uint32_t x144;
4594     uint32_t x145;
4595     uint32_t x146;
4596     uint32_t x147;
4597     uint32_t x148;
4598     uint32_t x149;
4599     uint32_t x150;
4600     uint32_t x151;
4601     uint32_t x152;
4602     uint32_t x153;
4603     uint32_t x154;
4604     fiat_id_GostR3410_2001_TestParamSet_uint1 x155;
4605     uint32_t x156;
4606     fiat_id_GostR3410_2001_TestParamSet_uint1 x157;
4607     uint32_t x158;
4608     fiat_id_GostR3410_2001_TestParamSet_uint1 x159;
4609     uint32_t x160;
4610     fiat_id_GostR3410_2001_TestParamSet_uint1 x161;
4611     uint32_t x162;
4612     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
4613     uint32_t x164;
4614     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
4615     uint32_t x166;
4616     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
4617     uint32_t x168;
4618     uint32_t x169;
4619     fiat_id_GostR3410_2001_TestParamSet_uint1 x170;
4620     uint32_t x171;
4621     fiat_id_GostR3410_2001_TestParamSet_uint1 x172;
4622     uint32_t x173;
4623     fiat_id_GostR3410_2001_TestParamSet_uint1 x174;
4624     uint32_t x175;
4625     fiat_id_GostR3410_2001_TestParamSet_uint1 x176;
4626     uint32_t x177;
4627     fiat_id_GostR3410_2001_TestParamSet_uint1 x178;
4628     uint32_t x179;
4629     fiat_id_GostR3410_2001_TestParamSet_uint1 x180;
4630     uint32_t x181;
4631     fiat_id_GostR3410_2001_TestParamSet_uint1 x182;
4632     uint32_t x183;
4633     fiat_id_GostR3410_2001_TestParamSet_uint1 x184;
4634     uint32_t x185;
4635     fiat_id_GostR3410_2001_TestParamSet_uint1 x186;
4636     uint32_t x187;
4637     uint32_t x188;
4638     uint32_t x189;
4639     uint32_t x190;
4640     uint32_t x191;
4641     uint32_t x192;
4642     uint32_t x193;
4643     fiat_id_GostR3410_2001_TestParamSet_uint1 x194;
4644     uint32_t x195;
4645     fiat_id_GostR3410_2001_TestParamSet_uint1 x196;
4646     uint32_t x197;
4647     fiat_id_GostR3410_2001_TestParamSet_uint1 x198;
4648     uint32_t x199;
4649     fiat_id_GostR3410_2001_TestParamSet_uint1 x200;
4650     uint32_t x201;
4651     fiat_id_GostR3410_2001_TestParamSet_uint1 x202;
4652     uint32_t x203;
4653     fiat_id_GostR3410_2001_TestParamSet_uint1 x204;
4654     uint32_t x205;
4655     fiat_id_GostR3410_2001_TestParamSet_uint1 x206;
4656     uint32_t x207;
4657     fiat_id_GostR3410_2001_TestParamSet_uint1 x208;
4658     uint32_t x209;
4659     fiat_id_GostR3410_2001_TestParamSet_uint1 x210;
4660     uint32_t x211;
4661     uint32_t x212;
4662     uint32_t x213;
4663     uint32_t x214;
4664     uint32_t x215;
4665     uint32_t x216;
4666     uint32_t x217;
4667     uint32_t x218;
4668     uint32_t x219;
4669     uint32_t x220;
4670     uint32_t x221;
4671     uint32_t x222;
4672     uint32_t x223;
4673     uint32_t x224;
4674     uint32_t x225;
4675     uint32_t x226;
4676     uint32_t x227;
4677     uint32_t x228;
4678     fiat_id_GostR3410_2001_TestParamSet_uint1 x229;
4679     uint32_t x230;
4680     fiat_id_GostR3410_2001_TestParamSet_uint1 x231;
4681     uint32_t x232;
4682     fiat_id_GostR3410_2001_TestParamSet_uint1 x233;
4683     uint32_t x234;
4684     fiat_id_GostR3410_2001_TestParamSet_uint1 x235;
4685     uint32_t x236;
4686     fiat_id_GostR3410_2001_TestParamSet_uint1 x237;
4687     uint32_t x238;
4688     fiat_id_GostR3410_2001_TestParamSet_uint1 x239;
4689     uint32_t x240;
4690     fiat_id_GostR3410_2001_TestParamSet_uint1 x241;
4691     uint32_t x242;
4692     uint32_t x243;
4693     fiat_id_GostR3410_2001_TestParamSet_uint1 x244;
4694     uint32_t x245;
4695     fiat_id_GostR3410_2001_TestParamSet_uint1 x246;
4696     uint32_t x247;
4697     fiat_id_GostR3410_2001_TestParamSet_uint1 x248;
4698     uint32_t x249;
4699     fiat_id_GostR3410_2001_TestParamSet_uint1 x250;
4700     uint32_t x251;
4701     fiat_id_GostR3410_2001_TestParamSet_uint1 x252;
4702     uint32_t x253;
4703     fiat_id_GostR3410_2001_TestParamSet_uint1 x254;
4704     uint32_t x255;
4705     fiat_id_GostR3410_2001_TestParamSet_uint1 x256;
4706     uint32_t x257;
4707     fiat_id_GostR3410_2001_TestParamSet_uint1 x258;
4708     uint32_t x259;
4709     fiat_id_GostR3410_2001_TestParamSet_uint1 x260;
4710     uint32_t x261;
4711     uint32_t x262;
4712     uint32_t x263;
4713     uint32_t x264;
4714     uint32_t x265;
4715     uint32_t x266;
4716     uint32_t x267;
4717     fiat_id_GostR3410_2001_TestParamSet_uint1 x268;
4718     uint32_t x269;
4719     fiat_id_GostR3410_2001_TestParamSet_uint1 x270;
4720     uint32_t x271;
4721     fiat_id_GostR3410_2001_TestParamSet_uint1 x272;
4722     uint32_t x273;
4723     fiat_id_GostR3410_2001_TestParamSet_uint1 x274;
4724     uint32_t x275;
4725     fiat_id_GostR3410_2001_TestParamSet_uint1 x276;
4726     uint32_t x277;
4727     fiat_id_GostR3410_2001_TestParamSet_uint1 x278;
4728     uint32_t x279;
4729     fiat_id_GostR3410_2001_TestParamSet_uint1 x280;
4730     uint32_t x281;
4731     fiat_id_GostR3410_2001_TestParamSet_uint1 x282;
4732     uint32_t x283;
4733     fiat_id_GostR3410_2001_TestParamSet_uint1 x284;
4734     uint32_t x285;
4735     uint32_t x286;
4736     uint32_t x287;
4737     uint32_t x288;
4738     uint32_t x289;
4739     uint32_t x290;
4740     uint32_t x291;
4741     uint32_t x292;
4742     uint32_t x293;
4743     uint32_t x294;
4744     uint32_t x295;
4745     uint32_t x296;
4746     uint32_t x297;
4747     uint32_t x298;
4748     uint32_t x299;
4749     uint32_t x300;
4750     uint32_t x301;
4751     uint32_t x302;
4752     fiat_id_GostR3410_2001_TestParamSet_uint1 x303;
4753     uint32_t x304;
4754     fiat_id_GostR3410_2001_TestParamSet_uint1 x305;
4755     uint32_t x306;
4756     fiat_id_GostR3410_2001_TestParamSet_uint1 x307;
4757     uint32_t x308;
4758     fiat_id_GostR3410_2001_TestParamSet_uint1 x309;
4759     uint32_t x310;
4760     fiat_id_GostR3410_2001_TestParamSet_uint1 x311;
4761     uint32_t x312;
4762     fiat_id_GostR3410_2001_TestParamSet_uint1 x313;
4763     uint32_t x314;
4764     fiat_id_GostR3410_2001_TestParamSet_uint1 x315;
4765     uint32_t x316;
4766     uint32_t x317;
4767     fiat_id_GostR3410_2001_TestParamSet_uint1 x318;
4768     uint32_t x319;
4769     fiat_id_GostR3410_2001_TestParamSet_uint1 x320;
4770     uint32_t x321;
4771     fiat_id_GostR3410_2001_TestParamSet_uint1 x322;
4772     uint32_t x323;
4773     fiat_id_GostR3410_2001_TestParamSet_uint1 x324;
4774     uint32_t x325;
4775     fiat_id_GostR3410_2001_TestParamSet_uint1 x326;
4776     uint32_t x327;
4777     fiat_id_GostR3410_2001_TestParamSet_uint1 x328;
4778     uint32_t x329;
4779     fiat_id_GostR3410_2001_TestParamSet_uint1 x330;
4780     uint32_t x331;
4781     fiat_id_GostR3410_2001_TestParamSet_uint1 x332;
4782     uint32_t x333;
4783     fiat_id_GostR3410_2001_TestParamSet_uint1 x334;
4784     uint32_t x335;
4785     uint32_t x336;
4786     uint32_t x337;
4787     uint32_t x338;
4788     uint32_t x339;
4789     uint32_t x340;
4790     uint32_t x341;
4791     fiat_id_GostR3410_2001_TestParamSet_uint1 x342;
4792     uint32_t x343;
4793     fiat_id_GostR3410_2001_TestParamSet_uint1 x344;
4794     uint32_t x345;
4795     fiat_id_GostR3410_2001_TestParamSet_uint1 x346;
4796     uint32_t x347;
4797     fiat_id_GostR3410_2001_TestParamSet_uint1 x348;
4798     uint32_t x349;
4799     fiat_id_GostR3410_2001_TestParamSet_uint1 x350;
4800     uint32_t x351;
4801     fiat_id_GostR3410_2001_TestParamSet_uint1 x352;
4802     uint32_t x353;
4803     fiat_id_GostR3410_2001_TestParamSet_uint1 x354;
4804     uint32_t x355;
4805     fiat_id_GostR3410_2001_TestParamSet_uint1 x356;
4806     uint32_t x357;
4807     fiat_id_GostR3410_2001_TestParamSet_uint1 x358;
4808     uint32_t x359;
4809     uint32_t x360;
4810     uint32_t x361;
4811     uint32_t x362;
4812     uint32_t x363;
4813     uint32_t x364;
4814     uint32_t x365;
4815     uint32_t x366;
4816     uint32_t x367;
4817     uint32_t x368;
4818     uint32_t x369;
4819     uint32_t x370;
4820     uint32_t x371;
4821     uint32_t x372;
4822     uint32_t x373;
4823     uint32_t x374;
4824     uint32_t x375;
4825     uint32_t x376;
4826     fiat_id_GostR3410_2001_TestParamSet_uint1 x377;
4827     uint32_t x378;
4828     fiat_id_GostR3410_2001_TestParamSet_uint1 x379;
4829     uint32_t x380;
4830     fiat_id_GostR3410_2001_TestParamSet_uint1 x381;
4831     uint32_t x382;
4832     fiat_id_GostR3410_2001_TestParamSet_uint1 x383;
4833     uint32_t x384;
4834     fiat_id_GostR3410_2001_TestParamSet_uint1 x385;
4835     uint32_t x386;
4836     fiat_id_GostR3410_2001_TestParamSet_uint1 x387;
4837     uint32_t x388;
4838     fiat_id_GostR3410_2001_TestParamSet_uint1 x389;
4839     uint32_t x390;
4840     uint32_t x391;
4841     fiat_id_GostR3410_2001_TestParamSet_uint1 x392;
4842     uint32_t x393;
4843     fiat_id_GostR3410_2001_TestParamSet_uint1 x394;
4844     uint32_t x395;
4845     fiat_id_GostR3410_2001_TestParamSet_uint1 x396;
4846     uint32_t x397;
4847     fiat_id_GostR3410_2001_TestParamSet_uint1 x398;
4848     uint32_t x399;
4849     fiat_id_GostR3410_2001_TestParamSet_uint1 x400;
4850     uint32_t x401;
4851     fiat_id_GostR3410_2001_TestParamSet_uint1 x402;
4852     uint32_t x403;
4853     fiat_id_GostR3410_2001_TestParamSet_uint1 x404;
4854     uint32_t x405;
4855     fiat_id_GostR3410_2001_TestParamSet_uint1 x406;
4856     uint32_t x407;
4857     fiat_id_GostR3410_2001_TestParamSet_uint1 x408;
4858     uint32_t x409;
4859     uint32_t x410;
4860     uint32_t x411;
4861     uint32_t x412;
4862     uint32_t x413;
4863     uint32_t x414;
4864     uint32_t x415;
4865     fiat_id_GostR3410_2001_TestParamSet_uint1 x416;
4866     uint32_t x417;
4867     fiat_id_GostR3410_2001_TestParamSet_uint1 x418;
4868     uint32_t x419;
4869     fiat_id_GostR3410_2001_TestParamSet_uint1 x420;
4870     uint32_t x421;
4871     fiat_id_GostR3410_2001_TestParamSet_uint1 x422;
4872     uint32_t x423;
4873     fiat_id_GostR3410_2001_TestParamSet_uint1 x424;
4874     uint32_t x425;
4875     fiat_id_GostR3410_2001_TestParamSet_uint1 x426;
4876     uint32_t x427;
4877     fiat_id_GostR3410_2001_TestParamSet_uint1 x428;
4878     uint32_t x429;
4879     fiat_id_GostR3410_2001_TestParamSet_uint1 x430;
4880     uint32_t x431;
4881     fiat_id_GostR3410_2001_TestParamSet_uint1 x432;
4882     uint32_t x433;
4883     uint32_t x434;
4884     uint32_t x435;
4885     uint32_t x436;
4886     uint32_t x437;
4887     uint32_t x438;
4888     uint32_t x439;
4889     uint32_t x440;
4890     uint32_t x441;
4891     uint32_t x442;
4892     uint32_t x443;
4893     uint32_t x444;
4894     uint32_t x445;
4895     uint32_t x446;
4896     uint32_t x447;
4897     uint32_t x448;
4898     uint32_t x449;
4899     uint32_t x450;
4900     fiat_id_GostR3410_2001_TestParamSet_uint1 x451;
4901     uint32_t x452;
4902     fiat_id_GostR3410_2001_TestParamSet_uint1 x453;
4903     uint32_t x454;
4904     fiat_id_GostR3410_2001_TestParamSet_uint1 x455;
4905     uint32_t x456;
4906     fiat_id_GostR3410_2001_TestParamSet_uint1 x457;
4907     uint32_t x458;
4908     fiat_id_GostR3410_2001_TestParamSet_uint1 x459;
4909     uint32_t x460;
4910     fiat_id_GostR3410_2001_TestParamSet_uint1 x461;
4911     uint32_t x462;
4912     fiat_id_GostR3410_2001_TestParamSet_uint1 x463;
4913     uint32_t x464;
4914     uint32_t x465;
4915     fiat_id_GostR3410_2001_TestParamSet_uint1 x466;
4916     uint32_t x467;
4917     fiat_id_GostR3410_2001_TestParamSet_uint1 x468;
4918     uint32_t x469;
4919     fiat_id_GostR3410_2001_TestParamSet_uint1 x470;
4920     uint32_t x471;
4921     fiat_id_GostR3410_2001_TestParamSet_uint1 x472;
4922     uint32_t x473;
4923     fiat_id_GostR3410_2001_TestParamSet_uint1 x474;
4924     uint32_t x475;
4925     fiat_id_GostR3410_2001_TestParamSet_uint1 x476;
4926     uint32_t x477;
4927     fiat_id_GostR3410_2001_TestParamSet_uint1 x478;
4928     uint32_t x479;
4929     fiat_id_GostR3410_2001_TestParamSet_uint1 x480;
4930     uint32_t x481;
4931     fiat_id_GostR3410_2001_TestParamSet_uint1 x482;
4932     uint32_t x483;
4933     uint32_t x484;
4934     uint32_t x485;
4935     uint32_t x486;
4936     uint32_t x487;
4937     uint32_t x488;
4938     uint32_t x489;
4939     fiat_id_GostR3410_2001_TestParamSet_uint1 x490;
4940     uint32_t x491;
4941     fiat_id_GostR3410_2001_TestParamSet_uint1 x492;
4942     uint32_t x493;
4943     fiat_id_GostR3410_2001_TestParamSet_uint1 x494;
4944     uint32_t x495;
4945     fiat_id_GostR3410_2001_TestParamSet_uint1 x496;
4946     uint32_t x497;
4947     fiat_id_GostR3410_2001_TestParamSet_uint1 x498;
4948     uint32_t x499;
4949     fiat_id_GostR3410_2001_TestParamSet_uint1 x500;
4950     uint32_t x501;
4951     fiat_id_GostR3410_2001_TestParamSet_uint1 x502;
4952     uint32_t x503;
4953     fiat_id_GostR3410_2001_TestParamSet_uint1 x504;
4954     uint32_t x505;
4955     fiat_id_GostR3410_2001_TestParamSet_uint1 x506;
4956     uint32_t x507;
4957     uint32_t x508;
4958     uint32_t x509;
4959     uint32_t x510;
4960     uint32_t x511;
4961     uint32_t x512;
4962     uint32_t x513;
4963     uint32_t x514;
4964     uint32_t x515;
4965     uint32_t x516;
4966     uint32_t x517;
4967     uint32_t x518;
4968     uint32_t x519;
4969     uint32_t x520;
4970     uint32_t x521;
4971     uint32_t x522;
4972     uint32_t x523;
4973     uint32_t x524;
4974     fiat_id_GostR3410_2001_TestParamSet_uint1 x525;
4975     uint32_t x526;
4976     fiat_id_GostR3410_2001_TestParamSet_uint1 x527;
4977     uint32_t x528;
4978     fiat_id_GostR3410_2001_TestParamSet_uint1 x529;
4979     uint32_t x530;
4980     fiat_id_GostR3410_2001_TestParamSet_uint1 x531;
4981     uint32_t x532;
4982     fiat_id_GostR3410_2001_TestParamSet_uint1 x533;
4983     uint32_t x534;
4984     fiat_id_GostR3410_2001_TestParamSet_uint1 x535;
4985     uint32_t x536;
4986     fiat_id_GostR3410_2001_TestParamSet_uint1 x537;
4987     uint32_t x538;
4988     uint32_t x539;
4989     fiat_id_GostR3410_2001_TestParamSet_uint1 x540;
4990     uint32_t x541;
4991     fiat_id_GostR3410_2001_TestParamSet_uint1 x542;
4992     uint32_t x543;
4993     fiat_id_GostR3410_2001_TestParamSet_uint1 x544;
4994     uint32_t x545;
4995     fiat_id_GostR3410_2001_TestParamSet_uint1 x546;
4996     uint32_t x547;
4997     fiat_id_GostR3410_2001_TestParamSet_uint1 x548;
4998     uint32_t x549;
4999     fiat_id_GostR3410_2001_TestParamSet_uint1 x550;
5000     uint32_t x551;
5001     fiat_id_GostR3410_2001_TestParamSet_uint1 x552;
5002     uint32_t x553;
5003     fiat_id_GostR3410_2001_TestParamSet_uint1 x554;
5004     uint32_t x555;
5005     fiat_id_GostR3410_2001_TestParamSet_uint1 x556;
5006     uint32_t x557;
5007     uint32_t x558;
5008     uint32_t x559;
5009     uint32_t x560;
5010     uint32_t x561;
5011     uint32_t x562;
5012     uint32_t x563;
5013     fiat_id_GostR3410_2001_TestParamSet_uint1 x564;
5014     uint32_t x565;
5015     fiat_id_GostR3410_2001_TestParamSet_uint1 x566;
5016     uint32_t x567;
5017     fiat_id_GostR3410_2001_TestParamSet_uint1 x568;
5018     uint32_t x569;
5019     fiat_id_GostR3410_2001_TestParamSet_uint1 x570;
5020     uint32_t x571;
5021     fiat_id_GostR3410_2001_TestParamSet_uint1 x572;
5022     uint32_t x573;
5023     fiat_id_GostR3410_2001_TestParamSet_uint1 x574;
5024     uint32_t x575;
5025     fiat_id_GostR3410_2001_TestParamSet_uint1 x576;
5026     uint32_t x577;
5027     fiat_id_GostR3410_2001_TestParamSet_uint1 x578;
5028     uint32_t x579;
5029     fiat_id_GostR3410_2001_TestParamSet_uint1 x580;
5030     uint32_t x581;
5031     uint32_t x582;
5032     fiat_id_GostR3410_2001_TestParamSet_uint1 x583;
5033     uint32_t x584;
5034     fiat_id_GostR3410_2001_TestParamSet_uint1 x585;
5035     uint32_t x586;
5036     fiat_id_GostR3410_2001_TestParamSet_uint1 x587;
5037     uint32_t x588;
5038     fiat_id_GostR3410_2001_TestParamSet_uint1 x589;
5039     uint32_t x590;
5040     fiat_id_GostR3410_2001_TestParamSet_uint1 x591;
5041     uint32_t x592;
5042     fiat_id_GostR3410_2001_TestParamSet_uint1 x593;
5043     uint32_t x594;
5044     fiat_id_GostR3410_2001_TestParamSet_uint1 x595;
5045     uint32_t x596;
5046     fiat_id_GostR3410_2001_TestParamSet_uint1 x597;
5047     uint32_t x598;
5048     fiat_id_GostR3410_2001_TestParamSet_uint1 x599;
5049     uint32_t x600;
5050     uint32_t x601;
5051     uint32_t x602;
5052     uint32_t x603;
5053     uint32_t x604;
5054     uint32_t x605;
5055     uint32_t x606;
5056     uint32_t x607;
5057     x1 = (arg1[1]);
5058     x2 = (arg1[2]);
5059     x3 = (arg1[3]);
5060     x4 = (arg1[4]);
5061     x5 = (arg1[5]);
5062     x6 = (arg1[6]);
5063     x7 = (arg1[7]);
5064     x8 = (arg1[0]);
5065     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x9, &x10, x8, (arg2[7]));
5066     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x11, &x12, x8, (arg2[6]));
5067     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x13, &x14, x8, (arg2[5]));
5068     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x15, &x16, x8, (arg2[4]));
5069     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x17, &x18, x8, (arg2[3]));
5070     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x19, &x20, x8, (arg2[2]));
5071     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x21, &x22, x8, (arg2[1]));
5072     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x23, &x24, x8, (arg2[0]));
5073     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x25, &x26, 0x0, x24,
5074                                                       x21);
5075     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x27, &x28, x26, x22,
5076                                                       x19);
5077     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x29, &x30, x28, x20,
5078                                                       x17);
5079     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x31, &x32, x30, x18,
5080                                                       x15);
5081     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x33, &x34, x32, x16,
5082                                                       x13);
5083     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x35, &x36, x34, x14,
5084                                                       x11);
5085     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x37, &x38, x36, x12, x9);
5086     x39 = (x38 + x10);
5087     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x40, &x41, x23,
5088                                                  UINT32_C(0x883b2b2f));
5089     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x42, &x43, x40,
5090                                                  UINT32_C(0x80000000));
5091     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x44, &x45, x40,
5092                                                  UINT16_C(0x431));
5093     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x46, &x47, 0x0, x23,
5094                                                       x44);
5095     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x48, &x49, x47, x25,
5096                                                       x45);
5097     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x50, &x51, x49, x27,
5098                                                       0x0);
5099     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x52, &x53, x51, x29,
5100                                                       0x0);
5101     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x54, &x55, x53, x31,
5102                                                       0x0);
5103     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x56, &x57, x55, x33,
5104                                                       0x0);
5105     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x58, &x59, x57, x35,
5106                                                       0x0);
5107     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x60, &x61, x59, x37,
5108                                                       x42);
5109     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x62, &x63, x61, x39,
5110                                                       x43);
5111     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x64, &x65, x1, (arg2[7]));
5112     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x66, &x67, x1, (arg2[6]));
5113     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x68, &x69, x1, (arg2[5]));
5114     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x70, &x71, x1, (arg2[4]));
5115     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x72, &x73, x1, (arg2[3]));
5116     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x74, &x75, x1, (arg2[2]));
5117     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x76, &x77, x1, (arg2[1]));
5118     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x78, &x79, x1, (arg2[0]));
5119     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x80, &x81, 0x0, x79,
5120                                                       x76);
5121     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x82, &x83, x81, x77,
5122                                                       x74);
5123     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x84, &x85, x83, x75,
5124                                                       x72);
5125     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x86, &x87, x85, x73,
5126                                                       x70);
5127     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x88, &x89, x87, x71,
5128                                                       x68);
5129     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x90, &x91, x89, x69,
5130                                                       x66);
5131     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x92, &x93, x91, x67,
5132                                                       x64);
5133     x94 = (x93 + x65);
5134     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x95, &x96, 0x0, x48,
5135                                                       x78);
5136     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x97, &x98, x96, x50,
5137                                                       x80);
5138     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x99, &x100, x98, x52,
5139                                                       x82);
5140     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x101, &x102, x100, x54,
5141                                                       x84);
5142     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x103, &x104, x102, x56,
5143                                                       x86);
5144     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x105, &x106, x104, x58,
5145                                                       x88);
5146     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x107, &x108, x106, x60,
5147                                                       x90);
5148     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x109, &x110, x108, x62,
5149                                                       x92);
5150     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x111, &x112, x110, x63,
5151                                                       x94);
5152     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x113, &x114, x95,
5153                                                  UINT32_C(0x883b2b2f));
5154     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x115, &x116, x113,
5155                                                  UINT32_C(0x80000000));
5156     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x117, &x118, x113,
5157                                                  UINT16_C(0x431));
5158     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x119, &x120, 0x0, x95,
5159                                                       x117);
5160     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x121, &x122, x120, x97,
5161                                                       x118);
5162     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x123, &x124, x122, x99,
5163                                                       0x0);
5164     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x125, &x126, x124, x101,
5165                                                       0x0);
5166     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x127, &x128, x126, x103,
5167                                                       0x0);
5168     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x129, &x130, x128, x105,
5169                                                       0x0);
5170     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x131, &x132, x130, x107,
5171                                                       0x0);
5172     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x133, &x134, x132, x109,
5173                                                       x115);
5174     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x135, &x136, x134, x111,
5175                                                       x116);
5176     x137 = ((uint32_t)x136 + x112);
5177     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x138, &x139, x2, (arg2[7]));
5178     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x140, &x141, x2, (arg2[6]));
5179     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x142, &x143, x2, (arg2[5]));
5180     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x144, &x145, x2, (arg2[4]));
5181     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x146, &x147, x2, (arg2[3]));
5182     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x148, &x149, x2, (arg2[2]));
5183     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x150, &x151, x2, (arg2[1]));
5184     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x152, &x153, x2, (arg2[0]));
5185     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x154, &x155, 0x0, x153,
5186                                                       x150);
5187     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x156, &x157, x155, x151,
5188                                                       x148);
5189     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x158, &x159, x157, x149,
5190                                                       x146);
5191     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x160, &x161, x159, x147,
5192                                                       x144);
5193     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x162, &x163, x161, x145,
5194                                                       x142);
5195     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x164, &x165, x163, x143,
5196                                                       x140);
5197     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x166, &x167, x165, x141,
5198                                                       x138);
5199     x168 = (x167 + x139);
5200     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x169, &x170, 0x0, x121,
5201                                                       x152);
5202     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x171, &x172, x170, x123,
5203                                                       x154);
5204     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x173, &x174, x172, x125,
5205                                                       x156);
5206     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x175, &x176, x174, x127,
5207                                                       x158);
5208     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x177, &x178, x176, x129,
5209                                                       x160);
5210     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x179, &x180, x178, x131,
5211                                                       x162);
5212     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x181, &x182, x180, x133,
5213                                                       x164);
5214     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x183, &x184, x182, x135,
5215                                                       x166);
5216     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x185, &x186, x184, x137,
5217                                                       x168);
5218     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x187, &x188, x169,
5219                                                  UINT32_C(0x883b2b2f));
5220     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x189, &x190, x187,
5221                                                  UINT32_C(0x80000000));
5222     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x191, &x192, x187,
5223                                                  UINT16_C(0x431));
5224     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x193, &x194, 0x0, x169,
5225                                                       x191);
5226     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x195, &x196, x194, x171,
5227                                                       x192);
5228     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x197, &x198, x196, x173,
5229                                                       0x0);
5230     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x199, &x200, x198, x175,
5231                                                       0x0);
5232     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x201, &x202, x200, x177,
5233                                                       0x0);
5234     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x203, &x204, x202, x179,
5235                                                       0x0);
5236     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x205, &x206, x204, x181,
5237                                                       0x0);
5238     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x207, &x208, x206, x183,
5239                                                       x189);
5240     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x209, &x210, x208, x185,
5241                                                       x190);
5242     x211 = ((uint32_t)x210 + x186);
5243     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x212, &x213, x3, (arg2[7]));
5244     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x214, &x215, x3, (arg2[6]));
5245     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x216, &x217, x3, (arg2[5]));
5246     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x218, &x219, x3, (arg2[4]));
5247     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x220, &x221, x3, (arg2[3]));
5248     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x222, &x223, x3, (arg2[2]));
5249     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x224, &x225, x3, (arg2[1]));
5250     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x226, &x227, x3, (arg2[0]));
5251     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x228, &x229, 0x0, x227,
5252                                                       x224);
5253     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x230, &x231, x229, x225,
5254                                                       x222);
5255     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x232, &x233, x231, x223,
5256                                                       x220);
5257     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x234, &x235, x233, x221,
5258                                                       x218);
5259     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x236, &x237, x235, x219,
5260                                                       x216);
5261     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x238, &x239, x237, x217,
5262                                                       x214);
5263     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x240, &x241, x239, x215,
5264                                                       x212);
5265     x242 = (x241 + x213);
5266     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x243, &x244, 0x0, x195,
5267                                                       x226);
5268     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x245, &x246, x244, x197,
5269                                                       x228);
5270     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x247, &x248, x246, x199,
5271                                                       x230);
5272     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x249, &x250, x248, x201,
5273                                                       x232);
5274     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x251, &x252, x250, x203,
5275                                                       x234);
5276     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x253, &x254, x252, x205,
5277                                                       x236);
5278     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x255, &x256, x254, x207,
5279                                                       x238);
5280     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x257, &x258, x256, x209,
5281                                                       x240);
5282     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x259, &x260, x258, x211,
5283                                                       x242);
5284     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x261, &x262, x243,
5285                                                  UINT32_C(0x883b2b2f));
5286     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x263, &x264, x261,
5287                                                  UINT32_C(0x80000000));
5288     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x265, &x266, x261,
5289                                                  UINT16_C(0x431));
5290     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x267, &x268, 0x0, x243,
5291                                                       x265);
5292     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x269, &x270, x268, x245,
5293                                                       x266);
5294     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x271, &x272, x270, x247,
5295                                                       0x0);
5296     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x273, &x274, x272, x249,
5297                                                       0x0);
5298     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x275, &x276, x274, x251,
5299                                                       0x0);
5300     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x277, &x278, x276, x253,
5301                                                       0x0);
5302     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x279, &x280, x278, x255,
5303                                                       0x0);
5304     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x281, &x282, x280, x257,
5305                                                       x263);
5306     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x283, &x284, x282, x259,
5307                                                       x264);
5308     x285 = ((uint32_t)x284 + x260);
5309     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x286, &x287, x4, (arg2[7]));
5310     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x288, &x289, x4, (arg2[6]));
5311     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x290, &x291, x4, (arg2[5]));
5312     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x292, &x293, x4, (arg2[4]));
5313     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x294, &x295, x4, (arg2[3]));
5314     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x296, &x297, x4, (arg2[2]));
5315     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x298, &x299, x4, (arg2[1]));
5316     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x300, &x301, x4, (arg2[0]));
5317     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x302, &x303, 0x0, x301,
5318                                                       x298);
5319     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x304, &x305, x303, x299,
5320                                                       x296);
5321     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x306, &x307, x305, x297,
5322                                                       x294);
5323     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x308, &x309, x307, x295,
5324                                                       x292);
5325     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x310, &x311, x309, x293,
5326                                                       x290);
5327     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x312, &x313, x311, x291,
5328                                                       x288);
5329     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x314, &x315, x313, x289,
5330                                                       x286);
5331     x316 = (x315 + x287);
5332     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x317, &x318, 0x0, x269,
5333                                                       x300);
5334     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x319, &x320, x318, x271,
5335                                                       x302);
5336     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x321, &x322, x320, x273,
5337                                                       x304);
5338     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x323, &x324, x322, x275,
5339                                                       x306);
5340     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x325, &x326, x324, x277,
5341                                                       x308);
5342     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x327, &x328, x326, x279,
5343                                                       x310);
5344     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x329, &x330, x328, x281,
5345                                                       x312);
5346     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x331, &x332, x330, x283,
5347                                                       x314);
5348     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x333, &x334, x332, x285,
5349                                                       x316);
5350     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x335, &x336, x317,
5351                                                  UINT32_C(0x883b2b2f));
5352     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x337, &x338, x335,
5353                                                  UINT32_C(0x80000000));
5354     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x339, &x340, x335,
5355                                                  UINT16_C(0x431));
5356     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x341, &x342, 0x0, x317,
5357                                                       x339);
5358     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x343, &x344, x342, x319,
5359                                                       x340);
5360     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x345, &x346, x344, x321,
5361                                                       0x0);
5362     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x347, &x348, x346, x323,
5363                                                       0x0);
5364     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x349, &x350, x348, x325,
5365                                                       0x0);
5366     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x351, &x352, x350, x327,
5367                                                       0x0);
5368     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x353, &x354, x352, x329,
5369                                                       0x0);
5370     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x355, &x356, x354, x331,
5371                                                       x337);
5372     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x357, &x358, x356, x333,
5373                                                       x338);
5374     x359 = ((uint32_t)x358 + x334);
5375     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x360, &x361, x5, (arg2[7]));
5376     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x362, &x363, x5, (arg2[6]));
5377     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x364, &x365, x5, (arg2[5]));
5378     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x366, &x367, x5, (arg2[4]));
5379     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x368, &x369, x5, (arg2[3]));
5380     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x370, &x371, x5, (arg2[2]));
5381     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x372, &x373, x5, (arg2[1]));
5382     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x374, &x375, x5, (arg2[0]));
5383     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x376, &x377, 0x0, x375,
5384                                                       x372);
5385     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x378, &x379, x377, x373,
5386                                                       x370);
5387     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x380, &x381, x379, x371,
5388                                                       x368);
5389     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x382, &x383, x381, x369,
5390                                                       x366);
5391     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x384, &x385, x383, x367,
5392                                                       x364);
5393     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x386, &x387, x385, x365,
5394                                                       x362);
5395     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x388, &x389, x387, x363,
5396                                                       x360);
5397     x390 = (x389 + x361);
5398     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x391, &x392, 0x0, x343,
5399                                                       x374);
5400     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x393, &x394, x392, x345,
5401                                                       x376);
5402     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x395, &x396, x394, x347,
5403                                                       x378);
5404     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x397, &x398, x396, x349,
5405                                                       x380);
5406     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x399, &x400, x398, x351,
5407                                                       x382);
5408     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x401, &x402, x400, x353,
5409                                                       x384);
5410     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x403, &x404, x402, x355,
5411                                                       x386);
5412     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x405, &x406, x404, x357,
5413                                                       x388);
5414     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x407, &x408, x406, x359,
5415                                                       x390);
5416     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x409, &x410, x391,
5417                                                  UINT32_C(0x883b2b2f));
5418     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x411, &x412, x409,
5419                                                  UINT32_C(0x80000000));
5420     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x413, &x414, x409,
5421                                                  UINT16_C(0x431));
5422     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x415, &x416, 0x0, x391,
5423                                                       x413);
5424     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x417, &x418, x416, x393,
5425                                                       x414);
5426     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x419, &x420, x418, x395,
5427                                                       0x0);
5428     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x421, &x422, x420, x397,
5429                                                       0x0);
5430     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x423, &x424, x422, x399,
5431                                                       0x0);
5432     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x425, &x426, x424, x401,
5433                                                       0x0);
5434     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x427, &x428, x426, x403,
5435                                                       0x0);
5436     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x429, &x430, x428, x405,
5437                                                       x411);
5438     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x431, &x432, x430, x407,
5439                                                       x412);
5440     x433 = ((uint32_t)x432 + x408);
5441     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x434, &x435, x6, (arg2[7]));
5442     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x436, &x437, x6, (arg2[6]));
5443     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x438, &x439, x6, (arg2[5]));
5444     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x440, &x441, x6, (arg2[4]));
5445     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x442, &x443, x6, (arg2[3]));
5446     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x444, &x445, x6, (arg2[2]));
5447     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x446, &x447, x6, (arg2[1]));
5448     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x448, &x449, x6, (arg2[0]));
5449     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x450, &x451, 0x0, x449,
5450                                                       x446);
5451     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x452, &x453, x451, x447,
5452                                                       x444);
5453     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x454, &x455, x453, x445,
5454                                                       x442);
5455     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x456, &x457, x455, x443,
5456                                                       x440);
5457     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x458, &x459, x457, x441,
5458                                                       x438);
5459     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x460, &x461, x459, x439,
5460                                                       x436);
5461     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x462, &x463, x461, x437,
5462                                                       x434);
5463     x464 = (x463 + x435);
5464     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x465, &x466, 0x0, x417,
5465                                                       x448);
5466     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x467, &x468, x466, x419,
5467                                                       x450);
5468     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x469, &x470, x468, x421,
5469                                                       x452);
5470     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x471, &x472, x470, x423,
5471                                                       x454);
5472     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x473, &x474, x472, x425,
5473                                                       x456);
5474     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x475, &x476, x474, x427,
5475                                                       x458);
5476     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x477, &x478, x476, x429,
5477                                                       x460);
5478     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x479, &x480, x478, x431,
5479                                                       x462);
5480     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x481, &x482, x480, x433,
5481                                                       x464);
5482     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x483, &x484, x465,
5483                                                  UINT32_C(0x883b2b2f));
5484     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x485, &x486, x483,
5485                                                  UINT32_C(0x80000000));
5486     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x487, &x488, x483,
5487                                                  UINT16_C(0x431));
5488     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x489, &x490, 0x0, x465,
5489                                                       x487);
5490     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x491, &x492, x490, x467,
5491                                                       x488);
5492     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x493, &x494, x492, x469,
5493                                                       0x0);
5494     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x495, &x496, x494, x471,
5495                                                       0x0);
5496     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x497, &x498, x496, x473,
5497                                                       0x0);
5498     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x499, &x500, x498, x475,
5499                                                       0x0);
5500     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x501, &x502, x500, x477,
5501                                                       0x0);
5502     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x503, &x504, x502, x479,
5503                                                       x485);
5504     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x505, &x506, x504, x481,
5505                                                       x486);
5506     x507 = ((uint32_t)x506 + x482);
5507     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x508, &x509, x7, (arg2[7]));
5508     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x510, &x511, x7, (arg2[6]));
5509     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x512, &x513, x7, (arg2[5]));
5510     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x514, &x515, x7, (arg2[4]));
5511     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x516, &x517, x7, (arg2[3]));
5512     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x518, &x519, x7, (arg2[2]));
5513     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x520, &x521, x7, (arg2[1]));
5514     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x522, &x523, x7, (arg2[0]));
5515     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x524, &x525, 0x0, x523,
5516                                                       x520);
5517     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x526, &x527, x525, x521,
5518                                                       x518);
5519     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x528, &x529, x527, x519,
5520                                                       x516);
5521     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x530, &x531, x529, x517,
5522                                                       x514);
5523     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x532, &x533, x531, x515,
5524                                                       x512);
5525     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x534, &x535, x533, x513,
5526                                                       x510);
5527     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x536, &x537, x535, x511,
5528                                                       x508);
5529     x538 = (x537 + x509);
5530     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x539, &x540, 0x0, x491,
5531                                                       x522);
5532     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x541, &x542, x540, x493,
5533                                                       x524);
5534     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x543, &x544, x542, x495,
5535                                                       x526);
5536     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x545, &x546, x544, x497,
5537                                                       x528);
5538     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x547, &x548, x546, x499,
5539                                                       x530);
5540     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x549, &x550, x548, x501,
5541                                                       x532);
5542     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x551, &x552, x550, x503,
5543                                                       x534);
5544     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x553, &x554, x552, x505,
5545                                                       x536);
5546     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x555, &x556, x554, x507,
5547                                                       x538);
5548     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x557, &x558, x539,
5549                                                  UINT32_C(0x883b2b2f));
5550     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x559, &x560, x557,
5551                                                  UINT32_C(0x80000000));
5552     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x561, &x562, x557,
5553                                                  UINT16_C(0x431));
5554     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x563, &x564, 0x0, x539,
5555                                                       x561);
5556     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x565, &x566, x564, x541,
5557                                                       x562);
5558     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x567, &x568, x566, x543,
5559                                                       0x0);
5560     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x569, &x570, x568, x545,
5561                                                       0x0);
5562     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x571, &x572, x570, x547,
5563                                                       0x0);
5564     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x573, &x574, x572, x549,
5565                                                       0x0);
5566     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x575, &x576, x574, x551,
5567                                                       0x0);
5568     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x577, &x578, x576, x553,
5569                                                       x559);
5570     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x579, &x580, x578, x555,
5571                                                       x560);
5572     x581 = ((uint32_t)x580 + x556);
5573     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x582, &x583, 0x0, x565,
5574                                                        UINT16_C(0x431));
5575     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x584, &x585, x583, x567,
5576                                                        0x0);
5577     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x586, &x587, x585, x569,
5578                                                        0x0);
5579     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x588, &x589, x587, x571,
5580                                                        0x0);
5581     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x590, &x591, x589, x573,
5582                                                        0x0);
5583     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x592, &x593, x591, x575,
5584                                                        0x0);
5585     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x594, &x595, x593, x577,
5586                                                        0x0);
5587     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x596, &x597, x595, x579,
5588                                                        UINT32_C(0x80000000));
5589     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x598, &x599, x597, x581,
5590                                                        0x0);
5591     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x600, x599, x582, x565);
5592     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x601, x599, x584, x567);
5593     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x602, x599, x586, x569);
5594     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x603, x599, x588, x571);
5595     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x604, x599, x590, x573);
5596     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x605, x599, x592, x575);
5597     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x606, x599, x594, x577);
5598     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x607, x599, x596, x579);
5599     out1[0] = x600;
5600     out1[1] = x601;
5601     out1[2] = x602;
5602     out1[3] = x603;
5603     out1[4] = x604;
5604     out1[5] = x605;
5605     out1[6] = x606;
5606     out1[7] = x607;
5607 }
5608
5609 /*
5610  * The function fiat_id_GostR3410_2001_TestParamSet_square squares a field element in the Montgomery domain.
5611  * Preconditions:
5612  *   0 ≤ eval arg1 < m
5613  * Postconditions:
5614  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
5615  *   0 ≤ eval out1 < m
5616  *
5617  * Input Bounds:
5618  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5619  * Output Bounds:
5620  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5621  */
5622 static void fiat_id_GostR3410_2001_TestParamSet_square(uint32_t out1[8],
5623                                                        const uint32_t arg1[8]) {
5624     uint32_t x1;
5625     uint32_t x2;
5626     uint32_t x3;
5627     uint32_t x4;
5628     uint32_t x5;
5629     uint32_t x6;
5630     uint32_t x7;
5631     uint32_t x8;
5632     uint32_t x9;
5633     uint32_t x10;
5634     uint32_t x11;
5635     uint32_t x12;
5636     uint32_t x13;
5637     uint32_t x14;
5638     uint32_t x15;
5639     uint32_t x16;
5640     uint32_t x17;
5641     uint32_t x18;
5642     uint32_t x19;
5643     uint32_t x20;
5644     uint32_t x21;
5645     uint32_t x22;
5646     uint32_t x23;
5647     uint32_t x24;
5648     uint32_t x25;
5649     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
5650     uint32_t x27;
5651     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
5652     uint32_t x29;
5653     fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
5654     uint32_t x31;
5655     fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
5656     uint32_t x33;
5657     fiat_id_GostR3410_2001_TestParamSet_uint1 x34;
5658     uint32_t x35;
5659     fiat_id_GostR3410_2001_TestParamSet_uint1 x36;
5660     uint32_t x37;
5661     fiat_id_GostR3410_2001_TestParamSet_uint1 x38;
5662     uint32_t x39;
5663     uint32_t x40;
5664     uint32_t x41;
5665     uint32_t x42;
5666     uint32_t x43;
5667     uint32_t x44;
5668     uint32_t x45;
5669     uint32_t x46;
5670     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
5671     uint32_t x48;
5672     fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
5673     uint32_t x50;
5674     fiat_id_GostR3410_2001_TestParamSet_uint1 x51;
5675     uint32_t x52;
5676     fiat_id_GostR3410_2001_TestParamSet_uint1 x53;
5677     uint32_t x54;
5678     fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
5679     uint32_t x56;
5680     fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
5681     uint32_t x58;
5682     fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
5683     uint32_t x60;
5684     fiat_id_GostR3410_2001_TestParamSet_uint1 x61;
5685     uint32_t x62;
5686     fiat_id_GostR3410_2001_TestParamSet_uint1 x63;
5687     uint32_t x64;
5688     uint32_t x65;
5689     uint32_t x66;
5690     uint32_t x67;
5691     uint32_t x68;
5692     uint32_t x69;
5693     uint32_t x70;
5694     uint32_t x71;
5695     uint32_t x72;
5696     uint32_t x73;
5697     uint32_t x74;
5698     uint32_t x75;
5699     uint32_t x76;
5700     uint32_t x77;
5701     uint32_t x78;
5702     uint32_t x79;
5703     uint32_t x80;
5704     fiat_id_GostR3410_2001_TestParamSet_uint1 x81;
5705     uint32_t x82;
5706     fiat_id_GostR3410_2001_TestParamSet_uint1 x83;
5707     uint32_t x84;
5708     fiat_id_GostR3410_2001_TestParamSet_uint1 x85;
5709     uint32_t x86;
5710     fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
5711     uint32_t x88;
5712     fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
5713     uint32_t x90;
5714     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
5715     uint32_t x92;
5716     fiat_id_GostR3410_2001_TestParamSet_uint1 x93;
5717     uint32_t x94;
5718     uint32_t x95;
5719     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
5720     uint32_t x97;
5721     fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
5722     uint32_t x99;
5723     fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
5724     uint32_t x101;
5725     fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
5726     uint32_t x103;
5727     fiat_id_GostR3410_2001_TestParamSet_uint1 x104;
5728     uint32_t x105;
5729     fiat_id_GostR3410_2001_TestParamSet_uint1 x106;
5730     uint32_t x107;
5731     fiat_id_GostR3410_2001_TestParamSet_uint1 x108;
5732     uint32_t x109;
5733     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
5734     uint32_t x111;
5735     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
5736     uint32_t x113;
5737     uint32_t x114;
5738     uint32_t x115;
5739     uint32_t x116;
5740     uint32_t x117;
5741     uint32_t x118;
5742     uint32_t x119;
5743     fiat_id_GostR3410_2001_TestParamSet_uint1 x120;
5744     uint32_t x121;
5745     fiat_id_GostR3410_2001_TestParamSet_uint1 x122;
5746     uint32_t x123;
5747     fiat_id_GostR3410_2001_TestParamSet_uint1 x124;
5748     uint32_t x125;
5749     fiat_id_GostR3410_2001_TestParamSet_uint1 x126;
5750     uint32_t x127;
5751     fiat_id_GostR3410_2001_TestParamSet_uint1 x128;
5752     uint32_t x129;
5753     fiat_id_GostR3410_2001_TestParamSet_uint1 x130;
5754     uint32_t x131;
5755     fiat_id_GostR3410_2001_TestParamSet_uint1 x132;
5756     uint32_t x133;
5757     fiat_id_GostR3410_2001_TestParamSet_uint1 x134;
5758     uint32_t x135;
5759     fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
5760     uint32_t x137;
5761     uint32_t x138;
5762     uint32_t x139;
5763     uint32_t x140;
5764     uint32_t x141;
5765     uint32_t x142;
5766     uint32_t x143;
5767     uint32_t x144;
5768     uint32_t x145;
5769     uint32_t x146;
5770     uint32_t x147;
5771     uint32_t x148;
5772     uint32_t x149;
5773     uint32_t x150;
5774     uint32_t x151;
5775     uint32_t x152;
5776     uint32_t x153;
5777     uint32_t x154;
5778     fiat_id_GostR3410_2001_TestParamSet_uint1 x155;
5779     uint32_t x156;
5780     fiat_id_GostR3410_2001_TestParamSet_uint1 x157;
5781     uint32_t x158;
5782     fiat_id_GostR3410_2001_TestParamSet_uint1 x159;
5783     uint32_t x160;
5784     fiat_id_GostR3410_2001_TestParamSet_uint1 x161;
5785     uint32_t x162;
5786     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
5787     uint32_t x164;
5788     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
5789     uint32_t x166;
5790     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
5791     uint32_t x168;
5792     uint32_t x169;
5793     fiat_id_GostR3410_2001_TestParamSet_uint1 x170;
5794     uint32_t x171;
5795     fiat_id_GostR3410_2001_TestParamSet_uint1 x172;
5796     uint32_t x173;
5797     fiat_id_GostR3410_2001_TestParamSet_uint1 x174;
5798     uint32_t x175;
5799     fiat_id_GostR3410_2001_TestParamSet_uint1 x176;
5800     uint32_t x177;
5801     fiat_id_GostR3410_2001_TestParamSet_uint1 x178;
5802     uint32_t x179;
5803     fiat_id_GostR3410_2001_TestParamSet_uint1 x180;
5804     uint32_t x181;
5805     fiat_id_GostR3410_2001_TestParamSet_uint1 x182;
5806     uint32_t x183;
5807     fiat_id_GostR3410_2001_TestParamSet_uint1 x184;
5808     uint32_t x185;
5809     fiat_id_GostR3410_2001_TestParamSet_uint1 x186;
5810     uint32_t x187;
5811     uint32_t x188;
5812     uint32_t x189;
5813     uint32_t x190;
5814     uint32_t x191;
5815     uint32_t x192;
5816     uint32_t x193;
5817     fiat_id_GostR3410_2001_TestParamSet_uint1 x194;
5818     uint32_t x195;
5819     fiat_id_GostR3410_2001_TestParamSet_uint1 x196;
5820     uint32_t x197;
5821     fiat_id_GostR3410_2001_TestParamSet_uint1 x198;
5822     uint32_t x199;
5823     fiat_id_GostR3410_2001_TestParamSet_uint1 x200;
5824     uint32_t x201;
5825     fiat_id_GostR3410_2001_TestParamSet_uint1 x202;
5826     uint32_t x203;
5827     fiat_id_GostR3410_2001_TestParamSet_uint1 x204;
5828     uint32_t x205;
5829     fiat_id_GostR3410_2001_TestParamSet_uint1 x206;
5830     uint32_t x207;
5831     fiat_id_GostR3410_2001_TestParamSet_uint1 x208;
5832     uint32_t x209;
5833     fiat_id_GostR3410_2001_TestParamSet_uint1 x210;
5834     uint32_t x211;
5835     uint32_t x212;
5836     uint32_t x213;
5837     uint32_t x214;
5838     uint32_t x215;
5839     uint32_t x216;
5840     uint32_t x217;
5841     uint32_t x218;
5842     uint32_t x219;
5843     uint32_t x220;
5844     uint32_t x221;
5845     uint32_t x222;
5846     uint32_t x223;
5847     uint32_t x224;
5848     uint32_t x225;
5849     uint32_t x226;
5850     uint32_t x227;
5851     uint32_t x228;
5852     fiat_id_GostR3410_2001_TestParamSet_uint1 x229;
5853     uint32_t x230;
5854     fiat_id_GostR3410_2001_TestParamSet_uint1 x231;
5855     uint32_t x232;
5856     fiat_id_GostR3410_2001_TestParamSet_uint1 x233;
5857     uint32_t x234;
5858     fiat_id_GostR3410_2001_TestParamSet_uint1 x235;
5859     uint32_t x236;
5860     fiat_id_GostR3410_2001_TestParamSet_uint1 x237;
5861     uint32_t x238;
5862     fiat_id_GostR3410_2001_TestParamSet_uint1 x239;
5863     uint32_t x240;
5864     fiat_id_GostR3410_2001_TestParamSet_uint1 x241;
5865     uint32_t x242;
5866     uint32_t x243;
5867     fiat_id_GostR3410_2001_TestParamSet_uint1 x244;
5868     uint32_t x245;
5869     fiat_id_GostR3410_2001_TestParamSet_uint1 x246;
5870     uint32_t x247;
5871     fiat_id_GostR3410_2001_TestParamSet_uint1 x248;
5872     uint32_t x249;
5873     fiat_id_GostR3410_2001_TestParamSet_uint1 x250;
5874     uint32_t x251;
5875     fiat_id_GostR3410_2001_TestParamSet_uint1 x252;
5876     uint32_t x253;
5877     fiat_id_GostR3410_2001_TestParamSet_uint1 x254;
5878     uint32_t x255;
5879     fiat_id_GostR3410_2001_TestParamSet_uint1 x256;
5880     uint32_t x257;
5881     fiat_id_GostR3410_2001_TestParamSet_uint1 x258;
5882     uint32_t x259;
5883     fiat_id_GostR3410_2001_TestParamSet_uint1 x260;
5884     uint32_t x261;
5885     uint32_t x262;
5886     uint32_t x263;
5887     uint32_t x264;
5888     uint32_t x265;
5889     uint32_t x266;
5890     uint32_t x267;
5891     fiat_id_GostR3410_2001_TestParamSet_uint1 x268;
5892     uint32_t x269;
5893     fiat_id_GostR3410_2001_TestParamSet_uint1 x270;
5894     uint32_t x271;
5895     fiat_id_GostR3410_2001_TestParamSet_uint1 x272;
5896     uint32_t x273;
5897     fiat_id_GostR3410_2001_TestParamSet_uint1 x274;
5898     uint32_t x275;
5899     fiat_id_GostR3410_2001_TestParamSet_uint1 x276;
5900     uint32_t x277;
5901     fiat_id_GostR3410_2001_TestParamSet_uint1 x278;
5902     uint32_t x279;
5903     fiat_id_GostR3410_2001_TestParamSet_uint1 x280;
5904     uint32_t x281;
5905     fiat_id_GostR3410_2001_TestParamSet_uint1 x282;
5906     uint32_t x283;
5907     fiat_id_GostR3410_2001_TestParamSet_uint1 x284;
5908     uint32_t x285;
5909     uint32_t x286;
5910     uint32_t x287;
5911     uint32_t x288;
5912     uint32_t x289;
5913     uint32_t x290;
5914     uint32_t x291;
5915     uint32_t x292;
5916     uint32_t x293;
5917     uint32_t x294;
5918     uint32_t x295;
5919     uint32_t x296;
5920     uint32_t x297;
5921     uint32_t x298;
5922     uint32_t x299;
5923     uint32_t x300;
5924     uint32_t x301;
5925     uint32_t x302;
5926     fiat_id_GostR3410_2001_TestParamSet_uint1 x303;
5927     uint32_t x304;
5928     fiat_id_GostR3410_2001_TestParamSet_uint1 x305;
5929     uint32_t x306;
5930     fiat_id_GostR3410_2001_TestParamSet_uint1 x307;
5931     uint32_t x308;
5932     fiat_id_GostR3410_2001_TestParamSet_uint1 x309;
5933     uint32_t x310;
5934     fiat_id_GostR3410_2001_TestParamSet_uint1 x311;
5935     uint32_t x312;
5936     fiat_id_GostR3410_2001_TestParamSet_uint1 x313;
5937     uint32_t x314;
5938     fiat_id_GostR3410_2001_TestParamSet_uint1 x315;
5939     uint32_t x316;
5940     uint32_t x317;
5941     fiat_id_GostR3410_2001_TestParamSet_uint1 x318;
5942     uint32_t x319;
5943     fiat_id_GostR3410_2001_TestParamSet_uint1 x320;
5944     uint32_t x321;
5945     fiat_id_GostR3410_2001_TestParamSet_uint1 x322;
5946     uint32_t x323;
5947     fiat_id_GostR3410_2001_TestParamSet_uint1 x324;
5948     uint32_t x325;
5949     fiat_id_GostR3410_2001_TestParamSet_uint1 x326;
5950     uint32_t x327;
5951     fiat_id_GostR3410_2001_TestParamSet_uint1 x328;
5952     uint32_t x329;
5953     fiat_id_GostR3410_2001_TestParamSet_uint1 x330;
5954     uint32_t x331;
5955     fiat_id_GostR3410_2001_TestParamSet_uint1 x332;
5956     uint32_t x333;
5957     fiat_id_GostR3410_2001_TestParamSet_uint1 x334;
5958     uint32_t x335;
5959     uint32_t x336;
5960     uint32_t x337;
5961     uint32_t x338;
5962     uint32_t x339;
5963     uint32_t x340;
5964     uint32_t x341;
5965     fiat_id_GostR3410_2001_TestParamSet_uint1 x342;
5966     uint32_t x343;
5967     fiat_id_GostR3410_2001_TestParamSet_uint1 x344;
5968     uint32_t x345;
5969     fiat_id_GostR3410_2001_TestParamSet_uint1 x346;
5970     uint32_t x347;
5971     fiat_id_GostR3410_2001_TestParamSet_uint1 x348;
5972     uint32_t x349;
5973     fiat_id_GostR3410_2001_TestParamSet_uint1 x350;
5974     uint32_t x351;
5975     fiat_id_GostR3410_2001_TestParamSet_uint1 x352;
5976     uint32_t x353;
5977     fiat_id_GostR3410_2001_TestParamSet_uint1 x354;
5978     uint32_t x355;
5979     fiat_id_GostR3410_2001_TestParamSet_uint1 x356;
5980     uint32_t x357;
5981     fiat_id_GostR3410_2001_TestParamSet_uint1 x358;
5982     uint32_t x359;
5983     uint32_t x360;
5984     uint32_t x361;
5985     uint32_t x362;
5986     uint32_t x363;
5987     uint32_t x364;
5988     uint32_t x365;
5989     uint32_t x366;
5990     uint32_t x367;
5991     uint32_t x368;
5992     uint32_t x369;
5993     uint32_t x370;
5994     uint32_t x371;
5995     uint32_t x372;
5996     uint32_t x373;
5997     uint32_t x374;
5998     uint32_t x375;
5999     uint32_t x376;
6000     fiat_id_GostR3410_2001_TestParamSet_uint1 x377;
6001     uint32_t x378;
6002     fiat_id_GostR3410_2001_TestParamSet_uint1 x379;
6003     uint32_t x380;
6004     fiat_id_GostR3410_2001_TestParamSet_uint1 x381;
6005     uint32_t x382;
6006     fiat_id_GostR3410_2001_TestParamSet_uint1 x383;
6007     uint32_t x384;
6008     fiat_id_GostR3410_2001_TestParamSet_uint1 x385;
6009     uint32_t x386;
6010     fiat_id_GostR3410_2001_TestParamSet_uint1 x387;
6011     uint32_t x388;
6012     fiat_id_GostR3410_2001_TestParamSet_uint1 x389;
6013     uint32_t x390;
6014     uint32_t x391;
6015     fiat_id_GostR3410_2001_TestParamSet_uint1 x392;
6016     uint32_t x393;
6017     fiat_id_GostR3410_2001_TestParamSet_uint1 x394;
6018     uint32_t x395;
6019     fiat_id_GostR3410_2001_TestParamSet_uint1 x396;
6020     uint32_t x397;
6021     fiat_id_GostR3410_2001_TestParamSet_uint1 x398;
6022     uint32_t x399;
6023     fiat_id_GostR3410_2001_TestParamSet_uint1 x400;
6024     uint32_t x401;
6025     fiat_id_GostR3410_2001_TestParamSet_uint1 x402;
6026     uint32_t x403;
6027     fiat_id_GostR3410_2001_TestParamSet_uint1 x404;
6028     uint32_t x405;
6029     fiat_id_GostR3410_2001_TestParamSet_uint1 x406;
6030     uint32_t x407;
6031     fiat_id_GostR3410_2001_TestParamSet_uint1 x408;
6032     uint32_t x409;
6033     uint32_t x410;
6034     uint32_t x411;
6035     uint32_t x412;
6036     uint32_t x413;
6037     uint32_t x414;
6038     uint32_t x415;
6039     fiat_id_GostR3410_2001_TestParamSet_uint1 x416;
6040     uint32_t x417;
6041     fiat_id_GostR3410_2001_TestParamSet_uint1 x418;
6042     uint32_t x419;
6043     fiat_id_GostR3410_2001_TestParamSet_uint1 x420;
6044     uint32_t x421;
6045     fiat_id_GostR3410_2001_TestParamSet_uint1 x422;
6046     uint32_t x423;
6047     fiat_id_GostR3410_2001_TestParamSet_uint1 x424;
6048     uint32_t x425;
6049     fiat_id_GostR3410_2001_TestParamSet_uint1 x426;
6050     uint32_t x427;
6051     fiat_id_GostR3410_2001_TestParamSet_uint1 x428;
6052     uint32_t x429;
6053     fiat_id_GostR3410_2001_TestParamSet_uint1 x430;
6054     uint32_t x431;
6055     fiat_id_GostR3410_2001_TestParamSet_uint1 x432;
6056     uint32_t x433;
6057     uint32_t x434;
6058     uint32_t x435;
6059     uint32_t x436;
6060     uint32_t x437;
6061     uint32_t x438;
6062     uint32_t x439;
6063     uint32_t x440;
6064     uint32_t x441;
6065     uint32_t x442;
6066     uint32_t x443;
6067     uint32_t x444;
6068     uint32_t x445;
6069     uint32_t x446;
6070     uint32_t x447;
6071     uint32_t x448;
6072     uint32_t x449;
6073     uint32_t x450;
6074     fiat_id_GostR3410_2001_TestParamSet_uint1 x451;
6075     uint32_t x452;
6076     fiat_id_GostR3410_2001_TestParamSet_uint1 x453;
6077     uint32_t x454;
6078     fiat_id_GostR3410_2001_TestParamSet_uint1 x455;
6079     uint32_t x456;
6080     fiat_id_GostR3410_2001_TestParamSet_uint1 x457;
6081     uint32_t x458;
6082     fiat_id_GostR3410_2001_TestParamSet_uint1 x459;
6083     uint32_t x460;
6084     fiat_id_GostR3410_2001_TestParamSet_uint1 x461;
6085     uint32_t x462;
6086     fiat_id_GostR3410_2001_TestParamSet_uint1 x463;
6087     uint32_t x464;
6088     uint32_t x465;
6089     fiat_id_GostR3410_2001_TestParamSet_uint1 x466;
6090     uint32_t x467;
6091     fiat_id_GostR3410_2001_TestParamSet_uint1 x468;
6092     uint32_t x469;
6093     fiat_id_GostR3410_2001_TestParamSet_uint1 x470;
6094     uint32_t x471;
6095     fiat_id_GostR3410_2001_TestParamSet_uint1 x472;
6096     uint32_t x473;
6097     fiat_id_GostR3410_2001_TestParamSet_uint1 x474;
6098     uint32_t x475;
6099     fiat_id_GostR3410_2001_TestParamSet_uint1 x476;
6100     uint32_t x477;
6101     fiat_id_GostR3410_2001_TestParamSet_uint1 x478;
6102     uint32_t x479;
6103     fiat_id_GostR3410_2001_TestParamSet_uint1 x480;
6104     uint32_t x481;
6105     fiat_id_GostR3410_2001_TestParamSet_uint1 x482;
6106     uint32_t x483;
6107     uint32_t x484;
6108     uint32_t x485;
6109     uint32_t x486;
6110     uint32_t x487;
6111     uint32_t x488;
6112     uint32_t x489;
6113     fiat_id_GostR3410_2001_TestParamSet_uint1 x490;
6114     uint32_t x491;
6115     fiat_id_GostR3410_2001_TestParamSet_uint1 x492;
6116     uint32_t x493;
6117     fiat_id_GostR3410_2001_TestParamSet_uint1 x494;
6118     uint32_t x495;
6119     fiat_id_GostR3410_2001_TestParamSet_uint1 x496;
6120     uint32_t x497;
6121     fiat_id_GostR3410_2001_TestParamSet_uint1 x498;
6122     uint32_t x499;
6123     fiat_id_GostR3410_2001_TestParamSet_uint1 x500;
6124     uint32_t x501;
6125     fiat_id_GostR3410_2001_TestParamSet_uint1 x502;
6126     uint32_t x503;
6127     fiat_id_GostR3410_2001_TestParamSet_uint1 x504;
6128     uint32_t x505;
6129     fiat_id_GostR3410_2001_TestParamSet_uint1 x506;
6130     uint32_t x507;
6131     uint32_t x508;
6132     uint32_t x509;
6133     uint32_t x510;
6134     uint32_t x511;
6135     uint32_t x512;
6136     uint32_t x513;
6137     uint32_t x514;
6138     uint32_t x515;
6139     uint32_t x516;
6140     uint32_t x517;
6141     uint32_t x518;
6142     uint32_t x519;
6143     uint32_t x520;
6144     uint32_t x521;
6145     uint32_t x522;
6146     uint32_t x523;
6147     uint32_t x524;
6148     fiat_id_GostR3410_2001_TestParamSet_uint1 x525;
6149     uint32_t x526;
6150     fiat_id_GostR3410_2001_TestParamSet_uint1 x527;
6151     uint32_t x528;
6152     fiat_id_GostR3410_2001_TestParamSet_uint1 x529;
6153     uint32_t x530;
6154     fiat_id_GostR3410_2001_TestParamSet_uint1 x531;
6155     uint32_t x532;
6156     fiat_id_GostR3410_2001_TestParamSet_uint1 x533;
6157     uint32_t x534;
6158     fiat_id_GostR3410_2001_TestParamSet_uint1 x535;
6159     uint32_t x536;
6160     fiat_id_GostR3410_2001_TestParamSet_uint1 x537;
6161     uint32_t x538;
6162     uint32_t x539;
6163     fiat_id_GostR3410_2001_TestParamSet_uint1 x540;
6164     uint32_t x541;
6165     fiat_id_GostR3410_2001_TestParamSet_uint1 x542;
6166     uint32_t x543;
6167     fiat_id_GostR3410_2001_TestParamSet_uint1 x544;
6168     uint32_t x545;
6169     fiat_id_GostR3410_2001_TestParamSet_uint1 x546;
6170     uint32_t x547;
6171     fiat_id_GostR3410_2001_TestParamSet_uint1 x548;
6172     uint32_t x549;
6173     fiat_id_GostR3410_2001_TestParamSet_uint1 x550;
6174     uint32_t x551;
6175     fiat_id_GostR3410_2001_TestParamSet_uint1 x552;
6176     uint32_t x553;
6177     fiat_id_GostR3410_2001_TestParamSet_uint1 x554;
6178     uint32_t x555;
6179     fiat_id_GostR3410_2001_TestParamSet_uint1 x556;
6180     uint32_t x557;
6181     uint32_t x558;
6182     uint32_t x559;
6183     uint32_t x560;
6184     uint32_t x561;
6185     uint32_t x562;
6186     uint32_t x563;
6187     fiat_id_GostR3410_2001_TestParamSet_uint1 x564;
6188     uint32_t x565;
6189     fiat_id_GostR3410_2001_TestParamSet_uint1 x566;
6190     uint32_t x567;
6191     fiat_id_GostR3410_2001_TestParamSet_uint1 x568;
6192     uint32_t x569;
6193     fiat_id_GostR3410_2001_TestParamSet_uint1 x570;
6194     uint32_t x571;
6195     fiat_id_GostR3410_2001_TestParamSet_uint1 x572;
6196     uint32_t x573;
6197     fiat_id_GostR3410_2001_TestParamSet_uint1 x574;
6198     uint32_t x575;
6199     fiat_id_GostR3410_2001_TestParamSet_uint1 x576;
6200     uint32_t x577;
6201     fiat_id_GostR3410_2001_TestParamSet_uint1 x578;
6202     uint32_t x579;
6203     fiat_id_GostR3410_2001_TestParamSet_uint1 x580;
6204     uint32_t x581;
6205     uint32_t x582;
6206     fiat_id_GostR3410_2001_TestParamSet_uint1 x583;
6207     uint32_t x584;
6208     fiat_id_GostR3410_2001_TestParamSet_uint1 x585;
6209     uint32_t x586;
6210     fiat_id_GostR3410_2001_TestParamSet_uint1 x587;
6211     uint32_t x588;
6212     fiat_id_GostR3410_2001_TestParamSet_uint1 x589;
6213     uint32_t x590;
6214     fiat_id_GostR3410_2001_TestParamSet_uint1 x591;
6215     uint32_t x592;
6216     fiat_id_GostR3410_2001_TestParamSet_uint1 x593;
6217     uint32_t x594;
6218     fiat_id_GostR3410_2001_TestParamSet_uint1 x595;
6219     uint32_t x596;
6220     fiat_id_GostR3410_2001_TestParamSet_uint1 x597;
6221     uint32_t x598;
6222     fiat_id_GostR3410_2001_TestParamSet_uint1 x599;
6223     uint32_t x600;
6224     uint32_t x601;
6225     uint32_t x602;
6226     uint32_t x603;
6227     uint32_t x604;
6228     uint32_t x605;
6229     uint32_t x606;
6230     uint32_t x607;
6231     x1 = (arg1[1]);
6232     x2 = (arg1[2]);
6233     x3 = (arg1[3]);
6234     x4 = (arg1[4]);
6235     x5 = (arg1[5]);
6236     x6 = (arg1[6]);
6237     x7 = (arg1[7]);
6238     x8 = (arg1[0]);
6239     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x9, &x10, x8, (arg1[7]));
6240     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x11, &x12, x8, (arg1[6]));
6241     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x13, &x14, x8, (arg1[5]));
6242     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x15, &x16, x8, (arg1[4]));
6243     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x17, &x18, x8, (arg1[3]));
6244     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x19, &x20, x8, (arg1[2]));
6245     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x21, &x22, x8, (arg1[1]));
6246     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x23, &x24, x8, (arg1[0]));
6247     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x25, &x26, 0x0, x24,
6248                                                       x21);
6249     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x27, &x28, x26, x22,
6250                                                       x19);
6251     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x29, &x30, x28, x20,
6252                                                       x17);
6253     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x31, &x32, x30, x18,
6254                                                       x15);
6255     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x33, &x34, x32, x16,
6256                                                       x13);
6257     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x35, &x36, x34, x14,
6258                                                       x11);
6259     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x37, &x38, x36, x12, x9);
6260     x39 = (x38 + x10);
6261     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x40, &x41, x23,
6262                                                  UINT32_C(0x883b2b2f));
6263     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x42, &x43, x40,
6264                                                  UINT32_C(0x80000000));
6265     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x44, &x45, x40,
6266                                                  UINT16_C(0x431));
6267     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x46, &x47, 0x0, x23,
6268                                                       x44);
6269     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x48, &x49, x47, x25,
6270                                                       x45);
6271     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x50, &x51, x49, x27,
6272                                                       0x0);
6273     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x52, &x53, x51, x29,
6274                                                       0x0);
6275     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x54, &x55, x53, x31,
6276                                                       0x0);
6277     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x56, &x57, x55, x33,
6278                                                       0x0);
6279     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x58, &x59, x57, x35,
6280                                                       0x0);
6281     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x60, &x61, x59, x37,
6282                                                       x42);
6283     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x62, &x63, x61, x39,
6284                                                       x43);
6285     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x64, &x65, x1, (arg1[7]));
6286     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x66, &x67, x1, (arg1[6]));
6287     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x68, &x69, x1, (arg1[5]));
6288     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x70, &x71, x1, (arg1[4]));
6289     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x72, &x73, x1, (arg1[3]));
6290     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x74, &x75, x1, (arg1[2]));
6291     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x76, &x77, x1, (arg1[1]));
6292     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x78, &x79, x1, (arg1[0]));
6293     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x80, &x81, 0x0, x79,
6294                                                       x76);
6295     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x82, &x83, x81, x77,
6296                                                       x74);
6297     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x84, &x85, x83, x75,
6298                                                       x72);
6299     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x86, &x87, x85, x73,
6300                                                       x70);
6301     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x88, &x89, x87, x71,
6302                                                       x68);
6303     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x90, &x91, x89, x69,
6304                                                       x66);
6305     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x92, &x93, x91, x67,
6306                                                       x64);
6307     x94 = (x93 + x65);
6308     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x95, &x96, 0x0, x48,
6309                                                       x78);
6310     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x97, &x98, x96, x50,
6311                                                       x80);
6312     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x99, &x100, x98, x52,
6313                                                       x82);
6314     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x101, &x102, x100, x54,
6315                                                       x84);
6316     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x103, &x104, x102, x56,
6317                                                       x86);
6318     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x105, &x106, x104, x58,
6319                                                       x88);
6320     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x107, &x108, x106, x60,
6321                                                       x90);
6322     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x109, &x110, x108, x62,
6323                                                       x92);
6324     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x111, &x112, x110, x63,
6325                                                       x94);
6326     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x113, &x114, x95,
6327                                                  UINT32_C(0x883b2b2f));
6328     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x115, &x116, x113,
6329                                                  UINT32_C(0x80000000));
6330     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x117, &x118, x113,
6331                                                  UINT16_C(0x431));
6332     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x119, &x120, 0x0, x95,
6333                                                       x117);
6334     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x121, &x122, x120, x97,
6335                                                       x118);
6336     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x123, &x124, x122, x99,
6337                                                       0x0);
6338     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x125, &x126, x124, x101,
6339                                                       0x0);
6340     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x127, &x128, x126, x103,
6341                                                       0x0);
6342     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x129, &x130, x128, x105,
6343                                                       0x0);
6344     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x131, &x132, x130, x107,
6345                                                       0x0);
6346     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x133, &x134, x132, x109,
6347                                                       x115);
6348     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x135, &x136, x134, x111,
6349                                                       x116);
6350     x137 = ((uint32_t)x136 + x112);
6351     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x138, &x139, x2, (arg1[7]));
6352     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x140, &x141, x2, (arg1[6]));
6353     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x142, &x143, x2, (arg1[5]));
6354     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x144, &x145, x2, (arg1[4]));
6355     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x146, &x147, x2, (arg1[3]));
6356     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x148, &x149, x2, (arg1[2]));
6357     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x150, &x151, x2, (arg1[1]));
6358     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x152, &x153, x2, (arg1[0]));
6359     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x154, &x155, 0x0, x153,
6360                                                       x150);
6361     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x156, &x157, x155, x151,
6362                                                       x148);
6363     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x158, &x159, x157, x149,
6364                                                       x146);
6365     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x160, &x161, x159, x147,
6366                                                       x144);
6367     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x162, &x163, x161, x145,
6368                                                       x142);
6369     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x164, &x165, x163, x143,
6370                                                       x140);
6371     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x166, &x167, x165, x141,
6372                                                       x138);
6373     x168 = (x167 + x139);
6374     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x169, &x170, 0x0, x121,
6375                                                       x152);
6376     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x171, &x172, x170, x123,
6377                                                       x154);
6378     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x173, &x174, x172, x125,
6379                                                       x156);
6380     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x175, &x176, x174, x127,
6381                                                       x158);
6382     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x177, &x178, x176, x129,
6383                                                       x160);
6384     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x179, &x180, x178, x131,
6385                                                       x162);
6386     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x181, &x182, x180, x133,
6387                                                       x164);
6388     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x183, &x184, x182, x135,
6389                                                       x166);
6390     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x185, &x186, x184, x137,
6391                                                       x168);
6392     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x187, &x188, x169,
6393                                                  UINT32_C(0x883b2b2f));
6394     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x189, &x190, x187,
6395                                                  UINT32_C(0x80000000));
6396     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x191, &x192, x187,
6397                                                  UINT16_C(0x431));
6398     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x193, &x194, 0x0, x169,
6399                                                       x191);
6400     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x195, &x196, x194, x171,
6401                                                       x192);
6402     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x197, &x198, x196, x173,
6403                                                       0x0);
6404     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x199, &x200, x198, x175,
6405                                                       0x0);
6406     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x201, &x202, x200, x177,
6407                                                       0x0);
6408     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x203, &x204, x202, x179,
6409                                                       0x0);
6410     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x205, &x206, x204, x181,
6411                                                       0x0);
6412     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x207, &x208, x206, x183,
6413                                                       x189);
6414     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x209, &x210, x208, x185,
6415                                                       x190);
6416     x211 = ((uint32_t)x210 + x186);
6417     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x212, &x213, x3, (arg1[7]));
6418     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x214, &x215, x3, (arg1[6]));
6419     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x216, &x217, x3, (arg1[5]));
6420     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x218, &x219, x3, (arg1[4]));
6421     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x220, &x221, x3, (arg1[3]));
6422     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x222, &x223, x3, (arg1[2]));
6423     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x224, &x225, x3, (arg1[1]));
6424     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x226, &x227, x3, (arg1[0]));
6425     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x228, &x229, 0x0, x227,
6426                                                       x224);
6427     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x230, &x231, x229, x225,
6428                                                       x222);
6429     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x232, &x233, x231, x223,
6430                                                       x220);
6431     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x234, &x235, x233, x221,
6432                                                       x218);
6433     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x236, &x237, x235, x219,
6434                                                       x216);
6435     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x238, &x239, x237, x217,
6436                                                       x214);
6437     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x240, &x241, x239, x215,
6438                                                       x212);
6439     x242 = (x241 + x213);
6440     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x243, &x244, 0x0, x195,
6441                                                       x226);
6442     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x245, &x246, x244, x197,
6443                                                       x228);
6444     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x247, &x248, x246, x199,
6445                                                       x230);
6446     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x249, &x250, x248, x201,
6447                                                       x232);
6448     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x251, &x252, x250, x203,
6449                                                       x234);
6450     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x253, &x254, x252, x205,
6451                                                       x236);
6452     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x255, &x256, x254, x207,
6453                                                       x238);
6454     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x257, &x258, x256, x209,
6455                                                       x240);
6456     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x259, &x260, x258, x211,
6457                                                       x242);
6458     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x261, &x262, x243,
6459                                                  UINT32_C(0x883b2b2f));
6460     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x263, &x264, x261,
6461                                                  UINT32_C(0x80000000));
6462     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x265, &x266, x261,
6463                                                  UINT16_C(0x431));
6464     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x267, &x268, 0x0, x243,
6465                                                       x265);
6466     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x269, &x270, x268, x245,
6467                                                       x266);
6468     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x271, &x272, x270, x247,
6469                                                       0x0);
6470     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x273, &x274, x272, x249,
6471                                                       0x0);
6472     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x275, &x276, x274, x251,
6473                                                       0x0);
6474     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x277, &x278, x276, x253,
6475                                                       0x0);
6476     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x279, &x280, x278, x255,
6477                                                       0x0);
6478     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x281, &x282, x280, x257,
6479                                                       x263);
6480     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x283, &x284, x282, x259,
6481                                                       x264);
6482     x285 = ((uint32_t)x284 + x260);
6483     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x286, &x287, x4, (arg1[7]));
6484     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x288, &x289, x4, (arg1[6]));
6485     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x290, &x291, x4, (arg1[5]));
6486     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x292, &x293, x4, (arg1[4]));
6487     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x294, &x295, x4, (arg1[3]));
6488     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x296, &x297, x4, (arg1[2]));
6489     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x298, &x299, x4, (arg1[1]));
6490     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x300, &x301, x4, (arg1[0]));
6491     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x302, &x303, 0x0, x301,
6492                                                       x298);
6493     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x304, &x305, x303, x299,
6494                                                       x296);
6495     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x306, &x307, x305, x297,
6496                                                       x294);
6497     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x308, &x309, x307, x295,
6498                                                       x292);
6499     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x310, &x311, x309, x293,
6500                                                       x290);
6501     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x312, &x313, x311, x291,
6502                                                       x288);
6503     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x314, &x315, x313, x289,
6504                                                       x286);
6505     x316 = (x315 + x287);
6506     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x317, &x318, 0x0, x269,
6507                                                       x300);
6508     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x319, &x320, x318, x271,
6509                                                       x302);
6510     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x321, &x322, x320, x273,
6511                                                       x304);
6512     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x323, &x324, x322, x275,
6513                                                       x306);
6514     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x325, &x326, x324, x277,
6515                                                       x308);
6516     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x327, &x328, x326, x279,
6517                                                       x310);
6518     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x329, &x330, x328, x281,
6519                                                       x312);
6520     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x331, &x332, x330, x283,
6521                                                       x314);
6522     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x333, &x334, x332, x285,
6523                                                       x316);
6524     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x335, &x336, x317,
6525                                                  UINT32_C(0x883b2b2f));
6526     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x337, &x338, x335,
6527                                                  UINT32_C(0x80000000));
6528     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x339, &x340, x335,
6529                                                  UINT16_C(0x431));
6530     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x341, &x342, 0x0, x317,
6531                                                       x339);
6532     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x343, &x344, x342, x319,
6533                                                       x340);
6534     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x345, &x346, x344, x321,
6535                                                       0x0);
6536     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x347, &x348, x346, x323,
6537                                                       0x0);
6538     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x349, &x350, x348, x325,
6539                                                       0x0);
6540     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x351, &x352, x350, x327,
6541                                                       0x0);
6542     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x353, &x354, x352, x329,
6543                                                       0x0);
6544     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x355, &x356, x354, x331,
6545                                                       x337);
6546     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x357, &x358, x356, x333,
6547                                                       x338);
6548     x359 = ((uint32_t)x358 + x334);
6549     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x360, &x361, x5, (arg1[7]));
6550     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x362, &x363, x5, (arg1[6]));
6551     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x364, &x365, x5, (arg1[5]));
6552     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x366, &x367, x5, (arg1[4]));
6553     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x368, &x369, x5, (arg1[3]));
6554     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x370, &x371, x5, (arg1[2]));
6555     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x372, &x373, x5, (arg1[1]));
6556     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x374, &x375, x5, (arg1[0]));
6557     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x376, &x377, 0x0, x375,
6558                                                       x372);
6559     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x378, &x379, x377, x373,
6560                                                       x370);
6561     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x380, &x381, x379, x371,
6562                                                       x368);
6563     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x382, &x383, x381, x369,
6564                                                       x366);
6565     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x384, &x385, x383, x367,
6566                                                       x364);
6567     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x386, &x387, x385, x365,
6568                                                       x362);
6569     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x388, &x389, x387, x363,
6570                                                       x360);
6571     x390 = (x389 + x361);
6572     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x391, &x392, 0x0, x343,
6573                                                       x374);
6574     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x393, &x394, x392, x345,
6575                                                       x376);
6576     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x395, &x396, x394, x347,
6577                                                       x378);
6578     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x397, &x398, x396, x349,
6579                                                       x380);
6580     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x399, &x400, x398, x351,
6581                                                       x382);
6582     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x401, &x402, x400, x353,
6583                                                       x384);
6584     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x403, &x404, x402, x355,
6585                                                       x386);
6586     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x405, &x406, x404, x357,
6587                                                       x388);
6588     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x407, &x408, x406, x359,
6589                                                       x390);
6590     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x409, &x410, x391,
6591                                                  UINT32_C(0x883b2b2f));
6592     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x411, &x412, x409,
6593                                                  UINT32_C(0x80000000));
6594     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x413, &x414, x409,
6595                                                  UINT16_C(0x431));
6596     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x415, &x416, 0x0, x391,
6597                                                       x413);
6598     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x417, &x418, x416, x393,
6599                                                       x414);
6600     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x419, &x420, x418, x395,
6601                                                       0x0);
6602     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x421, &x422, x420, x397,
6603                                                       0x0);
6604     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x423, &x424, x422, x399,
6605                                                       0x0);
6606     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x425, &x426, x424, x401,
6607                                                       0x0);
6608     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x427, &x428, x426, x403,
6609                                                       0x0);
6610     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x429, &x430, x428, x405,
6611                                                       x411);
6612     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x431, &x432, x430, x407,
6613                                                       x412);
6614     x433 = ((uint32_t)x432 + x408);
6615     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x434, &x435, x6, (arg1[7]));
6616     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x436, &x437, x6, (arg1[6]));
6617     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x438, &x439, x6, (arg1[5]));
6618     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x440, &x441, x6, (arg1[4]));
6619     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x442, &x443, x6, (arg1[3]));
6620     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x444, &x445, x6, (arg1[2]));
6621     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x446, &x447, x6, (arg1[1]));
6622     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x448, &x449, x6, (arg1[0]));
6623     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x450, &x451, 0x0, x449,
6624                                                       x446);
6625     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x452, &x453, x451, x447,
6626                                                       x444);
6627     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x454, &x455, x453, x445,
6628                                                       x442);
6629     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x456, &x457, x455, x443,
6630                                                       x440);
6631     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x458, &x459, x457, x441,
6632                                                       x438);
6633     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x460, &x461, x459, x439,
6634                                                       x436);
6635     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x462, &x463, x461, x437,
6636                                                       x434);
6637     x464 = (x463 + x435);
6638     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x465, &x466, 0x0, x417,
6639                                                       x448);
6640     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x467, &x468, x466, x419,
6641                                                       x450);
6642     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x469, &x470, x468, x421,
6643                                                       x452);
6644     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x471, &x472, x470, x423,
6645                                                       x454);
6646     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x473, &x474, x472, x425,
6647                                                       x456);
6648     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x475, &x476, x474, x427,
6649                                                       x458);
6650     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x477, &x478, x476, x429,
6651                                                       x460);
6652     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x479, &x480, x478, x431,
6653                                                       x462);
6654     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x481, &x482, x480, x433,
6655                                                       x464);
6656     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x483, &x484, x465,
6657                                                  UINT32_C(0x883b2b2f));
6658     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x485, &x486, x483,
6659                                                  UINT32_C(0x80000000));
6660     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x487, &x488, x483,
6661                                                  UINT16_C(0x431));
6662     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x489, &x490, 0x0, x465,
6663                                                       x487);
6664     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x491, &x492, x490, x467,
6665                                                       x488);
6666     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x493, &x494, x492, x469,
6667                                                       0x0);
6668     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x495, &x496, x494, x471,
6669                                                       0x0);
6670     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x497, &x498, x496, x473,
6671                                                       0x0);
6672     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x499, &x500, x498, x475,
6673                                                       0x0);
6674     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x501, &x502, x500, x477,
6675                                                       0x0);
6676     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x503, &x504, x502, x479,
6677                                                       x485);
6678     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x505, &x506, x504, x481,
6679                                                       x486);
6680     x507 = ((uint32_t)x506 + x482);
6681     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x508, &x509, x7, (arg1[7]));
6682     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x510, &x511, x7, (arg1[6]));
6683     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x512, &x513, x7, (arg1[5]));
6684     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x514, &x515, x7, (arg1[4]));
6685     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x516, &x517, x7, (arg1[3]));
6686     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x518, &x519, x7, (arg1[2]));
6687     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x520, &x521, x7, (arg1[1]));
6688     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x522, &x523, x7, (arg1[0]));
6689     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x524, &x525, 0x0, x523,
6690                                                       x520);
6691     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x526, &x527, x525, x521,
6692                                                       x518);
6693     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x528, &x529, x527, x519,
6694                                                       x516);
6695     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x530, &x531, x529, x517,
6696                                                       x514);
6697     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x532, &x533, x531, x515,
6698                                                       x512);
6699     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x534, &x535, x533, x513,
6700                                                       x510);
6701     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x536, &x537, x535, x511,
6702                                                       x508);
6703     x538 = (x537 + x509);
6704     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x539, &x540, 0x0, x491,
6705                                                       x522);
6706     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x541, &x542, x540, x493,
6707                                                       x524);
6708     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x543, &x544, x542, x495,
6709                                                       x526);
6710     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x545, &x546, x544, x497,
6711                                                       x528);
6712     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x547, &x548, x546, x499,
6713                                                       x530);
6714     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x549, &x550, x548, x501,
6715                                                       x532);
6716     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x551, &x552, x550, x503,
6717                                                       x534);
6718     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x553, &x554, x552, x505,
6719                                                       x536);
6720     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x555, &x556, x554, x507,
6721                                                       x538);
6722     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x557, &x558, x539,
6723                                                  UINT32_C(0x883b2b2f));
6724     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x559, &x560, x557,
6725                                                  UINT32_C(0x80000000));
6726     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x561, &x562, x557,
6727                                                  UINT16_C(0x431));
6728     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x563, &x564, 0x0, x539,
6729                                                       x561);
6730     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x565, &x566, x564, x541,
6731                                                       x562);
6732     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x567, &x568, x566, x543,
6733                                                       0x0);
6734     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x569, &x570, x568, x545,
6735                                                       0x0);
6736     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x571, &x572, x570, x547,
6737                                                       0x0);
6738     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x573, &x574, x572, x549,
6739                                                       0x0);
6740     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x575, &x576, x574, x551,
6741                                                       0x0);
6742     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x577, &x578, x576, x553,
6743                                                       x559);
6744     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x579, &x580, x578, x555,
6745                                                       x560);
6746     x581 = ((uint32_t)x580 + x556);
6747     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x582, &x583, 0x0, x565,
6748                                                        UINT16_C(0x431));
6749     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x584, &x585, x583, x567,
6750                                                        0x0);
6751     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x586, &x587, x585, x569,
6752                                                        0x0);
6753     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x588, &x589, x587, x571,
6754                                                        0x0);
6755     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x590, &x591, x589, x573,
6756                                                        0x0);
6757     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x592, &x593, x591, x575,
6758                                                        0x0);
6759     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x594, &x595, x593, x577,
6760                                                        0x0);
6761     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x596, &x597, x595, x579,
6762                                                        UINT32_C(0x80000000));
6763     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x598, &x599, x597, x581,
6764                                                        0x0);
6765     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x600, x599, x582, x565);
6766     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x601, x599, x584, x567);
6767     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x602, x599, x586, x569);
6768     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x603, x599, x588, x571);
6769     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x604, x599, x590, x573);
6770     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x605, x599, x592, x575);
6771     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x606, x599, x594, x577);
6772     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x607, x599, x596, x579);
6773     out1[0] = x600;
6774     out1[1] = x601;
6775     out1[2] = x602;
6776     out1[3] = x603;
6777     out1[4] = x604;
6778     out1[5] = x605;
6779     out1[6] = x606;
6780     out1[7] = x607;
6781 }
6782
6783 /*
6784  * The function fiat_id_GostR3410_2001_TestParamSet_add adds two field elements in the Montgomery domain.
6785  * Preconditions:
6786  *   0 ≤ eval arg1 < m
6787  *   0 ≤ eval arg2 < m
6788  * Postconditions:
6789  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
6790  *   0 ≤ eval out1 < m
6791  *
6792  * Input Bounds:
6793  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6794  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6795  * Output Bounds:
6796  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6797  */
6798 static void fiat_id_GostR3410_2001_TestParamSet_add(uint32_t out1[8],
6799                                                     const uint32_t arg1[8],
6800                                                     const uint32_t arg2[8]) {
6801     uint32_t x1;
6802     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
6803     uint32_t x3;
6804     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
6805     uint32_t x5;
6806     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
6807     uint32_t x7;
6808     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
6809     uint32_t x9;
6810     fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
6811     uint32_t x11;
6812     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
6813     uint32_t x13;
6814     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
6815     uint32_t x15;
6816     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
6817     uint32_t x17;
6818     fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
6819     uint32_t x19;
6820     fiat_id_GostR3410_2001_TestParamSet_uint1 x20;
6821     uint32_t x21;
6822     fiat_id_GostR3410_2001_TestParamSet_uint1 x22;
6823     uint32_t x23;
6824     fiat_id_GostR3410_2001_TestParamSet_uint1 x24;
6825     uint32_t x25;
6826     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
6827     uint32_t x27;
6828     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
6829     uint32_t x29;
6830     fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
6831     uint32_t x31;
6832     fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
6833     uint32_t x33;
6834     fiat_id_GostR3410_2001_TestParamSet_uint1 x34;
6835     uint32_t x35;
6836     uint32_t x36;
6837     uint32_t x37;
6838     uint32_t x38;
6839     uint32_t x39;
6840     uint32_t x40;
6841     uint32_t x41;
6842     uint32_t x42;
6843     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x1, &x2, 0x0, (arg1[0]),
6844                                                       (arg2[0]));
6845     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x3, &x4, x2, (arg1[1]),
6846                                                       (arg2[1]));
6847     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x5, &x6, x4, (arg1[2]),
6848                                                       (arg2[2]));
6849     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x7, &x8, x6, (arg1[3]),
6850                                                       (arg2[3]));
6851     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x9, &x10, x8, (arg1[4]),
6852                                                       (arg2[4]));
6853     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x11, &x12, x10,
6854                                                       (arg1[5]), (arg2[5]));
6855     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x13, &x14, x12,
6856                                                       (arg1[6]), (arg2[6]));
6857     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x15, &x16, x14,
6858                                                       (arg1[7]), (arg2[7]));
6859     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x17, &x18, 0x0, x1,
6860                                                        UINT16_C(0x431));
6861     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x19, &x20, x18, x3,
6862                                                        0x0);
6863     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x21, &x22, x20, x5,
6864                                                        0x0);
6865     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x23, &x24, x22, x7,
6866                                                        0x0);
6867     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x25, &x26, x24, x9,
6868                                                        0x0);
6869     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x27, &x28, x26, x11,
6870                                                        0x0);
6871     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x29, &x30, x28, x13,
6872                                                        0x0);
6873     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x31, &x32, x30, x15,
6874                                                        UINT32_C(0x80000000));
6875     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x33, &x34, x32, x16,
6876                                                        0x0);
6877     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x35, x34, x17, x1);
6878     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x36, x34, x19, x3);
6879     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x37, x34, x21, x5);
6880     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x38, x34, x23, x7);
6881     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x39, x34, x25, x9);
6882     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x40, x34, x27, x11);
6883     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x41, x34, x29, x13);
6884     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x42, x34, x31, x15);
6885     out1[0] = x35;
6886     out1[1] = x36;
6887     out1[2] = x37;
6888     out1[3] = x38;
6889     out1[4] = x39;
6890     out1[5] = x40;
6891     out1[6] = x41;
6892     out1[7] = x42;
6893 }
6894
6895 /*
6896  * The function fiat_id_GostR3410_2001_TestParamSet_sub subtracts two field elements in the Montgomery domain.
6897  * Preconditions:
6898  *   0 ≤ eval arg1 < m
6899  *   0 ≤ eval arg2 < m
6900  * Postconditions:
6901  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
6902  *   0 ≤ eval out1 < m
6903  *
6904  * Input Bounds:
6905  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6906  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6907  * Output Bounds:
6908  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6909  */
6910 static void fiat_id_GostR3410_2001_TestParamSet_sub(uint32_t out1[8],
6911                                                     const uint32_t arg1[8],
6912                                                     const uint32_t arg2[8]) {
6913     uint32_t x1;
6914     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
6915     uint32_t x3;
6916     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
6917     uint32_t x5;
6918     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
6919     uint32_t x7;
6920     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
6921     uint32_t x9;
6922     fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
6923     uint32_t x11;
6924     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
6925     uint32_t x13;
6926     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
6927     uint32_t x15;
6928     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
6929     uint32_t x17;
6930     uint32_t x18;
6931     fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
6932     uint32_t x20;
6933     fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
6934     uint32_t x22;
6935     fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
6936     uint32_t x24;
6937     fiat_id_GostR3410_2001_TestParamSet_uint1 x25;
6938     uint32_t x26;
6939     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
6940     uint32_t x28;
6941     fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
6942     uint32_t x30;
6943     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
6944     uint32_t x32;
6945     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
6946     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x1, &x2, 0x0, (arg1[0]),
6947                                                        (arg2[0]));
6948     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x3, &x4, x2, (arg1[1]),
6949                                                        (arg2[1]));
6950     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x5, &x6, x4, (arg1[2]),
6951                                                        (arg2[2]));
6952     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x7, &x8, x6, (arg1[3]),
6953                                                        (arg2[3]));
6954     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x9, &x10, x8, (arg1[4]),
6955                                                        (arg2[4]));
6956     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x11, &x12, x10,
6957                                                        (arg1[5]), (arg2[5]));
6958     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x13, &x14, x12,
6959                                                        (arg1[6]), (arg2[6]));
6960     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x15, &x16, x14,
6961                                                        (arg1[7]), (arg2[7]));
6962     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x17, x16, 0x0,
6963                                                     UINT32_C(0xffffffff));
6964     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x18, &x19, 0x0, x1,
6965                                                       (x17 & UINT16_C(0x431)));
6966     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x20, &x21, x19, x3, 0x0);
6967     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x22, &x23, x21, x5, 0x0);
6968     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x24, &x25, x23, x7, 0x0);
6969     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x26, &x27, x25, x9, 0x0);
6970     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x28, &x29, x27, x11,
6971                                                       0x0);
6972     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x30, &x31, x29, x13,
6973                                                       0x0);
6974     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
6975         &x32, &x33, x31, x15, (x17 & UINT32_C(0x80000000)));
6976     out1[0] = x18;
6977     out1[1] = x20;
6978     out1[2] = x22;
6979     out1[3] = x24;
6980     out1[4] = x26;
6981     out1[5] = x28;
6982     out1[6] = x30;
6983     out1[7] = x32;
6984 }
6985
6986 /*
6987  * The function fiat_id_GostR3410_2001_TestParamSet_opp negates a field element in the Montgomery domain.
6988  * Preconditions:
6989  *   0 ≤ eval arg1 < m
6990  * Postconditions:
6991  *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
6992  *   0 ≤ eval out1 < m
6993  *
6994  * Input Bounds:
6995  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6996  * Output Bounds:
6997  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6998  */
6999 static void fiat_id_GostR3410_2001_TestParamSet_opp(uint32_t out1[8],
7000                                                     const uint32_t arg1[8]) {
7001     uint32_t x1;
7002     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
7003     uint32_t x3;
7004     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
7005     uint32_t x5;
7006     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
7007     uint32_t x7;
7008     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
7009     uint32_t x9;
7010     fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
7011     uint32_t x11;
7012     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
7013     uint32_t x13;
7014     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
7015     uint32_t x15;
7016     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
7017     uint32_t x17;
7018     uint32_t x18;
7019     fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
7020     uint32_t x20;
7021     fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
7022     uint32_t x22;
7023     fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
7024     uint32_t x24;
7025     fiat_id_GostR3410_2001_TestParamSet_uint1 x25;
7026     uint32_t x26;
7027     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
7028     uint32_t x28;
7029     fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
7030     uint32_t x30;
7031     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
7032     uint32_t x32;
7033     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
7034     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x1, &x2, 0x0, 0x0,
7035                                                        (arg1[0]));
7036     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x3, &x4, x2, 0x0,
7037                                                        (arg1[1]));
7038     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x5, &x6, x4, 0x0,
7039                                                        (arg1[2]));
7040     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x7, &x8, x6, 0x0,
7041                                                        (arg1[3]));
7042     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x9, &x10, x8, 0x0,
7043                                                        (arg1[4]));
7044     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x11, &x12, x10, 0x0,
7045                                                        (arg1[5]));
7046     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x13, &x14, x12, 0x0,
7047                                                        (arg1[6]));
7048     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x15, &x16, x14, 0x0,
7049                                                        (arg1[7]));
7050     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x17, x16, 0x0,
7051                                                     UINT32_C(0xffffffff));
7052     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x18, &x19, 0x0, x1,
7053                                                       (x17 & UINT16_C(0x431)));
7054     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x20, &x21, x19, x3, 0x0);
7055     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x22, &x23, x21, x5, 0x0);
7056     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x24, &x25, x23, x7, 0x0);
7057     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x26, &x27, x25, x9, 0x0);
7058     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x28, &x29, x27, x11,
7059                                                       0x0);
7060     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x30, &x31, x29, x13,
7061                                                       0x0);
7062     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7063         &x32, &x33, x31, x15, (x17 & UINT32_C(0x80000000)));
7064     out1[0] = x18;
7065     out1[1] = x20;
7066     out1[2] = x22;
7067     out1[3] = x24;
7068     out1[4] = x26;
7069     out1[5] = x28;
7070     out1[6] = x30;
7071     out1[7] = x32;
7072 }
7073
7074 /*
7075  * The function fiat_id_GostR3410_2001_TestParamSet_from_montgomery translates a field element out of the Montgomery domain.
7076  * Preconditions:
7077  *   0 ≤ eval arg1 < m
7078  * Postconditions:
7079  *   eval out1 mod m = (eval arg1 * ((2^32)⁻¹ mod m)^8) mod m
7080  *   0 ≤ eval out1 < m
7081  *
7082  * Input Bounds:
7083  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7084  * Output Bounds:
7085  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7086  */
7087 static void fiat_id_GostR3410_2001_TestParamSet_from_montgomery(
7088     uint32_t out1[8], const uint32_t arg1[8]) {
7089     uint32_t x1;
7090     uint32_t x2;
7091     uint32_t x3;
7092     uint32_t x4;
7093     uint32_t x5;
7094     uint32_t x6;
7095     uint32_t x7;
7096     uint32_t x8;
7097     fiat_id_GostR3410_2001_TestParamSet_uint1 x9;
7098     uint32_t x10;
7099     fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
7100     uint32_t x12;
7101     uint32_t x13;
7102     uint32_t x14;
7103     uint32_t x15;
7104     uint32_t x16;
7105     uint32_t x17;
7106     uint32_t x18;
7107     fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
7108     uint32_t x20;
7109     fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
7110     uint32_t x22;
7111     fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
7112     uint32_t x24;
7113     uint32_t x25;
7114     uint32_t x26;
7115     uint32_t x27;
7116     uint32_t x28;
7117     uint32_t x29;
7118     uint32_t x30;
7119     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
7120     uint32_t x32;
7121     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
7122     uint32_t x34;
7123     fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
7124     uint32_t x36;
7125     uint32_t x37;
7126     uint32_t x38;
7127     uint32_t x39;
7128     uint32_t x40;
7129     uint32_t x41;
7130     uint32_t x42;
7131     fiat_id_GostR3410_2001_TestParamSet_uint1 x43;
7132     uint32_t x44;
7133     fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
7134     uint32_t x46;
7135     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
7136     uint32_t x48;
7137     uint32_t x49;
7138     uint32_t x50;
7139     uint32_t x51;
7140     uint32_t x52;
7141     uint32_t x53;
7142     uint32_t x54;
7143     fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
7144     uint32_t x56;
7145     fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
7146     uint32_t x58;
7147     fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
7148     uint32_t x60;
7149     uint32_t x61;
7150     uint32_t x62;
7151     uint32_t x63;
7152     uint32_t x64;
7153     uint32_t x65;
7154     uint32_t x66;
7155     fiat_id_GostR3410_2001_TestParamSet_uint1 x67;
7156     uint32_t x68;
7157     fiat_id_GostR3410_2001_TestParamSet_uint1 x69;
7158     uint32_t x70;
7159     fiat_id_GostR3410_2001_TestParamSet_uint1 x71;
7160     uint32_t x72;
7161     fiat_id_GostR3410_2001_TestParamSet_uint1 x73;
7162     uint32_t x74;
7163     fiat_id_GostR3410_2001_TestParamSet_uint1 x75;
7164     uint32_t x76;
7165     fiat_id_GostR3410_2001_TestParamSet_uint1 x77;
7166     uint32_t x78;
7167     fiat_id_GostR3410_2001_TestParamSet_uint1 x79;
7168     uint32_t x80;
7169     fiat_id_GostR3410_2001_TestParamSet_uint1 x81;
7170     uint32_t x82;
7171     fiat_id_GostR3410_2001_TestParamSet_uint1 x83;
7172     uint32_t x84;
7173     uint32_t x85;
7174     uint32_t x86;
7175     uint32_t x87;
7176     uint32_t x88;
7177     uint32_t x89;
7178     uint32_t x90;
7179     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
7180     uint32_t x92;
7181     fiat_id_GostR3410_2001_TestParamSet_uint1 x93;
7182     uint32_t x94;
7183     fiat_id_GostR3410_2001_TestParamSet_uint1 x95;
7184     uint32_t x96;
7185     fiat_id_GostR3410_2001_TestParamSet_uint1 x97;
7186     uint32_t x98;
7187     fiat_id_GostR3410_2001_TestParamSet_uint1 x99;
7188     uint32_t x100;
7189     fiat_id_GostR3410_2001_TestParamSet_uint1 x101;
7190     uint32_t x102;
7191     fiat_id_GostR3410_2001_TestParamSet_uint1 x103;
7192     uint32_t x104;
7193     fiat_id_GostR3410_2001_TestParamSet_uint1 x105;
7194     uint32_t x106;
7195     fiat_id_GostR3410_2001_TestParamSet_uint1 x107;
7196     uint32_t x108;
7197     fiat_id_GostR3410_2001_TestParamSet_uint1 x109;
7198     uint32_t x110;
7199     fiat_id_GostR3410_2001_TestParamSet_uint1 x111;
7200     uint32_t x112;
7201     fiat_id_GostR3410_2001_TestParamSet_uint1 x113;
7202     uint32_t x114;
7203     fiat_id_GostR3410_2001_TestParamSet_uint1 x115;
7204     uint32_t x116;
7205     fiat_id_GostR3410_2001_TestParamSet_uint1 x117;
7206     uint32_t x118;
7207     fiat_id_GostR3410_2001_TestParamSet_uint1 x119;
7208     uint32_t x120;
7209     uint32_t x121;
7210     uint32_t x122;
7211     uint32_t x123;
7212     uint32_t x124;
7213     uint32_t x125;
7214     uint32_t x126;
7215     fiat_id_GostR3410_2001_TestParamSet_uint1 x127;
7216     uint32_t x128;
7217     fiat_id_GostR3410_2001_TestParamSet_uint1 x129;
7218     uint32_t x130;
7219     fiat_id_GostR3410_2001_TestParamSet_uint1 x131;
7220     uint32_t x132;
7221     fiat_id_GostR3410_2001_TestParamSet_uint1 x133;
7222     uint32_t x134;
7223     fiat_id_GostR3410_2001_TestParamSet_uint1 x135;
7224     uint32_t x136;
7225     fiat_id_GostR3410_2001_TestParamSet_uint1 x137;
7226     uint32_t x138;
7227     fiat_id_GostR3410_2001_TestParamSet_uint1 x139;
7228     uint32_t x140;
7229     fiat_id_GostR3410_2001_TestParamSet_uint1 x141;
7230     uint32_t x142;
7231     uint32_t x143;
7232     fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
7233     uint32_t x145;
7234     fiat_id_GostR3410_2001_TestParamSet_uint1 x146;
7235     uint32_t x147;
7236     fiat_id_GostR3410_2001_TestParamSet_uint1 x148;
7237     uint32_t x149;
7238     fiat_id_GostR3410_2001_TestParamSet_uint1 x150;
7239     uint32_t x151;
7240     fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
7241     uint32_t x153;
7242     fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
7243     uint32_t x155;
7244     fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
7245     uint32_t x157;
7246     fiat_id_GostR3410_2001_TestParamSet_uint1 x158;
7247     uint32_t x159;
7248     fiat_id_GostR3410_2001_TestParamSet_uint1 x160;
7249     uint32_t x161;
7250     uint32_t x162;
7251     uint32_t x163;
7252     uint32_t x164;
7253     uint32_t x165;
7254     uint32_t x166;
7255     uint32_t x167;
7256     uint32_t x168;
7257     x1 = (arg1[0]);
7258     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x2, &x3, x1,
7259                                                  UINT32_C(0x883b2b2f));
7260     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x4, &x5, x2,
7261                                                  UINT32_C(0x80000000));
7262     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x6, &x7, x2, UINT16_C(0x431));
7263     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x8, &x9, 0x0, x1, x6);
7264     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x10, &x11, 0x0,
7265                                                       (x9 + x7), (arg1[1]));
7266     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x12, &x13, x10,
7267                                                  UINT32_C(0x883b2b2f));
7268     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x14, &x15, x12,
7269                                                  UINT32_C(0x80000000));
7270     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x16, &x17, x12,
7271                                                  UINT16_C(0x431));
7272     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x18, &x19, 0x0, x5, x14);
7273     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x20, &x21, 0x0, x10,
7274                                                       x16);
7275     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7276         &x22, &x23, 0x0, (((uint32_t)x21 + x11) + x17), (arg1[2]));
7277     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x24, &x25, x22,
7278                                                  UINT32_C(0x883b2b2f));
7279     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x26, &x27, x24,
7280                                                  UINT32_C(0x80000000));
7281     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x28, &x29, x24,
7282                                                  UINT16_C(0x431));
7283     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x30, &x31, 0x0,
7284                                                       (x19 + x15), x26);
7285     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x32, &x33, 0x0, x22,
7286                                                       x28);
7287     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7288         &x34, &x35, 0x0, (((uint32_t)x33 + x23) + x29), (arg1[3]));
7289     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x36, &x37, x34,
7290                                                  UINT32_C(0x883b2b2f));
7291     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x38, &x39, x36,
7292                                                  UINT32_C(0x80000000));
7293     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x40, &x41, x36,
7294                                                  UINT16_C(0x431));
7295     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x42, &x43, 0x0,
7296                                                       (x31 + x27), x38);
7297     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x44, &x45, 0x0, x34,
7298                                                       x40);
7299     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7300         &x46, &x47, 0x0, (((uint32_t)x45 + x35) + x41), (arg1[4]));
7301     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x48, &x49, x46,
7302                                                  UINT32_C(0x883b2b2f));
7303     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x50, &x51, x48,
7304                                                  UINT32_C(0x80000000));
7305     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x52, &x53, x48,
7306                                                  UINT16_C(0x431));
7307     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x54, &x55, 0x0,
7308                                                       (x43 + x39), x50);
7309     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x56, &x57, 0x0, x46,
7310                                                       x52);
7311     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7312         &x58, &x59, 0x0, (((uint32_t)x57 + x47) + x53), (arg1[5]));
7313     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x60, &x61, x58,
7314                                                  UINT32_C(0x883b2b2f));
7315     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x62, &x63, x60,
7316                                                  UINT32_C(0x80000000));
7317     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x64, &x65, x60,
7318                                                  UINT16_C(0x431));
7319     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x66, &x67, 0x0,
7320                                                       (x55 + x51), x62);
7321     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x68, &x69, 0x0, x58,
7322                                                       x64);
7323     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7324         &x70, &x71, 0x0, (((uint32_t)x69 + x59) + x65), (arg1[6]));
7325     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x72, &x73, x71, x4, 0x0);
7326     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x74, &x75, x73, x18,
7327                                                       0x0);
7328     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x76, &x77, x75, x30,
7329                                                       0x0);
7330     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x78, &x79, x77, x42,
7331                                                       0x0);
7332     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x80, &x81, x79, x54,
7333                                                       0x0);
7334     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x82, &x83, x81, x66,
7335                                                       0x0);
7336     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x84, &x85, x70,
7337                                                  UINT32_C(0x883b2b2f));
7338     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x86, &x87, x84,
7339                                                  UINT32_C(0x80000000));
7340     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x88, &x89, x84,
7341                                                  UINT16_C(0x431));
7342     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x90, &x91, 0x0, x70,
7343                                                       x88);
7344     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x92, &x93, x91, x72,
7345                                                       x89);
7346     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x94, &x95, x93, x74,
7347                                                       0x0);
7348     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x96, &x97, x95, x76,
7349                                                       0x0);
7350     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x98, &x99, x97, x78,
7351                                                       0x0);
7352     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x100, &x101, x99, x80,
7353                                                       0x0);
7354     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x102, &x103, x101, x82,
7355                                                       0x0);
7356     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x104, &x105, x103,
7357                                                       (x83 + (x67 + x63)), x86);
7358     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x106, &x107, 0x0, x92,
7359                                                       (arg1[7]));
7360     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x108, &x109, x107, x94,
7361                                                       0x0);
7362     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x110, &x111, x109, x96,
7363                                                       0x0);
7364     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x112, &x113, x111, x98,
7365                                                       0x0);
7366     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x114, &x115, x113, x100,
7367                                                       0x0);
7368     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x116, &x117, x115, x102,
7369                                                       0x0);
7370     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x118, &x119, x117, x104,
7371                                                       0x0);
7372     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x120, &x121, x106,
7373                                                  UINT32_C(0x883b2b2f));
7374     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x122, &x123, x120,
7375                                                  UINT32_C(0x80000000));
7376     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x124, &x125, x120,
7377                                                  UINT16_C(0x431));
7378     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x126, &x127, 0x0, x106,
7379                                                       x124);
7380     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x128, &x129, x127, x108,
7381                                                       x125);
7382     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x130, &x131, x129, x110,
7383                                                       0x0);
7384     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x132, &x133, x131, x112,
7385                                                       0x0);
7386     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x134, &x135, x133, x114,
7387                                                       0x0);
7388     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x136, &x137, x135, x116,
7389                                                       0x0);
7390     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x138, &x139, x137, x118,
7391                                                       0x0);
7392     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7393         &x140, &x141, x139, (x119 + (x105 + x87)), x122);
7394     x142 = (x141 + x123);
7395     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x143, &x144, 0x0, x128,
7396                                                        UINT16_C(0x431));
7397     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x145, &x146, x144, x130,
7398                                                        0x0);
7399     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x147, &x148, x146, x132,
7400                                                        0x0);
7401     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x149, &x150, x148, x134,
7402                                                        0x0);
7403     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x151, &x152, x150, x136,
7404                                                        0x0);
7405     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x153, &x154, x152, x138,
7406                                                        0x0);
7407     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x155, &x156, x154, x140,
7408                                                        0x0);
7409     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x157, &x158, x156, x142,
7410                                                        UINT32_C(0x80000000));
7411     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x159, &x160, x158, 0x0,
7412                                                        0x0);
7413     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x161, x160, x143, x128);
7414     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x162, x160, x145, x130);
7415     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x163, x160, x147, x132);
7416     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x164, x160, x149, x134);
7417     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x165, x160, x151, x136);
7418     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x166, x160, x153, x138);
7419     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x167, x160, x155, x140);
7420     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x168, x160, x157, x142);
7421     out1[0] = x161;
7422     out1[1] = x162;
7423     out1[2] = x163;
7424     out1[3] = x164;
7425     out1[4] = x165;
7426     out1[5] = x166;
7427     out1[6] = x167;
7428     out1[7] = x168;
7429 }
7430
7431 /*
7432  * The function fiat_id_GostR3410_2001_TestParamSet_to_montgomery translates a field element into the Montgomery domain.
7433  * Preconditions:
7434  *   0 ≤ eval arg1 < m
7435  * Postconditions:
7436  *   eval (from_montgomery out1) mod m = eval arg1 mod m
7437  *   0 ≤ eval out1 < m
7438  *
7439  * Input Bounds:
7440  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7441  * Output Bounds:
7442  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7443  */
7444 static void fiat_id_GostR3410_2001_TestParamSet_to_montgomery(
7445     uint32_t out1[8], const uint32_t arg1[8]) {
7446     uint32_t x1;
7447     uint32_t x2;
7448     uint32_t x3;
7449     uint32_t x4;
7450     uint32_t x5;
7451     uint32_t x6;
7452     uint32_t x7;
7453     uint32_t x8;
7454     uint32_t x9;
7455     uint32_t x10;
7456     uint32_t x11;
7457     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
7458     uint32_t x13;
7459     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
7460     uint32_t x15;
7461     uint32_t x16;
7462     uint32_t x17;
7463     uint32_t x18;
7464     uint32_t x19;
7465     uint32_t x20;
7466     uint32_t x21;
7467     fiat_id_GostR3410_2001_TestParamSet_uint1 x22;
7468     uint32_t x23;
7469     uint32_t x24;
7470     uint32_t x25;
7471     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
7472     uint32_t x27;
7473     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
7474     uint32_t x29;
7475     uint32_t x30;
7476     uint32_t x31;
7477     uint32_t x32;
7478     uint32_t x33;
7479     uint32_t x34;
7480     uint32_t x35;
7481     fiat_id_GostR3410_2001_TestParamSet_uint1 x36;
7482     uint32_t x37;
7483     uint32_t x38;
7484     uint32_t x39;
7485     fiat_id_GostR3410_2001_TestParamSet_uint1 x40;
7486     uint32_t x41;
7487     fiat_id_GostR3410_2001_TestParamSet_uint1 x42;
7488     uint32_t x43;
7489     uint32_t x44;
7490     uint32_t x45;
7491     uint32_t x46;
7492     uint32_t x47;
7493     uint32_t x48;
7494     uint32_t x49;
7495     fiat_id_GostR3410_2001_TestParamSet_uint1 x50;
7496     uint32_t x51;
7497     uint32_t x52;
7498     uint32_t x53;
7499     fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
7500     uint32_t x55;
7501     fiat_id_GostR3410_2001_TestParamSet_uint1 x56;
7502     uint32_t x57;
7503     uint32_t x58;
7504     uint32_t x59;
7505     uint32_t x60;
7506     uint32_t x61;
7507     uint32_t x62;
7508     uint32_t x63;
7509     fiat_id_GostR3410_2001_TestParamSet_uint1 x64;
7510     uint32_t x65;
7511     uint32_t x66;
7512     uint32_t x67;
7513     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
7514     uint32_t x69;
7515     fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
7516     uint32_t x71;
7517     uint32_t x72;
7518     uint32_t x73;
7519     uint32_t x74;
7520     uint32_t x75;
7521     uint32_t x76;
7522     uint32_t x77;
7523     fiat_id_GostR3410_2001_TestParamSet_uint1 x78;
7524     uint32_t x79;
7525     uint32_t x80;
7526     uint32_t x81;
7527     fiat_id_GostR3410_2001_TestParamSet_uint1 x82;
7528     uint32_t x83;
7529     fiat_id_GostR3410_2001_TestParamSet_uint1 x84;
7530     uint32_t x85;
7531     fiat_id_GostR3410_2001_TestParamSet_uint1 x86;
7532     uint32_t x87;
7533     fiat_id_GostR3410_2001_TestParamSet_uint1 x88;
7534     uint32_t x89;
7535     fiat_id_GostR3410_2001_TestParamSet_uint1 x90;
7536     uint32_t x91;
7537     fiat_id_GostR3410_2001_TestParamSet_uint1 x92;
7538     uint32_t x93;
7539     fiat_id_GostR3410_2001_TestParamSet_uint1 x94;
7540     uint32_t x95;
7541     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
7542     uint32_t x97;
7543     uint32_t x98;
7544     uint32_t x99;
7545     uint32_t x100;
7546     uint32_t x101;
7547     uint32_t x102;
7548     uint32_t x103;
7549     fiat_id_GostR3410_2001_TestParamSet_uint1 x104;
7550     uint32_t x105;
7551     fiat_id_GostR3410_2001_TestParamSet_uint1 x106;
7552     uint32_t x107;
7553     fiat_id_GostR3410_2001_TestParamSet_uint1 x108;
7554     uint32_t x109;
7555     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
7556     uint32_t x111;
7557     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
7558     uint32_t x113;
7559     fiat_id_GostR3410_2001_TestParamSet_uint1 x114;
7560     uint32_t x115;
7561     fiat_id_GostR3410_2001_TestParamSet_uint1 x116;
7562     uint32_t x117;
7563     fiat_id_GostR3410_2001_TestParamSet_uint1 x118;
7564     uint32_t x119;
7565     uint32_t x120;
7566     uint32_t x121;
7567     fiat_id_GostR3410_2001_TestParamSet_uint1 x122;
7568     uint32_t x123;
7569     fiat_id_GostR3410_2001_TestParamSet_uint1 x124;
7570     uint32_t x125;
7571     fiat_id_GostR3410_2001_TestParamSet_uint1 x126;
7572     uint32_t x127;
7573     fiat_id_GostR3410_2001_TestParamSet_uint1 x128;
7574     uint32_t x129;
7575     fiat_id_GostR3410_2001_TestParamSet_uint1 x130;
7576     uint32_t x131;
7577     fiat_id_GostR3410_2001_TestParamSet_uint1 x132;
7578     uint32_t x133;
7579     fiat_id_GostR3410_2001_TestParamSet_uint1 x134;
7580     uint32_t x135;
7581     uint32_t x136;
7582     uint32_t x137;
7583     uint32_t x138;
7584     uint32_t x139;
7585     uint32_t x140;
7586     uint32_t x141;
7587     fiat_id_GostR3410_2001_TestParamSet_uint1 x142;
7588     uint32_t x143;
7589     fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
7590     uint32_t x145;
7591     fiat_id_GostR3410_2001_TestParamSet_uint1 x146;
7592     uint32_t x147;
7593     fiat_id_GostR3410_2001_TestParamSet_uint1 x148;
7594     uint32_t x149;
7595     fiat_id_GostR3410_2001_TestParamSet_uint1 x150;
7596     uint32_t x151;
7597     fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
7598     uint32_t x153;
7599     fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
7600     uint32_t x155;
7601     fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
7602     uint32_t x157;
7603     uint32_t x158;
7604     fiat_id_GostR3410_2001_TestParamSet_uint1 x159;
7605     uint32_t x160;
7606     fiat_id_GostR3410_2001_TestParamSet_uint1 x161;
7607     uint32_t x162;
7608     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
7609     uint32_t x164;
7610     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
7611     uint32_t x166;
7612     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
7613     uint32_t x168;
7614     fiat_id_GostR3410_2001_TestParamSet_uint1 x169;
7615     uint32_t x170;
7616     fiat_id_GostR3410_2001_TestParamSet_uint1 x171;
7617     uint32_t x172;
7618     fiat_id_GostR3410_2001_TestParamSet_uint1 x173;
7619     uint32_t x174;
7620     fiat_id_GostR3410_2001_TestParamSet_uint1 x175;
7621     uint32_t x176;
7622     uint32_t x177;
7623     uint32_t x178;
7624     uint32_t x179;
7625     uint32_t x180;
7626     uint32_t x181;
7627     uint32_t x182;
7628     uint32_t x183;
7629     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x1, &x2, (arg1[0]),
7630                                                  UINT32_C(0x464584));
7631     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x3, &x4, x1,
7632                                                  UINT32_C(0x883b2b2f));
7633     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x5, &x6, x3,
7634                                                  UINT32_C(0x80000000));
7635     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x7, &x8, x3, UINT16_C(0x431));
7636     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x9, &x10, (arg1[1]),
7637                                                  UINT32_C(0x464584));
7638     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x11, &x12, 0x0, x1, x7);
7639     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x13, &x14, 0x0,
7640                                                       ((x12 + x2) + x8), x9);
7641     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x15, &x16, x13,
7642                                                  UINT32_C(0x883b2b2f));
7643     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x17, &x18, x15,
7644                                                  UINT32_C(0x80000000));
7645     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x19, &x20, x15,
7646                                                  UINT16_C(0x431));
7647     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x21, &x22, 0x0, x6, x17);
7648     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x23, &x24, (arg1[2]),
7649                                                  UINT32_C(0x464584));
7650     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x25, &x26, 0x0, x13,
7651                                                       x19);
7652     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7653         &x27, &x28, 0x0, ((x26 + (x14 + x10)) + x20), x23);
7654     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x29, &x30, x27,
7655                                                  UINT32_C(0x883b2b2f));
7656     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x31, &x32, x29,
7657                                                  UINT32_C(0x80000000));
7658     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x33, &x34, x29,
7659                                                  UINT16_C(0x431));
7660     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x35, &x36, 0x0,
7661                                                       (x22 + x18), x31);
7662     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x37, &x38, (arg1[3]),
7663                                                  UINT32_C(0x464584));
7664     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x39, &x40, 0x0, x27,
7665                                                       x33);
7666     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7667         &x41, &x42, 0x0, ((x40 + (x28 + x24)) + x34), x37);
7668     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x43, &x44, x41,
7669                                                  UINT32_C(0x883b2b2f));
7670     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x45, &x46, x43,
7671                                                  UINT32_C(0x80000000));
7672     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x47, &x48, x43,
7673                                                  UINT16_C(0x431));
7674     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x49, &x50, 0x0,
7675                                                       (x36 + x32), x45);
7676     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x51, &x52, (arg1[4]),
7677                                                  UINT32_C(0x464584));
7678     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x53, &x54, 0x0, x41,
7679                                                       x47);
7680     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7681         &x55, &x56, 0x0, ((x54 + (x42 + x38)) + x48), x51);
7682     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x57, &x58, x55,
7683                                                  UINT32_C(0x883b2b2f));
7684     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x59, &x60, x57,
7685                                                  UINT32_C(0x80000000));
7686     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x61, &x62, x57,
7687                                                  UINT16_C(0x431));
7688     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x63, &x64, 0x0,
7689                                                       (x50 + x46), x59);
7690     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x65, &x66, (arg1[5]),
7691                                                  UINT32_C(0x464584));
7692     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x67, &x68, 0x0, x55,
7693                                                       x61);
7694     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7695         &x69, &x70, 0x0, ((x68 + (x56 + x52)) + x62), x65);
7696     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x71, &x72, x69,
7697                                                  UINT32_C(0x883b2b2f));
7698     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x73, &x74, x71,
7699                                                  UINT32_C(0x80000000));
7700     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x75, &x76, x71,
7701                                                  UINT16_C(0x431));
7702     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x77, &x78, 0x0,
7703                                                       (x64 + x60), x73);
7704     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x79, &x80, (arg1[6]),
7705                                                  UINT32_C(0x464584));
7706     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x81, &x82, 0x0, x69,
7707                                                       x75);
7708     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7709         &x83, &x84, 0x0, ((x82 + (x70 + x66)) + x76), x79);
7710     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x85, &x86, x84, x5, x80);
7711     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x87, &x88, x86, x21,
7712                                                       0x0);
7713     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x89, &x90, x88, x35,
7714                                                       0x0);
7715     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x91, &x92, x90, x49,
7716                                                       0x0);
7717     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x93, &x94, x92, x63,
7718                                                       0x0);
7719     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x95, &x96, x94, x77,
7720                                                       0x0);
7721     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x97, &x98, x83,
7722                                                  UINT32_C(0x883b2b2f));
7723     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x99, &x100, x97,
7724                                                  UINT32_C(0x80000000));
7725     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x101, &x102, x97,
7726                                                  UINT16_C(0x431));
7727     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x103, &x104, 0x0, x83,
7728                                                       x101);
7729     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x105, &x106, x104, x85,
7730                                                       x102);
7731     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x107, &x108, x106, x87,
7732                                                       0x0);
7733     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x109, &x110, x108, x89,
7734                                                       0x0);
7735     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x111, &x112, x110, x91,
7736                                                       0x0);
7737     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x113, &x114, x112, x93,
7738                                                       0x0);
7739     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x115, &x116, x114, x95,
7740                                                       0x0);
7741     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x117, &x118, x116,
7742                                                       (x96 + (x78 + x74)), x99);
7743     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x119, &x120, (arg1[7]),
7744                                                  UINT32_C(0x464584));
7745     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x121, &x122, 0x0, x105,
7746                                                       x119);
7747     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x123, &x124, x122, x107,
7748                                                       x120);
7749     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x125, &x126, x124, x109,
7750                                                       0x0);
7751     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x127, &x128, x126, x111,
7752                                                       0x0);
7753     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x129, &x130, x128, x113,
7754                                                       0x0);
7755     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x131, &x132, x130, x115,
7756                                                       0x0);
7757     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x133, &x134, x132, x117,
7758                                                       0x0);
7759     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x135, &x136, x121,
7760                                                  UINT32_C(0x883b2b2f));
7761     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x137, &x138, x135,
7762                                                  UINT32_C(0x80000000));
7763     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x139, &x140, x135,
7764                                                  UINT16_C(0x431));
7765     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x141, &x142, 0x0, x121,
7766                                                       x139);
7767     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x143, &x144, x142, x123,
7768                                                       x140);
7769     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x145, &x146, x144, x125,
7770                                                       0x0);
7771     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x147, &x148, x146, x127,
7772                                                       0x0);
7773     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x149, &x150, x148, x129,
7774                                                       0x0);
7775     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x151, &x152, x150, x131,
7776                                                       0x0);
7777     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x153, &x154, x152, x133,
7778                                                       0x0);
7779     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7780         &x155, &x156, x154, (x134 + (x118 + x100)), x137);
7781     x157 = (x156 + x138);
7782     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x158, &x159, 0x0, x143,
7783                                                        UINT16_C(0x431));
7784     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x160, &x161, x159, x145,
7785                                                        0x0);
7786     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x162, &x163, x161, x147,
7787                                                        0x0);
7788     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x164, &x165, x163, x149,
7789                                                        0x0);
7790     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x166, &x167, x165, x151,
7791                                                        0x0);
7792     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x168, &x169, x167, x153,
7793                                                        0x0);
7794     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x170, &x171, x169, x155,
7795                                                        0x0);
7796     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x172, &x173, x171, x157,
7797                                                        UINT32_C(0x80000000));
7798     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x174, &x175, x173, 0x0,
7799                                                        0x0);
7800     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x176, x175, x158, x143);
7801     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x177, x175, x160, x145);
7802     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x178, x175, x162, x147);
7803     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x179, x175, x164, x149);
7804     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x180, x175, x166, x151);
7805     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x181, x175, x168, x153);
7806     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x182, x175, x170, x155);
7807     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x183, x175, x172, x157);
7808     out1[0] = x176;
7809     out1[1] = x177;
7810     out1[2] = x178;
7811     out1[3] = x179;
7812     out1[4] = x180;
7813     out1[5] = x181;
7814     out1[6] = x182;
7815     out1[7] = x183;
7816 }
7817
7818 /*
7819  * The function fiat_id_GostR3410_2001_TestParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
7820  * Preconditions:
7821  *   0 ≤ eval arg1 < m
7822  * Postconditions:
7823  *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
7824  *
7825  * Input Bounds:
7826  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7827  * Output Bounds:
7828  *   out1: [0x0 ~> 0xffffffff]
7829  */
7830 static void fiat_id_GostR3410_2001_TestParamSet_nonzero(
7831     uint32_t *out1, const uint32_t arg1[8]) {
7832     uint32_t x1;
7833     x1 = ((arg1[0]) |
7834           ((arg1[1]) |
7835            ((arg1[2]) |
7836             ((arg1[3]) |
7837              ((arg1[4]) |
7838               ((arg1[5]) | ((arg1[6]) | ((arg1[7]) | (uint32_t)0x0))))))));
7839     *out1 = x1;
7840 }
7841
7842 /*
7843  * The function fiat_id_GostR3410_2001_TestParamSet_selectznz is a multi-limb conditional select.
7844  * Postconditions:
7845  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
7846  *
7847  * Input Bounds:
7848  *   arg1: [0x0 ~> 0x1]
7849  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7850  *   arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7851  * Output Bounds:
7852  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7853  */
7854 static void fiat_id_GostR3410_2001_TestParamSet_selectznz(
7855     uint32_t out1[8], fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
7856     const uint32_t arg2[8], const uint32_t arg3[8]) {
7857     uint32_t x1;
7858     uint32_t x2;
7859     uint32_t x3;
7860     uint32_t x4;
7861     uint32_t x5;
7862     uint32_t x6;
7863     uint32_t x7;
7864     uint32_t x8;
7865     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x1, arg1, (arg2[0]),
7866                                                     (arg3[0]));
7867     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x2, arg1, (arg2[1]),
7868                                                     (arg3[1]));
7869     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x3, arg1, (arg2[2]),
7870                                                     (arg3[2]));
7871     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x4, arg1, (arg2[3]),
7872                                                     (arg3[3]));
7873     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x5, arg1, (arg2[4]),
7874                                                     (arg3[4]));
7875     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x6, arg1, (arg2[5]),
7876                                                     (arg3[5]));
7877     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x7, arg1, (arg2[6]),
7878                                                     (arg3[6]));
7879     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x8, arg1, (arg2[7]),
7880                                                     (arg3[7]));
7881     out1[0] = x1;
7882     out1[1] = x2;
7883     out1[2] = x3;
7884     out1[3] = x4;
7885     out1[4] = x5;
7886     out1[5] = x6;
7887     out1[6] = x7;
7888     out1[7] = x8;
7889 }
7890
7891 /*
7892  * The function fiat_id_GostR3410_2001_TestParamSet_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
7893  * Preconditions:
7894  *   0 ≤ eval arg1 < m
7895  * Postconditions:
7896  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
7897  *
7898  * Input Bounds:
7899  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7900  * Output Bounds:
7901  *   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]]
7902  */
7903 static void fiat_id_GostR3410_2001_TestParamSet_to_bytes(
7904     uint8_t out1[32], const uint32_t arg1[8]) {
7905     uint32_t x1;
7906     uint32_t x2;
7907     uint32_t x3;
7908     uint32_t x4;
7909     uint32_t x5;
7910     uint32_t x6;
7911     uint32_t x7;
7912     uint32_t x8;
7913     uint32_t x9;
7914     uint8_t x10;
7915     uint32_t x11;
7916     uint8_t x12;
7917     uint8_t x13;
7918     uint8_t x14;
7919     uint8_t x15;
7920     uint32_t x16;
7921     uint8_t x17;
7922     uint32_t x18;
7923     uint8_t x19;
7924     uint8_t x20;
7925     uint8_t x21;
7926     uint8_t x22;
7927     uint32_t x23;
7928     uint8_t x24;
7929     uint32_t x25;
7930     uint8_t x26;
7931     uint8_t x27;
7932     uint8_t x28;
7933     uint8_t x29;
7934     uint32_t x30;
7935     uint8_t x31;
7936     uint32_t x32;
7937     uint8_t x33;
7938     uint8_t x34;
7939     uint8_t x35;
7940     uint8_t x36;
7941     uint32_t x37;
7942     uint8_t x38;
7943     uint32_t x39;
7944     uint8_t x40;
7945     uint8_t x41;
7946     uint8_t x42;
7947     uint8_t x43;
7948     uint32_t x44;
7949     uint8_t x45;
7950     uint32_t x46;
7951     uint8_t x47;
7952     uint8_t x48;
7953     uint8_t x49;
7954     uint8_t x50;
7955     uint32_t x51;
7956     uint8_t x52;
7957     uint32_t x53;
7958     uint8_t x54;
7959     uint8_t x55;
7960     uint8_t x56;
7961     uint8_t x57;
7962     uint32_t x58;
7963     uint8_t x59;
7964     uint32_t x60;
7965     uint8_t x61;
7966     uint8_t x62;
7967     uint8_t x63;
7968     x1 = (arg1[7]);
7969     x2 = (arg1[6]);
7970     x3 = (arg1[5]);
7971     x4 = (arg1[4]);
7972     x5 = (arg1[3]);
7973     x6 = (arg1[2]);
7974     x7 = (arg1[1]);
7975     x8 = (arg1[0]);
7976     x9 = (x8 >> 8);
7977     x10 = (uint8_t)(x8 & UINT8_C(0xff));
7978     x11 = (x9 >> 8);
7979     x12 = (uint8_t)(x9 & UINT8_C(0xff));
7980     x13 = (uint8_t)(x11 >> 8);
7981     x14 = (uint8_t)(x11 & UINT8_C(0xff));
7982     x15 = (uint8_t)(x13 & UINT8_C(0xff));
7983     x16 = (x7 >> 8);
7984     x17 = (uint8_t)(x7 & UINT8_C(0xff));
7985     x18 = (x16 >> 8);
7986     x19 = (uint8_t)(x16 & UINT8_C(0xff));
7987     x20 = (uint8_t)(x18 >> 8);
7988     x21 = (uint8_t)(x18 & UINT8_C(0xff));
7989     x22 = (uint8_t)(x20 & UINT8_C(0xff));
7990     x23 = (x6 >> 8);
7991     x24 = (uint8_t)(x6 & UINT8_C(0xff));
7992     x25 = (x23 >> 8);
7993     x26 = (uint8_t)(x23 & UINT8_C(0xff));
7994     x27 = (uint8_t)(x25 >> 8);
7995     x28 = (uint8_t)(x25 & UINT8_C(0xff));
7996     x29 = (uint8_t)(x27 & UINT8_C(0xff));
7997     x30 = (x5 >> 8);
7998     x31 = (uint8_t)(x5 & UINT8_C(0xff));
7999     x32 = (x30 >> 8);
8000     x33 = (uint8_t)(x30 & UINT8_C(0xff));
8001     x34 = (uint8_t)(x32 >> 8);
8002     x35 = (uint8_t)(x32 & UINT8_C(0xff));
8003     x36 = (uint8_t)(x34 & UINT8_C(0xff));
8004     x37 = (x4 >> 8);
8005     x38 = (uint8_t)(x4 & UINT8_C(0xff));
8006     x39 = (x37 >> 8);
8007     x40 = (uint8_t)(x37 & UINT8_C(0xff));
8008     x41 = (uint8_t)(x39 >> 8);
8009     x42 = (uint8_t)(x39 & UINT8_C(0xff));
8010     x43 = (uint8_t)(x41 & UINT8_C(0xff));
8011     x44 = (x3 >> 8);
8012     x45 = (uint8_t)(x3 & UINT8_C(0xff));
8013     x46 = (x44 >> 8);
8014     x47 = (uint8_t)(x44 & UINT8_C(0xff));
8015     x48 = (uint8_t)(x46 >> 8);
8016     x49 = (uint8_t)(x46 & UINT8_C(0xff));
8017     x50 = (uint8_t)(x48 & UINT8_C(0xff));
8018     x51 = (x2 >> 8);
8019     x52 = (uint8_t)(x2 & UINT8_C(0xff));
8020     x53 = (x51 >> 8);
8021     x54 = (uint8_t)(x51 & UINT8_C(0xff));
8022     x55 = (uint8_t)(x53 >> 8);
8023     x56 = (uint8_t)(x53 & UINT8_C(0xff));
8024     x57 = (uint8_t)(x55 & UINT8_C(0xff));
8025     x58 = (x1 >> 8);
8026     x59 = (uint8_t)(x1 & UINT8_C(0xff));
8027     x60 = (x58 >> 8);
8028     x61 = (uint8_t)(x58 & UINT8_C(0xff));
8029     x62 = (uint8_t)(x60 >> 8);
8030     x63 = (uint8_t)(x60 & UINT8_C(0xff));
8031     out1[0] = x10;
8032     out1[1] = x12;
8033     out1[2] = x14;
8034     out1[3] = x15;
8035     out1[4] = x17;
8036     out1[5] = x19;
8037     out1[6] = x21;
8038     out1[7] = x22;
8039     out1[8] = x24;
8040     out1[9] = x26;
8041     out1[10] = x28;
8042     out1[11] = x29;
8043     out1[12] = x31;
8044     out1[13] = x33;
8045     out1[14] = x35;
8046     out1[15] = x36;
8047     out1[16] = x38;
8048     out1[17] = x40;
8049     out1[18] = x42;
8050     out1[19] = x43;
8051     out1[20] = x45;
8052     out1[21] = x47;
8053     out1[22] = x49;
8054     out1[23] = x50;
8055     out1[24] = x52;
8056     out1[25] = x54;
8057     out1[26] = x56;
8058     out1[27] = x57;
8059     out1[28] = x59;
8060     out1[29] = x61;
8061     out1[30] = x63;
8062     out1[31] = x62;
8063 }
8064
8065 /*
8066  * The function fiat_id_GostR3410_2001_TestParamSet_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
8067  * Preconditions:
8068  *   0 ≤ bytes_eval arg1 < m
8069  * Postconditions:
8070  *   eval out1 mod m = bytes_eval arg1 mod m
8071  *   0 ≤ eval out1 < m
8072  *
8073  * Input Bounds:
8074  *   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]]
8075  * Output Bounds:
8076  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8077  */
8078 static void fiat_id_GostR3410_2001_TestParamSet_from_bytes(
8079     uint32_t out1[8], const uint8_t arg1[32]) {
8080     uint32_t x1;
8081     uint32_t x2;
8082     uint32_t x3;
8083     uint8_t x4;
8084     uint32_t x5;
8085     uint32_t x6;
8086     uint32_t x7;
8087     uint8_t x8;
8088     uint32_t x9;
8089     uint32_t x10;
8090     uint32_t x11;
8091     uint8_t x12;
8092     uint32_t x13;
8093     uint32_t x14;
8094     uint32_t x15;
8095     uint8_t x16;
8096     uint32_t x17;
8097     uint32_t x18;
8098     uint32_t x19;
8099     uint8_t x20;
8100     uint32_t x21;
8101     uint32_t x22;
8102     uint32_t x23;
8103     uint8_t x24;
8104     uint32_t x25;
8105     uint32_t x26;
8106     uint32_t x27;
8107     uint8_t x28;
8108     uint32_t x29;
8109     uint32_t x30;
8110     uint32_t x31;
8111     uint8_t x32;
8112     uint32_t x33;
8113     uint32_t x34;
8114     uint32_t x35;
8115     uint32_t x36;
8116     uint32_t x37;
8117     uint32_t x38;
8118     uint32_t x39;
8119     uint32_t x40;
8120     uint32_t x41;
8121     uint32_t x42;
8122     uint32_t x43;
8123     uint32_t x44;
8124     uint32_t x45;
8125     uint32_t x46;
8126     uint32_t x47;
8127     x1 = ((uint32_t)(arg1[31]) << 24);
8128     x2 = ((uint32_t)(arg1[30]) << 16);
8129     x3 = ((uint32_t)(arg1[29]) << 8);
8130     x4 = (arg1[28]);
8131     x5 = ((uint32_t)(arg1[27]) << 24);
8132     x6 = ((uint32_t)(arg1[26]) << 16);
8133     x7 = ((uint32_t)(arg1[25]) << 8);
8134     x8 = (arg1[24]);
8135     x9 = ((uint32_t)(arg1[23]) << 24);
8136     x10 = ((uint32_t)(arg1[22]) << 16);
8137     x11 = ((uint32_t)(arg1[21]) << 8);
8138     x12 = (arg1[20]);
8139     x13 = ((uint32_t)(arg1[19]) << 24);
8140     x14 = ((uint32_t)(arg1[18]) << 16);
8141     x15 = ((uint32_t)(arg1[17]) << 8);
8142     x16 = (arg1[16]);
8143     x17 = ((uint32_t)(arg1[15]) << 24);
8144     x18 = ((uint32_t)(arg1[14]) << 16);
8145     x19 = ((uint32_t)(arg1[13]) << 8);
8146     x20 = (arg1[12]);
8147     x21 = ((uint32_t)(arg1[11]) << 24);
8148     x22 = ((uint32_t)(arg1[10]) << 16);
8149     x23 = ((uint32_t)(arg1[9]) << 8);
8150     x24 = (arg1[8]);
8151     x25 = ((uint32_t)(arg1[7]) << 24);
8152     x26 = ((uint32_t)(arg1[6]) << 16);
8153     x27 = ((uint32_t)(arg1[5]) << 8);
8154     x28 = (arg1[4]);
8155     x29 = ((uint32_t)(arg1[3]) << 24);
8156     x30 = ((uint32_t)(arg1[2]) << 16);
8157     x31 = ((uint32_t)(arg1[1]) << 8);
8158     x32 = (arg1[0]);
8159     x33 = (x32 + (x31 + (x30 + x29)));
8160     x34 = (x33 & UINT32_C(0xffffffff));
8161     x35 = (x4 + (x3 + (x2 + x1)));
8162     x36 = (x8 + (x7 + (x6 + x5)));
8163     x37 = (x12 + (x11 + (x10 + x9)));
8164     x38 = (x16 + (x15 + (x14 + x13)));
8165     x39 = (x20 + (x19 + (x18 + x17)));
8166     x40 = (x24 + (x23 + (x22 + x21)));
8167     x41 = (x28 + (x27 + (x26 + x25)));
8168     x42 = (x41 & UINT32_C(0xffffffff));
8169     x43 = (x40 & UINT32_C(0xffffffff));
8170     x44 = (x39 & UINT32_C(0xffffffff));
8171     x45 = (x38 & UINT32_C(0xffffffff));
8172     x46 = (x37 & UINT32_C(0xffffffff));
8173     x47 = (x36 & UINT32_C(0xffffffff));
8174     out1[0] = x34;
8175     out1[1] = x42;
8176     out1[2] = x43;
8177     out1[3] = x44;
8178     out1[4] = x45;
8179     out1[5] = x46;
8180     out1[6] = x47;
8181     out1[7] = x35;
8182 }
8183
8184 /* END verbatim fiat code */
8185
8186 /*-
8187  * Finite field inversion via FLT.
8188  * NB: this is not a real Fiat function, just named that way for consistency.
8189  * Autogenerated: ecp/id_GostR3410_2001_TestParamSet/fe_inv.op3
8190  * sliding window w=5
8191  */
8192 static void fiat_id_GostR3410_2001_TestParamSet_inv(fe_t output,
8193                                                     const fe_t t1) {
8194     int i;
8195     /* temporary variables */
8196     fe_t acc, t15;
8197
8198     fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
8199     fiat_id_GostR3410_2001_TestParamSet_mul(t15, t1, acc);
8200     for (i = 0; i < 6; i++)
8201         fiat_id_GostR3410_2001_TestParamSet_mul(t15, t15, acc);
8202     fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
8203     for (i = 0; i < 244; i++)
8204         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
8205     fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
8206     for (i = 0; i < 5; i++)
8207         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
8208     fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
8209     for (i = 0; i < 5; i++)
8210         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
8211     fiat_id_GostR3410_2001_TestParamSet_mul(output, acc, t15);
8212 }
8213
8214 /* curve coefficient constants */
8215
8216 static const limb_t const_one[8] = {UINT32_C(0xFFFFFBCF), UINT32_C(0xFFFFFFFF),
8217                                     UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8218                                     UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8219                                     UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)};
8220
8221 static const limb_t const_a[8] = {UINT32_C(0xFFFFC983), UINT32_C(0xFFFFFFFF),
8222                                   UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8223                                   UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8224                                   UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)};
8225
8226 static const limb_t const_b3[8] = {UINT32_C(0x6AEAB71C), UINT32_C(0x81733EE9),
8227                                    UINT32_C(0xFC4E6FC7), UINT32_C(0x00CD3D1C),
8228                                    UINT32_C(0x75853407), UINT32_C(0x60AB503A),
8229                                    UINT32_C(0x4556810A), UINT32_C(0x0A9EC8AE)};
8230
8231 /* LUT for scalar multiplication by comb interleaving */
8232 static const pt_aff_t lut_cmb[27][16] = {
8233     {
8234         {{UINT32_C(0xFFFFF36D), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8235           UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8236           UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)},
8237          {UINT32_C(0x471125F5), UINT32_C(0x9AF45A5A), UINT32_C(0xF69BF9AE),
8238           UINT32_C(0x7CE5090A), UINT32_C(0xE4B6DDE6), UINT32_C(0x67617A63),
8239           UINT32_C(0x4AA3DAA4), UINT32_C(0x03F66B35)}},
8240         {{UINT32_C(0x149B5D15), UINT32_C(0xB39BDC16), UINT32_C(0x7309454F),
8241           UINT32_C(0x87CE978A), UINT32_C(0x315A7A56), UINT32_C(0xD22F32EF),
8242           UINT32_C(0xB69A6B57), UINT32_C(0x4C7DE232)},
8243          {UINT32_C(0x466DC64D), UINT32_C(0x9E2DAF6D), UINT32_C(0x4B1C8A55),
8244           UINT32_C(0x758C27B1), UINT32_C(0xBD647F1A), UINT32_C(0x74A0CB23),
8245           UINT32_C(0x2C2F4C70), UINT32_C(0x27E74868)}},
8246         {{UINT32_C(0x55A62594), UINT32_C(0xF2D8F32E), UINT32_C(0x36BC547A),
8247           UINT32_C(0x8323D570), UINT32_C(0x98D4B25A), UINT32_C(0x497679EB),
8248           UINT32_C(0xB87E0534), UINT32_C(0x061167F2)},
8249          {UINT32_C(0x223E4DF8), UINT32_C(0xE1FFFDCE), UINT32_C(0xDCD891E9),
8250           UINT32_C(0x7C83AE78), UINT32_C(0x3C1B95D0), UINT32_C(0x74398586),
8251           UINT32_C(0x74B3F5AB), UINT32_C(0x11D73205)}},
8252         {{UINT32_C(0xACB97F7C), UINT32_C(0x34B9C048), UINT32_C(0xE3B9BCC6),
8253           UINT32_C(0x8232E73C), UINT32_C(0xDA2DB71D), UINT32_C(0x81F4B63F),
8254           UINT32_C(0xA2DF4C84), UINT32_C(0x4EEE5393)},
8255          {UINT32_C(0xAC469C69), UINT32_C(0xCA6E63AE), UINT32_C(0x428E4F01),
8256           UINT32_C(0x27BC807C), UINT32_C(0x5F4EC124), UINT32_C(0x4A2C23BA),
8257           UINT32_C(0xAAE2668B), UINT32_C(0x74847CFC)}},
8258         {{UINT32_C(0x6716AF4E), UINT32_C(0x4435585F), UINT32_C(0x1CDB965F),
8259           UINT32_C(0xB872D8B7), UINT32_C(0x746FFAD0), UINT32_C(0x662F1962),
8260           UINT32_C(0xDB5D0187), UINT32_C(0x52761A24)},
8261          {UINT32_C(0xA57E0E3D), UINT32_C(0xF6A09922), UINT32_C(0xA9C12B63),
8262           UINT32_C(0x86C69342), UINT32_C(0x5AF190C5), UINT32_C(0x91FF20B6),
8263           UINT32_C(0x4EEEE1AE), UINT32_C(0x10DB7A2A)}},
8264         {{UINT32_C(0x74628B90), UINT32_C(0xBB464A53), UINT32_C(0x057A4F25),
8265           UINT32_C(0x6E7A1227), UINT32_C(0x0B0FA41F), UINT32_C(0x4C309D69),
8266           UINT32_C(0x77FE7B93), UINT32_C(0x75482607)},
8267          {UINT32_C(0x0B612421), UINT32_C(0xF2583EC7), UINT32_C(0x5E2B15ED),
8268           UINT32_C(0xFF2CFC83), UINT32_C(0x8CABC5CF), UINT32_C(0x1E97A7DB),
8269           UINT32_C(0x925C149F), UINT32_C(0x1EC08FAA)}},
8270         {{UINT32_C(0x0E9FCBA9), UINT32_C(0xBA0170E3), UINT32_C(0x70D9939B),
8271           UINT32_C(0x8976DF7C), UINT32_C(0x21AF14DD), UINT32_C(0xEAE6E74B),
8272           UINT32_C(0x0D0861F9), UINT32_C(0x09F09868)},
8273          {UINT32_C(0x21A781FF), UINT32_C(0x4F7FE26E), UINT32_C(0xD73DCEF7),
8274           UINT32_C(0x1725B8D0), UINT32_C(0x7E743498), UINT32_C(0x9DA63217),
8275           UINT32_C(0x1B828B99), UINT32_C(0x0F51D42C)}},
8276         {{UINT32_C(0x9AFE09BD), UINT32_C(0xBABB076B), UINT32_C(0x17C4050D),
8277           UINT32_C(0x4AC89223), UINT32_C(0xDA3E57E8), UINT32_C(0xCA3EA6E3),
8278           UINT32_C(0xA33242C0), UINT32_C(0x20AAA384)},
8279          {UINT32_C(0xEF929BF5), UINT32_C(0x6D3A1F2D), UINT32_C(0xE751A62D),
8280           UINT32_C(0xB34E2605), UINT32_C(0xB8CF1F99), UINT32_C(0xE1AC629F),
8281           UINT32_C(0xF0BBA01A), UINT32_C(0x7152D4E3)}},
8282         {{UINT32_C(0x943E5B8E), UINT32_C(0xA97A6CE3), UINT32_C(0x2D053A9D),
8283           UINT32_C(0x1C0F6C7F), UINT32_C(0x64457DE4), UINT32_C(0x9D4A91DE),
8284           UINT32_C(0xC6140057), UINT32_C(0x1E19EA8F)},
8285          {UINT32_C(0x500995C8), UINT32_C(0xD4766CB6), UINT32_C(0xE70CD7EE),
8286           UINT32_C(0xA019D41D), UINT32_C(0x7AB0A162), UINT32_C(0xBA1828AA),
8287           UINT32_C(0x0B7A4E93), UINT32_C(0x0CACA063)}},
8288         {{UINT32_C(0xA1B3FE03), UINT32_C(0x1E68315C), UINT32_C(0x1AAB6B20),
8289           UINT32_C(0x21FB277E), UINT32_C(0x6A90FB22), UINT32_C(0x210305D7),
8290           UINT32_C(0x2E51B9BC), UINT32_C(0x4C3D3EEA)},
8291          {UINT32_C(0x89C3A2E8), UINT32_C(0xC5662C6D), UINT32_C(0x1712BF9B),
8292           UINT32_C(0x66EA4818), UINT32_C(0x2254FBAB), UINT32_C(0x417F8F04),
8293           UINT32_C(0xB057EEC1), UINT32_C(0x2F57DF29)}},
8294         {{UINT32_C(0x6509AE4F), UINT32_C(0xF6975C9F), UINT32_C(0xDC89C220),
8295           UINT32_C(0x58300438), UINT32_C(0x907FF785), UINT32_C(0xE81DA879),
8296           UINT32_C(0x0910ED2F), UINT32_C(0x68D600E3)},
8297          {UINT32_C(0xB43BF686), UINT32_C(0xFBB25113), UINT32_C(0x50A64FAE),
8298           UINT32_C(0x8B391E3F), UINT32_C(0x3112B7ED), UINT32_C(0x8C1190D2),
8299           UINT32_C(0xCCB4CA50), UINT32_C(0x617BCD41)}},
8300         {{UINT32_C(0xDD780ACA), UINT32_C(0x75036E69), UINT32_C(0x6FBCD996),
8301           UINT32_C(0xC90A01DE), UINT32_C(0x0C851CEF), UINT32_C(0x75E1A8E8),
8302           UINT32_C(0xF71BDCC6), UINT32_C(0x7225D38A)},
8303          {UINT32_C(0x868B78D2), UINT32_C(0x74AE6935), UINT32_C(0x1CDB5A1E),
8304           UINT32_C(0xE70570F3), UINT32_C(0xBEBD2FA4), UINT32_C(0x3E700C48),
8305           UINT32_C(0x325D3214), UINT32_C(0x3E483638)}},
8306         {{UINT32_C(0xC0E6D8AD), UINT32_C(0x9F272CD5), UINT32_C(0xE09743A2),
8307           UINT32_C(0x9E29687C), UINT32_C(0x93CD64B3), UINT32_C(0xBE0E0D59),
8308           UINT32_C(0x504B58F0), UINT32_C(0x5D57A75D)},
8309          {UINT32_C(0x5D44B092), UINT32_C(0x81A1A6E3), UINT32_C(0x310D7868),
8310           UINT32_C(0x38AD0169), UINT32_C(0xCC297B73), UINT32_C(0xC8D3C9A6),
8311           UINT32_C(0x908E0814), UINT32_C(0x34D98A19)}},
8312         {{UINT32_C(0xE5A57E1F), UINT32_C(0xFFB946AD), UINT32_C(0x191B6C5F),
8313           UINT32_C(0xF7EA0AA2), UINT32_C(0x8DF529C1), UINT32_C(0x52D07058),
8314           UINT32_C(0x2AFDA727), UINT32_C(0x06B7BDE5)},
8315          {UINT32_C(0x90658555), UINT32_C(0x651E6DC9), UINT32_C(0x1FC416CE),
8316           UINT32_C(0x8F910D89), UINT32_C(0xCBF086D5), UINT32_C(0x0BA4D84E),
8317           UINT32_C(0x0C4A4B4A), UINT32_C(0x73DA158C)}},
8318         {{UINT32_C(0x521DB62C), UINT32_C(0xE22420A6), UINT32_C(0xBC90EB6F),
8319           UINT32_C(0x8EBC1A21), UINT32_C(0xE50F6EB4), UINT32_C(0xE1529AAC),
8320           UINT32_C(0x8BE235DB), UINT32_C(0x4025BF27)},
8321          {UINT32_C(0x9FFE2B82), UINT32_C(0x40607710), UINT32_C(0x696B4634),
8322           UINT32_C(0x7A6BB75B), UINT32_C(0x2B2F25D3), UINT32_C(0x0CEF27A9),
8323           UINT32_C(0xCA0B7112), UINT32_C(0x6C9CFFD7)}},
8324         {{UINT32_C(0xEDA5C43B), UINT32_C(0x12B39FF0), UINT32_C(0x54E0FE3F),
8325           UINT32_C(0x2E1FC66C), UINT32_C(0x248A9167), UINT32_C(0xFB2DEA80),
8326           UINT32_C(0x3B2BB322), UINT32_C(0x11BCDA10)},
8327          {UINT32_C(0x16D2C928), UINT32_C(0xFDDF6E84), UINT32_C(0x36E887F4),
8328           UINT32_C(0x99DDF6A1), UINT32_C(0x920092D6), UINT32_C(0x1E56D2F3),
8329           UINT32_C(0x2D77AE5A), UINT32_C(0x67433BF4)}},
8330     },
8331     {
8332         {{UINT32_C(0x321BFA62), UINT32_C(0x6C204DDC), UINT32_C(0x2F138A80),
8333           UINT32_C(0xA96E42B8), UINT32_C(0xE3EC1A7D), UINT32_C(0x4C98E986),
8334           UINT32_C(0x136CADC4), UINT32_C(0x223C8BC4)},
8335          {UINT32_C(0xBA3CE54A), UINT32_C(0xFA9F15D3), UINT32_C(0x19963D88),
8336           UINT32_C(0xA103B9D7), UINT32_C(0x2F811A21), UINT32_C(0x1ED23354),
8337           UINT32_C(0x65A4E833), UINT32_C(0x64D6B14C)}},
8338         {{UINT32_C(0xCFBD1039), UINT32_C(0x2485175C), UINT32_C(0x7C92D8EC),
8339           UINT32_C(0xC4DAE65B), UINT32_C(0x1859FD47), UINT32_C(0x6FC70F54),
8340           UINT32_C(0x33E8305C), UINT32_C(0x6D543444)},
8341          {UINT32_C(0x944DDA07), UINT32_C(0x1A65FEC2), UINT32_C(0xEF375B21),
8342           UINT32_C(0x7BCF8391), UINT32_C(0xBE4CD8D6), UINT32_C(0xDDCFC356),
8343           UINT32_C(0x13850042), UINT32_C(0x4BF93B9E)}},
8344         {{UINT32_C(0x88B7F950), UINT32_C(0xBDF7A56C), UINT32_C(0x81B8590E),
8345           UINT32_C(0x3A60E5FC), UINT32_C(0x6F6E6807), UINT32_C(0x475B94D1),
8346           UINT32_C(0x2F0D49A8), UINT32_C(0x2F1B9F06)},
8347          {UINT32_C(0x2E6A01D3), UINT32_C(0x3C36DCF3), UINT32_C(0x30444003),
8348           UINT32_C(0x807E1D5B), UINT32_C(0xFECF5768), UINT32_C(0xE3768486),
8349           UINT32_C(0xEF12B5CC), UINT32_C(0x73C4D0CF)}},
8350         {{UINT32_C(0xF4C6FF93), UINT32_C(0x9D76477C), UINT32_C(0xC5A1A495),
8351           UINT32_C(0x03F16687), UINT32_C(0xB41748B2), UINT32_C(0x5071DA3D),
8352           UINT32_C(0x971D6A7D), UINT32_C(0x0F3A3784)},
8353          {UINT32_C(0x2785A782), UINT32_C(0x0B9A5AD6), UINT32_C(0x09FF09F9),
8354           UINT32_C(0x957E72A0), UINT32_C(0xAE3CF5F4), UINT32_C(0x3072C1DC),
8355           UINT32_C(0xCD9CFD7E), UINT32_C(0x63D463AC)}},
8356         {{UINT32_C(0xC77B516C), UINT32_C(0xDA0DEE0B), UINT32_C(0xE6AA0E1F),
8357           UINT32_C(0x446D7199), UINT32_C(0xBFFA705C), UINT32_C(0xCC0D1590),
8358           UINT32_C(0xC35B59BA), UINT32_C(0x6A6FC81C)},
8359          {UINT32_C(0x593E3EB9), UINT32_C(0x39DF210E), UINT32_C(0xD0DCC01F),
8360           UINT32_C(0x17F331CE), UINT32_C(0xBD176C5B), UINT32_C(0x02E0E5EB),
8361           UINT32_C(0x8A2D6290), UINT32_C(0x68946CCC)}},
8362         {{UINT32_C(0x09ECFEF2), UINT32_C(0x8D1400D6), UINT32_C(0xE1E76A98),
8363           UINT32_C(0x57D5F91B), UINT32_C(0xA12DFF8D), UINT32_C(0x5CF76130),
8364           UINT32_C(0x61002939), UINT32_C(0x5C361922)},
8365          {UINT32_C(0xFB0FE974), UINT32_C(0x8D45C8C1), UINT32_C(0xF942ED70),
8366           UINT32_C(0x0C97725E), UINT32_C(0x73C5AA42), UINT32_C(0xB1C66498),
8367           UINT32_C(0x7E203187), UINT32_C(0x4A121FC4)}},
8368         {{UINT32_C(0xFCEDA76C), UINT32_C(0x58430EE3), UINT32_C(0xF5C88D62),
8369           UINT32_C(0x3496699A), UINT32_C(0x14273E7E), UINT32_C(0x1C3FC811),
8370           UINT32_C(0x1D6D67DA), UINT32_C(0x3E38E9FC)},
8371          {UINT32_C(0xAB685B3B), UINT32_C(0xBB683EA4), UINT32_C(0xB0904BB3),
8372           UINT32_C(0xB63F72B1), UINT32_C(0x47A75297), UINT32_C(0x5DFA23C5),
8373           UINT32_C(0x38B59560), UINT32_C(0x09E80AA0)}},
8374         {{UINT32_C(0x7F4D22FC), UINT32_C(0x7D8325C6), UINT32_C(0x8C2FA282),
8375           UINT32_C(0xBFFB01B1), UINT32_C(0x4A89BE98), UINT32_C(0x01A037DC),
8376           UINT32_C(0x84EA8C8A), UINT32_C(0x092F6525)},
8377          {UINT32_C(0xC52FD518), UINT32_C(0x873D33DA), UINT32_C(0x44AFDD41),
8378           UINT32_C(0x0A245B15), UINT32_C(0x98FA7FF5), UINT32_C(0x78993737),
8379           UINT32_C(0x21D29087), UINT32_C(0x1BB48AD2)}},
8380         {{UINT32_C(0x1A59313C), UINT32_C(0x00C97A99), UINT32_C(0x5CF9A6FF),
8381           UINT32_C(0xBD4F29EE), UINT32_C(0xD839B62B), UINT32_C(0xEA59D87A),
8382           UINT32_C(0x97CAB63C), UINT32_C(0x16F18F48)},
8383          {UINT32_C(0x6F6C292F), UINT32_C(0xB339789A), UINT32_C(0xD005ABB2),
8384           UINT32_C(0xEC52E644), UINT32_C(0xAE24DA46), UINT32_C(0xEEAC93C9),
8385           UINT32_C(0xE5C43B4F), UINT32_C(0x0ECB9957)}},
8386         {{UINT32_C(0x20561AF7), UINT32_C(0xD91B2202), UINT32_C(0x55F2CFB8),
8387           UINT32_C(0xECA260DD), UINT32_C(0x17B91CCF), UINT32_C(0xF03A8C1D),
8388           UINT32_C(0x64B35D9A), UINT32_C(0x55A0491F)},
8389          {UINT32_C(0x1A2F8F39), UINT32_C(0x0A97E5CC), UINT32_C(0x23B1D80B),
8390           UINT32_C(0x02C187D1), UINT32_C(0xDB9FBA1A), UINT32_C(0xA9C13D26),
8391           UINT32_C(0xF8051F0D), UINT32_C(0x7CCDDBAC)}},
8392         {{UINT32_C(0xED0E9DB8), UINT32_C(0x05CA8EA5), UINT32_C(0x53A8EA3F),
8393           UINT32_C(0xE888079F), UINT32_C(0x9209BFA2), UINT32_C(0x6DDBC40D),
8394           UINT32_C(0x80DCEAEA), UINT32_C(0x068E5BA9)},
8395          {UINT32_C(0xB19D824B), UINT32_C(0xDB69D133), UINT32_C(0xE6A3A462),
8396           UINT32_C(0x65154FB6), UINT32_C(0x020B2AC7), UINT32_C(0x9FCF733D),
8397           UINT32_C(0xE1329315), UINT32_C(0x15178DDE)}},
8398         {{UINT32_C(0x877EE476), UINT32_C(0x76F78865), UINT32_C(0x12B471BA),
8399           UINT32_C(0x5824EACC), UINT32_C(0xBBB640A8), UINT32_C(0x71BDFADF),
8400           UINT32_C(0x9A631D09), UINT32_C(0x5181B08F)},
8401          {UINT32_C(0xFFE978E8), UINT32_C(0x2913CCA5), UINT32_C(0xAEB89AA6),
8402           UINT32_C(0x9CEF3612), UINT32_C(0xE02AD6DC), UINT32_C(0x93BB373E),
8403           UINT32_C(0x04144769), UINT32_C(0x5D7984F0)}},
8404         {{UINT32_C(0x4F98D2C3), UINT32_C(0x3219DB07), UINT32_C(0xBD40ACCC),
8405           UINT32_C(0xE3EF888F), UINT32_C(0x31124C73), UINT32_C(0x07A30E3A),
8406           UINT32_C(0xB070C53F), UINT32_C(0x5D9C820B)},
8407          {UINT32_C(0xDA0661AB), UINT32_C(0x94D41768), UINT32_C(0x21FF87EB),
8408           UINT32_C(0x27FC2661), UINT32_C(0xFF17A977), UINT32_C(0xB8DCBC7F),
8409           UINT32_C(0x392EB13D), UINT32_C(0x71F75FF9)}},
8410         {{UINT32_C(0x9AD71AB0), UINT32_C(0xC5CED56C), UINT32_C(0x39D6C9F1),
8411           UINT32_C(0xE744EAB0), UINT32_C(0x839BD904), UINT32_C(0x6E49B00B),
8412           UINT32_C(0xD7003054), UINT32_C(0x0C0EDE2C)},
8413          {UINT32_C(0x1A6A1BB7), UINT32_C(0x792C3F80), UINT32_C(0x4B2C7885),
8414           UINT32_C(0x6E5093B1), UINT32_C(0x13EA65F7), UINT32_C(0x28873209),
8415           UINT32_C(0xF381C851), UINT32_C(0x085A2697)}},
8416         {{UINT32_C(0xDA60A255), UINT32_C(0x84FC6B9D), UINT32_C(0x4B495BC6),
8417           UINT32_C(0x12397EED), UINT32_C(0x71A5AA87), UINT32_C(0x4881DF6B),
8418           UINT32_C(0x9572CFE2), UINT32_C(0x57BB3259)},
8419          {UINT32_C(0x3A10A65F), UINT32_C(0x30677759), UINT32_C(0xDB1758DD),
8420           UINT32_C(0x670B82EC), UINT32_C(0xD57B513E), UINT32_C(0xD84F3E8F),
8421           UINT32_C(0x89088E78), UINT32_C(0x617A512A)}},
8422         {{UINT32_C(0xAE3D7707), UINT32_C(0x83971322), UINT32_C(0x6D34D0B4),
8423           UINT32_C(0x66563CDE), UINT32_C(0xC13309ED), UINT32_C(0x95342D9B),
8424           UINT32_C(0x082A5887), UINT32_C(0x62C2B1B6)},
8425          {UINT32_C(0xC3C27158), UINT32_C(0xD94A8712), UINT32_C(0xA844BF60),
8426           UINT32_C(0xDE2C9C9D), UINT32_C(0xCE3E4F3C), UINT32_C(0xDE897386),
8427           UINT32_C(0x6ACEBDF1), UINT32_C(0x2C22A82E)}},
8428     },
8429     {
8430         {{UINT32_C(0x0604E200), UINT32_C(0x2755028A), UINT32_C(0x44189101),
8431           UINT32_C(0xADE23A7D), UINT32_C(0xF0B7F9B7), UINT32_C(0xA6E418F4),
8432           UINT32_C(0x212EDC2A), UINT32_C(0x036F5503)},
8433          {UINT32_C(0x3F5E0456), UINT32_C(0xE069D06A), UINT32_C(0x0F37F2D8),
8434           UINT32_C(0x2FAFF7C8), UINT32_C(0x7F5EDE53), UINT32_C(0xFF08E879),
8435           UINT32_C(0x797E0427), UINT32_C(0x7F97725D)}},
8436         {{UINT32_C(0xB32E5B1B), UINT32_C(0xE44E39C1), UINT32_C(0xAD3EC706),
8437           UINT32_C(0x25CD4614), UINT32_C(0xE382C5D2), UINT32_C(0x2E97B090),
8438           UINT32_C(0xB00D79F2), UINT32_C(0x3E1A1F6B)},
8439          {UINT32_C(0xC2375837), UINT32_C(0x27573C4E), UINT32_C(0x6C8D5CCD),
8440           UINT32_C(0xAD53D2C8), UINT32_C(0xFC09725A), UINT32_C(0x94EE5460),
8441           UINT32_C(0x02DD0DF4), UINT32_C(0x6E592506)}},
8442         {{UINT32_C(0x3D0C7AC4), UINT32_C(0x6CFFA4BF), UINT32_C(0x69ED4317),
8443           UINT32_C(0x663B1218), UINT32_C(0xC79AD5C1), UINT32_C(0x933094F6),
8444           UINT32_C(0xFFC54767), UINT32_C(0x569F37ED)},
8445          {UINT32_C(0x1F338782), UINT32_C(0x954EEE0C), UINT32_C(0xA46CA276),
8446           UINT32_C(0x5BE69673), UINT32_C(0x20CB26DC), UINT32_C(0x77BA0009),
8447           UINT32_C(0x029316AE), UINT32_C(0x2211CAC3)}},
8448         {{UINT32_C(0x184EBD7C), UINT32_C(0xC8DEF3CB), UINT32_C(0x6A4DB0A0),
8449           UINT32_C(0x39337050), UINT32_C(0x0BE1D82C), UINT32_C(0x6FF7993A),
8450           UINT32_C(0xFC9252C0), UINT32_C(0x01D7674A)},
8451          {UINT32_C(0xF62D9268), UINT32_C(0xB10BA727), UINT32_C(0x817B687B),
8452           UINT32_C(0x6E2338D8), UINT32_C(0xE47405F1), UINT32_C(0x266443F2),
8453           UINT32_C(0x6872B879), UINT32_C(0x6A1BD9CE)}},
8454         {{UINT32_C(0x2B2BD346), UINT32_C(0x19213765), UINT32_C(0xE2ACFB8E),
8455           UINT32_C(0x962CA22C), UINT32_C(0x62FECDE1), UINT32_C(0x518CF45D),
8456           UINT32_C(0xA13D9E8D), UINT32_C(0x529AE629)},
8457          {UINT32_C(0xBB69D5E3), UINT32_C(0xAF796DB0), UINT32_C(0xD4E596B7),
8458           UINT32_C(0xA064209D), UINT32_C(0x47942C73), UINT32_C(0x9F3DFD4A),
8459           UINT32_C(0x7810D5EC), UINT32_C(0x7FAB6C6D)}},
8460         {{UINT32_C(0x66A3B287), UINT32_C(0x55D15250), UINT32_C(0xEEFDDC75),
8461           UINT32_C(0x1ECC6A20), UINT32_C(0x26DE8C01), UINT32_C(0xF683FA60),
8462           UINT32_C(0x9FBA658C), UINT32_C(0x4F5DE2A6)},
8463          {UINT32_C(0xC66D82F4), UINT32_C(0xE748D78A), UINT32_C(0x3B24C76B),
8464           UINT32_C(0x2BA525EF), UINT32_C(0x30EE69CE), UINT32_C(0x5A9539E6),
8465           UINT32_C(0xB7861B2D), UINT32_C(0x2DA4C4C2)}},
8466         {{UINT32_C(0x820743E6), UINT32_C(0x9D1E982D), UINT32_C(0xAB0CC42D),
8467           UINT32_C(0x705D9237), UINT32_C(0x47C4E7D7), UINT32_C(0xBDD01663),
8468           UINT32_C(0xF8E69896), UINT32_C(0x3D48EE78)},
8469          {UINT32_C(0x41132782), UINT32_C(0x7A822BCD), UINT32_C(0xEE46F715),
8470           UINT32_C(0xBD41BEFA), UINT32_C(0xD0B2F4B0), UINT32_C(0x8E5C3B5F),
8471           UINT32_C(0x5E47ED55), UINT32_C(0x690A53D4)}},
8472         {{UINT32_C(0x65A40E44), UINT32_C(0x390536C1), UINT32_C(0x1C92235C),
8473           UINT32_C(0x4B4D7970), UINT32_C(0x8B7389E4), UINT32_C(0xCAC27084),
8474           UINT32_C(0x19041D01), UINT32_C(0x7B5B23B2)},
8475          {UINT32_C(0x3B5FD5BA), UINT32_C(0x7C18B973), UINT32_C(0x84B72217),
8476           UINT32_C(0xFD14865D), UINT32_C(0x267EDE4C), UINT32_C(0x5592547E),
8477           UINT32_C(0x8B369753), UINT32_C(0x22DB62E5)}},
8478         {{UINT32_C(0xDDF15BDD), UINT32_C(0x06083D33), UINT32_C(0x361925F5),
8479           UINT32_C(0x5766555F), UINT32_C(0xB7ACDEA7), UINT32_C(0xECC0F110),
8480           UINT32_C(0x0A3453B5), UINT32_C(0x3E3F1B27)},
8481          {UINT32_C(0x6F7B980D), UINT32_C(0x5A8B7DF9), UINT32_C(0xB44756AC),
8482           UINT32_C(0xEBA90E39), UINT32_C(0xAC9A7DB2), UINT32_C(0x954D7ECD),
8483           UINT32_C(0x28EA7151), UINT32_C(0x43F688D3)}},
8484         {{UINT32_C(0x4638EFAE), UINT32_C(0x51F64569), UINT32_C(0x3D28BF3C),
8485           UINT32_C(0x5840A5DB), UINT32_C(0x134D3E8F), UINT32_C(0xDD486261),
8486           UINT32_C(0x7B6B466B), UINT32_C(0x09F17E2C)},
8487          {UINT32_C(0x78ED7016), UINT32_C(0x30D35463), UINT32_C(0xB86D8508),
8488           UINT32_C(0x342E9701), UINT32_C(0x42B19533), UINT32_C(0xA3FF6565),
8489           UINT32_C(0x061A4A81), UINT32_C(0x4405F02C)}},
8490         {{UINT32_C(0x3D3AAF1E), UINT32_C(0x15C921C0), UINT32_C(0x7D297559),
8491           UINT32_C(0x2DD720C7), UINT32_C(0xCB80E3B2), UINT32_C(0x93A07904),
8492           UINT32_C(0x6B1EDB93), UINT32_C(0x427C610B)},
8493          {UINT32_C(0xF61E2F41), UINT32_C(0xD2CE818F), UINT32_C(0x8252FB3C),
8494           UINT32_C(0x1DA53421), UINT32_C(0xED07538F), UINT32_C(0x37A4A997),
8495           UINT32_C(0x962454F2), UINT32_C(0x48A928BF)}},
8496         {{UINT32_C(0x7A420273), UINT32_C(0x65091E4D), UINT32_C(0xE54C0B47),
8497           UINT32_C(0x6AF382AF), UINT32_C(0x8047A423), UINT32_C(0x150DAB08),
8498           UINT32_C(0x45BD197C), UINT32_C(0x22C3740A)},
8499          {UINT32_C(0xE07C3468), UINT32_C(0x64429AA0), UINT32_C(0x7B37FE10),
8500           UINT32_C(0xC506B8C9), UINT32_C(0x3CC5062C), UINT32_C(0x30E2FE78),
8501           UINT32_C(0xA9242F2D), UINT32_C(0x2F3B5A5F)}},
8502         {{UINT32_C(0x5A40BCA1), UINT32_C(0x2619A3B2), UINT32_C(0x118C2FEA),
8503           UINT32_C(0xD012DF23), UINT32_C(0xB73FE15C), UINT32_C(0x2868C8B7),
8504           UINT32_C(0xEB10B475), UINT32_C(0x45A9CC5A)},
8505          {UINT32_C(0x069050AD), UINT32_C(0x7111AB75), UINT32_C(0xEC2398A9),
8506           UINT32_C(0x0665182B), UINT32_C(0x9B86A240), UINT32_C(0xD9A5126E),
8507           UINT32_C(0x40E2AED6), UINT32_C(0x601CF0E0)}},
8508         {{UINT32_C(0xF48C8655), UINT32_C(0xE74C9DCD), UINT32_C(0x900E89D5),
8509           UINT32_C(0xEE703CA8), UINT32_C(0x5390F052), UINT32_C(0x6C2DFF8B),
8510           UINT32_C(0x1316CC4C), UINT32_C(0x08588E89)},
8511          {UINT32_C(0x47E80C87), UINT32_C(0x0F2CC83A), UINT32_C(0xD87824E4),
8512           UINT32_C(0x23DE34CF), UINT32_C(0x541FE8F9), UINT32_C(0xC530AF41),
8513           UINT32_C(0xD142F1C0), UINT32_C(0x0BF01DC0)}},
8514         {{UINT32_C(0x886C0C4A), UINT32_C(0x210B0B1E), UINT32_C(0x9C56A126),
8515           UINT32_C(0x66369DF1), UINT32_C(0xEAC22A5E), UINT32_C(0x5D79AE81),
8516           UINT32_C(0xD16F7DB6), UINT32_C(0x4E6C67D4)},
8517          {UINT32_C(0x247CDE60), UINT32_C(0x274572F6), UINT32_C(0x54E8454B),
8518           UINT32_C(0xF3C92AC7), UINT32_C(0xF08C32D1), UINT32_C(0x784EC1A1),
8519           UINT32_C(0xE1FE9C4E), UINT32_C(0x222716D8)}},
8520         {{UINT32_C(0x3FB1DB1E), UINT32_C(0xAF6AEF5D), UINT32_C(0xC4C2A4D8),
8521           UINT32_C(0xB8B55842), UINT32_C(0xCA5AB578), UINT32_C(0x258A2F44),
8522           UINT32_C(0x7D8B2D70), UINT32_C(0x558A803F)},
8523          {UINT32_C(0x7E0247A3), UINT32_C(0x9A7345C3), UINT32_C(0xB4D920B1),
8524           UINT32_C(0x4E5A6904), UINT32_C(0x76BCBBE1), UINT32_C(0xCF7FAA41),
8525           UINT32_C(0xEE112271), UINT32_C(0x66CF993F)}},
8526     },
8527     {
8528         {{UINT32_C(0x84D2C56B), UINT32_C(0xDE7D208F), UINT32_C(0xDDA20F33),
8529           UINT32_C(0xD1C77403), UINT32_C(0x9A6F337A), UINT32_C(0xB73FDC09),
8530           UINT32_C(0x40CD2CBD), UINT32_C(0x1B2A3807)},
8531          {UINT32_C(0x65988D73), UINT32_C(0xB642FA2C), UINT32_C(0x059DAB8E),
8532           UINT32_C(0x117E75BC), UINT32_C(0xD6B279AA), UINT32_C(0xC7E2E935),
8533           UINT32_C(0xEEA2A445), UINT32_C(0x5EEB9654)}},
8534         {{UINT32_C(0xA59D7A2A), UINT32_C(0xA84747C0), UINT32_C(0x1004C5B8),
8535           UINT32_C(0x4478AD4A), UINT32_C(0xA22DE791), UINT32_C(0xF55C2B1B),
8536           UINT32_C(0x23F8F89F), UINT32_C(0x2FF6097D)},
8537          {UINT32_C(0xE117BC40), UINT32_C(0xD079C875), UINT32_C(0x03CB43DD),
8538           UINT32_C(0x14AEA360), UINT32_C(0x0A20D653), UINT32_C(0x8C730D89),
8539           UINT32_C(0x02FD02D8), UINT32_C(0x6956274A)}},
8540         {{UINT32_C(0xD46293CF), UINT32_C(0x9F5D0E9D), UINT32_C(0xF0D93AB7),
8541           UINT32_C(0x53748DD4), UINT32_C(0xB9C37CF0), UINT32_C(0x6F81339F),
8542           UINT32_C(0xF4B041FC), UINT32_C(0x00B8677A)},
8543          {UINT32_C(0xB5A6FE97), UINT32_C(0xF76E0FFE), UINT32_C(0xF7D198A2),
8544           UINT32_C(0x6D3C71F5), UINT32_C(0x11420372), UINT32_C(0xF91E8408),
8545           UINT32_C(0x70036AED), UINT32_C(0x36F9F354)}},
8546         {{UINT32_C(0x5D446956), UINT32_C(0x503AF4F2), UINT32_C(0x2DC9777C),
8547           UINT32_C(0xCA08C537), UINT32_C(0xE1308D3A), UINT32_C(0xDB4BA888),
8548           UINT32_C(0x01DB98CB), UINT32_C(0x01EA28EA)},
8549          {UINT32_C(0xA7DF5FE0), UINT32_C(0x27CC52A9), UINT32_C(0x7DE31E0A),
8550           UINT32_C(0x7DA5186B), UINT32_C(0xF136FAD5), UINT32_C(0x63E32889),
8551           UINT32_C(0xA363AF23), UINT32_C(0x1BB010A8)}},
8552         {{UINT32_C(0xC0FE56C9), UINT32_C(0x65828B54), UINT32_C(0x4ED3935A),
8553           UINT32_C(0x7322CD51), UINT32_C(0x37B4A727), UINT32_C(0x42F068F4),
8554           UINT32_C(0xB4C02BE4), UINT32_C(0x7AA9F9F0)},
8555          {UINT32_C(0xDEBB2DD4), UINT32_C(0xBB77851A), UINT32_C(0xD105B81F),
8556           UINT32_C(0x7757D5F6), UINT32_C(0x52FA1512), UINT32_C(0x7805369C),
8557           UINT32_C(0x38B6976A), UINT32_C(0x4CBC43AE)}},
8558         {{UINT32_C(0x4096725B), UINT32_C(0x24FE8ABD), UINT32_C(0x3895D1E2),
8559           UINT32_C(0xC3FAC73A), UINT32_C(0x006A2360), UINT32_C(0xBCAF7757),
8560           UINT32_C(0xC03EBB33), UINT32_C(0x75AE96AD)},
8561          {UINT32_C(0x0BD1FB6F), UINT32_C(0x31074478), UINT32_C(0xEA386CBE),
8562           UINT32_C(0x729E8E6A), UINT32_C(0x4845AAEC), UINT32_C(0xA8BBCC0B),
8563           UINT32_C(0xE6582656), UINT32_C(0x1A0A2D19)}},
8564         {{UINT32_C(0x69BD55F7), UINT32_C(0x332BC9BD), UINT32_C(0xEFB6F780),
8565           UINT32_C(0x93D987E2), UINT32_C(0x14381F4D), UINT32_C(0xE57DE096),
8566           UINT32_C(0xFF01C4D9), UINT32_C(0x7BDF4217)},
8567          {UINT32_C(0x1956BF02), UINT32_C(0x2A07C4AB), UINT32_C(0x553823D9),
8568           UINT32_C(0x7C7B3684), UINT32_C(0xD40F600C), UINT32_C(0x8F750E8E),
8569           UINT32_C(0x9693A3C3), UINT32_C(0x63F253E9)}},
8570         {{UINT32_C(0xC62CE42B), UINT32_C(0x250ED8BF), UINT32_C(0xE70674E1),
8571           UINT32_C(0xE8A1A295), UINT32_C(0x163A92F1), UINT32_C(0x05ED093D),
8572           UINT32_C(0x628969A0), UINT32_C(0x515FF44B)},
8573          {UINT32_C(0x41CE3AF8), UINT32_C(0xF617DF03), UINT32_C(0xF9E60202),
8574           UINT32_C(0xCADE131A), UINT32_C(0x363B87E9), UINT32_C(0xFE83C379),
8575           UINT32_C(0x493EF65F), UINT32_C(0x7196A80B)}},
8576         {{UINT32_C(0xD7A2047B), UINT32_C(0x4B176FE6), UINT32_C(0x41DCA514),
8577           UINT32_C(0x6981D182), UINT32_C(0xDC74AC2E), UINT32_C(0xDDC7EE8E),
8578           UINT32_C(0x85CC07D1), UINT32_C(0x3A95A203)},
8579          {UINT32_C(0x841E3200), UINT32_C(0x8D4BA2D8), UINT32_C(0x5F654197),
8580           UINT32_C(0x837DDD9B), UINT32_C(0xFBFE4D06), UINT32_C(0x388D358E),
8581           UINT32_C(0x61143A85), UINT32_C(0x562DE2F2)}},
8582         {{UINT32_C(0xCFACB903), UINT32_C(0x3BA1F6E5), UINT32_C(0xBD97A3A2),
8583           UINT32_C(0xB5BBA41F), UINT32_C(0xCFCF2547), UINT32_C(0xB86F117F),
8584           UINT32_C(0x3D9A13DB), UINT32_C(0x50642859)},
8585          {UINT32_C(0x7B5F2A8F), UINT32_C(0xC15C82AE), UINT32_C(0xEF89351E),
8586           UINT32_C(0x47E772DD), UINT32_C(0xCAAC4CC7), UINT32_C(0x78C53901),
8587           UINT32_C(0x68D72131), UINT32_C(0x6B0F5D30)}},
8588         {{UINT32_C(0xA0B407E6), UINT32_C(0x47E17734), UINT32_C(0x34949A81),
8589           UINT32_C(0x29E06830), UINT32_C(0xCB1AC772), UINT32_C(0x63D83340),
8590           UINT32_C(0xEB84F909), UINT32_C(0x178A6DD6)},
8591          {UINT32_C(0x3C27D7BA), UINT32_C(0xA9E94826), UINT32_C(0xDB027A4C),
8592           UINT32_C(0xC86AF96D), UINT32_C(0x56D5DF86), UINT32_C(0xE7D04E34),
8593           UINT32_C(0x2E8D0EE3), UINT32_C(0x7212EAC2)}},
8594         {{UINT32_C(0x8A75F66B), UINT32_C(0xE7E5AA64), UINT32_C(0x8CFD9597),
8595           UINT32_C(0x7E86B6AA), UINT32_C(0x834C0271), UINT32_C(0x1B7DDE0C),
8596           UINT32_C(0xD4AD306F), UINT32_C(0x397EAF2A)},
8597          {UINT32_C(0x1657E32B), UINT32_C(0x0A357906), UINT32_C(0x4957B3AF),
8598           UINT32_C(0xAAEB2DCF), UINT32_C(0x69D3CEE9), UINT32_C(0x1C0CBD02),
8599           UINT32_C(0x5A6E7D53), UINT32_C(0x7434EC32)}},
8600         {{UINT32_C(0x85559E86), UINT32_C(0xEB5878F7), UINT32_C(0x4A09C168),
8601           UINT32_C(0xB9555F70), UINT32_C(0x80501134), UINT32_C(0xBFFAC5DB),
8602           UINT32_C(0x05B53160), UINT32_C(0x4CDBF53A)},
8603          {UINT32_C(0x5F90344B), UINT32_C(0x1413BA29), UINT32_C(0xD0DD0CFD),
8604           UINT32_C(0xC6A9D1ED), UINT32_C(0xA0C31B73), UINT32_C(0x8C56AA29),
8605           UINT32_C(0xF4E58E08), UINT32_C(0x1C9B0B61)}},
8606         {{UINT32_C(0x0E2F595A), UINT32_C(0xBF8D2237), UINT32_C(0xCBA13CD8),
8607           UINT32_C(0x7A646816), UINT32_C(0x5CD728B6), UINT32_C(0xBD2E93A1),
8608           UINT32_C(0x07CF9009), UINT32_C(0x30FDF85C)},
8609          {UINT32_C(0x06122B98), UINT32_C(0x3496D949), UINT32_C(0x5A80B3AF),
8610           UINT32_C(0xE63EC741), UINT32_C(0x82838A44), UINT32_C(0xA2A39CF7),
8611           UINT32_C(0xC015E1D4), UINT32_C(0x4A064F99)}},
8612         {{UINT32_C(0x456CB242), UINT32_C(0x9CCDF95B), UINT32_C(0x6F4517DC),
8613           UINT32_C(0xDA1CB24E), UINT32_C(0x931A1115), UINT32_C(0x60450E0F),
8614           UINT32_C(0xB5680A8D), UINT32_C(0x6780D774)},
8615          {UINT32_C(0x1FDA4243), UINT32_C(0xAFE48DCD), UINT32_C(0xAE9733C7),
8616           UINT32_C(0x6BDD541C), UINT32_C(0xD79D1D52), UINT32_C(0xCBBCC69C),
8617           UINT32_C(0x1A513B3E), UINT32_C(0x334F4F67)}},
8618         {{UINT32_C(0xDF49E1A0), UINT32_C(0xCE7712C4), UINT32_C(0xE0B96135),
8619           UINT32_C(0xB5444862), UINT32_C(0xF050D010), UINT32_C(0x10564C4B),
8620           UINT32_C(0xFEBEFCC8), UINT32_C(0x0531AEC8)},
8621          {UINT32_C(0x70DF6D29), UINT32_C(0xD45B4BE7), UINT32_C(0x6829054E),
8622           UINT32_C(0x1ACC2D70), UINT32_C(0x54E56E05), UINT32_C(0x9744CDE1),
8623           UINT32_C(0x6EE02696), UINT32_C(0x3C5DE93E)}},
8624     },
8625     {
8626         {{UINT32_C(0x3951B674), UINT32_C(0xF43A2B99), UINT32_C(0x5E72FC98),
8627           UINT32_C(0xE82789E8), UINT32_C(0x86992601), UINT32_C(0x2AD48436),
8628           UINT32_C(0x01A2B65A), UINT32_C(0x3FDEB172)},
8629          {UINT32_C(0x3666322B), UINT32_C(0x926B4839), UINT32_C(0x44B3FDB7),
8630           UINT32_C(0x68847D5C), UINT32_C(0xF2F5E247), UINT32_C(0xD06C450D),
8631           UINT32_C(0xBBA7C892), UINT32_C(0x0CEC0646)}},
8632         {{UINT32_C(0x61F9C9DA), UINT32_C(0x76446D26), UINT32_C(0xAC60376F),
8633           UINT32_C(0xEF2C7B98), UINT32_C(0x2410C057), UINT32_C(0xEEA8CABE),
8634           UINT32_C(0x3672A2B6), UINT32_C(0x4C2CE2A7)},
8635          {UINT32_C(0x12879BA5), UINT32_C(0x3F770945), UINT32_C(0xAD913022),
8636           UINT32_C(0x719D5BD0), UINT32_C(0x36D445A4), UINT32_C(0x28A82DD9),
8637           UINT32_C(0x965965AA), UINT32_C(0x26382C23)}},
8638         {{UINT32_C(0xB8AA8419), UINT32_C(0x66709D92), UINT32_C(0x0AB5C241),
8639           UINT32_C(0xFAEFF2E4), UINT32_C(0x1DD46DEB), UINT32_C(0xABB7C5DD),
8640           UINT32_C(0x39DB6CB5), UINT32_C(0x7DD03C33)},
8641          {UINT32_C(0x9E160F01), UINT32_C(0x76CDD1EA), UINT32_C(0x81C5CA37),
8642           UINT32_C(0x00598D56), UINT32_C(0x241772EC), UINT32_C(0x16D23B04),
8643           UINT32_C(0x52A6B807), UINT32_C(0x5132B028)}},
8644         {{UINT32_C(0xCC041445), UINT32_C(0x6D48D4B5), UINT32_C(0x1528DF63),
8645           UINT32_C(0x0B1CD923), UINT32_C(0x4A815F60), UINT32_C(0x82EE4DC6),
8646           UINT32_C(0x0451E242), UINT32_C(0x29DA6059)},
8647          {UINT32_C(0x17A8A6D0), UINT32_C(0xCD90BFB0), UINT32_C(0x52A7FC3D),
8648           UINT32_C(0x8BCF4392), UINT32_C(0x1974860C), UINT32_C(0x49AD55F2),
8649           UINT32_C(0x5EDCB1D2), UINT32_C(0x20BBF010)}},
8650         {{UINT32_C(0xA8F6C08C), UINT32_C(0xB4F0EA84), UINT32_C(0xD50164F3),
8651           UINT32_C(0x4341BEA7), UINT32_C(0x06320C0F), UINT32_C(0xE5389019),
8652           UINT32_C(0x8BA6F033), UINT32_C(0x69D4851A)},
8653          {UINT32_C(0x77902045), UINT32_C(0x1CE58660), UINT32_C(0xBD8579B3),
8654           UINT32_C(0xF3B88D85), UINT32_C(0x4FB0A17B), UINT32_C(0xF84FF63A),
8655           UINT32_C(0xDE6581BF), UINT32_C(0x09EE62EE)}},
8656         {{UINT32_C(0x7C0516DE), UINT32_C(0x8B8C15B5), UINT32_C(0xA530B89F),
8657           UINT32_C(0x3B448FC3), UINT32_C(0x500B0251), UINT32_C(0xE385BBE5),
8658           UINT32_C(0xED70804B), UINT32_C(0x5F643F85)},
8659          {UINT32_C(0x239E85A5), UINT32_C(0x550D9B7D), UINT32_C(0x8666E41F),
8660           UINT32_C(0xDC910B5B), UINT32_C(0x7D4E390F), UINT32_C(0x65522181),
8661           UINT32_C(0x3162FE10), UINT32_C(0x5DD2D3E8)}},
8662         {{UINT32_C(0xDF024A25), UINT32_C(0x59609390), UINT32_C(0x08CCBA91),
8663           UINT32_C(0xE66A77E9), UINT32_C(0x65E24DB6), UINT32_C(0xC5CEA91A),
8664           UINT32_C(0x3DCEA0A7), UINT32_C(0x0888DFB5)},
8665          {UINT32_C(0x92FA0754), UINT32_C(0x8C8E58CC), UINT32_C(0xF7DC9538),
8666           UINT32_C(0x99C259AB), UINT32_C(0x9BEFE750), UINT32_C(0x3A06D8ED),
8667           UINT32_C(0xFAACDC97), UINT32_C(0x71AF22E1)}},
8668         {{UINT32_C(0x250AC059), UINT32_C(0xCC41D094), UINT32_C(0x3BE3DA01),
8669           UINT32_C(0xCD792A73), UINT32_C(0xCC61EFE1), UINT32_C(0x2DA07802),
8670           UINT32_C(0x57053A5D), UINT32_C(0x293AFB08)},
8671          {UINT32_C(0x2FD8A8A0), UINT32_C(0x3E7E4884), UINT32_C(0x0B9B48D3),
8672           UINT32_C(0x183FA500), UINT32_C(0x431AACF6), UINT32_C(0x9CAC07BE),
8673           UINT32_C(0x2DF89F10), UINT32_C(0x4F82D799)}},
8674         {{UINT32_C(0x0A84935C), UINT32_C(0xFD9F61A8), UINT32_C(0xBB5A7E56),
8675           UINT32_C(0x78B948D0), UINT32_C(0x0ACCEEB3), UINT32_C(0xDA478766),
8676           UINT32_C(0x53C3851D), UINT32_C(0x47BDAE44)},
8677          {UINT32_C(0x0CFE8D0D), UINT32_C(0x5AE2C60C), UINT32_C(0x1D8A79C9),
8678           UINT32_C(0xAC8F79B3), UINT32_C(0x0A79CA31), UINT32_C(0xA958C15E),
8679           UINT32_C(0xF0952018), UINT32_C(0x1C46E20E)}},
8680         {{UINT32_C(0xF04AC529), UINT32_C(0xAE552ECE), UINT32_C(0xE2BFEFBC),
8681           UINT32_C(0xB295B601), UINT32_C(0x54733412), UINT32_C(0xECC1EE55),
8682           UINT32_C(0x12282094), UINT32_C(0x28BCBA53)},
8683          {UINT32_C(0x50B25069), UINT32_C(0x306C0781), UINT32_C(0xE9A18FFE),
8684           UINT32_C(0x10D5D23C), UINT32_C(0x1BD5489F), UINT32_C(0xC34FC5C7),
8685           UINT32_C(0xE191867D), UINT32_C(0x2B610028)}},
8686         {{UINT32_C(0x3E17E84D), UINT32_C(0x458A1CC1), UINT32_C(0x5D7CFB98),
8687           UINT32_C(0x6EAE343D), UINT32_C(0x101F0B7E), UINT32_C(0xC6E0FDAA),
8688           UINT32_C(0x2A023288), UINT32_C(0x0B9F7C2C)},
8689          {UINT32_C(0x6F3FCAA0), UINT32_C(0xBEA893A8), UINT32_C(0x452B07C0),
8690           UINT32_C(0x7D711B2B), UINT32_C(0x98E2C88D), UINT32_C(0x28958737),
8691           UINT32_C(0xDFD99A2A), UINT32_C(0x553A0180)}},
8692         {{UINT32_C(0x0DBA5986), UINT32_C(0x8D617BE8), UINT32_C(0x13D18594),
8693           UINT32_C(0xDB763C14), UINT32_C(0xD2DAD82F), UINT32_C(0x822CB0DA),
8694           UINT32_C(0x93239947), UINT32_C(0x37ACD99F)},
8695          {UINT32_C(0xCDC08BE6), UINT32_C(0x6A2A7070), UINT32_C(0xCF6D63FF),
8696           UINT32_C(0x86B3B66A), UINT32_C(0x0F7D4A67), UINT32_C(0x5BEFF3FB),
8697           UINT32_C(0xEBC94AE5), UINT32_C(0x05C25557)}},
8698         {{UINT32_C(0x89183418), UINT32_C(0x5D1DC087), UINT32_C(0x6EA5A960),
8699           UINT32_C(0xA25C7AE2), UINT32_C(0xD31F3AAE), UINT32_C(0x074698B9),
8700           UINT32_C(0x221788A4), UINT32_C(0x5A5B510B)},
8701          {UINT32_C(0x1DCE95FE), UINT32_C(0x896A8787), UINT32_C(0x7F24020C),
8702           UINT32_C(0x89E7B93D), UINT32_C(0x865B4334), UINT32_C(0xFC19BF42),
8703           UINT32_C(0x5B78B06D), UINT32_C(0x0389FBF7)}},
8704         {{UINT32_C(0x0BB3A3E2), UINT32_C(0x73B6DA7B), UINT32_C(0x44D56755),
8705           UINT32_C(0xDBC12670), UINT32_C(0x7CC1C589), UINT32_C(0x7AF2DE28),
8706           UINT32_C(0x697CB6B7), UINT32_C(0x7E248FCB)},
8707          {UINT32_C(0xC64202C0), UINT32_C(0x9410EC06), UINT32_C(0x75EB3A8C),
8708           UINT32_C(0x79C82158), UINT32_C(0xE95C5EA9), UINT32_C(0x74FDD2F6),
8709           UINT32_C(0x1CCA72C7), UINT32_C(0x2A40B5B5)}},
8710         {{UINT32_C(0x5C29E320), UINT32_C(0x56984223), UINT32_C(0xE871D9E2),
8711           UINT32_C(0x8266392A), UINT32_C(0x7B391763), UINT32_C(0x9D86C6C7),
8712           UINT32_C(0x02543C9E), UINT32_C(0x5E9E61E2)},
8713          {UINT32_C(0xD2501D1A), UINT32_C(0xD62A9334), UINT32_C(0x9211135D),
8714           UINT32_C(0x9D19F54D), UINT32_C(0x8FE81272), UINT32_C(0x66D0B961),
8715           UINT32_C(0xD09C2033), UINT32_C(0x6E64635A)}},
8716         {{UINT32_C(0x06F84E11), UINT32_C(0x93BD0AD8), UINT32_C(0x131AFDBF),
8717           UINT32_C(0x45F18F2B), UINT32_C(0x6058EB37), UINT32_C(0x881F053F),
8718           UINT32_C(0x948AD0D5), UINT32_C(0x36B8D656)},
8719          {UINT32_C(0xE1934E38), UINT32_C(0x53DC2E02), UINT32_C(0xC0435B6C),
8720           UINT32_C(0xA8AD5055), UINT32_C(0x4BD7154F), UINT32_C(0x0DF7BD11),
8721           UINT32_C(0x73BC98FC), UINT32_C(0x6350B05E)}},
8722     },
8723     {
8724         {{UINT32_C(0x04BF927A), UINT32_C(0x12AC5496), UINT32_C(0xE749323E),
8725           UINT32_C(0x9BB322DB), UINT32_C(0xF6D99AD6), UINT32_C(0xC10C666D),
8726           UINT32_C(0x4C883E0A), UINT32_C(0x0FDF8FB3)},
8727          {UINT32_C(0x665272E8), UINT32_C(0x10667F92), UINT32_C(0x5BF8702F),
8728           UINT32_C(0xA30D4CE1), UINT32_C(0xA2D6033D), UINT32_C(0x56314B47),
8729           UINT32_C(0xDAC1A10E), UINT32_C(0x09EC90D9)}},
8730         {{UINT32_C(0xC9EB81D1), UINT32_C(0x364F06DD), UINT32_C(0x4DC5CB76),
8731           UINT32_C(0xFD181A56), UINT32_C(0xE264567C), UINT32_C(0x91CF010C),
8732           UINT32_C(0xA05C02FC), UINT32_C(0x71D9A95B)},
8733          {UINT32_C(0x53967407), UINT32_C(0xAB5AFBA6), UINT32_C(0x9B0AA089),
8734           UINT32_C(0x3FC77913), UINT32_C(0xAF29EF02), UINT32_C(0xDF1D4912),
8735           UINT32_C(0x5796A0A5), UINT32_C(0x01C3D61C)}},
8736         {{UINT32_C(0xB376E8DE), UINT32_C(0x11503A1C), UINT32_C(0xB8B98321),
8737           UINT32_C(0x5CB17D6D), UINT32_C(0xBD8FE9C2), UINT32_C(0x96C9D585),
8738           UINT32_C(0xD117171D), UINT32_C(0x048C8DA7)},
8739          {UINT32_C(0xB582282A), UINT32_C(0xDF7FABB8), UINT32_C(0x24FD6BB7),
8740           UINT32_C(0x75C2A937), UINT32_C(0x00633701), UINT32_C(0xDF0DBD32),
8741           UINT32_C(0x039B3E72), UINT32_C(0x04FB7AEC)}},
8742         {{UINT32_C(0x0E20C09A), UINT32_C(0xE60CCE96), UINT32_C(0x116E1C38),
8743           UINT32_C(0xAD295B31), UINT32_C(0xC04477D0), UINT32_C(0xCA6B625D),
8744           UINT32_C(0xFFA32E36), UINT32_C(0x032FE03B)},
8745          {UINT32_C(0xE2AAABC6), UINT32_C(0x46334FEE), UINT32_C(0xDA1C6871),
8746           UINT32_C(0x9808B03C), UINT32_C(0xF934A482), UINT32_C(0x76D0E3AA),
8747           UINT32_C(0xF9CB8F97), UINT32_C(0x2B0BF54A)}},
8748         {{UINT32_C(0x2CA29D02), UINT32_C(0xB5D52717), UINT32_C(0xDBEACF03),
8749           UINT32_C(0xF9DAEAFB), UINT32_C(0x113A3811), UINT32_C(0x3786E64B),
8750           UINT32_C(0x5C30569D), UINT32_C(0x6A01A1A5)},
8751          {UINT32_C(0xBA1C28B6), UINT32_C(0x0A91E160), UINT32_C(0x929D3F05),
8752           UINT32_C(0x5BFA32BA), UINT32_C(0x40C51084), UINT32_C(0x1108F875),
8753           UINT32_C(0x42FD5AE1), UINT32_C(0x37FD2383)}},
8754         {{UINT32_C(0x2A79BFB8), UINT32_C(0xABF14EDE), UINT32_C(0xAA34300C),
8755           UINT32_C(0x08B34155), UINT32_C(0x64077041), UINT32_C(0x85C0DFA0),
8756           UINT32_C(0xF542D447), UINT32_C(0x3AE5D28D)},
8757          {UINT32_C(0xB74DC4FB), UINT32_C(0xC303A0FE), UINT32_C(0x556E0B87),
8758           UINT32_C(0xB75292FA), UINT32_C(0x51BDC64C), UINT32_C(0x785628B0),
8759           UINT32_C(0x13C579F6), UINT32_C(0x43FE786E)}},
8760         {{UINT32_C(0x5F08790F), UINT32_C(0xBC5898CB), UINT32_C(0x125644EC),
8761           UINT32_C(0xA298A59A), UINT32_C(0xB048217A), UINT32_C(0xD2D9627B),
8762           UINT32_C(0x7B1F23F7), UINT32_C(0x6DCEEF32)},
8763          {UINT32_C(0xFA7B9C6A), UINT32_C(0x7F02FC44), UINT32_C(0x73597BF7),
8764           UINT32_C(0x90C64960), UINT32_C(0x2CB0B3A2), UINT32_C(0x5DD7E4F4),
8765           UINT32_C(0x43E83553), UINT32_C(0x5EC5F92C)}},
8766         {{UINT32_C(0x59E2C8E9), UINT32_C(0xC06B4D49), UINT32_C(0x1DF8AD8B),
8767           UINT32_C(0x7DBC8218), UINT32_C(0xDAE8B6D7), UINT32_C(0x35570120),
8768           UINT32_C(0x0CDE2691), UINT32_C(0x4222A1BA)},
8769          {UINT32_C(0xC1693046), UINT32_C(0xD2F1EFA6), UINT32_C(0x7D36D9CD),
8770           UINT32_C(0x2707228D), UINT32_C(0x062D499C), UINT32_C(0xD668EE25),
8771           UINT32_C(0xCE2621A0), UINT32_C(0x7AC81BDF)}},
8772         {{UINT32_C(0x16F6A215), UINT32_C(0x3A9F04BB), UINT32_C(0x89E5494E),
8773           UINT32_C(0x739BB2BC), UINT32_C(0xD1CEB043), UINT32_C(0xCB8DBAE8),
8774           UINT32_C(0x09A6B465), UINT32_C(0x6B177DF0)},
8775          {UINT32_C(0x1A529744), UINT32_C(0xB7C4980E), UINT32_C(0x0E9012B5),
8776           UINT32_C(0x3941B997), UINT32_C(0x04C6D677), UINT32_C(0xDF317B95),
8777           UINT32_C(0x829F51D6), UINT32_C(0x17898D81)}},
8778         {{UINT32_C(0xA12282BA), UINT32_C(0x3D48FD66), UINT32_C(0x899E5A1A),
8779           UINT32_C(0xB775465B), UINT32_C(0x55D95C35), UINT32_C(0xDE0CCB99),
8780           UINT32_C(0x950AB9DF), UINT32_C(0x4CB3CCDD)},
8781          {UINT32_C(0x175C4CAE), UINT32_C(0x0B4ABA02), UINT32_C(0xCF86187C),
8782           UINT32_C(0x2DA7C698), UINT32_C(0x9A9BF6CA), UINT32_C(0x3A4453DF),
8783           UINT32_C(0x8BB9F543), UINT32_C(0x53C86F9C)}},
8784         {{UINT32_C(0x5B7DB133), UINT32_C(0x806B815E), UINT32_C(0x118FA7C1),
8785           UINT32_C(0x2451D6AC), UINT32_C(0xFB0BEFC3), UINT32_C(0x32C148B6),
8786           UINT32_C(0xE433031E), UINT32_C(0x2E6ECEF6)},
8787          {UINT32_C(0x54B2EE29), UINT32_C(0x2B78F317), UINT32_C(0x5A73BF01),
8788           UINT32_C(0xBC321BF9), UINT32_C(0xF8F7F981), UINT32_C(0xDF6F7840),
8789           UINT32_C(0x22280C40), UINT32_C(0x751A917A)}},
8790         {{UINT32_C(0x4F9161C8), UINT32_C(0x73EFA631), UINT32_C(0x21145C52),
8791           UINT32_C(0xB61C5E68), UINT32_C(0x6A04DC52), UINT32_C(0x60947773),
8792           UINT32_C(0x2C2073B2), UINT32_C(0x758E38FF)},
8793          {UINT32_C(0x03A54541), UINT32_C(0xDC6FEA73), UINT32_C(0xB6E65787),
8794           UINT32_C(0x5E77682C), UINT32_C(0x37370FD0), UINT32_C(0xAFEF6C1C),
8795           UINT32_C(0xD5AC255A), UINT32_C(0x33DEEF00)}},
8796         {{UINT32_C(0x061D35CC), UINT32_C(0x1AD81101), UINT32_C(0x8A77D246),
8797           UINT32_C(0xD55EED7D), UINT32_C(0x926E64C3), UINT32_C(0x8D59DC22),
8798           UINT32_C(0xAFC6FFA6), UINT32_C(0x76C9D6CE)},
8799          {UINT32_C(0x3F4FCC0F), UINT32_C(0x945A89B5), UINT32_C(0x9087F46A),
8800           UINT32_C(0x65EB52CF), UINT32_C(0xAE9F09DE), UINT32_C(0xC3380377),
8801           UINT32_C(0x43DFD5FB), UINT32_C(0x59067EDD)}},
8802         {{UINT32_C(0xCF841445), UINT32_C(0xCBB7BC66), UINT32_C(0xA3BE7C94),
8803           UINT32_C(0x9ED681D3), UINT32_C(0x396C6DD5), UINT32_C(0xF5CF59BE),
8804           UINT32_C(0xFA763634), UINT32_C(0x2598A5DC)},
8805          {UINT32_C(0x85CF4FDE), UINT32_C(0xAD2B445A), UINT32_C(0xA0D92F4C),
8806           UINT32_C(0xC8CE3F42), UINT32_C(0xF01CD0F5), UINT32_C(0x78356D5B),
8807           UINT32_C(0x5D50C9D7), UINT32_C(0x26E44A45)}},
8808         {{UINT32_C(0x4EDF35A5), UINT32_C(0x22EB53E3), UINT32_C(0xAF1A8A60),
8809           UINT32_C(0xA0C6CDEF), UINT32_C(0xD07C1EBD), UINT32_C(0x1D31BA2C),
8810           UINT32_C(0xD2C2ADE1), UINT32_C(0x513511A0)},
8811          {UINT32_C(0xC4449889), UINT32_C(0xBD3772D4), UINT32_C(0xD3F49C61),
8812           UINT32_C(0xAF5EF819), UINT32_C(0x40047745), UINT32_C(0xAAF21599),
8813           UINT32_C(0xA54B8080), UINT32_C(0x2128938C)}},
8814         {{UINT32_C(0x73ADBEC8), UINT32_C(0x9761A94A), UINT32_C(0x1FB2F257),
8815           UINT32_C(0x4710BBF0), UINT32_C(0xB3920007), UINT32_C(0xFE52603E),
8816           UINT32_C(0x7DE06F13), UINT32_C(0x66393750)},
8817          {UINT32_C(0x965AC706), UINT32_C(0x35F4E633), UINT32_C(0x33F953E5),
8818           UINT32_C(0xF49DC418), UINT32_C(0x31CFE467), UINT32_C(0x1562AD51),
8819           UINT32_C(0x8ADB1F7A), UINT32_C(0x035FB54D)}},
8820     },
8821     {
8822         {{UINT32_C(0xFD73062E), UINT32_C(0xF632081F), UINT32_C(0xCB740B59),
8823           UINT32_C(0xB2740C19), UINT32_C(0x8751E315), UINT32_C(0x2DFD957F),
8824           UINT32_C(0xC21039C2), UINT32_C(0x5722E015)},
8825          {UINT32_C(0xA4E56D39), UINT32_C(0x44781BFC), UINT32_C(0xDA2FBE63),
8826           UINT32_C(0x894BD2F7), UINT32_C(0x5DE22DE0), UINT32_C(0x9E81007B),
8827           UINT32_C(0xC68788FC), UINT32_C(0x0CED0859)}},
8828         {{UINT32_C(0x8DDA6292), UINT32_C(0x97DD8CF1), UINT32_C(0x27FCF7F1),
8829           UINT32_C(0x3E9191F7), UINT32_C(0xDAA6AD44), UINT32_C(0x07885E32),
8830           UINT32_C(0xBE9F7E62), UINT32_C(0x624CE66E)},
8831          {UINT32_C(0x1893A3D9), UINT32_C(0x0483DA42), UINT32_C(0x8F2A105F),
8832           UINT32_C(0x1041B7EA), UINT32_C(0x429A24B9), UINT32_C(0x5B706F99),
8833           UINT32_C(0x167C12E1), UINT32_C(0x30BFBCEE)}},
8834         {{UINT32_C(0xC38251D8), UINT32_C(0xEB2C7218), UINT32_C(0x022B6411),
8835           UINT32_C(0x5FE5D8F6), UINT32_C(0x93DCCB63), UINT32_C(0xF62200C1),
8836           UINT32_C(0xCFF221E6), UINT32_C(0x2CF0F8F1)},
8837          {UINT32_C(0x9217EE42), UINT32_C(0xDCF1BCD6), UINT32_C(0x9DB2580B),
8838           UINT32_C(0x1904879C), UINT32_C(0xF6510164), UINT32_C(0x2DDB7E5D),
8839           UINT32_C(0x8A0EAC6B), UINT32_C(0x7BB29985)}},
8840         {{UINT32_C(0x0FCF8397), UINT32_C(0x98313C0E), UINT32_C(0x42C8EEF1),
8841           UINT32_C(0xB594D0B7), UINT32_C(0x97E842F7), UINT32_C(0xBD31FC34),
8842           UINT32_C(0x8F3ADB9B), UINT32_C(0x49476B9D)},
8843          {UINT32_C(0x50B45445), UINT32_C(0xD1B5FD37), UINT32_C(0xD583A89F),
8844           UINT32_C(0x526C51CA), UINT32_C(0x6782C060), UINT32_C(0x5D461F09),
8845           UINT32_C(0x27274A60), UINT32_C(0x414023EC)}},
8846         {{UINT32_C(0xEAE4285A), UINT32_C(0x7C809B26), UINT32_C(0x0A066043),
8847           UINT32_C(0x939814BF), UINT32_C(0x6C640E3D), UINT32_C(0x9CBAC0BB),
8848           UINT32_C(0x30EB1B86), UINT32_C(0x647E22E1)},
8849          {UINT32_C(0x3C7DFA0D), UINT32_C(0x21E2A42D), UINT32_C(0xE2CD0CCE),
8850           UINT32_C(0xFF8CC304), UINT32_C(0x3496964C), UINT32_C(0x3DC8C920),
8851           UINT32_C(0x2B4DF7C2), UINT32_C(0x5D91FE78)}},
8852         {{UINT32_C(0x96D84346), UINT32_C(0xD5BBBD6E), UINT32_C(0xF91FFA8C),
8853           UINT32_C(0x8363527B), UINT32_C(0x7F408588), UINT32_C(0x931D0FDA),
8854           UINT32_C(0xB0B19D0F), UINT32_C(0x2C51F17B)},
8855          {UINT32_C(0xFF61C86D), UINT32_C(0x7A693804), UINT32_C(0xB3FFD529),
8856           UINT32_C(0xBAB4AC45), UINT32_C(0x4C171C84), UINT32_C(0xEDEA275F),
8857           UINT32_C(0xD59B94D9), UINT32_C(0x0520925C)}},
8858         {{UINT32_C(0xE8718BB4), UINT32_C(0xB6A620AA), UINT32_C(0x88D37A61),
8859           UINT32_C(0x67851F0F), UINT32_C(0x9984A787), UINT32_C(0xCBEE8DBC),
8860           UINT32_C(0xAE834635), UINT32_C(0x7190B766)},
8861          {UINT32_C(0xC9AC1A8E), UINT32_C(0x3A1D7DB4), UINT32_C(0x7B97BCB7),
8862           UINT32_C(0x6EEBD5AD), UINT32_C(0x9D0AB769), UINT32_C(0x60978625),
8863           UINT32_C(0x7C7F02DD), UINT32_C(0x5AD56C0C)}},
8864         {{UINT32_C(0x2DB3B6F2), UINT32_C(0x2C0003DE), UINT32_C(0xEFCF1DD8),
8865           UINT32_C(0x3BE1CE3F), UINT32_C(0x379E6B8A), UINT32_C(0xE2F79872),
8866           UINT32_C(0x0B898094), UINT32_C(0x3F9640D8)},
8867          {UINT32_C(0x15B29D41), UINT32_C(0x11EBD937), UINT32_C(0x3EF17D8C),
8868           UINT32_C(0xD6A076B9), UINT32_C(0xB38ED3BA), UINT32_C(0x0A2C0016),
8869           UINT32_C(0xCCB161CC), UINT32_C(0x64329A02)}},
8870         {{UINT32_C(0xB1ED1DEA), UINT32_C(0xD135032D), UINT32_C(0x42F734A0),
8871           UINT32_C(0x43F76848), UINT32_C(0x3C18D8C5), UINT32_C(0x1F6C12BD),
8872           UINT32_C(0xC0A304E8), UINT32_C(0x7D7757B7)},
8873          {UINT32_C(0xDE3B6B9F), UINT32_C(0x3F0C2867), UINT32_C(0xB7201E4F),
8874           UINT32_C(0x72F98EBB), UINT32_C(0x940E748D), UINT32_C(0xCC408000),
8875           UINT32_C(0xAD74B322), UINT32_C(0x34FE6D8F)}},
8876         {{UINT32_C(0xE6D884FE), UINT32_C(0xA12A9359), UINT32_C(0xDE063103),
8877           UINT32_C(0xB080A081), UINT32_C(0x97ABB854), UINT32_C(0x672DE27D),
8878           UINT32_C(0xEE6F3485), UINT32_C(0x712B0883)},
8879          {UINT32_C(0x2044A2A2), UINT32_C(0xF430BF2D), UINT32_C(0x7D12027A),
8880           UINT32_C(0x66561020), UINT32_C(0x2C539C3B), UINT32_C(0x5ED63AD2),
8881           UINT32_C(0xFE5EE1D1), UINT32_C(0x7982AAD0)}},
8882         {{UINT32_C(0x3BE94D26), UINT32_C(0x873DC8F6), UINT32_C(0x4B41BD76),
8883           UINT32_C(0x90923639), UINT32_C(0x0CBE4B5C), UINT32_C(0xE439A496),
8884           UINT32_C(0x11782BF1), UINT32_C(0x424F8D24)},
8885          {UINT32_C(0x49686ED9), UINT32_C(0x6612BD99), UINT32_C(0xFB04E27E),
8886           UINT32_C(0x78157AA9), UINT32_C(0x805F809C), UINT32_C(0x844E1616),
8887           UINT32_C(0x62CB8BCD), UINT32_C(0x717AEB32)}},
8888         {{UINT32_C(0x5248CF6A), UINT32_C(0xE98C1A0E), UINT32_C(0xB0E4ADF8),
8889           UINT32_C(0xC84294A8), UINT32_C(0xA7769275), UINT32_C(0xD35748A4),
8890           UINT32_C(0x03363C82), UINT32_C(0x2C3867E1)},
8891          {UINT32_C(0x8F43885A), UINT32_C(0x2EC7AF43), UINT32_C(0x3AE516C7),
8892           UINT32_C(0x7979D1A2), UINT32_C(0x8B81056C), UINT32_C(0x059939EC),
8893           UINT32_C(0x7E358480), UINT32_C(0x434AA4DD)}},
8894         {{UINT32_C(0x4A5228EA), UINT32_C(0x12EA1C87), UINT32_C(0x4D293B9F),
8895           UINT32_C(0x47B48198), UINT32_C(0xE9696688), UINT32_C(0x319CE379),
8896           UINT32_C(0x7CE6FD05), UINT32_C(0x7C9FF595)},
8897          {UINT32_C(0x3093E3E4), UINT32_C(0x15E954DF), UINT32_C(0x304015AF),
8898           UINT32_C(0xBC98307C), UINT32_C(0x975C69C5), UINT32_C(0x66522DF8),
8899           UINT32_C(0x963CE892), UINT32_C(0x4C9EBFB3)}},
8900         {{UINT32_C(0x628FB125), UINT32_C(0x1CEEF18A), UINT32_C(0x4BF30BB6),
8901           UINT32_C(0xFB69A234), UINT32_C(0x70C9C864), UINT32_C(0x510EB339),
8902           UINT32_C(0x8A89151D), UINT32_C(0x1EE9D1ED)},
8903          {UINT32_C(0x4EE1A486), UINT32_C(0x34094028), UINT32_C(0x2FC79CEE),
8904           UINT32_C(0x66440167), UINT32_C(0xC7DA3A75), UINT32_C(0xB597625A),
8905           UINT32_C(0x65205AF9), UINT32_C(0x6E5B920E)}},
8906         {{UINT32_C(0xD87C914C), UINT32_C(0x749D0CA4), UINT32_C(0x0D60C59E),
8907           UINT32_C(0x55ECBEBB), UINT32_C(0xA65B4652), UINT32_C(0x916A1127),
8908           UINT32_C(0x4E4767A3), UINT32_C(0x503964D4)},
8909          {UINT32_C(0x1B1F94D5), UINT32_C(0x8899A4C2), UINT32_C(0x33E0D94D),
8910           UINT32_C(0xEFFCAF52), UINT32_C(0xA3DAD87D), UINT32_C(0x61B89B3F),
8911           UINT32_C(0x5088D6BE), UINT32_C(0x3CB455F5)}},
8912         {{UINT32_C(0x70678C14), UINT32_C(0x5088A52B), UINT32_C(0x41B00FC3),
8913           UINT32_C(0x212823D9), UINT32_C(0x19865BDB), UINT32_C(0x38D5CEB6),
8914           UINT32_C(0x12E63491), UINT32_C(0x2E9C7FD7)},
8915          {UINT32_C(0x59E73913), UINT32_C(0x6656F916), UINT32_C(0xE9035A63),
8916           UINT32_C(0x57AE9A47), UINT32_C(0xF02B8DAE), UINT32_C(0x970DCF2B),
8917           UINT32_C(0x950FF8A9), UINT32_C(0x3366F8A6)}},
8918     },
8919     {
8920         {{UINT32_C(0xAC4A8F83), UINT32_C(0x93DABD6F), UINT32_C(0x1CFF0AAD),
8921           UINT32_C(0x27233488), UINT32_C(0xF500EDFB), UINT32_C(0xBCAC3181),
8922           UINT32_C(0xB5297515), UINT32_C(0x27C6DB15)},
8923          {UINT32_C(0x2F08A89F), UINT32_C(0x9CD142D9), UINT32_C(0x2EAD0A80),
8924           UINT32_C(0x3C005423), UINT32_C(0x44A7623A), UINT32_C(0x82845F95),
8925           UINT32_C(0x72BC4862), UINT32_C(0x51047070)}},
8926         {{UINT32_C(0xDC1B9159), UINT32_C(0x4303797A), UINT32_C(0x5D9C9AC1),
8927           UINT32_C(0x7842434B), UINT32_C(0x6009FE2E), UINT32_C(0x8A36ED2D),
8928           UINT32_C(0x5106429C), UINT32_C(0x11FE35C9)},
8929          {UINT32_C(0x23554A92), UINT32_C(0xDF20A393), UINT32_C(0x932E37C2),
8930           UINT32_C(0x59364A48), UINT32_C(0x7754A5DF), UINT32_C(0x6D7DE6AE),
8931           UINT32_C(0x462725AC), UINT32_C(0x00CCC6A3)}},
8932         {{UINT32_C(0xBAE83077), UINT32_C(0xB1F86CA5), UINT32_C(0x5110782C),
8933           UINT32_C(0x82FE28A5), UINT32_C(0xD942182C), UINT32_C(0x8031BBF3),
8934           UINT32_C(0x410D9F83), UINT32_C(0x4F1F3815)},
8935          {UINT32_C(0x835ABA65), UINT32_C(0xE57F9907), UINT32_C(0x5AA10903),
8936           UINT32_C(0x0A8220C2), UINT32_C(0x8812602E), UINT32_C(0x2E984717),
8937           UINT32_C(0x2A7D2C6C), UINT32_C(0x0AEC467D)}},
8938         {{UINT32_C(0xC4DBED03), UINT32_C(0xC779F708), UINT32_C(0x8582BD4E),
8939           UINT32_C(0x10A30CD8), UINT32_C(0x243FEAEE), UINT32_C(0xFA5646C5),
8940           UINT32_C(0xCA459EF7), UINT32_C(0x1CFAF38E)},
8941          {UINT32_C(0x95BC8077), UINT32_C(0xCCDD0146), UINT32_C(0x65858C49),
8942           UINT32_C(0x4ECDE919), UINT32_C(0x77FEE1B6), UINT32_C(0x562764C6),
8943           UINT32_C(0x43524407), UINT32_C(0x3CF5A3AB)}},
8944         {{UINT32_C(0x0F6EF445), UINT32_C(0x0CCEAADD), UINT32_C(0xC297AFAF),
8945           UINT32_C(0x690C12C1), UINT32_C(0xC15B3D7B), UINT32_C(0xD67AA6EA),
8946           UINT32_C(0x9FF8884E), UINT32_C(0x445D233C)},
8947          {UINT32_C(0x6CAD3234), UINT32_C(0xC38FFD09), UINT32_C(0xC7002F6F),
8948           UINT32_C(0xA690FFD1), UINT32_C(0x11ACB469), UINT32_C(0xD445E851),
8949           UINT32_C(0x97166E52), UINT32_C(0x64EE1380)}},
8950         {{UINT32_C(0xCEFBFB0A), UINT32_C(0x1EB031CC), UINT32_C(0xAA40D6A9),
8951           UINT32_C(0x60F3DEF4), UINT32_C(0xF96FCAFE), UINT32_C(0x240F7CA5),
8952           UINT32_C(0xE4450A06), UINT32_C(0x53AF2F10)},
8953          {UINT32_C(0xA84058EF), UINT32_C(0xE8AF980F), UINT32_C(0x34AFFC6E),
8954           UINT32_C(0x3E300017), UINT32_C(0xC86B458C), UINT32_C(0x62D1D094),
8955           UINT32_C(0x75732C7E), UINT32_C(0x5338383D)}},
8956         {{UINT32_C(0x04D82638), UINT32_C(0x6BD46AEB), UINT32_C(0x62E645A0),
8957           UINT32_C(0x86940A31), UINT32_C(0xA5736B40), UINT32_C(0xD025B4B1),
8958           UINT32_C(0x924E8E5E), UINT32_C(0x1056D9D0)},
8959          {UINT32_C(0x1DB58101), UINT32_C(0x3D0495CC), UINT32_C(0x2D677581),
8960           UINT32_C(0xC300C6E7), UINT32_C(0x610AECEC), UINT32_C(0xFE38B898),
8961           UINT32_C(0xD66F64ED), UINT32_C(0x1C8B94E2)}},
8962         {{UINT32_C(0x06D0C7EC), UINT32_C(0x5C9C3A37), UINT32_C(0xB8A74918),
8963           UINT32_C(0x6B4B5437), UINT32_C(0x9052A235), UINT32_C(0x85689C98),
8964           UINT32_C(0x87B53AA6), UINT32_C(0x4F7C2C8D)},
8965          {UINT32_C(0xD8F1D334), UINT32_C(0x9FCD866F), UINT32_C(0x6898223C),
8966           UINT32_C(0xDBAAA227), UINT32_C(0x95C7B35A), UINT32_C(0x933DE9DA),
8967           UINT32_C(0x3EA949FD), UINT32_C(0x329AE20F)}},
8968         {{UINT32_C(0x948A2ECD), UINT32_C(0xB83547AF), UINT32_C(0xBE34890C),
8969           UINT32_C(0xEBF7C1E7), UINT32_C(0xF8211C33), UINT32_C(0x5F0F44F3),
8970           UINT32_C(0xC6927638), UINT32_C(0x14A10BDB)},
8971          {UINT32_C(0x5B579BF5), UINT32_C(0x7FD88567), UINT32_C(0x5B7417F0),
8972           UINT32_C(0xD7C71281), UINT32_C(0x2083502E), UINT32_C(0x7C04F111),
8973           UINT32_C(0xE9AD6283), UINT32_C(0x42029128)}},
8974         {{UINT32_C(0x2C5C0928), UINT32_C(0x32FBFFAE), UINT32_C(0x1469F1D3),
8975           UINT32_C(0x4E31D312), UINT32_C(0xD79F51A2), UINT32_C(0x17307E28),
8976           UINT32_C(0x79A51EBD), UINT32_C(0x546C91AF)},
8977          {UINT32_C(0x668086A6), UINT32_C(0x041D464D), UINT32_C(0x0DB695DB),
8978           UINT32_C(0x4986BDE5), UINT32_C(0xEF317AA0), UINT32_C(0xCBA5F6EE),
8979           UINT32_C(0x730221D3), UINT32_C(0x5879259F)}},
8980         {{UINT32_C(0x253BB4BA), UINT32_C(0xBD9C5CA5), UINT32_C(0x0E2A75BB),
8981           UINT32_C(0xBBFC6079), UINT32_C(0x67AB9033), UINT32_C(0xB5F11AE3),
8982           UINT32_C(0xAC2BFAFE), UINT32_C(0x6411CB1E)},
8983          {UINT32_C(0xBF5390B0), UINT32_C(0x750734FE), UINT32_C(0x879A3D3D),
8984           UINT32_C(0xA044BED4), UINT32_C(0xA0C47093), UINT32_C(0xE1E9F0E4),
8985           UINT32_C(0xB64DA48C), UINT32_C(0x3BCAD93E)}},
8986         {{UINT32_C(0xB37E16C2), UINT32_C(0xAFC6BCB6), UINT32_C(0x2331B0CD),
8987           UINT32_C(0xB54F56C0), UINT32_C(0x5BBFBEE7), UINT32_C(0x725E81B4),
8988           UINT32_C(0xE8B9D922), UINT32_C(0x2AE0C039)},
8989          {UINT32_C(0xDB958319), UINT32_C(0x85301041), UINT32_C(0x0681C4A4),
8990           UINT32_C(0xDFAE34DD), UINT32_C(0xCBF7BB2B), UINT32_C(0x906C9219),
8991           UINT32_C(0x10A1710A), UINT32_C(0x1463E9EF)}},
8992         {{UINT32_C(0x21E6FC9D), UINT32_C(0x41E6C388), UINT32_C(0x24A39EC8),
8993           UINT32_C(0x0B629A1E), UINT32_C(0x1AEF7A46), UINT32_C(0xC62F60BE),
8994           UINT32_C(0xC5A16B6E), UINT32_C(0x59A50B54)},
8995          {UINT32_C(0x285B891E), UINT32_C(0x41CA367A), UINT32_C(0xE2F8AF59),
8996           UINT32_C(0x70A6CE6B), UINT32_C(0xCBCEEF98), UINT32_C(0x74058747),
8997           UINT32_C(0x601C375F), UINT32_C(0x4B912170)}},
8998         {{UINT32_C(0x734EE866), UINT32_C(0x7D975CE2), UINT32_C(0xA09F5F14),
8999           UINT32_C(0x8D3572C6), UINT32_C(0x2232EE5E), UINT32_C(0x1DB4CC88),
9000           UINT32_C(0x7C04C250), UINT32_C(0x6C979049)},
9001          {UINT32_C(0xAE1EBC20), UINT32_C(0xB5EC7706), UINT32_C(0xE21AAA32),
9002           UINT32_C(0x7BDBD34D), UINT32_C(0xC5D1C733), UINT32_C(0xAD4125FD),
9003           UINT32_C(0x731E6B09), UINT32_C(0x28B0302D)}},
9004         {{UINT32_C(0x1521415E), UINT32_C(0xD68EEC49), UINT32_C(0x092763C0),
9005           UINT32_C(0x31963424), UINT32_C(0x0BFB513B), UINT32_C(0xCA90F48D),
9006           UINT32_C(0x573A056A), UINT32_C(0x4814DDFF)},
9007          {UINT32_C(0x400E804D), UINT32_C(0x7E67599C), UINT32_C(0x51FD0596),
9008           UINT32_C(0x35452750), UINT32_C(0xDB331B66), UINT32_C(0x45EDD7FB),
9009           UINT32_C(0xBDEDE107), UINT32_C(0x172DA8B3)}},
9010         {{UINT32_C(0xB5BEB1C8), UINT32_C(0xD46F284C), UINT32_C(0x7B125701),
9011           UINT32_C(0x5DE5D3F1), UINT32_C(0x248053D1), UINT32_C(0xC3BA591E),
9012           UINT32_C(0x9C8F487C), UINT32_C(0x4E67F1F2)},
9013          {UINT32_C(0x8C252EC5), UINT32_C(0x380D93E4), UINT32_C(0x22BC5CF6),
9014           UINT32_C(0x913F96F1), UINT32_C(0xD7BAA634), UINT32_C(0xC1F06BBD),
9015           UINT32_C(0xA30BF1B9), UINT32_C(0x7B625179)}},
9016     },
9017     {
9018         {{UINT32_C(0xABD424AC), UINT32_C(0x125D398D), UINT32_C(0x9CC70479),
9019           UINT32_C(0xFE65DF03), UINT32_C(0xFB5EC82C), UINT32_C(0x89A31794),
9020           UINT32_C(0xA31C5DCA), UINT32_C(0x63EFFB55)},
9021          {UINT32_C(0x045B576A), UINT32_C(0x948F7571), UINT32_C(0x022B5FC8),
9022           UINT32_C(0xEC9F6FAB), UINT32_C(0xBD9F0DD2), UINT32_C(0x174DC936),
9023           UINT32_C(0xF4C4EE8B), UINT32_C(0x5EEA65E6)}},
9024         {{UINT32_C(0x8B800D67), UINT32_C(0xE97070AE), UINT32_C(0xB59B433E),
9025           UINT32_C(0xB9CB66FA), UINT32_C(0xC6141364), UINT32_C(0xC4496574),
9026           UINT32_C(0x6A9677EA), UINT32_C(0x530AA9B5)},
9027          {UINT32_C(0x75200533), UINT32_C(0x4A4E2EE3), UINT32_C(0x0F20A9BE),
9028           UINT32_C(0x4C38A509), UINT32_C(0xEA683510), UINT32_C(0x0A6FFBA4),
9029           UINT32_C(0x65732EA9), UINT32_C(0x7340EFEE)}},
9030         {{UINT32_C(0xE41C2B43), UINT32_C(0x3A5612E4), UINT32_C(0xFCB5C0A8),
9031           UINT32_C(0x31F51B80), UINT32_C(0xBD1F03E6), UINT32_C(0x4C5BBA64),
9032           UINT32_C(0x3694ADCA), UINT32_C(0x25387243)},
9033          {UINT32_C(0x1F7E4D5C), UINT32_C(0xF114EFAF), UINT32_C(0x4EA3A59D),
9034           UINT32_C(0xBEA5223A), UINT32_C(0x67EB414D), UINT32_C(0x82CEF46F),
9035           UINT32_C(0x9B6CAC3D), UINT32_C(0x09D351C1)}},
9036         {{UINT32_C(0x810F5054), UINT32_C(0xC69F25CE), UINT32_C(0x548A2CDF),
9037           UINT32_C(0xE33E5E97), UINT32_C(0x36946D3C), UINT32_C(0x20B3F442),
9038           UINT32_C(0x65DF2D3B), UINT32_C(0x572C0F5C)},
9039          {UINT32_C(0xCC953CC8), UINT32_C(0xFC5B2DF3), UINT32_C(0xD1CCADC6),
9040           UINT32_C(0x934D54C0), UINT32_C(0xA6E7B4DB), UINT32_C(0x828A906E),
9041           UINT32_C(0x5AD3076F), UINT32_C(0x610D36C1)}},
9042         {{UINT32_C(0x74F56E27), UINT32_C(0x960B0A01), UINT32_C(0xCF3FEA75),
9043           UINT32_C(0x9942C6AC), UINT32_C(0x82C51490), UINT32_C(0x2E4D786D),
9044           UINT32_C(0x9A4749C9), UINT32_C(0x23A51636)},
9045          {UINT32_C(0x2F7560FC), UINT32_C(0xD86AB36A), UINT32_C(0xDDB852A9),
9046           UINT32_C(0xDA66B49D), UINT32_C(0x544C1023), UINT32_C(0x84E1587D),
9047           UINT32_C(0x6AA3C1DA), UINT32_C(0x7AB8BC69)}},
9048         {{UINT32_C(0xA5F30701), UINT32_C(0xFD0397AF), UINT32_C(0xDFC8B187),
9049           UINT32_C(0x96FFB15D), UINT32_C(0x1475E520), UINT32_C(0xF2C86453),
9050           UINT32_C(0xEF37300E), UINT32_C(0x71521986)},
9051          {UINT32_C(0x68006D45), UINT32_C(0xD81F75A8), UINT32_C(0xCBC06D4D),
9052           UINT32_C(0xDF7814EA), UINT32_C(0x2E8E9150), UINT32_C(0x5BCF959B),
9053           UINT32_C(0x56668C18), UINT32_C(0x146D37D7)}},
9054         {{UINT32_C(0x88E8DC77), UINT32_C(0x1ABD7312), UINT32_C(0xC1C3A4DB),
9055           UINT32_C(0x0B34B877), UINT32_C(0xF844BACE), UINT32_C(0x85739093),
9056           UINT32_C(0x04A7CF80), UINT32_C(0x5DEDCF8F)},
9057          {UINT32_C(0xD87CDBDC), UINT32_C(0xD8BB237E), UINT32_C(0xCCBA784F),
9058           UINT32_C(0x89852174), UINT32_C(0xB2FAECC3), UINT32_C(0x6843BAB8),
9059           UINT32_C(0xAA4BBA32), UINT32_C(0x15268302)}},
9060         {{UINT32_C(0xB23D3770), UINT32_C(0x3B58225A), UINT32_C(0x10CC9DE6),
9061           UINT32_C(0x9357EB59), UINT32_C(0x42ECF80E), UINT32_C(0x8665F92A),
9062           UINT32_C(0xC875C031), UINT32_C(0x4819CC9D)},
9063          {UINT32_C(0xC34B979B), UINT32_C(0x09CBE5D8), UINT32_C(0x7E1D0E63),
9064           UINT32_C(0x161E8AC0), UINT32_C(0x282E36E8), UINT32_C(0x874DF24F),
9065           UINT32_C(0x0712A0CD), UINT32_C(0x6528E6FA)}},
9066         {{UINT32_C(0x107633E4), UINT32_C(0xE37AD786), UINT32_C(0xCF1FE646),
9067           UINT32_C(0x122D7123), UINT32_C(0xCFA93AC0), UINT32_C(0x1E6E682B),
9068           UINT32_C(0x276200DB), UINT32_C(0x0A25F4EE)},
9069          {UINT32_C(0xE25FBB01), UINT32_C(0x44E290ED), UINT32_C(0xC3C1B418),
9070           UINT32_C(0x3E392DF5), UINT32_C(0x83EBE689), UINT32_C(0xE5E15745),
9071           UINT32_C(0x4B999926), UINT32_C(0x016139D2)}},
9072         {{UINT32_C(0x65D7DA58), UINT32_C(0x048915B0), UINT32_C(0xA78F3D9E),
9073           UINT32_C(0x6EF7C4EF), UINT32_C(0xAD614974), UINT32_C(0x78CCCE55),
9074           UINT32_C(0x54B95643), UINT32_C(0x43DB7DA0)},
9075          {UINT32_C(0xE53F1A67), UINT32_C(0xFC423B70), UINT32_C(0x4EFE2427),
9076           UINT32_C(0x8F8BED81), UINT32_C(0x95B045EB), UINT32_C(0xF5D6AD5F),
9077           UINT32_C(0xD7407716), UINT32_C(0x23582D5D)}},
9078         {{UINT32_C(0x9F674472), UINT32_C(0x9E5D24FB), UINT32_C(0x68626041),
9079           UINT32_C(0x1AE18636), UINT32_C(0x7ABC4380), UINT32_C(0x8977E68F),
9080           UINT32_C(0x05AF2D04), UINT32_C(0x7D9FF8E8)},
9081          {UINT32_C(0x4197C4E1), UINT32_C(0x9D31195F), UINT32_C(0x4400F35E),
9082           UINT32_C(0x9F3F6E11), UINT32_C(0x7BBEF801), UINT32_C(0x1A87D586),
9083           UINT32_C(0x952BB025), UINT32_C(0x42AE0380)}},
9084         {{UINT32_C(0x6B96482B), UINT32_C(0xC6A3ED75), UINT32_C(0xA9C6DD2F),
9085           UINT32_C(0x58B38724), UINT32_C(0x9297FB47), UINT32_C(0x464C8CE8),
9086           UINT32_C(0xFB6D6C55), UINT32_C(0x0245797E)},
9087          {UINT32_C(0xC0B58C8F), UINT32_C(0xBE141C80), UINT32_C(0x77766C48),
9088           UINT32_C(0xC4C405CB), UINT32_C(0xD10C0F31), UINT32_C(0xD57EE428),
9089           UINT32_C(0x50E8FE7B), UINT32_C(0x03D4862B)}},
9090         {{UINT32_C(0x1DC3722C), UINT32_C(0x21976F8A), UINT32_C(0x5F476F0D),
9091           UINT32_C(0x02EC30D5), UINT32_C(0xCA434B06), UINT32_C(0xD711E01D),
9092           UINT32_C(0x99FF2488), UINT32_C(0x551AC910)},
9093          {UINT32_C(0xA56CA3C7), UINT32_C(0x24AEC72D), UINT32_C(0x891896CE),
9094           UINT32_C(0x2DD1219A), UINT32_C(0x67882925), UINT32_C(0xD84BAD19),
9095           UINT32_C(0x9D4778EF), UINT32_C(0x27E65D7F)}},
9096         {{UINT32_C(0x4685687F), UINT32_C(0x09F19C8F), UINT32_C(0xBBB58BD3),
9097           UINT32_C(0xB7C7B9E3), UINT32_C(0x8FA34DD5), UINT32_C(0x349D03A7),
9098           UINT32_C(0x8D59E889), UINT32_C(0x41F9D003)},
9099          {UINT32_C(0x2B3ED6FA), UINT32_C(0xCF3367D4), UINT32_C(0x378DA1ED),
9100           UINT32_C(0xCF3C6715), UINT32_C(0x4E935E9A), UINT32_C(0x86DC3903),
9101           UINT32_C(0xF08CB23A), UINT32_C(0x50692CFF)}},
9102         {{UINT32_C(0xC2D65C87), UINT32_C(0x18CA772A), UINT32_C(0x4F1D0CB6),
9103           UINT32_C(0xC9092B38), UINT32_C(0xBBD2015A), UINT32_C(0x91E71CF1),
9104           UINT32_C(0x4F3DEF26), UINT32_C(0x4A09DAAC)},
9105          {UINT32_C(0x735C9281), UINT32_C(0x7CCA7B4A), UINT32_C(0x1BF0AAEE),
9106           UINT32_C(0x2028F144), UINT32_C(0xACB5B748), UINT32_C(0xCF72A082),
9107           UINT32_C(0x43299B85), UINT32_C(0x58957D5D)}},
9108         {{UINT32_C(0x901F1789), UINT32_C(0x64BB164E), UINT32_C(0x5AEF97BF),
9109           UINT32_C(0xC68766E6), UINT32_C(0x942B6DCE), UINT32_C(0x30ECA3E2),
9110           UINT32_C(0xF9E798F3), UINT32_C(0x632676FA)},
9111          {UINT32_C(0xF13896EE), UINT32_C(0xB52533D3), UINT32_C(0x2D8A29C1),
9112           UINT32_C(0xAD912831), UINT32_C(0xBC14E7FF), UINT32_C(0x12F1B9A4),
9113           UINT32_C(0x8828D196), UINT32_C(0x4E1D23FD)}},
9114     },
9115     {
9116         {{UINT32_C(0xEF494793), UINT32_C(0xC4F89E00), UINT32_C(0xC93D2F55),
9117           UINT32_C(0xA6044BC3), UINT32_C(0x8797F8AF), UINT32_C(0x68E60B58),
9118           UINT32_C(0x841E4B5E), UINT32_C(0x4D5969FA)},
9119          {UINT32_C(0xD759BB2D), UINT32_C(0xB1EE70FB), UINT32_C(0x66D8AD01),
9120           UINT32_C(0x9AC30433), UINT32_C(0x84E9F677), UINT32_C(0xD93F23DB),
9121           UINT32_C(0xC53029A4), UINT32_C(0x2AD9D16F)}},
9122         {{UINT32_C(0xDD882D23), UINT32_C(0xD01FC16B), UINT32_C(0xFA5B4128),
9123           UINT32_C(0x3BF921F1), UINT32_C(0x235BC9CE), UINT32_C(0x3D3FE145),
9124           UINT32_C(0x62E686E1), UINT32_C(0x59556716)},
9125          {UINT32_C(0x79F99D69), UINT32_C(0xE329A7C2), UINT32_C(0xA4F5F5F5),
9126           UINT32_C(0xA67EF5EC), UINT32_C(0xD5A34FF0), UINT32_C(0xF96A41EE),
9127           UINT32_C(0x74674B5F), UINT32_C(0x09D0CF06)}},
9128         {{UINT32_C(0x6135B7E2), UINT32_C(0x8CCDF71C), UINT32_C(0xAFB6AD6B),
9129           UINT32_C(0x91F1E33E), UINT32_C(0xDB0CFEDF), UINT32_C(0xC452F439),
9130           UINT32_C(0xC05B06D4), UINT32_C(0x15724711)},
9131          {UINT32_C(0xA3BC1277), UINT32_C(0x5FEE0E0E), UINT32_C(0x8D8BA081),
9132           UINT32_C(0xD6847FAD), UINT32_C(0x0D4C8DDD), UINT32_C(0x8B02666C),
9133           UINT32_C(0xC35559DB), UINT32_C(0x149E5009)}},
9134         {{UINT32_C(0x5461D9CA), UINT32_C(0xB4D0D2C9), UINT32_C(0xCE0A3973),
9135           UINT32_C(0xFE7993B6), UINT32_C(0xD6032E95), UINT32_C(0x42B2A500),
9136           UINT32_C(0x217131C6), UINT32_C(0x4DEEE35A)},
9137          {UINT32_C(0xFFE7C2EB), UINT32_C(0x94E65C8C), UINT32_C(0xB19D4B4A),
9138           UINT32_C(0x0DAD7785), UINT32_C(0x925613F9), UINT32_C(0xEEBA6794),
9139           UINT32_C(0xE30494CB), UINT32_C(0x6AF45BBE)}},
9140         {{UINT32_C(0x32F43F67), UINT32_C(0x41352A61), UINT32_C(0x48F886D3),
9141           UINT32_C(0x0D218DE9), UINT32_C(0x9B33B0F6), UINT32_C(0xCDFC0C55),
9142           UINT32_C(0x6C5B90CD), UINT32_C(0x21FC6353)},
9143          {UINT32_C(0x7898AFF2), UINT32_C(0x5D8CA5AD), UINT32_C(0x24287C30),
9144           UINT32_C(0xA743F80E), UINT32_C(0x9084A3A2), UINT32_C(0x4D037131),
9145           UINT32_C(0xB5EFC978), UINT32_C(0x52041EED)}},
9146         {{UINT32_C(0xCC1BCFCB), UINT32_C(0x80B588EE), UINT32_C(0xE5CE0035),
9147           UINT32_C(0xAD871A11), UINT32_C(0xF966D746), UINT32_C(0xF47224D0),
9148           UINT32_C(0xB387FCC2), UINT32_C(0x5215A9D2)},
9149          {UINT32_C(0x695C02AF), UINT32_C(0xC54EB2E7), UINT32_C(0xDFC8493D),
9150           UINT32_C(0x36FD06BC), UINT32_C(0x98CE7C76), UINT32_C(0x1CE8A9AA),
9151           UINT32_C(0x644D398B), UINT32_C(0x058DFCBF)}},
9152         {{UINT32_C(0x5BB81464), UINT32_C(0xCD7E67DC), UINT32_C(0x047A7789),
9153           UINT32_C(0xE7A19301), UINT32_C(0x573E837B), UINT32_C(0xCCC31EE5),
9154           UINT32_C(0xAF7703D5), UINT32_C(0x25EE99AF)},
9155          {UINT32_C(0xDDB3E807), UINT32_C(0x34FDD6DA), UINT32_C(0x109092DD),
9156           UINT32_C(0x273D8288), UINT32_C(0xB7357633), UINT32_C(0xF8F2464F),
9157           UINT32_C(0xCCAA31D5), UINT32_C(0x26B2CBAD)}},
9158         {{UINT32_C(0xF707F9F7), UINT32_C(0xBA9CFEDE), UINT32_C(0xAC4975FB),
9159           UINT32_C(0xA9A6896C), UINT32_C(0xBB1C35E4), UINT32_C(0x62135D9D),
9160           UINT32_C(0xCBA133D2), UINT32_C(0x13AE840F)},
9161          {UINT32_C(0x4C2BA3A9), UINT32_C(0x6ABF3913), UINT32_C(0x6D8A62C1),
9162           UINT32_C(0xE4D8508A), UINT32_C(0x66D96607), UINT32_C(0xF2565354),
9163           UINT32_C(0xB6CABAE8), UINT32_C(0x5C368CCE)}},
9164         {{UINT32_C(0x8B3999BB), UINT32_C(0x0C3B52E8), UINT32_C(0xEF691871),
9165           UINT32_C(0xB752E28F), UINT32_C(0xF17D0D2D), UINT32_C(0xA0460ABC),
9166           UINT32_C(0xB7741F2C), UINT32_C(0x7DDCE3C1)},
9167          {UINT32_C(0x3673000F), UINT32_C(0x076A6BAB), UINT32_C(0x425E8A9D),
9168           UINT32_C(0xCDB1CD2B), UINT32_C(0x2606EAB5), UINT32_C(0x357FCFFF),
9169           UINT32_C(0x035DE7B4), UINT32_C(0x308644F8)}},
9170         {{UINT32_C(0x6D6FF45E), UINT32_C(0xBA64A127), UINT32_C(0x6B0C3CEF),
9171           UINT32_C(0x1F52B6AE), UINT32_C(0xCBF496CB), UINT32_C(0x91295179),
9172           UINT32_C(0xA1B12BE4), UINT32_C(0x2B986FAD)},
9173          {UINT32_C(0x44DBAF57), UINT32_C(0x243D2366), UINT32_C(0x346E88C2),
9174           UINT32_C(0x48E22BBA), UINT32_C(0x8BBAFA0D), UINT32_C(0xCDFB7957),
9175           UINT32_C(0x0D70670E), UINT32_C(0x094ED36E)}},
9176         {{UINT32_C(0xA0D60407), UINT32_C(0x2BAD1539), UINT32_C(0x6E744111),
9177           UINT32_C(0xC1A9286E), UINT32_C(0x81A6DCAA), UINT32_C(0x6D08C0DB),
9178           UINT32_C(0x80AFB34F), UINT32_C(0x108F35EC)},
9179          {UINT32_C(0x1E3E34AE), UINT32_C(0xBE79A6E3), UINT32_C(0x16D524E5),
9180           UINT32_C(0x206EAA28), UINT32_C(0x344ABA64), UINT32_C(0x563B6E1C),
9181           UINT32_C(0x3207CA68), UINT32_C(0x6C362A61)}},
9182         {{UINT32_C(0xEF9A9A0F), UINT32_C(0x04D8145B), UINT32_C(0xA15B6247),
9183           UINT32_C(0x8B57559B), UINT32_C(0x303AFBF3), UINT32_C(0x72D53570),
9184           UINT32_C(0xD6DB5736), UINT32_C(0x01C36B41)},
9185          {UINT32_C(0x1173B5FA), UINT32_C(0x94D583C9), UINT32_C(0x013C8AAA),
9186           UINT32_C(0x71F8E12D), UINT32_C(0xF29CB838), UINT32_C(0xA4B5A532),
9187           UINT32_C(0x7CE4EBA4), UINT32_C(0x4B179700)}},
9188         {{UINT32_C(0x0CE86FC3), UINT32_C(0x69CFA7B0), UINT32_C(0xD60E076C),
9189           UINT32_C(0x3705D7C0), UINT32_C(0xB1091E10), UINT32_C(0xB1A1464A),
9190           UINT32_C(0x7FE80950), UINT32_C(0x097945A9)},
9191          {UINT32_C(0x9AA381E3), UINT32_C(0xD9C71A95), UINT32_C(0xA410FF56),
9192           UINT32_C(0x2A929073), UINT32_C(0xF0FEB121), UINT32_C(0x79EF8353),
9193           UINT32_C(0x5F3107E5), UINT32_C(0x1437C4B0)}},
9194         {{UINT32_C(0x621DB2E5), UINT32_C(0xC5128C8B), UINT32_C(0x51A9499A),
9195           UINT32_C(0x4E9C9B2E), UINT32_C(0xD8CD7594), UINT32_C(0x11535880),
9196           UINT32_C(0xB0697C07), UINT32_C(0x35A26F59)},
9197          {UINT32_C(0xC43B624E), UINT32_C(0xAB3F4B75), UINT32_C(0xB8E03E6B),
9198           UINT32_C(0x69F82105), UINT32_C(0xFB04E036), UINT32_C(0xFB268288),
9199           UINT32_C(0xA0BDB41C), UINT32_C(0x6A5E6BD3)}},
9200         {{UINT32_C(0xC8082916), UINT32_C(0x8C716A1A), UINT32_C(0x4592472C),
9201           UINT32_C(0xB1D1B152), UINT32_C(0x3AB6938A), UINT32_C(0x63657A6D),
9202           UINT32_C(0xF03214AE), UINT32_C(0x44882EB6)},
9203          {UINT32_C(0xC615AF7D), UINT32_C(0x19575B8A), UINT32_C(0x35EE3D98),
9204           UINT32_C(0x14D740C1), UINT32_C(0x57768D2D), UINT32_C(0xBC478E89),
9205           UINT32_C(0x13FC5E4C), UINT32_C(0x30CC8FA2)}},
9206         {{UINT32_C(0x4EBE1E7C), UINT32_C(0x705607C5), UINT32_C(0x284EDA2B),
9207           UINT32_C(0x631E5B88), UINT32_C(0x07F54DDB), UINT32_C(0x07E9E39C),
9208           UINT32_C(0x8DCF6BC5), UINT32_C(0x4E554D88)},
9209          {UINT32_C(0x0CBAB0FE), UINT32_C(0x12E9FB20), UINT32_C(0xBA5E007F),
9210           UINT32_C(0x6F3BC7CE), UINT32_C(0xBC871DF6), UINT32_C(0xA770BA1D),
9211           UINT32_C(0xFE01142C), UINT32_C(0x541AA4C6)}},
9212     },
9213     {
9214         {{UINT32_C(0xF2412EC7), UINT32_C(0xBFE26700), UINT32_C(0xCFE96AF4),
9215           UINT32_C(0x0E975796), UINT32_C(0xDD6B04F7), UINT32_C(0x7D30BF7C),
9216           UINT32_C(0xF1D8FCE4), UINT32_C(0x5421925D)},
9217          {UINT32_C(0xEC709107), UINT32_C(0x1CF5E9F5), UINT32_C(0xB4580AA9),
9218           UINT32_C(0x124FCFC2), UINT32_C(0x67A835B3), UINT32_C(0x02F7012B),
9219           UINT32_C(0x47C0760F), UINT32_C(0x753FE01B)}},
9220         {{UINT32_C(0xB1D2A896), UINT32_C(0x82FD5D47), UINT32_C(0x54E75DDB),
9221           UINT32_C(0x7EABC175), UINT32_C(0x1AB080BC), UINT32_C(0x724FC3A8),
9222           UINT32_C(0xA75C31DD), UINT32_C(0x363D6016)},
9223          {UINT32_C(0x863F308F), UINT32_C(0x5D465FF2), UINT32_C(0xE515ADCB),
9224           UINT32_C(0x9EC70664), UINT32_C(0xB3BC206A), UINT32_C(0x4BD7A1A2),
9225           UINT32_C(0x4A167D34), UINT32_C(0x2022576C)}},
9226         {{UINT32_C(0x5CD6AC65), UINT32_C(0xF5AC3451), UINT32_C(0x5839F554),
9227           UINT32_C(0x7629731E), UINT32_C(0x93545A60), UINT32_C(0xA3260AE3),
9228           UINT32_C(0xA7AD1979), UINT32_C(0x49D190E8)},
9229          {UINT32_C(0xF0B35045), UINT32_C(0x5AA8492F), UINT32_C(0x2584E651),
9230           UINT32_C(0x4A5FAB7B), UINT32_C(0x395E2AAE), UINT32_C(0x5A05420E),
9231           UINT32_C(0x547B4038), UINT32_C(0x30613C78)}},
9232         {{UINT32_C(0xF9DAE7E6), UINT32_C(0x47E1C59D), UINT32_C(0x247A5A9D),
9233           UINT32_C(0x8D68839B), UINT32_C(0xC1A80D5E), UINT32_C(0x663B5977),
9234           UINT32_C(0x40D8CF32), UINT32_C(0x5E51F872)},
9235          {UINT32_C(0xECE49494), UINT32_C(0x88ADBF9E), UINT32_C(0x1792BAE8),
9236           UINT32_C(0x40B4AC5C), UINT32_C(0x9A1B3314), UINT32_C(0x278200D1),
9237           UINT32_C(0xD9F83584), UINT32_C(0x7D15320E)}},
9238         {{UINT32_C(0xEAF2BFF8), UINT32_C(0xFE6DAA74), UINT32_C(0xC156AA6B),
9239           UINT32_C(0x6E4EE4C0), UINT32_C(0xD0F4E7D5), UINT32_C(0xD9310FF8),
9240           UINT32_C(0x7BB0C42D), UINT32_C(0x552EEF9E)},
9241          {UINT32_C(0xFDC69E1A), UINT32_C(0x323FF6F1), UINT32_C(0x41D79365),
9242           UINT32_C(0x00FA66B7), UINT32_C(0xA96B22B4), UINT32_C(0x0006B16E),
9243           UINT32_C(0xD20F07BE), UINT32_C(0x71BBC653)}},
9244         {{UINT32_C(0xA440FA1C), UINT32_C(0x89A7B7EE), UINT32_C(0x757CD658),
9245           UINT32_C(0x52BB5278), UINT32_C(0xB0CDDEA4), UINT32_C(0xC5906F4B),
9246           UINT32_C(0x5DE2D8DA), UINT32_C(0x66AAAFEE)},
9247          {UINT32_C(0x53B6E226), UINT32_C(0x4D5E016A), UINT32_C(0x1993A1D7),
9248           UINT32_C(0xA2F73DC6), UINT32_C(0xA09DD554), UINT32_C(0x7CDD4C1D),
9249           UINT32_C(0xAB416627), UINT32_C(0x6F723079)}},
9250         {{UINT32_C(0xC4E5C4AF), UINT32_C(0xE641639E), UINT32_C(0x371CC648),
9251           UINT32_C(0x8BC6100D), UINT32_C(0x9B216E8A), UINT32_C(0x7BD161B1),
9252           UINT32_C(0xF810DB32), UINT32_C(0x58098AEB)},
9253          {UINT32_C(0x5AD92372), UINT32_C(0xEE52BB46), UINT32_C(0xEEF938CA),
9254           UINT32_C(0x4B2C48E1), UINT32_C(0xAB43A5D0), UINT32_C(0xE8FDE4D6),
9255           UINT32_C(0xA5284C83), UINT32_C(0x459274CD)}},
9256         {{UINT32_C(0xD015095D), UINT32_C(0xA98925B0), UINT32_C(0x4611A1A5),
9257           UINT32_C(0xC8969F5F), UINT32_C(0x2CE4663B), UINT32_C(0xBDDCD62F),
9258           UINT32_C(0xA076C8BE), UINT32_C(0x1C9D9007)},
9259          {UINT32_C(0x749F7BE5), UINT32_C(0xE8DE8890), UINT32_C(0xFF208E75),
9260           UINT32_C(0xC9E455E7), UINT32_C(0x8F5FAC9A), UINT32_C(0xDCEE17A9),
9261           UINT32_C(0x68A3A666), UINT32_C(0x776B72D3)}},
9262         {{UINT32_C(0xFEE0E89A), UINT32_C(0x28C7D648), UINT32_C(0x463AF60D),
9263           UINT32_C(0x621B370F), UINT32_C(0x5ADC8ACD), UINT32_C(0x9DC1548E),
9264           UINT32_C(0xA0B49504), UINT32_C(0x48032ACF)},
9265          {UINT32_C(0x85E992D5), UINT32_C(0x146C6EAC), UINT32_C(0x5CB491E0),
9266           UINT32_C(0x5A2CB577), UINT32_C(0x454C120A), UINT32_C(0x669DD6D4),
9267           UINT32_C(0x98203C39), UINT32_C(0x3431AB33)}},
9268         {{UINT32_C(0x9DE017BF), UINT32_C(0xE8761503), UINT32_C(0xB60AE61F),
9269           UINT32_C(0xAB117D2F), UINT32_C(0x827937FF), UINT32_C(0x0846463F),
9270           UINT32_C(0x6BD89C65), UINT32_C(0x45E6BD40)},
9271          {UINT32_C(0xA613BDB8), UINT32_C(0x3160AD67), UINT32_C(0xB8714A49),
9272           UINT32_C(0xBD5266F3), UINT32_C(0x51A233E4), UINT32_C(0xF7D29C47),
9273           UINT32_C(0x4DE6A90C), UINT32_C(0x6887B48D)}},
9274         {{UINT32_C(0xDFDE1EF8), UINT32_C(0x087290A5), UINT32_C(0xA166950A),
9275           UINT32_C(0xC70CCB52), UINT32_C(0x4A170AAE), UINT32_C(0xAA7F095B),
9276           UINT32_C(0x5517CA0B), UINT32_C(0x15301F4E)},
9277          {UINT32_C(0x302F1F84), UINT32_C(0x3C86B787), UINT32_C(0x44676E39),
9278           UINT32_C(0x95D41535), UINT32_C(0x9DF5F751), UINT32_C(0xBFEC4AE3),
9279           UINT32_C(0x304923D3), UINT32_C(0x4A0D3986)}},
9280         {{UINT32_C(0x79B1390C), UINT32_C(0x70FAABA9), UINT32_C(0x62BA8B9E),
9281           UINT32_C(0xA9067EEE), UINT32_C(0x1E17DF6F), UINT32_C(0x98789503),
9282           UINT32_C(0x78D5B295), UINT32_C(0x5997E8AE)},
9283          {UINT32_C(0xAE0C6768), UINT32_C(0x31E13AD7), UINT32_C(0xEF17A7B1),
9284           UINT32_C(0x23262F05), UINT32_C(0x49B7B101), UINT32_C(0x15803227),
9285           UINT32_C(0x36B5BA70), UINT32_C(0x1234A9C5)}},
9286         {{UINT32_C(0x395793AC), UINT32_C(0xED65C961), UINT32_C(0xCCDE1C47),
9287           UINT32_C(0x01157CD8), UINT32_C(0x1D5614DF), UINT32_C(0x0D0240B0),
9288           UINT32_C(0x568E83A5), UINT32_C(0x0F0DA1EF)},
9289          {UINT32_C(0xC0B783C1), UINT32_C(0x57C90846), UINT32_C(0x81E2F613),
9290           UINT32_C(0x4501048C), UINT32_C(0xA2709DC1), UINT32_C(0x03D8A69B),
9291           UINT32_C(0xA97CCE0E), UINT32_C(0x06F365C4)}},
9292         {{UINT32_C(0x551580CD), UINT32_C(0xEAF23159), UINT32_C(0x053DD5EE),
9293           UINT32_C(0x0F1E586A), UINT32_C(0x3CBCC3D5), UINT32_C(0xEB7A78DD),
9294           UINT32_C(0xB014B850), UINT32_C(0x39BBC65A)},
9295          {UINT32_C(0x79B61AC7), UINT32_C(0x13DA4E85), UINT32_C(0x0DA59E37),
9296           UINT32_C(0x33E78DCF), UINT32_C(0x2A643C4C), UINT32_C(0x4E65AF25),
9297           UINT32_C(0x08869D03), UINT32_C(0x0DC38C97)}},
9298         {{UINT32_C(0xA3A38837), UINT32_C(0x2B648345), UINT32_C(0x905E261D),
9299           UINT32_C(0x2FA6D8F7), UINT32_C(0x66A14946), UINT32_C(0xA23BD786),
9300           UINT32_C(0x5E01CC9A), UINT32_C(0x781633FD)},
9301          {UINT32_C(0xE2C71AD1), UINT32_C(0xB1352709), UINT32_C(0x83A6D365),
9302           UINT32_C(0x9D745052), UINT32_C(0x66567032), UINT32_C(0xD88B5CAE),
9303           UINT32_C(0x53D875CA), UINT32_C(0x27FC40DF)}},
9304         {{UINT32_C(0x47F7554F), UINT32_C(0xB254E54C), UINT32_C(0xD708614D),
9305           UINT32_C(0x33AD0ED6), UINT32_C(0x76CE908D), UINT32_C(0x830566A3),
9306           UINT32_C(0xAA1ADD5C), UINT32_C(0x73DF94BD)},
9307          {UINT32_C(0x2DBDD8A3), UINT32_C(0x23EC411F), UINT32_C(0x3A979FDC),
9308           UINT32_C(0x9BA47338), UINT32_C(0xC667E9F7), UINT32_C(0x56A2C27F),
9309           UINT32_C(0x427E6BFB), UINT32_C(0x295647C7)}},
9310     },
9311     {
9312         {{UINT32_C(0xF8E48C13), UINT32_C(0x9B5F4652), UINT32_C(0x9EEF4BA3),
9313           UINT32_C(0xE979034F), UINT32_C(0x7CF5AF6E), UINT32_C(0xF95FD776),
9314           UINT32_C(0x506CEB46), UINT32_C(0x4236C47E)},
9315          {UINT32_C(0xE08D2312), UINT32_C(0x0C02A249), UINT32_C(0xC056499A),
9316           UINT32_C(0xAA5A38CC), UINT32_C(0x7C188B64), UINT32_C(0xCB26A8E2),
9317           UINT32_C(0x0AE373D5), UINT32_C(0x38FB961D)}},
9318         {{UINT32_C(0x7B23470D), UINT32_C(0xEB179C9E), UINT32_C(0x1EBC44E7),
9319           UINT32_C(0xAE70102F), UINT32_C(0x92E0EED0), UINT32_C(0x8184C1D4),
9320           UINT32_C(0x5C21BF08), UINT32_C(0x32988281)},
9321          {UINT32_C(0x8180D11E), UINT32_C(0x46958967), UINT32_C(0x7FD7278D),
9322           UINT32_C(0xEBD5518C), UINT32_C(0xAD2B74F7), UINT32_C(0xFCEB7F68),
9323           UINT32_C(0xF9C7B6DA), UINT32_C(0x082D2011)}},
9324         {{UINT32_C(0xBBE0299D), UINT32_C(0x65D5AED1), UINT32_C(0xCF565A0A),
9325           UINT32_C(0x0077F756), UINT32_C(0x344BB90D), UINT32_C(0xD44FCD6B),
9326           UINT32_C(0x536F3F25), UINT32_C(0x6C2A19C0)},
9327          {UINT32_C(0xBB2A4D91), UINT32_C(0x32EE7439), UINT32_C(0xED9351E1),
9328           UINT32_C(0xA97E677A), UINT32_C(0x413A16E0), UINT32_C(0x6752EDCF),
9329           UINT32_C(0x1CE4FBE6), UINT32_C(0x5DE1B0C7)}},
9330         {{UINT32_C(0xD6009B36), UINT32_C(0x6C10DA15), UINT32_C(0xE5D8CFBE),
9331           UINT32_C(0xAAD05F4F), UINT32_C(0x31D58B76), UINT32_C(0xD8BCE0B4),
9332           UINT32_C(0x27B2811B), UINT32_C(0x08DE344E)},
9333          {UINT32_C(0x80B51E48), UINT32_C(0xD9A78AAE), UINT32_C(0x3E41C63A),
9334           UINT32_C(0x1E1D0A81), UINT32_C(0x8076B3C7), UINT32_C(0x844376DE),
9335           UINT32_C(0x5FDF9D53), UINT32_C(0x73F0D4A3)}},
9336         {{UINT32_C(0x558C7719), UINT32_C(0xF1532922), UINT32_C(0xA8221197),
9337           UINT32_C(0x0F10188A), UINT32_C(0x5DDC1716), UINT32_C(0x51A97E5F),
9338           UINT32_C(0x444789E7), UINT32_C(0x0F583A9B)},
9339          {UINT32_C(0x97D63B87), UINT32_C(0xAA8FC58D), UINT32_C(0x1CFDA59C),
9340           UINT32_C(0xA5AF048B), UINT32_C(0x2DDB34EB), UINT32_C(0x2A4A0C5F),
9341           UINT32_C(0x701E2E07), UINT32_C(0x66C0F0C7)}},
9342         {{UINT32_C(0x36BE2ABF), UINT32_C(0xC0BC88B8), UINT32_C(0x5C721B85),
9343           UINT32_C(0x265CCE74), UINT32_C(0xD54299BA), UINT32_C(0x483EBB01),
9344           UINT32_C(0x348ED89E), UINT32_C(0x18F11CBE)},
9345          {UINT32_C(0xE42129D4), UINT32_C(0x5E9AE7B9), UINT32_C(0x81DE5B77),
9346           UINT32_C(0x6B3E9E8D), UINT32_C(0x7A14A74A), UINT32_C(0xB3ADBAC9),
9347           UINT32_C(0x0003B266), UINT32_C(0x1B6CEBB2)}},
9348         {{UINT32_C(0x15EB200E), UINT32_C(0xD4D4DD10), UINT32_C(0xFB87C57B),
9349           UINT32_C(0xEEAEA4C6), UINT32_C(0x72FF6321), UINT32_C(0x48F0B957),
9350           UINT32_C(0xB782B01D), UINT32_C(0x187C4B75)},
9351          {UINT32_C(0xE9B4D622), UINT32_C(0x3DC1AACD), UINT32_C(0x3F4ED519),
9352           UINT32_C(0x0358418E), UINT32_C(0x773D019C), UINT32_C(0x981A24F8),
9353           UINT32_C(0x3DB0B4F4), UINT32_C(0x6643CA91)}},
9354         {{UINT32_C(0xD47670E3), UINT32_C(0xE3254F4B), UINT32_C(0x30B1DDE9),
9355           UINT32_C(0x98226125), UINT32_C(0xDA8AF160), UINT32_C(0x61EB6C86),
9356           UINT32_C(0x18363269), UINT32_C(0x725C7716)},
9357          {UINT32_C(0x02F62462), UINT32_C(0xB051DC9F), UINT32_C(0x00AC5531),
9358           UINT32_C(0xFF8C9EDF), UINT32_C(0x962A92A3), UINT32_C(0x3909C79B),
9359           UINT32_C(0x27790237), UINT32_C(0x25C90D93)}},
9360         {{UINT32_C(0x88ADC475), UINT32_C(0x0A5DF2CC), UINT32_C(0xE5D27D0A),
9361           UINT32_C(0x48D26967), UINT32_C(0x359FF194), UINT32_C(0x21D5F616),
9362           UINT32_C(0x89977CE2), UINT32_C(0x38ACD141)},
9363          {UINT32_C(0xFDAA8ACB), UINT32_C(0x39B9BD92), UINT32_C(0x035B62D0),
9364           UINT32_C(0xDB157DF2), UINT32_C(0xB7D252D9), UINT32_C(0x4E33386E),
9365           UINT32_C(0xCF196258), UINT32_C(0x6BD2E33F)}},
9366         {{UINT32_C(0xCE8F10C5), UINT32_C(0xE0806297), UINT32_C(0x8A14B746),
9367           UINT32_C(0x446AFD6D), UINT32_C(0xBF566190), UINT32_C(0xD7931F29),
9368           UINT32_C(0x86FDB72A), UINT32_C(0x4D9CFBFA)},
9369          {UINT32_C(0x95009F63), UINT32_C(0x77528851), UINT32_C(0x34C0FF45),
9370           UINT32_C(0x5FE50134), UINT32_C(0x6E134B81), UINT32_C(0xC38CABBB),
9371           UINT32_C(0xE36DB037), UINT32_C(0x2E60B277)}},
9372         {{UINT32_C(0x57184CA5), UINT32_C(0xA614CF67), UINT32_C(0x25BE01E3),
9373           UINT32_C(0x6CBD8D63), UINT32_C(0xA0030BE3), UINT32_C(0xE313EE8D),
9374           UINT32_C(0x2B1E7C60), UINT32_C(0x69AF0399)},
9375          {UINT32_C(0x50423F30), UINT32_C(0x519ABFBB), UINT32_C(0x486B9519),
9376           UINT32_C(0x200111FF), UINT32_C(0x3351F692), UINT32_C(0x6FF93CCB),
9377           UINT32_C(0x3ED9BE71), UINT32_C(0x32EB3E54)}},
9378         {{UINT32_C(0x54052EBD), UINT32_C(0x0851ACB9), UINT32_C(0x6D2336D7),
9379           UINT32_C(0x3A389B7B), UINT32_C(0x17C6ACD9), UINT32_C(0x50A87925),
9380           UINT32_C(0xB807D9B1), UINT32_C(0x031FE845)},
9381          {UINT32_C(0xE22F7492), UINT32_C(0xA348BB01), UINT32_C(0x05F39661),
9382           UINT32_C(0x9547ED36), UINT32_C(0x68EC4AC2), UINT32_C(0x97DF6756),
9383           UINT32_C(0x85B7F81B), UINT32_C(0x5836FEFE)}},
9384         {{UINT32_C(0x5F0B2ACB), UINT32_C(0x4E4869A6), UINT32_C(0xDEC46001),
9385           UINT32_C(0xC4798F3F), UINT32_C(0x00903474), UINT32_C(0x281A4ED6),
9386           UINT32_C(0xEFB9AABD), UINT32_C(0x04F22E9D)},
9387          {UINT32_C(0xFAA721A4), UINT32_C(0x2AC92264), UINT32_C(0x276F8041),
9388           UINT32_C(0xBCE2FF0B), UINT32_C(0xE4943926), UINT32_C(0x5F605607),
9389           UINT32_C(0x55506DF7), UINT32_C(0x388C5FAB)}},
9390         {{UINT32_C(0xAB5687E2), UINT32_C(0xFF104F6D), UINT32_C(0x3B2D0245),
9391           UINT32_C(0x1B6DAFE9), UINT32_C(0x81B2EC4B), UINT32_C(0x6405C026),
9392           UINT32_C(0xF489EBBC), UINT32_C(0x2B7676DA)},
9393          {UINT32_C(0x6DA1F57A), UINT32_C(0xBAA158F0), UINT32_C(0x27A8457F),
9394           UINT32_C(0x9CB044AD), UINT32_C(0xA3BBD6C9), UINT32_C(0xC23737A5),
9395           UINT32_C(0x1D2267E1), UINT32_C(0x71FB5B47)}},
9396         {{UINT32_C(0xD14F56E4), UINT32_C(0x779BD825), UINT32_C(0x08396F23),
9397           UINT32_C(0xD7E672A0), UINT32_C(0xD40BA6EE), UINT32_C(0x23FE3FC0),
9398           UINT32_C(0x3B56A3AB), UINT32_C(0x41E749E7)},
9399          {UINT32_C(0x72042F67), UINT32_C(0xD19471CE), UINT32_C(0x4989D4D7),
9400           UINT32_C(0x8A686DA7), UINT32_C(0x4FA09BC9), UINT32_C(0x52A709C6),
9401           UINT32_C(0xB3B6AA64), UINT32_C(0x1DC21162)}},
9402         {{UINT32_C(0xF9B3BD1D), UINT32_C(0x62C9838B), UINT32_C(0x0CE6384C),
9403           UINT32_C(0x1EE59E5A), UINT32_C(0xECE8CC7F), UINT32_C(0xA9F5ABF6),
9404           UINT32_C(0x80BDDA83), UINT32_C(0x1961D80F)},
9405          {UINT32_C(0xCA406FB1), UINT32_C(0x7A40880C), UINT32_C(0xDFBCE2E4),
9406           UINT32_C(0x5035D307), UINT32_C(0x3D637299), UINT32_C(0x590259E0),
9407           UINT32_C(0xD6C34E05), UINT32_C(0x1607AC9F)}},
9408     },
9409     {
9410         {{UINT32_C(0x9D818B72), UINT32_C(0x4ABC2710), UINT32_C(0x092607B7),
9411           UINT32_C(0x2496CEA6), UINT32_C(0x055C4EC8), UINT32_C(0xFB1087E1),
9412           UINT32_C(0x258ADC7D), UINT32_C(0x50A30C6A)},
9413          {UINT32_C(0x0FF502E3), UINT32_C(0xAF4EB6B3), UINT32_C(0x190607AB),
9414           UINT32_C(0x5D5D76AD), UINT32_C(0x34482C13), UINT32_C(0xC9C9B711),
9415           UINT32_C(0x42213696), UINT32_C(0x574A9718)}},
9416         {{UINT32_C(0x7018FC70), UINT32_C(0x7C90FAFD), UINT32_C(0x2B83291C),
9417           UINT32_C(0x36A04559), UINT32_C(0x40D1B175), UINT32_C(0x6120B51E),
9418           UINT32_C(0x3DCF9606), UINT32_C(0x45F10B20)},
9419          {UINT32_C(0xF20C5636), UINT32_C(0x3C6A9EFF), UINT32_C(0xFFBBC648),
9420           UINT32_C(0xB2768BA3), UINT32_C(0xB523B36C), UINT32_C(0x1C9DF90A),
9421           UINT32_C(0xD6FF34ED), UINT32_C(0x4148BF06)}},
9422         {{UINT32_C(0x3B5F9492), UINT32_C(0x3D29821A), UINT32_C(0x90B24561),
9423           UINT32_C(0xAE12C782), UINT32_C(0x8A3BDC5F), UINT32_C(0xEF6FB277),
9424           UINT32_C(0xAC3BD74E), UINT32_C(0x6034BF3B)},
9425          {UINT32_C(0x4ACB6F85), UINT32_C(0x131D57CD), UINT32_C(0x3BE79B31),
9426           UINT32_C(0xDED1C433), UINT32_C(0x78A896B8), UINT32_C(0xB0913489),
9427           UINT32_C(0xB287862C), UINT32_C(0x1247C0B7)}},
9428         {{UINT32_C(0x7C494054), UINT32_C(0xEB642893), UINT32_C(0x22142D26),
9429           UINT32_C(0x79227930), UINT32_C(0x943E8398), UINT32_C(0x8F1C8371),
9430           UINT32_C(0x60886DB7), UINT32_C(0x583C7AEF)},
9431          {UINT32_C(0x3A12EE0E), UINT32_C(0xAFE46022), UINT32_C(0xB6CB8685),
9432           UINT32_C(0xE9C9253A), UINT32_C(0x6316A4C6), UINT32_C(0x5334F9DD),
9433           UINT32_C(0xE6F1DEE9), UINT32_C(0x4E2F13D8)}},
9434         {{UINT32_C(0xB37D8BA5), UINT32_C(0x7499A5B4), UINT32_C(0x1C9BCDE2),
9435           UINT32_C(0xA12AA637), UINT32_C(0xBFD6AE86), UINT32_C(0xCC99471D),
9436           UINT32_C(0x92048D63), UINT32_C(0x09966378)},
9437          {UINT32_C(0x552E71A3), UINT32_C(0x42CBFA9D), UINT32_C(0x675C1716),
9438           UINT32_C(0x84A8B153), UINT32_C(0x4CF00A7D), UINT32_C(0xB9C07C0E),
9439           UINT32_C(0x0DA504DB), UINT32_C(0x32E2322B)}},
9440         {{UINT32_C(0xE671EE59), UINT32_C(0x569F581F), UINT32_C(0x422E86C7),
9441           UINT32_C(0x293522D7), UINT32_C(0x15DCEF10), UINT32_C(0x5E4CEA7E),
9442           UINT32_C(0x483C0FE3), UINT32_C(0x67C8A9FC)},
9443          {UINT32_C(0x47B79284), UINT32_C(0x4DE5AC09), UINT32_C(0x025016BA),
9444           UINT32_C(0x22AB8FBD), UINT32_C(0x2A099B37), UINT32_C(0x51318C23),
9445           UINT32_C(0x49E06623), UINT32_C(0x542EA0FA)}},
9446         {{UINT32_C(0x28909F31), UINT32_C(0xDD240F64), UINT32_C(0x101B7F01),
9447           UINT32_C(0x46B66F9E), UINT32_C(0x20481C3F), UINT32_C(0x788C29CA),
9448           UINT32_C(0xCA5D5182), UINT32_C(0x3218A509)},
9449          {UINT32_C(0x63E9A2B9), UINT32_C(0x64BCC7AD), UINT32_C(0xADDF5C0B),
9450           UINT32_C(0x3D213CA2), UINT32_C(0x9960D650), UINT32_C(0x6D93ED4C),
9451           UINT32_C(0x284EE5F3), UINT32_C(0x3F13DB22)}},
9452         {{UINT32_C(0x6697E0D1), UINT32_C(0x5B678C3A), UINT32_C(0x16D9D878),
9453           UINT32_C(0x25A171F4), UINT32_C(0xFAEC362B), UINT32_C(0xC20A6D80),
9454           UINT32_C(0xC512EA4B), UINT32_C(0x1BB3F14C)},
9455          {UINT32_C(0x2AE35FA5), UINT32_C(0xECE5313B), UINT32_C(0xBBD76B87),
9456           UINT32_C(0xE390A01F), UINT32_C(0x882DA3FC), UINT32_C(0xC78EA4C5),
9457           UINT32_C(0x42086A77), UINT32_C(0x771BCDAE)}},
9458         {{UINT32_C(0x565802E9), UINT32_C(0x8E9E3C8B), UINT32_C(0x53FA1BE7),
9459           UINT32_C(0xC37A7B35), UINT32_C(0x4408FB77), UINT32_C(0x9D2F1A26),
9460           UINT32_C(0xFF308B7B), UINT32_C(0x0B3ECE36)},
9461          {UINT32_C(0x1F30FC37), UINT32_C(0x8FB35B36), UINT32_C(0x83E1A3C9),
9462           UINT32_C(0x463B44E2), UINT32_C(0x3402233A), UINT32_C(0x7218F09F),
9463           UINT32_C(0xFC9A6990), UINT32_C(0x1519638A)}},
9464         {{UINT32_C(0x8EAAC478), UINT32_C(0x51FB3E5D), UINT32_C(0x760ED4EC),
9465           UINT32_C(0x620E4826), UINT32_C(0x1D865577), UINT32_C(0x46FC5B1F),
9466           UINT32_C(0x5244A538), UINT32_C(0x15EF2AD9)},
9467          {UINT32_C(0x4BF382BD), UINT32_C(0x8D7E477C), UINT32_C(0x02A5C9EE),
9468           UINT32_C(0xCBF170C9), UINT32_C(0x4AFB0EC1), UINT32_C(0xB91A870C),
9469           UINT32_C(0x69C31425), UINT32_C(0x052FFC51)}},
9470         {{UINT32_C(0x2018D066), UINT32_C(0x1FD43746), UINT32_C(0x4C67FC35),
9471           UINT32_C(0xBC501517), UINT32_C(0xBC990EB6), UINT32_C(0xE65BC2FB),
9472           UINT32_C(0x73F87F92), UINT32_C(0x538CA6F9)},
9473          {UINT32_C(0x8352B03F), UINT32_C(0x42FBDAE0), UINT32_C(0x99A4C9B9),
9474           UINT32_C(0xF265B1E0), UINT32_C(0x185CA070), UINT32_C(0x6E3EAB2F),
9475           UINT32_C(0x37D0A2C1), UINT32_C(0x6E6F4F7D)}},
9476         {{UINT32_C(0xC2D5D73E), UINT32_C(0x9B20D8EE), UINT32_C(0x75844C15),
9477           UINT32_C(0x190521AE), UINT32_C(0x26AD08FE), UINT32_C(0x67663AC4),
9478           UINT32_C(0xF984EC06), UINT32_C(0x67AEEFEF)},
9479          {UINT32_C(0xCBDD87EF), UINT32_C(0x61C71142), UINT32_C(0x63396E3B),
9480           UINT32_C(0x0FA4995B), UINT32_C(0x85C193B0), UINT32_C(0x3196E551),
9481           UINT32_C(0xDACB3A3D), UINT32_C(0x36C0A2A8)}},
9482         {{UINT32_C(0x178A1115), UINT32_C(0xEAB89FDC), UINT32_C(0xD7C31303),
9483           UINT32_C(0xC7B764D8), UINT32_C(0x90203755), UINT32_C(0xA5B2D6FB),
9484           UINT32_C(0xD5F8AEEE), UINT32_C(0x3C360BF9)},
9485          {UINT32_C(0x02F1CC3C), UINT32_C(0x8DFDCD05), UINT32_C(0x64E5269E),
9486           UINT32_C(0x7F8A64D2), UINT32_C(0xEA13FFD7), UINT32_C(0xA36196EC),
9487           UINT32_C(0x77E3839F), UINT32_C(0x35E22415)}},
9488         {{UINT32_C(0xE22E0C52), UINT32_C(0x29E7AB0B), UINT32_C(0x8B27DEDA),
9489           UINT32_C(0x68BF32C7), UINT32_C(0xDC7971AE), UINT32_C(0x52A762A2),
9490           UINT32_C(0x18B0CDCC), UINT32_C(0x4CA43487)},
9491          {UINT32_C(0x3FCEAF73), UINT32_C(0xED429DA1), UINT32_C(0x06718D19),
9492           UINT32_C(0x49396E6F), UINT32_C(0x5BB3301C), UINT32_C(0xDECB9337),
9493           UINT32_C(0x0FF489B1), UINT32_C(0x4B7723C1)}},
9494         {{UINT32_C(0xABEE6B9B), UINT32_C(0xAE321F09), UINT32_C(0x37318F60),
9495           UINT32_C(0xF251BF4D), UINT32_C(0xB63DC269), UINT32_C(0xB0A8A251),
9496           UINT32_C(0x71817963), UINT32_C(0x514A25FC)},
9497          {UINT32_C(0x55C9B2E9), UINT32_C(0x518F5747), UINT32_C(0x1C9B4845),
9498           UINT32_C(0x3E56CC3E), UINT32_C(0x283AE1FA), UINT32_C(0xBDFD637A),
9499           UINT32_C(0xC3DE778E), UINT32_C(0x419BA4B4)}},
9500         {{UINT32_C(0xBCD2EB74), UINT32_C(0xC7F18E93), UINT32_C(0xFC61FB42),
9501           UINT32_C(0x171264C8), UINT32_C(0x85119033), UINT32_C(0x27282E76),
9502           UINT32_C(0xD7DB91C7), UINT32_C(0x225006A4)},
9503          {UINT32_C(0x1ECF5024), UINT32_C(0x628E0F3C), UINT32_C(0x00859CDE),
9504           UINT32_C(0xDC5111E0), UINT32_C(0x1F220711), UINT32_C(0x4AB1764F),
9505           UINT32_C(0x70DDED3C), UINT32_C(0x7C6916F1)}},
9506     },
9507     {
9508         {{UINT32_C(0x5F0CA58A), UINT32_C(0xF9FFE8FC), UINT32_C(0x22879EBB),
9509           UINT32_C(0x09E34F30), UINT32_C(0xED7B0520), UINT32_C(0x648D6339),
9510           UINT32_C(0x1AF5ECDC), UINT32_C(0x0D6719D0)},
9511          {UINT32_C(0x0B8590E4), UINT32_C(0x2878714D), UINT32_C(0x90EC312B),
9512           UINT32_C(0x827D04ED), UINT32_C(0x3B5767C3), UINT32_C(0xD415C8B4),
9513           UINT32_C(0xC09FD18D), UINT32_C(0x4170F0AD)}},
9514         {{UINT32_C(0x3C601031), UINT32_C(0x9B649CFC), UINT32_C(0x636DDAE7),
9515           UINT32_C(0x0478603A), UINT32_C(0x914E100A), UINT32_C(0xDC972DFA),
9516           UINT32_C(0x091621AE), UINT32_C(0x519C55DF)},
9517          {UINT32_C(0xD4A9963D), UINT32_C(0x863046CB), UINT32_C(0x5ACF7C0C),
9518           UINT32_C(0xDF16763C), UINT32_C(0xFF5468A4), UINT32_C(0x4999A93E),
9519           UINT32_C(0x424074A5), UINT32_C(0x35543EFF)}},
9520         {{UINT32_C(0xDD33307C), UINT32_C(0x27B1DBFA), UINT32_C(0x927CA6F3),
9521           UINT32_C(0xA0D04784), UINT32_C(0xA37CF855), UINT32_C(0xBD3EBC5E),
9522           UINT32_C(0x49F5AA2C), UINT32_C(0x59D02EF5)},
9523          {UINT32_C(0xBDD57BF3), UINT32_C(0xCDABE86F), UINT32_C(0x37819D86),
9524           UINT32_C(0x7B3ADD2F), UINT32_C(0x0413B7B0), UINT32_C(0x7B90BA15),
9525           UINT32_C(0x6B99685B), UINT32_C(0x47071782)}},
9526         {{UINT32_C(0xEF0CE97F), UINT32_C(0xB7C3218E), UINT32_C(0x0898C79C),
9527           UINT32_C(0xDAE3B56C), UINT32_C(0x0908877D), UINT32_C(0x6349D83D),
9528           UINT32_C(0xC81E8C4E), UINT32_C(0x0970C6C0)},
9529          {UINT32_C(0xA47F426C), UINT32_C(0x0E45C4A7), UINT32_C(0x3FBB194E),
9530           UINT32_C(0xAB000A59), UINT32_C(0x3A6DD13E), UINT32_C(0x570FBBA5),
9531           UINT32_C(0xC8F44A57), UINT32_C(0x66045580)}},
9532         {{UINT32_C(0x12A72F7F), UINT32_C(0x5ABEB749), UINT32_C(0x7AE56F4D),
9533           UINT32_C(0x15072A92), UINT32_C(0x222AB2C4), UINT32_C(0x1C77AE00),
9534           UINT32_C(0x9AFE63DE), UINT32_C(0x591EAEC6)},
9535          {UINT32_C(0xDFD24304), UINT32_C(0xB51D41AF), UINT32_C(0xDFBCC096),
9536           UINT32_C(0xDE28DF26), UINT32_C(0x38A20DA7), UINT32_C(0x02F046C8),
9537           UINT32_C(0x1AE0A45B), UINT32_C(0x5EC3DBDC)}},
9538         {{UINT32_C(0x63DD86C2), UINT32_C(0x7C19BD75), UINT32_C(0x8D78A57B),
9539           UINT32_C(0xDB119311), UINT32_C(0x23C5C4E7), UINT32_C(0xF48BB4FA),
9540           UINT32_C(0x97DB0A05), UINT32_C(0x65514C1C)},
9541          {UINT32_C(0x43CAC49C), UINT32_C(0x1BC1F2F0), UINT32_C(0x2851B4BE),
9542           UINT32_C(0x975FEB51), UINT32_C(0xDD60D530), UINT32_C(0x0E0A4633),
9543           UINT32_C(0x09B1D2C6), UINT32_C(0x32BBBF14)}},
9544         {{UINT32_C(0xA670EAC0), UINT32_C(0x79124749), UINT32_C(0x31DD893C),
9545           UINT32_C(0x504D89D5), UINT32_C(0xE0654D63), UINT32_C(0xDDCED74C),
9546           UINT32_C(0xE2208707), UINT32_C(0x58956BE5)},
9547          {UINT32_C(0x437E7077), UINT32_C(0xBE6A3ECD), UINT32_C(0x574095C8),
9548           UINT32_C(0xB8AB332D), UINT32_C(0x3869DA42), UINT32_C(0x4E79AC1C),
9549           UINT32_C(0x68859F51), UINT32_C(0x79D4C3FB)}},
9550         {{UINT32_C(0x7936A831), UINT32_C(0x1E5FC1B9), UINT32_C(0xD74F1F41),
9551           UINT32_C(0x1EA42ED2), UINT32_C(0xC4EA3228), UINT32_C(0x33D22EC1),
9552           UINT32_C(0x729BEBFE), UINT32_C(0x5705333F)},
9553          {UINT32_C(0x64596076), UINT32_C(0xDBD1A67B), UINT32_C(0xFA65BA98),
9554           UINT32_C(0x6BFF269D), UINT32_C(0x6C47E715), UINT32_C(0x8451A9C2),
9555           UINT32_C(0x22898DB3), UINT32_C(0x243D679D)}},
9556         {{UINT32_C(0xB8323FD0), UINT32_C(0xE935D705), UINT32_C(0x6937E5CB),
9557           UINT32_C(0xE2DA8845), UINT32_C(0x4A5EAE1E), UINT32_C(0x1C9DFFF8),
9558           UINT32_C(0x45DF7A79), UINT32_C(0x796F0B95)},
9559          {UINT32_C(0x640DBA32), UINT32_C(0xC24D573F), UINT32_C(0x02E4B792),
9560           UINT32_C(0x2B775217), UINT32_C(0x94D12C40), UINT32_C(0xD437EB63),
9561           UINT32_C(0x4AD371F0), UINT32_C(0x6182AF6D)}},
9562         {{UINT32_C(0x41FC7551), UINT32_C(0x133EDA52), UINT32_C(0xE91714AF),
9563           UINT32_C(0xA0088A2B), UINT32_C(0x5E0A73C0), UINT32_C(0xB41B9AC2),
9564           UINT32_C(0x1D3B3953), UINT32_C(0x4808BB5A)},
9565          {UINT32_C(0x2B9AE648), UINT32_C(0xD875AA14), UINT32_C(0x2408244C),
9566           UINT32_C(0x4F38C946), UINT32_C(0xFF051A87), UINT32_C(0x04B6B941),
9567           UINT32_C(0x6DF48ECD), UINT32_C(0x1D5B0B9E)}},
9568         {{UINT32_C(0x169E757F), UINT32_C(0x27FD368A), UINT32_C(0x7B94D9DB),
9569           UINT32_C(0x2ACB3560), UINT32_C(0x4D4C9B5F), UINT32_C(0x81903F4B),
9570           UINT32_C(0x169B81DE), UINT32_C(0x641F806C)},
9571          {UINT32_C(0x9E957475), UINT32_C(0x574E9444), UINT32_C(0xC6C8EE52),
9572           UINT32_C(0xE08814AE), UINT32_C(0x6C84FDDF), UINT32_C(0xD1AE71EC),
9573           UINT32_C(0xFAA040D9), UINT32_C(0x44A56014)}},
9574         {{UINT32_C(0x75A48F60), UINT32_C(0x06DA6908), UINT32_C(0xBB2CD408),
9575           UINT32_C(0x7BA6C9CB), UINT32_C(0x3A1BCBFF), UINT32_C(0x57D2D0FF),
9576           UINT32_C(0x8928CE36), UINT32_C(0x186F1A8B)},
9577          {UINT32_C(0x7A40F877), UINT32_C(0x0FFD205B), UINT32_C(0x01AF68F7),
9578           UINT32_C(0x2915BC8E), UINT32_C(0xC36A5FB1), UINT32_C(0x816AC4DF),
9579           UINT32_C(0x2C9E1F7D), UINT32_C(0x609B0A87)}},
9580         {{UINT32_C(0xB97536FB), UINT32_C(0x4032AC5E), UINT32_C(0xA7C5EDB6),
9581           UINT32_C(0x53E6FE68), UINT32_C(0x5F0DCBA1), UINT32_C(0x2F414930),
9582           UINT32_C(0x2837E314), UINT32_C(0x20975256)},
9583          {UINT32_C(0x3C3C1D27), UINT32_C(0xDF5DC496), UINT32_C(0x71797C36),
9584           UINT32_C(0x0DFDAAF3), UINT32_C(0xDA504E04), UINT32_C(0x5F3E9229),
9585           UINT32_C(0x8C234246), UINT32_C(0x354EA88D)}},
9586         {{UINT32_C(0x0922D317), UINT32_C(0xAF6741C3), UINT32_C(0x9DF0A572),
9587           UINT32_C(0x7429853B), UINT32_C(0x1DC207A8), UINT32_C(0x0EA1AE04),
9588           UINT32_C(0x450075F5), UINT32_C(0x2C1DAA1C)},
9589          {UINT32_C(0x6ED729B4), UINT32_C(0x27C71F16), UINT32_C(0x53AB8EC0),
9590           UINT32_C(0x785718A6), UINT32_C(0xA8465487), UINT32_C(0x1EEC7BBF),
9591           UINT32_C(0x4C578BA9), UINT32_C(0x78DA9B04)}},
9592         {{UINT32_C(0xB3B707FA), UINT32_C(0xFF9ED65E), UINT32_C(0xF5D28D33),
9593           UINT32_C(0xF8C8301F), UINT32_C(0xA65F5C0F), UINT32_C(0xB15D498F),
9594           UINT32_C(0xB0EF2B89), UINT32_C(0x6DEF256D)},
9595          {UINT32_C(0x52184EF6), UINT32_C(0x0D40A6B2), UINT32_C(0x2BF06F5A),
9596           UINT32_C(0xC702EBE5), UINT32_C(0x4BA041AA), UINT32_C(0x13E50E18),
9597           UINT32_C(0x7EC4C784), UINT32_C(0x53552D88)}},
9598         {{UINT32_C(0xF28ABB3A), UINT32_C(0x2CD09B19), UINT32_C(0x724EDB9B),
9599           UINT32_C(0x4F5C040F), UINT32_C(0xE0DCBD16), UINT32_C(0xD6820590),
9600           UINT32_C(0x1B7155A3), UINT32_C(0x45D84DE9)},
9601          {UINT32_C(0xA251B1BA), UINT32_C(0x995BDD01), UINT32_C(0x37CAA4DC),
9602           UINT32_C(0x607F9517), UINT32_C(0xA15D9674), UINT32_C(0x747FEA1C),
9603           UINT32_C(0x73E97C97), UINT32_C(0x646C1876)}},
9604     },
9605     {
9606         {{UINT32_C(0x6FAC1486), UINT32_C(0x1951682B), UINT32_C(0x4A4D14C5),
9607           UINT32_C(0x8B578E1E), UINT32_C(0xB7384D42), UINT32_C(0x083FA101),
9608           UINT32_C(0xED1C8A87), UINT32_C(0x13380CE9)},
9609          {UINT32_C(0x732A493B), UINT32_C(0xC7052ED8), UINT32_C(0xB32E3D69),
9610           UINT32_C(0xD5FEF40F), UINT32_C(0x88833566), UINT32_C(0xA64ACE87),
9611           UINT32_C(0x4177DC00), UINT32_C(0x6E36CFDB)}},
9612         {{UINT32_C(0xE742C3B4), UINT32_C(0xAA14E281), UINT32_C(0xEE5AF40A),
9613           UINT32_C(0xB75E7B2A), UINT32_C(0x1616EFA2), UINT32_C(0x3FC5FF0B),
9614           UINT32_C(0xAD763298), UINT32_C(0x090259B0)},
9615          {UINT32_C(0x38753438), UINT32_C(0x4105B57E), UINT32_C(0xCF2D8926),
9616           UINT32_C(0x70ED1A00), UINT32_C(0x322F40BB), UINT32_C(0x78921395),
9617           UINT32_C(0x67A3FF56), UINT32_C(0x3AEE8199)}},
9618         {{UINT32_C(0x11EA75FC), UINT32_C(0x88073D00), UINT32_C(0x06A4B4EB),
9619           UINT32_C(0xD23D2796), UINT32_C(0xD85D3A6B), UINT32_C(0x1FD22F9E),
9620           UINT32_C(0xAFB43B70), UINT32_C(0x6B5EA051)},
9621          {UINT32_C(0xD99BE576), UINT32_C(0x96C9C176), UINT32_C(0x4C47261E),
9622           UINT32_C(0x85AC2B6C), UINT32_C(0x99A9C378), UINT32_C(0x27263959),
9623           UINT32_C(0x8B5CABDA), UINT32_C(0x6D36E9FE)}},
9624         {{UINT32_C(0xA58F614C), UINT32_C(0xC9FC7661), UINT32_C(0x2E45AE73),
9625           UINT32_C(0x82AA317D), UINT32_C(0xC8CB9CC7), UINT32_C(0xDCB1925F),
9626           UINT32_C(0x27813205), UINT32_C(0x1341C1AA)},
9627          {UINT32_C(0x6CD478AB), UINT32_C(0xDD06745B), UINT32_C(0x1E28F6A3),
9628           UINT32_C(0x0C2534B2), UINT32_C(0x9D27FE63), UINT32_C(0xE2183345),
9629           UINT32_C(0x06466147), UINT32_C(0x7F1E2A33)}},
9630         {{UINT32_C(0x5AEE2471), UINT32_C(0x378D727E), UINT32_C(0xD47739B6),
9631           UINT32_C(0xB718FC17), UINT32_C(0x4145E8EF), UINT32_C(0xDA27CB9B),
9632           UINT32_C(0x0EF2AB20), UINT32_C(0x3F8AB1A3)},
9633          {UINT32_C(0xE16C0141), UINT32_C(0xA89ADD37), UINT32_C(0x59DF1C95),
9634           UINT32_C(0x2127823B), UINT32_C(0xB7455CC2), UINT32_C(0x53F90B73),
9635           UINT32_C(0x1183FBE5), UINT32_C(0x7F960586)}},
9636         {{UINT32_C(0xE77235C3), UINT32_C(0x56D0475A), UINT32_C(0xB18ED61A),
9637           UINT32_C(0xED2907C5), UINT32_C(0x7D73F6F8), UINT32_C(0x2D02C4CB),
9638           UINT32_C(0xC42E7AED), UINT32_C(0x35EF69B4)},
9639          {UINT32_C(0x31B7324A), UINT32_C(0x53A6120A), UINT32_C(0x59F1A395),
9640           UINT32_C(0x982DD221), UINT32_C(0x835CFD94), UINT32_C(0x03ECA86F),
9641           UINT32_C(0x73CA1BD5), UINT32_C(0x4CBA837D)}},
9642         {{UINT32_C(0x41B17E6D), UINT32_C(0x64F66D39), UINT32_C(0xCB14F3B3),
9643           UINT32_C(0x3C869BF5), UINT32_C(0x28350EFA), UINT32_C(0x1EBA045A),
9644           UINT32_C(0xC7CDEC47), UINT32_C(0x7ACFB882)},
9645          {UINT32_C(0x8FB3097B), UINT32_C(0x7ACFD28D), UINT32_C(0x62986426),
9646           UINT32_C(0xDA397C31), UINT32_C(0x2A1A7A94), UINT32_C(0xD49F8421),
9647           UINT32_C(0xFAB65156), UINT32_C(0x7B372E2D)}},
9648         {{UINT32_C(0x01D9DB0F), UINT32_C(0x3ADBDD07), UINT32_C(0x94FF0CFB),
9649           UINT32_C(0x617521E6), UINT32_C(0x3F5BD583), UINT32_C(0x5BA5905C),
9650           UINT32_C(0x78670CD1), UINT32_C(0x6F896033)},
9651          {UINT32_C(0xFB98EA11), UINT32_C(0x0A59C447), UINT32_C(0x653EDC59),
9652           UINT32_C(0x59B918CC), UINT32_C(0x9F72C01E), UINT32_C(0x00BF4D2A),
9653           UINT32_C(0x47DEE00F), UINT32_C(0x748455D1)}},
9654         {{UINT32_C(0x386E7491), UINT32_C(0xE371A7A8), UINT32_C(0x621A3484),
9655           UINT32_C(0xF71711CC), UINT32_C(0xE0015C3B), UINT32_C(0x1568256E),
9656           UINT32_C(0x7D3FFDE9), UINT32_C(0x5ACEF7A6)},
9657          {UINT32_C(0xB08E4219), UINT32_C(0x02ED70E5), UINT32_C(0x832AC3AA),
9658           UINT32_C(0x7ECE1726), UINT32_C(0x951D1CA2), UINT32_C(0xC3C0D32B),
9659           UINT32_C(0x38DECC59), UINT32_C(0x4C991664)}},
9660         {{UINT32_C(0x96EB21A4), UINT32_C(0xB99DF8BA), UINT32_C(0x2BBF8E6D),
9661           UINT32_C(0xB88D25F4), UINT32_C(0x686DAA3C), UINT32_C(0x16B3E0B1),
9662           UINT32_C(0x70D47C57), UINT32_C(0x11314561)},
9663          {UINT32_C(0x3338342D), UINT32_C(0x8DCDC3D1), UINT32_C(0x88E028A7),
9664           UINT32_C(0xE6D39B01), UINT32_C(0x72855B5E), UINT32_C(0xB781F1ED),
9665           UINT32_C(0xCC192572), UINT32_C(0x0E0D82F6)}},
9666         {{UINT32_C(0xCF1E20AA), UINT32_C(0xC86A8E5D), UINT32_C(0xF9AB96D5),
9667           UINT32_C(0x1A87AEF3), UINT32_C(0xF3D19051), UINT32_C(0xA8941635),
9668           UINT32_C(0x654FFF15), UINT32_C(0x67B1D0A2)},
9669          {UINT32_C(0x92862ACD), UINT32_C(0x266FD5ED), UINT32_C(0xD11DEEAC),
9670           UINT32_C(0xB72587BE), UINT32_C(0xD09320AA), UINT32_C(0x5CF0D2E2),
9671           UINT32_C(0x515E0277), UINT32_C(0x68456EBA)}},
9672         {{UINT32_C(0x771F64CA), UINT32_C(0x86A5461C), UINT32_C(0x48FF8D7A),
9673           UINT32_C(0xB7A220B7), UINT32_C(0xD7A568D1), UINT32_C(0x9A0DD72A),
9674           UINT32_C(0xF644D858), UINT32_C(0x18F5E1DC)},
9675          {UINT32_C(0x3E00364F), UINT32_C(0xB7AE1BC2), UINT32_C(0xCEE8D9F7),
9676           UINT32_C(0xD7EA31F3), UINT32_C(0xDCDB883D), UINT32_C(0xD18DA30F),
9677           UINT32_C(0xCBA00F48), UINT32_C(0x179CFCA5)}},
9678         {{UINT32_C(0x39E7860C), UINT32_C(0x496F2C01), UINT32_C(0x27F15EAF),
9679           UINT32_C(0xACDF8B40), UINT32_C(0x687AC815), UINT32_C(0x8871966C),
9680           UINT32_C(0x8DB8FDB5), UINT32_C(0x6228F1B5)},
9681          {UINT32_C(0xF30ECF2B), UINT32_C(0x8644656A), UINT32_C(0xAE1DEAFF),
9682           UINT32_C(0x15576CC2), UINT32_C(0x697AB3FC), UINT32_C(0x93D86D56),
9683           UINT32_C(0x811E3FF2), UINT32_C(0x3E4A428E)}},
9684         {{UINT32_C(0x91B9F5DF), UINT32_C(0xFB85DE3D), UINT32_C(0xB20A9C71),
9685           UINT32_C(0xCDB595D4), UINT32_C(0xB44D671E), UINT32_C(0x55CB08F3),
9686           UINT32_C(0xFCD7D5ED), UINT32_C(0x780FC2E5)},
9687          {UINT32_C(0x7F939366), UINT32_C(0x815AB41F), UINT32_C(0xECD52B20),
9688           UINT32_C(0xA7597A02), UINT32_C(0x4648E3C5), UINT32_C(0x9BE078F0),
9689           UINT32_C(0x17BD3DC2), UINT32_C(0x7A3E2179)}},
9690         {{UINT32_C(0x9D9E5E53), UINT32_C(0x22758C41), UINT32_C(0x9EF09FAE),
9691           UINT32_C(0x44D675F4), UINT32_C(0x27159F97), UINT32_C(0x1AB7986D),
9692           UINT32_C(0xB6B9465B), UINT32_C(0x72B3F02B)},
9693          {UINT32_C(0xFE56F578), UINT32_C(0xA372FAC7), UINT32_C(0xDA534F4A),
9694           UINT32_C(0x33FA6479), UINT32_C(0xDF63BF2D), UINT32_C(0xB0003307),
9695           UINT32_C(0xB80D0F64), UINT32_C(0x34D40B4D)}},
9696         {{UINT32_C(0x3D2B9FC2), UINT32_C(0x8A8929DC), UINT32_C(0x55EE75E5),
9697           UINT32_C(0x7D12E86C), UINT32_C(0x92E1A870), UINT32_C(0xB3FE1AD3),
9698           UINT32_C(0x729CFE4C), UINT32_C(0x27148C94)},
9699          {UINT32_C(0x18BA868B), UINT32_C(0x6A8C3B52), UINT32_C(0x7F038A9C),
9700           UINT32_C(0xDD2006E4), UINT32_C(0xB7124908), UINT32_C(0x4606FA9E),
9701           UINT32_C(0xF4940CB1), UINT32_C(0x434A8C07)}},
9702     },
9703     {
9704         {{UINT32_C(0xF98B91EA), UINT32_C(0x15F36EBE), UINT32_C(0xC1ED17B1),
9705           UINT32_C(0x94D802DE), UINT32_C(0x085D77F8), UINT32_C(0x3C45FA08),
9706           UINT32_C(0x02FF571A), UINT32_C(0x0A30B3C3)},
9707          {UINT32_C(0x264C93D0), UINT32_C(0x70F5852D), UINT32_C(0x191AEE57),
9708           UINT32_C(0x5E51BCAB), UINT32_C(0xFAD8E96E), UINT32_C(0xD5C14AE9),
9709           UINT32_C(0xD4BC414B), UINT32_C(0x73B00534)}},
9710         {{UINT32_C(0x12AFF5E7), UINT32_C(0x21CF876B), UINT32_C(0xF75799A6),
9711           UINT32_C(0x3E9F664C), UINT32_C(0x9A0E73CD), UINT32_C(0xC23B7D19),
9712           UINT32_C(0x427EEA36), UINT32_C(0x77AAB691)},
9713          {UINT32_C(0x604EE854), UINT32_C(0x2E74F972), UINT32_C(0xF867C81A),
9714           UINT32_C(0x8712C7A0), UINT32_C(0x953A4C56), UINT32_C(0x6085980F),
9715           UINT32_C(0x0F7707E1), UINT32_C(0x2DB99707)}},
9716         {{UINT32_C(0x78BDB7A7), UINT32_C(0x5ECC087F), UINT32_C(0x04C693F2),
9717           UINT32_C(0x43CC156C), UINT32_C(0x039BD7F1), UINT32_C(0x965067CF),
9718           UINT32_C(0x6E3FAE2F), UINT32_C(0x72140E56)},
9719          {UINT32_C(0xE019DED1), UINT32_C(0x26452E4D), UINT32_C(0x2EDEF154),
9720           UINT32_C(0x6F4C2349), UINT32_C(0x054DFC0F), UINT32_C(0xA7066D7F),
9721           UINT32_C(0x3381AB44), UINT32_C(0x544E6F6D)}},
9722         {{UINT32_C(0x9214C791), UINT32_C(0x9B6E9469), UINT32_C(0x86938BDC),
9723           UINT32_C(0xD74F9C55), UINT32_C(0xFC2928FD), UINT32_C(0x0F1527F6),
9724           UINT32_C(0x63C3A053), UINT32_C(0x5B0FBF0F)},
9725          {UINT32_C(0xFC41FF10), UINT32_C(0xAC1F442C), UINT32_C(0x787B4932),
9726           UINT32_C(0x34EF88EF), UINT32_C(0x316732AC), UINT32_C(0xF8120F08),
9727           UINT32_C(0xA655DC4A), UINT32_C(0x7BCCF12C)}},
9728         {{UINT32_C(0xA6C7760E), UINT32_C(0x750DF97F), UINT32_C(0x609BF215),
9729           UINT32_C(0xF1A0A827), UINT32_C(0x67FD04B4), UINT32_C(0x7348C1B4),
9730           UINT32_C(0x615C8145), UINT32_C(0x6A581016)},
9731          {UINT32_C(0x9A11AAFC), UINT32_C(0x9DC01225), UINT32_C(0x3F2B0C8B),
9732           UINT32_C(0x24F65B05), UINT32_C(0xDCB1B2A4), UINT32_C(0xA27CB8BF),
9733           UINT32_C(0xE48C1A71), UINT32_C(0x3C44B811)}},
9734         {{UINT32_C(0xF780B295), UINT32_C(0xBC059AF2), UINT32_C(0x0B6B247D),
9735           UINT32_C(0xDF58928C), UINT32_C(0x01903F3D), UINT32_C(0x224D4C3C),
9736           UINT32_C(0x818EE0AC), UINT32_C(0x7152E120)},
9737          {UINT32_C(0x54BFF1BE), UINT32_C(0x6C8F4745), UINT32_C(0x431ADEF7),
9738           UINT32_C(0x98A6C7EC), UINT32_C(0x91B2CFB6), UINT32_C(0xDCB6BB75),
9739           UINT32_C(0x7E83A5BB), UINT32_C(0x145F6D39)}},
9740         {{UINT32_C(0x81D23BC1), UINT32_C(0x827C000C), UINT32_C(0x403956FC),
9741           UINT32_C(0x5CDC1135), UINT32_C(0x3C751158), UINT32_C(0xD967A5B1),
9742           UINT32_C(0x96201D7D), UINT32_C(0x52AF85BC)},
9743          {UINT32_C(0x644558F7), UINT32_C(0x522BC492), UINT32_C(0xED7A060D),
9744           UINT32_C(0xF74A35AF), UINT32_C(0x4DC4619E), UINT32_C(0x10E5F9FD),
9745           UINT32_C(0x324F60BB), UINT32_C(0x06071F1F)}},
9746         {{UINT32_C(0x65921C34), UINT32_C(0xC5FFD5EF), UINT32_C(0x302BAA5D),
9747           UINT32_C(0x46CE1A69), UINT32_C(0x4E22FF1D), UINT32_C(0x89CC84EC),
9748           UINT32_C(0x68131754), UINT32_C(0x16A481AE)},
9749          {UINT32_C(0xB89039F5), UINT32_C(0x2A06A156), UINT32_C(0xB3A95AB9),
9750           UINT32_C(0x40B6401B), UINT32_C(0x313820C3), UINT32_C(0xFFCC53EB),
9751           UINT32_C(0xEA959F76), UINT32_C(0x256B00E7)}},
9752         {{UINT32_C(0x54FBDD74), UINT32_C(0xCCE87FC9), UINT32_C(0xB23C6E1D),
9753           UINT32_C(0xEC258542), UINT32_C(0x9E5E1928), UINT32_C(0x5BE392B4),
9754           UINT32_C(0x47A8A759), UINT32_C(0x65AF3110)},
9755          {UINT32_C(0x47DFFD31), UINT32_C(0x943F7A25), UINT32_C(0x51E896FA),
9756           UINT32_C(0xDCCDA186), UINT32_C(0x933E747F), UINT32_C(0x71A93B1E),
9757           UINT32_C(0xDFB043AD), UINT32_C(0x44F5C468)}},
9758         {{UINT32_C(0x786FCCBA), UINT32_C(0xF6AEC52C), UINT32_C(0x6D51FA78),
9759           UINT32_C(0x23D49DCF), UINT32_C(0x9B40D8E6), UINT32_C(0x0F81463B),
9760           UINT32_C(0x708D3DA2), UINT32_C(0x18B9D932)},
9761          {UINT32_C(0xF986DC6D), UINT32_C(0x796F94ED), UINT32_C(0xFC2622C3),
9762           UINT32_C(0x33B2CCC1), UINT32_C(0x9CCEC606), UINT32_C(0x16790DFB),
9763           UINT32_C(0xCFD31481), UINT32_C(0x6F5D1452)}},
9764         {{UINT32_C(0x6C3A15D6), UINT32_C(0x91F15DDC), UINT32_C(0x4D360E75),
9765           UINT32_C(0x45D12F40), UINT32_C(0x1DAFFC9C), UINT32_C(0xF2E28EE8),
9766           UINT32_C(0x6CDF5566), UINT32_C(0x5CC6A056)},
9767          {UINT32_C(0x1779B9BF), UINT32_C(0x855166D2), UINT32_C(0xCF94D9FE),
9768           UINT32_C(0x92BA5EF4), UINT32_C(0x985BC1DD), UINT32_C(0x1266FB2A),
9769           UINT32_C(0xCA3018AD), UINT32_C(0x4572CE8F)}},
9770         {{UINT32_C(0xBE4BB604), UINT32_C(0x8729A12D), UINT32_C(0x4E99E9AB),
9771           UINT32_C(0x6A29C849), UINT32_C(0x7A89894D), UINT32_C(0x54AE5011),
9772           UINT32_C(0xCDB0EEBD), UINT32_C(0x5E66A255)},
9773          {UINT32_C(0xCBEE153B), UINT32_C(0x006736EA), UINT32_C(0x225E7B86),
9774           UINT32_C(0x8A36CC2D), UINT32_C(0xEC0598EC), UINT32_C(0xF731E430),
9775           UINT32_C(0x7FD9A11F), UINT32_C(0x49338E4D)}},
9776         {{UINT32_C(0xDA6DABAA), UINT32_C(0xE038CE03), UINT32_C(0x7C1BCE0C),
9777           UINT32_C(0x13A08DCE), UINT32_C(0xDA89EFBF), UINT32_C(0x12D00DD0),
9778           UINT32_C(0x6FCF0510), UINT32_C(0x70A13FB9)},
9779          {UINT32_C(0x5CDB03E2), UINT32_C(0x16ED1C92), UINT32_C(0x08E9EE4B),
9780           UINT32_C(0xDF1AB61D), UINT32_C(0x03AF3E3D), UINT32_C(0x48983DA8),
9781           UINT32_C(0x429DB770), UINT32_C(0x63CCA113)}},
9782         {{UINT32_C(0xCFB805E5), UINT32_C(0x6D9AC1EB), UINT32_C(0x50FA37B8),
9783           UINT32_C(0x47C3FE69), UINT32_C(0x2C33D457), UINT32_C(0xD308EC73),
9784           UINT32_C(0xD4CCA340), UINT32_C(0x3CB08E00)},
9785          {UINT32_C(0xBE862794), UINT32_C(0xC078DAD0), UINT32_C(0xF4E10A57),
9786           UINT32_C(0x2D147F83), UINT32_C(0x3DE1B3D5), UINT32_C(0xE91820FF),
9787           UINT32_C(0x6F30491B), UINT32_C(0x3D85DD72)}},
9788         {{UINT32_C(0xF5CBDD3A), UINT32_C(0xD486A022), UINT32_C(0xCAC0B99E),
9789           UINT32_C(0x2663134A), UINT32_C(0x5F3ABFCA), UINT32_C(0x42DE13F5),
9790           UINT32_C(0xB365B973), UINT32_C(0x4967A225)},
9791          {UINT32_C(0x10F1F997), UINT32_C(0x99C98A25), UINT32_C(0x7714FAB2),
9792           UINT32_C(0x23F057C9), UINT32_C(0x1BA2338D), UINT32_C(0xCE07CA6E),
9793           UINT32_C(0x069F65D7), UINT32_C(0x3BA69161)}},
9794         {{UINT32_C(0xC026FB0E), UINT32_C(0xCCD8C86F), UINT32_C(0x50407A8C),
9795           UINT32_C(0xF49F1FEA), UINT32_C(0x7F19A1DB), UINT32_C(0x72FEA37B),
9796           UINT32_C(0x3F457DB7), UINT32_C(0x22A03E25)},
9797          {UINT32_C(0x71F736D2), UINT32_C(0x2D6C62B2), UINT32_C(0xA5ACB4E5),
9798           UINT32_C(0xCC99F8E7), UINT32_C(0x0DE5F380), UINT32_C(0x8F7DBF2E),
9799           UINT32_C(0x352B4933), UINT32_C(0x24494786)}},
9800     },
9801     {
9802         {{UINT32_C(0xAE2A5E8F), UINT32_C(0xF020E7A9), UINT32_C(0xD14C5F02),
9803           UINT32_C(0x5ADC788B), UINT32_C(0x65C84DB4), UINT32_C(0xC5E5AFE4),
9804           UINT32_C(0x35C2633C), UINT32_C(0x392FACC4)},
9805          {UINT32_C(0x42DEE269), UINT32_C(0x47D50070), UINT32_C(0x6EB7849C),
9806           UINT32_C(0x76706ED7), UINT32_C(0x316548CB), UINT32_C(0x6BF56D56),
9807           UINT32_C(0xD37FF4DF), UINT32_C(0x4A466066)}},
9808         {{UINT32_C(0xC30283AD), UINT32_C(0xC8EBBFB5), UINT32_C(0x3544E645),
9809           UINT32_C(0x31E9CF96), UINT32_C(0x88886B50), UINT32_C(0x90EA9A49),
9810           UINT32_C(0x021D3D5D), UINT32_C(0x5E4B8C88)},
9811          {UINT32_C(0x0DFEB658), UINT32_C(0xA4DB9225), UINT32_C(0x1910FDAE),
9812           UINT32_C(0x8AA95DB6), UINT32_C(0xDE400EB9), UINT32_C(0x82E9A997),
9813           UINT32_C(0x96769A04), UINT32_C(0x238967E9)}},
9814         {{UINT32_C(0x89E2DF0A), UINT32_C(0x1ABB076A), UINT32_C(0x07065929),
9815           UINT32_C(0xDA8B09B0), UINT32_C(0x63BD349B), UINT32_C(0x332BE8A5),
9816           UINT32_C(0xA2D35385), UINT32_C(0x0EB973CE)},
9817          {UINT32_C(0x9C7D375E), UINT32_C(0x67F7AE63), UINT32_C(0xE7AE90B1),
9818           UINT32_C(0xA235818D), UINT32_C(0x817493B0), UINT32_C(0x2B59C26E),
9819           UINT32_C(0x33C4ACD6), UINT32_C(0x39DC1050)}},
9820         {{UINT32_C(0x7B7DB3F5), UINT32_C(0x11801ACE), UINT32_C(0x8CC97CA5),
9821           UINT32_C(0x79C214C3), UINT32_C(0xBF2674BF), UINT32_C(0xB4BFE1AB),
9822           UINT32_C(0x43252011), UINT32_C(0x598EA7DC)},
9823          {UINT32_C(0xB08F8EF5), UINT32_C(0x217FF6D3), UINT32_C(0x8B9226B7),
9824           UINT32_C(0x9797BBC9), UINT32_C(0x7B0EDB09), UINT32_C(0xAB8E98C9),
9825           UINT32_C(0x083A401F), UINT32_C(0x240EC22D)}},
9826         {{UINT32_C(0x459ABC3D), UINT32_C(0x55A75BCF), UINT32_C(0x64ECC2DC),
9827           UINT32_C(0xB2F98598), UINT32_C(0x9EE84779), UINT32_C(0x271C47C3),
9828           UINT32_C(0xBF9BDBF2), UINT32_C(0x0166E5D4)},
9829          {UINT32_C(0x4215B666), UINT32_C(0xD205380F), UINT32_C(0x64E9FE64),
9830           UINT32_C(0xF7041396), UINT32_C(0x2BB0DA40), UINT32_C(0x4C737E94),
9831           UINT32_C(0xC8119691), UINT32_C(0x2E763521)}},
9832         {{UINT32_C(0xFD2F8593), UINT32_C(0x79550B60), UINT32_C(0x0C17A56F),
9833           UINT32_C(0x47E00AFD), UINT32_C(0xB44157CF), UINT32_C(0x0D900A9D),
9834           UINT32_C(0xA81BED76), UINT32_C(0x016CF746)},
9835          {UINT32_C(0xAC47A84B), UINT32_C(0xC21E861B), UINT32_C(0x1724BD47),
9836           UINT32_C(0x0E14387A), UINT32_C(0x2077F7BC), UINT32_C(0xC209303E),
9837           UINT32_C(0xBAD12F0B), UINT32_C(0x33B5EB59)}},
9838         {{UINT32_C(0x9850FC1F), UINT32_C(0x7152354F), UINT32_C(0x83637934),
9839           UINT32_C(0x1239576F), UINT32_C(0x82AF46BA), UINT32_C(0xB00C4E4E),
9840           UINT32_C(0xEC3FEEFF), UINT32_C(0x563D5062)},
9841          {UINT32_C(0x33D67B7F), UINT32_C(0xEF25E373), UINT32_C(0x50D9845E),
9842           UINT32_C(0x3A80A50E), UINT32_C(0xA5787EF5), UINT32_C(0x1DCED1E9),
9843           UINT32_C(0xA0F87C3C), UINT32_C(0x15723E9A)}},
9844         {{UINT32_C(0x2B4A156D), UINT32_C(0x21743511), UINT32_C(0xCD12BD2B),
9845           UINT32_C(0xB75C041C), UINT32_C(0x79F393A6), UINT32_C(0x6947368C),
9846           UINT32_C(0x76420E56), UINT32_C(0x32CDE49E)},
9847          {UINT32_C(0x43D612FF), UINT32_C(0x67FBA315), UINT32_C(0xE3B87BC2),
9848           UINT32_C(0x697F7FAE), UINT32_C(0x7391129A), UINT32_C(0x980DAFBC),
9849           UINT32_C(0x6F707469), UINT32_C(0x438B2858)}},
9850         {{UINT32_C(0x5E9D085F), UINT32_C(0xDA8AD16D), UINT32_C(0x768FA87C),
9851           UINT32_C(0xE636F1AF), UINT32_C(0xB85FF1F1), UINT32_C(0x08520756),
9852           UINT32_C(0x6ABB31BE), UINT32_C(0x1B818481)},
9853          {UINT32_C(0x2E686F1A), UINT32_C(0x25B3DCB9), UINT32_C(0x2B0CB829),
9854           UINT32_C(0xE1282134), UINT32_C(0x3B9B759C), UINT32_C(0x626232BC),
9855           UINT32_C(0x38C4338E), UINT32_C(0x797316BB)}},
9856         {{UINT32_C(0x4A62DCBD), UINT32_C(0xF8365B64), UINT32_C(0x6BF0EFED),
9857           UINT32_C(0xC2CF51BA), UINT32_C(0xABF74764), UINT32_C(0x37E379EF),
9858           UINT32_C(0xA350D603), UINT32_C(0x5DC32071)},
9859          {UINT32_C(0x5B732100), UINT32_C(0x5465CC80), UINT32_C(0xB3BB5366),
9860           UINT32_C(0x3231B4E3), UINT32_C(0xD0D067CE), UINT32_C(0x23F5385E),
9861           UINT32_C(0x67D33451), UINT32_C(0x76CD7621)}},
9862         {{UINT32_C(0x55D857DD), UINT32_C(0xC6C93A05), UINT32_C(0x8F308F7F),
9863           UINT32_C(0xB4B6F176), UINT32_C(0xC0F13577), UINT32_C(0x2371CD88),
9864           UINT32_C(0x70807D9D), UINT32_C(0x1E507D6C)},
9865          {UINT32_C(0xC73E8E2F), UINT32_C(0x7A77CCE1), UINT32_C(0xFCCBDEEB),
9866           UINT32_C(0x1DD96274), UINT32_C(0x03F378B8), UINT32_C(0xA4DBEA5D),
9867           UINT32_C(0x2A1C347F), UINT32_C(0x44B4DF55)}},
9868         {{UINT32_C(0x8D067A47), UINT32_C(0x9853D282), UINT32_C(0x86813E74),
9869           UINT32_C(0xBF0ADAF4), UINT32_C(0x39409037), UINT32_C(0xFDE1F24D),
9870           UINT32_C(0x973B045D), UINT32_C(0x0E629604)},
9871          {UINT32_C(0x3BB92FAB), UINT32_C(0x9880A74B), UINT32_C(0xC6C4D6C6),
9872           UINT32_C(0xBC4E3405), UINT32_C(0x5184A2D6), UINT32_C(0x98C24318),
9873           UINT32_C(0xC210C183), UINT32_C(0x07D65412)}},
9874         {{UINT32_C(0x441A5FBC), UINT32_C(0x3938E528), UINT32_C(0xCCC66B22),
9875           UINT32_C(0x2CCD837D), UINT32_C(0x5E606282), UINT32_C(0x075FADE7),
9876           UINT32_C(0x4BB0E76A), UINT32_C(0x32181165)},
9877          {UINT32_C(0xFC929890), UINT32_C(0xE7240305), UINT32_C(0xE03AAA52),
9878           UINT32_C(0x1FA427C8), UINT32_C(0x0BC7B9F8), UINT32_C(0xF23C879B),
9879           UINT32_C(0xD6BBC908), UINT32_C(0x699A1235)}},
9880         {{UINT32_C(0x14124B8A), UINT32_C(0x20C29781), UINT32_C(0x48000278),
9881           UINT32_C(0x0C6464B3), UINT32_C(0xD644E10C), UINT32_C(0xF1939127),
9882           UINT32_C(0x4EC07EE3), UINT32_C(0x47A479E6)},
9883          {UINT32_C(0x77023389), UINT32_C(0xB6315768), UINT32_C(0x8BFDD90F),
9884           UINT32_C(0xC0FD319D), UINT32_C(0x6CB022D4), UINT32_C(0x0EBEC200),
9885           UINT32_C(0x302F58EF), UINT32_C(0x6810DF3D)}},
9886         {{UINT32_C(0xACB1C3F2), UINT32_C(0xCF97FA07), UINT32_C(0xA2C3F2F1),
9887           UINT32_C(0xACC60D84), UINT32_C(0x5DEB73D4), UINT32_C(0x4EF3CAAC),
9888           UINT32_C(0xD5472C1D), UINT32_C(0x654D0D90)},
9889          {UINT32_C(0xE4729062), UINT32_C(0x5A39A718), UINT32_C(0x8324E0F2),
9890           UINT32_C(0x84B286B0), UINT32_C(0xD21E8457), UINT32_C(0xA07A01CB),
9891           UINT32_C(0xB094714E), UINT32_C(0x0EC091C7)}},
9892         {{UINT32_C(0x895736BD), UINT32_C(0x7AB81940), UINT32_C(0xE4679DF5),
9893           UINT32_C(0x9AE791B7), UINT32_C(0xF064109B), UINT32_C(0x36163D81),
9894           UINT32_C(0x0E956B07), UINT32_C(0x3DDEE4A4)},
9895          {UINT32_C(0xFEAAE47C), UINT32_C(0xE146E7EE), UINT32_C(0x6A8EEC03),
9896           UINT32_C(0x81C0C2A7), UINT32_C(0xA8C315CB), UINT32_C(0x10BB8DD9),
9897           UINT32_C(0xD21B9AB0), UINT32_C(0x2CB423D8)}},
9898     },
9899     {
9900         {{UINT32_C(0x166A5B9A), UINT32_C(0x5B11D3C7), UINT32_C(0x8768861D),
9901           UINT32_C(0x973627BB), UINT32_C(0x5A3E442A), UINT32_C(0x82A5E2CD),
9902           UINT32_C(0xDDE63678), UINT32_C(0x13F6C741)},
9903          {UINT32_C(0xD892738E), UINT32_C(0x8DAA3C74), UINT32_C(0xA932376F),
9904           UINT32_C(0x0A07D651), UINT32_C(0x6892504B), UINT32_C(0xE12612C5),
9905           UINT32_C(0xCA3FF301), UINT32_C(0x619D2B1D)}},
9906         {{UINT32_C(0x1B07CEB7), UINT32_C(0x2B6D686F), UINT32_C(0x298D0996),
9907           UINT32_C(0x90C0260C), UINT32_C(0x102BC73C), UINT32_C(0x8CAAB926),
9908           UINT32_C(0xAEB3911C), UINT32_C(0x445A6487)},
9909          {UINT32_C(0x57F17290), UINT32_C(0x7EE1E547), UINT32_C(0x417711BF),
9910           UINT32_C(0xC055478B), UINT32_C(0x5CFA42C2), UINT32_C(0x29EF9FEC),
9911           UINT32_C(0x2B8EA0D6), UINT32_C(0x5A022DE4)}},
9912         {{UINT32_C(0xAEEB2675), UINT32_C(0x81A5EC18), UINT32_C(0xAD1BBA8A),
9913           UINT32_C(0xA867C5AA), UINT32_C(0x8DB47EBC), UINT32_C(0xAECB3688),
9914           UINT32_C(0x26D1038F), UINT32_C(0x77CE00BC)},
9915          {UINT32_C(0x3E68504B), UINT32_C(0xADC635EF), UINT32_C(0xDAE8AF4F),
9916           UINT32_C(0x0EFC21DE), UINT32_C(0xAC70C4C9), UINT32_C(0xDE57FD43),
9917           UINT32_C(0xE78FFC0D), UINT32_C(0x123360BE)}},
9918         {{UINT32_C(0xD82B61DB), UINT32_C(0xD608DB32), UINT32_C(0x8E45C853),
9919           UINT32_C(0x05AF2A90), UINT32_C(0x9D3B0032), UINT32_C(0xF1B8213E),
9920           UINT32_C(0xCAD15361), UINT32_C(0x2312F8AB)},
9921          {UINT32_C(0xC29EE818), UINT32_C(0xDC8D8E32), UINT32_C(0xDE5CD587),
9922           UINT32_C(0x07D7A475), UINT32_C(0x0C6C38B8), UINT32_C(0x76610913),
9923           UINT32_C(0xD7984BD9), UINT32_C(0x0131B6C6)}},
9924         {{UINT32_C(0xCF69C844), UINT32_C(0xC05CD4D0), UINT32_C(0x81A9B005),
9925           UINT32_C(0x747C092D), UINT32_C(0xD9E39F54), UINT32_C(0x0D793551),
9926           UINT32_C(0x7FFEF17C), UINT32_C(0x3BBB00DA)},
9927          {UINT32_C(0x655AD7C1), UINT32_C(0x6CAB83D9), UINT32_C(0x66A8F590),
9928           UINT32_C(0x601BECD0), UINT32_C(0xAE51811B), UINT32_C(0xFADB086D),
9929           UINT32_C(0xD69F734B), UINT32_C(0x7768A5D8)}},
9930         {{UINT32_C(0xF0E2385E), UINT32_C(0x3BB9B347), UINT32_C(0xF7D39F23),
9931           UINT32_C(0x376C8C48), UINT32_C(0xD82EC840), UINT32_C(0xE656C1A4),
9932           UINT32_C(0xFC2AC59A), UINT32_C(0x328B25C9)},
9933          {UINT32_C(0xA046BEE6), UINT32_C(0xD02B2F39), UINT32_C(0x80066D6C),
9934           UINT32_C(0xDBAB19A5), UINT32_C(0xE938B7F7), UINT32_C(0x6A2E8F67),
9935           UINT32_C(0xAA7F2661), UINT32_C(0x645A57A1)}},
9936         {{UINT32_C(0x9A006FAE), UINT32_C(0x6227904D), UINT32_C(0xB598CB72),
9937           UINT32_C(0xA975FC4C), UINT32_C(0xA1120B82), UINT32_C(0x945BFC2F),
9938           UINT32_C(0x2AC15CE5), UINT32_C(0x437A8AB4)},
9939          {UINT32_C(0x0F53317C), UINT32_C(0xA512A107), UINT32_C(0xFF9BD7D6),
9940           UINT32_C(0x7B552554), UINT32_C(0x54155AF9), UINT32_C(0xF81213E7),
9941           UINT32_C(0xFDCE0842), UINT32_C(0x0923F42C)}},
9942         {{UINT32_C(0x5216BB55), UINT32_C(0x13523916), UINT32_C(0x599CA117),
9943           UINT32_C(0xF27E4C7A), UINT32_C(0x7DD95BE1), UINT32_C(0x464D040A),
9944           UINT32_C(0x3C417D05), UINT32_C(0x40897486)},
9945          {UINT32_C(0x7C88E5D7), UINT32_C(0x0A3D16BF), UINT32_C(0xC13B286F),
9946           UINT32_C(0x0B94C661), UINT32_C(0xE2214821), UINT32_C(0xF73C7126),
9947           UINT32_C(0xF2F6DAFA), UINT32_C(0x4B3D5BF0)}},
9948         {{UINT32_C(0xF1A4332A), UINT32_C(0xCFABD8A2), UINT32_C(0xBAAC9A51),
9949           UINT32_C(0x56DB1546), UINT32_C(0x04416247), UINT32_C(0x8CC5204B),
9950           UINT32_C(0xF0583310), UINT32_C(0x75EC13BF)},
9951          {UINT32_C(0xD35B55D0), UINT32_C(0x0D68896E), UINT32_C(0x67FC14D9),
9952           UINT32_C(0xE89274E2), UINT32_C(0xFC322878), UINT32_C(0x18D425C0),
9953           UINT32_C(0x916C714A), UINT32_C(0x69477DD7)}},
9954         {{UINT32_C(0x9BDDF0F9), UINT32_C(0x427CBB6C), UINT32_C(0xDB9F52CB),
9955           UINT32_C(0xCF6941E2), UINT32_C(0x35E60DFA), UINT32_C(0xEF144DF6),
9956           UINT32_C(0xB61DF45C), UINT32_C(0x27B5246E)},
9957          {UINT32_C(0xB8D3D1D9), UINT32_C(0x0E124518), UINT32_C(0x8B313B95),
9958           UINT32_C(0xBB3BA134), UINT32_C(0x0FA2B7A9), UINT32_C(0x050DCBDF),
9959           UINT32_C(0x1D0A99B5), UINT32_C(0x50DBCF6D)}},
9960         {{UINT32_C(0x3924A1E5), UINT32_C(0x8A8B22CB), UINT32_C(0x118F9D55),
9961           UINT32_C(0x86CB4C5A), UINT32_C(0x5B339C53), UINT32_C(0xE5330ACC),
9962           UINT32_C(0x66A35A67), UINT32_C(0x6D5FDDF9)},
9963          {UINT32_C(0x6F6438A5), UINT32_C(0xC9500719), UINT32_C(0x07E5394E),
9964           UINT32_C(0x9723F2BA), UINT32_C(0x866B45A8), UINT32_C(0xA9CE2117),
9965           UINT32_C(0x045CA2CA), UINT32_C(0x1B737D8D)}},
9966         {{UINT32_C(0x6EE00E30), UINT32_C(0x6093F5A5), UINT32_C(0x5DE0A6FC),
9967           UINT32_C(0x5CAB98D4), UINT32_C(0x65DE754F), UINT32_C(0xADFB652C),
9968           UINT32_C(0x862EFD1D), UINT32_C(0x679900D1)},
9969          {UINT32_C(0xAFC5D235), UINT32_C(0x6E5C230F), UINT32_C(0x12CF6DD3),
9970           UINT32_C(0x3A1E5579), UINT32_C(0x03FB4FA0), UINT32_C(0x241C20FB),
9971           UINT32_C(0x20F6C013), UINT32_C(0x562FFAE3)}},
9972         {{UINT32_C(0x397F25EC), UINT32_C(0x6EFC732F), UINT32_C(0xBC1F03B8),
9973           UINT32_C(0x304D1F7D), UINT32_C(0x8890DADE), UINT32_C(0xA2FA6001),
9974           UINT32_C(0x51A25539), UINT32_C(0x4F91F97C)},
9975          {UINT32_C(0x48F4EF02), UINT32_C(0xE75F9C50), UINT32_C(0x218AEE9D),
9976           UINT32_C(0xCC53F460), UINT32_C(0x10D76649), UINT32_C(0xE7B40489),
9977           UINT32_C(0x42ECDBA4), UINT32_C(0x148F90A2)}},
9978         {{UINT32_C(0x1F683AD6), UINT32_C(0xBF45023A), UINT32_C(0x95E868D1),
9979           UINT32_C(0x2EA5F70C), UINT32_C(0xA97F2DE3), UINT32_C(0x47A19F33),
9980           UINT32_C(0x8A76ED9F), UINT32_C(0x3C8CCA9E)},
9981          {UINT32_C(0xE1A268D0), UINT32_C(0x01562C6E), UINT32_C(0xBA4EF01E),
9982           UINT32_C(0x9EB6EBAC), UINT32_C(0x342410FB), UINT32_C(0x835E64D4),
9983           UINT32_C(0xFFF4594D), UINT32_C(0x06F96B87)}},
9984         {{UINT32_C(0xD233612B), UINT32_C(0xE49A383A), UINT32_C(0xC9C14F64),
9985           UINT32_C(0x3CA5421F), UINT32_C(0xBB53DF81), UINT32_C(0x25192E1B),
9986           UINT32_C(0xA94C046C), UINT32_C(0x3C1451FE)},
9987          {UINT32_C(0x0423FAA8), UINT32_C(0x72B270F8), UINT32_C(0x3763888A),
9988           UINT32_C(0xFF63513D), UINT32_C(0xC1745190), UINT32_C(0xB22F2F20),
9989           UINT32_C(0x35DEA32C), UINT32_C(0x2E005A7A)}},
9990         {{UINT32_C(0x6305B2EB), UINT32_C(0x6B5A4E7A), UINT32_C(0x9CCD05D2),
9991           UINT32_C(0xF017BCA1), UINT32_C(0xD19AD8CB), UINT32_C(0xB37027C9),
9992           UINT32_C(0x0CBB36A6), UINT32_C(0x2CFCB470)},
9993          {UINT32_C(0x663F3485), UINT32_C(0x17F4FE51), UINT32_C(0x0DC3467B),
9994           UINT32_C(0x7DC20A17), UINT32_C(0x4AF63CBD), UINT32_C(0x6B56BA3F),
9995           UINT32_C(0x0D5D64AF), UINT32_C(0x4E7CF289)}},
9996     },
9997     {
9998         {{UINT32_C(0x7F59D2E9), UINT32_C(0xE2C5CD1F), UINT32_C(0x9D7FBE1E),
9999           UINT32_C(0x6B9ACEB7), UINT32_C(0xA20225B0), UINT32_C(0x84F0441D),
10000           UINT32_C(0x8B369FBC), UINT32_C(0x15875CDA)},
10001          {UINT32_C(0x0659E294), UINT32_C(0xED133277), UINT32_C(0x7AE02043),
10002           UINT32_C(0x7FAA913E), UINT32_C(0x9DCEDE14), UINT32_C(0xCA0E58DA),
10003           UINT32_C(0xCDE68547), UINT32_C(0x5F6A70FD)}},
10004         {{UINT32_C(0xE7282711), UINT32_C(0x524B790D), UINT32_C(0xBCA05694),
10005           UINT32_C(0x4B4F6246), UINT32_C(0x949AF774), UINT32_C(0x85169ECB),
10006           UINT32_C(0xCC743068), UINT32_C(0x5B168842)},
10007          {UINT32_C(0x31FB3BA3), UINT32_C(0xB8D0E9F2), UINT32_C(0x62D471C7),
10008           UINT32_C(0x56DD4BC3), UINT32_C(0xE2A34F75), UINT32_C(0xB14D689C),
10009           UINT32_C(0x02E8D2D2), UINT32_C(0x7F4E1717)}},
10010         {{UINT32_C(0xB17090B9), UINT32_C(0x8EE3491A), UINT32_C(0x6B7EDAF4),
10011           UINT32_C(0x67C07116), UINT32_C(0x4D0E6CCE), UINT32_C(0x6876E4CE),
10012           UINT32_C(0xBC5A86BE), UINT32_C(0x6D2FBB64)},
10013          {UINT32_C(0x070FA8C3), UINT32_C(0x0431C67A), UINT32_C(0x0F5D65F4),
10014           UINT32_C(0x91EFF9BE), UINT32_C(0xE07088DF), UINT32_C(0x332985E2),
10015           UINT32_C(0x676EADA8), UINT32_C(0x006D2583)}},
10016         {{UINT32_C(0x0AA747D6), UINT32_C(0xA1FBCC37), UINT32_C(0xB0DFDF3C),
10017           UINT32_C(0xADEA4A90), UINT32_C(0x401ED81B), UINT32_C(0x650162C7),
10018           UINT32_C(0xA8B15E22), UINT32_C(0x0FBC4841)},
10019          {UINT32_C(0xBF98CDAC), UINT32_C(0x1044B4E8), UINT32_C(0xECD1C668),
10020           UINT32_C(0x37071115), UINT32_C(0x233C220C), UINT32_C(0x29B93C17),
10021           UINT32_C(0xE69BC0C0), UINT32_C(0x4BEBC3CC)}},
10022         {{UINT32_C(0x46BF7E51), UINT32_C(0xD1A16E37), UINT32_C(0xF7A7370C),
10023           UINT32_C(0x889C7782), UINT32_C(0x3CCB474D), UINT32_C(0xC73F396E),
10024           UINT32_C(0xB9D67A2E), UINT32_C(0x1C508F18)},
10025          {UINT32_C(0x6B03B7E7), UINT32_C(0x3F17E967), UINT32_C(0xF857BB26),
10026           UINT32_C(0x3928F1D8), UINT32_C(0xC0EA8620), UINT32_C(0x3086FB2E),
10027           UINT32_C(0x1BE7C3E4), UINT32_C(0x15DC32C2)}},
10028         {{UINT32_C(0x11F4D949), UINT32_C(0xF48D4C32), UINT32_C(0xB0357C05),
10029           UINT32_C(0xE14A4AE3), UINT32_C(0x151D91AE), UINT32_C(0x77A1121F),
10030           UINT32_C(0xE8C6869D), UINT32_C(0x33F85C2F)},
10031          {UINT32_C(0x364B77B0), UINT32_C(0x8EA3BB4C), UINT32_C(0x9BD43E50),
10032           UINT32_C(0x1F155B91), UINT32_C(0x54748E7D), UINT32_C(0xA6C28730),
10033           UINT32_C(0xE7DDC539), UINT32_C(0x5AA34DDA)}},
10034         {{UINT32_C(0xA6CF8A82), UINT32_C(0xF0F80DDA), UINT32_C(0x091663B5),
10035           UINT32_C(0x87DE6D6C), UINT32_C(0x02FE5519), UINT32_C(0x94798734),
10036           UINT32_C(0x96722130), UINT32_C(0x109D411F)},
10037          {UINT32_C(0xE661041F), UINT32_C(0xBC47CA73), UINT32_C(0x65741541),
10038           UINT32_C(0x071D6059), UINT32_C(0x07E08735), UINT32_C(0x7CD4DF66),
10039           UINT32_C(0xE68FC807), UINT32_C(0x175E1F77)}},
10040         {{UINT32_C(0xDA58865B), UINT32_C(0xB88BDAB8), UINT32_C(0x20ED2B89),
10041           UINT32_C(0x14AD9112), UINT32_C(0x039BF0A3), UINT32_C(0x2B21AEDF),
10042           UINT32_C(0x9D4B77E9), UINT32_C(0x78971777)},
10043          {UINT32_C(0xD6612EF3), UINT32_C(0x133DA2AC), UINT32_C(0x12AD1785),
10044           UINT32_C(0x6260FCF5), UINT32_C(0x9DF08843), UINT32_C(0xDBA784DA),
10045           UINT32_C(0x4449FBD1), UINT32_C(0x1A30C4CF)}},
10046         {{UINT32_C(0x4EF7ACA2), UINT32_C(0xB6FECE87), UINT32_C(0x13F7C58C),
10047           UINT32_C(0x9CE7B61A), UINT32_C(0xF8719A60), UINT32_C(0x6B0223C9),
10048           UINT32_C(0xA3B3B088), UINT32_C(0x21199AA5)},
10049          {UINT32_C(0x6938BB02), UINT32_C(0x4A717196), UINT32_C(0xE7ABC263),
10050           UINT32_C(0x2E9A17C9), UINT32_C(0x4BAB12B7), UINT32_C(0x83F79623),
10051           UINT32_C(0x49D7CFBD), UINT32_C(0x15C0C4AF)}},
10052         {{UINT32_C(0x56D2957F), UINT32_C(0x99B34139), UINT32_C(0x07218BB6),
10053           UINT32_C(0xA51B8DFD), UINT32_C(0xFC91D7C9), UINT32_C(0x47CA4323),
10054           UINT32_C(0x3DCFD5F0), UINT32_C(0x44B01E75)},
10055          {UINT32_C(0x8CE894F3), UINT32_C(0x29F9D18E), UINT32_C(0x95227C6F),
10056           UINT32_C(0x22BCC540), UINT32_C(0x3FC75409), UINT32_C(0x815CD936),
10057           UINT32_C(0xD8989472), UINT32_C(0x0D58B325)}},
10058         {{UINT32_C(0xB6C80208), UINT32_C(0x8B4C6980), UINT32_C(0x8FB77CCD),
10059           UINT32_C(0xA5D97497), UINT32_C(0x9477132F), UINT32_C(0x1B896571),
10060           UINT32_C(0x3AE45F53), UINT32_C(0x348ABC21)},
10061          {UINT32_C(0x14BCDB96), UINT32_C(0xE438C1C3), UINT32_C(0x8007C1BF),
10062           UINT32_C(0x63150CF9), UINT32_C(0x8508B903), UINT32_C(0xDB861A33),
10063           UINT32_C(0x7B04ECD6), UINT32_C(0x421DFB01)}},
10064         {{UINT32_C(0x19430E7B), UINT32_C(0xF2FCE58B), UINT32_C(0xD0F8ECB7),
10065           UINT32_C(0x851A5F03), UINT32_C(0x0A5A1833), UINT32_C(0xE756C167),
10066           UINT32_C(0x227F866C), UINT32_C(0x25A51405)},
10067          {UINT32_C(0x3C6EE5F3), UINT32_C(0x40F34CB0), UINT32_C(0xF244B5CF),
10068           UINT32_C(0xF4010401), UINT32_C(0x01349BCF), UINT32_C(0x0E21BDED),
10069           UINT32_C(0x04547F42), UINT32_C(0x1B129D82)}},
10070         {{UINT32_C(0x0927D153), UINT32_C(0x802EC480), UINT32_C(0x72541520),
10071           UINT32_C(0x0F75E4FE), UINT32_C(0x026C4613), UINT32_C(0xA4A1557A),
10072           UINT32_C(0x7D92BC18), UINT32_C(0x25E8DAFB)},
10073          {UINT32_C(0x12F15F05), UINT32_C(0x1D87A143), UINT32_C(0x7B6B4240),
10074           UINT32_C(0x79390E3C), UINT32_C(0x492E6273), UINT32_C(0xFC199D76),
10075           UINT32_C(0x7EB090C0), UINT32_C(0x0053F1C4)}},
10076         {{UINT32_C(0xACEE6DFC), UINT32_C(0xE790F1CA), UINT32_C(0xDFEA04FF),
10077           UINT32_C(0xC8FB4626), UINT32_C(0x627D88D7), UINT32_C(0xBF03627F),
10078           UINT32_C(0x3D81A75A), UINT32_C(0x1B369884)},
10079          {UINT32_C(0x917FA19D), UINT32_C(0x83405DDA), UINT32_C(0x8C7DDCD2),
10080           UINT32_C(0xFFB23FF9), UINT32_C(0x40F10B48), UINT32_C(0x644F54C7),
10081           UINT32_C(0x17FF713A), UINT32_C(0x4636FADF)}},
10082         {{UINT32_C(0x27F417E4), UINT32_C(0xDA62ECC2), UINT32_C(0xFD8662BE),
10083           UINT32_C(0xC0DBE48F), UINT32_C(0x1011E73C), UINT32_C(0x729EE4AA),
10084           UINT32_C(0x3E11C84B), UINT32_C(0x4BAE5D3C)},
10085          {UINT32_C(0x6CEF6CDA), UINT32_C(0x854DFFF8), UINT32_C(0xCB7131EA),
10086           UINT32_C(0x7939228C), UINT32_C(0xD3EBC607), UINT32_C(0x58B3744A),
10087           UINT32_C(0x2049E239), UINT32_C(0x6EB9248F)}},
10088         {{UINT32_C(0xED0D4E57), UINT32_C(0x0265CAE9), UINT32_C(0x8AA65AEF),
10089           UINT32_C(0x92166D02), UINT32_C(0x198345D6), UINT32_C(0x2E337CDA),
10090           UINT32_C(0xABE1AD7B), UINT32_C(0x6775330C)},
10091          {UINT32_C(0xBF6FBC7D), UINT32_C(0xA9A828A8), UINT32_C(0xCBFEA393),
10092           UINT32_C(0x33A56F8D), UINT32_C(0xD811EC51), UINT32_C(0x2DB72F77),
10093           UINT32_C(0x8327C78E), UINT32_C(0x3DDFCD26)}},
10094     },
10095     {
10096         {{UINT32_C(0xB46AA2C4), UINT32_C(0x7CF8A521), UINT32_C(0xACF0D567),
10097           UINT32_C(0xE3B20937), UINT32_C(0xA440648E), UINT32_C(0xD47D8D1B),
10098           UINT32_C(0x1E9791A1), UINT32_C(0x674E7920)},
10099          {UINT32_C(0x18366462), UINT32_C(0x27B714EB), UINT32_C(0x8476F588),
10100           UINT32_C(0x1526E558), UINT32_C(0x6C240D70), UINT32_C(0x72C8D374),
10101           UINT32_C(0x805C1265), UINT32_C(0x066BBAFB)}},
10102         {{UINT32_C(0x457034E1), UINT32_C(0x15F1CFF5), UINT32_C(0xDD819FA7),
10103           UINT32_C(0xCF7C6550), UINT32_C(0x77AC7AD6), UINT32_C(0x57C2CD53),
10104           UINT32_C(0xAFED669D), UINT32_C(0x7DB2A8BE)},
10105          {UINT32_C(0xD4697340), UINT32_C(0x2DAFD95F), UINT32_C(0x15A6B6E7),
10106           UINT32_C(0x382FF892), UINT32_C(0xBF4A6B1B), UINT32_C(0x036FC753),
10107           UINT32_C(0xE4012711), UINT32_C(0x3E7AC46D)}},
10108         {{UINT32_C(0x5752A34D), UINT32_C(0xBA5ECDED), UINT32_C(0x6BAA08DD),
10109           UINT32_C(0xB08749D4), UINT32_C(0x4A4A47A8), UINT32_C(0x8A2B9897),
10110           UINT32_C(0xE42DCE02), UINT32_C(0x7230966F)},
10111          {UINT32_C(0x58654FF5), UINT32_C(0xA6FF614A), UINT32_C(0xAB3C2A7E),
10112           UINT32_C(0x7F3531D1), UINT32_C(0x0D0ED417), UINT32_C(0x0282A2F0),
10113           UINT32_C(0xEA9755A3), UINT32_C(0x2DC7B872)}},
10114         {{UINT32_C(0x2392536A), UINT32_C(0x7678D765), UINT32_C(0x574C657D),
10115           UINT32_C(0x0C2025F1), UINT32_C(0x795413DC), UINT32_C(0x01701C80),
10116           UINT32_C(0x5396279E), UINT32_C(0x63F0D496)},
10117          {UINT32_C(0xFA32EA64), UINT32_C(0xB0F9968A), UINT32_C(0x5BB393DE),
10118           UINT32_C(0x81265D15), UINT32_C(0x0BCD8C10), UINT32_C(0xC05ECC6D),
10119           UINT32_C(0x2824457E), UINT32_C(0x4F3769F9)}},
10120         {{UINT32_C(0xF13DB92E), UINT32_C(0x9AA58686), UINT32_C(0xED2E1B18),
10121           UINT32_C(0x1155CDF4), UINT32_C(0x09823F5A), UINT32_C(0xA06E9194),
10122           UINT32_C(0x4257AB0E), UINT32_C(0x7F1BBE73)},
10123          {UINT32_C(0xABA6FCD1), UINT32_C(0x2DFB6472), UINT32_C(0xD73D850E),
10124           UINT32_C(0x04BE6BCA), UINT32_C(0x297D312B), UINT32_C(0x72AAEC34),
10125           UINT32_C(0x7509D9F5), UINT32_C(0x31F4C02C)}},
10126         {{UINT32_C(0x7CA72AD5), UINT32_C(0xAA9BA000), UINT32_C(0x7FBCB4D6),
10127           UINT32_C(0x21EE2945), UINT32_C(0x1CF8580A), UINT32_C(0x0E210AAB),
10128           UINT32_C(0x0FA8DE10), UINT32_C(0x600479FE)},
10129          {UINT32_C(0x54322F70), UINT32_C(0x246FD265), UINT32_C(0x60DF1893),
10130           UINT32_C(0xC60BE9BB), UINT32_C(0x05137E38), UINT32_C(0x04D4F99D),
10131           UINT32_C(0x6164C176), UINT32_C(0x6ACB9E01)}},
10132         {{UINT32_C(0xC1DB7B6C), UINT32_C(0x126F2C7E), UINT32_C(0xCF4DD3C0),
10133           UINT32_C(0x4C3B30B5), UINT32_C(0xF782A489), UINT32_C(0x827D57A2),
10134           UINT32_C(0xE52621F0), UINT32_C(0x41B897DE)},
10135          {UINT32_C(0xDDA0A3CD), UINT32_C(0xED31C55A), UINT32_C(0xA11AD179),
10136           UINT32_C(0x21C91BB2), UINT32_C(0x43FD6E23), UINT32_C(0x60E606B8),
10137           UINT32_C(0x51ED7FA6), UINT32_C(0x31B8138D)}},
10138         {{UINT32_C(0xE72E4BC5), UINT32_C(0x1387B313), UINT32_C(0x82EBFC72),
10139           UINT32_C(0xDCCCB09C), UINT32_C(0xAA4432D6), UINT32_C(0xF0B01202),
10140           UINT32_C(0x7C52B69D), UINT32_C(0x632599C4)},
10141          {UINT32_C(0xBCE9A04C), UINT32_C(0x3922D0C0), UINT32_C(0xB53F4268),
10142           UINT32_C(0xC2397D88), UINT32_C(0x00669858), UINT32_C(0x50AE5ED9),
10143           UINT32_C(0x16C7696B), UINT32_C(0x1B2BD4C2)}},
10144         {{UINT32_C(0x2BF7DF06), UINT32_C(0x6FAE1B08), UINT32_C(0x5210DB3B),
10145           UINT32_C(0x870B3FE8), UINT32_C(0x9BDC0B91), UINT32_C(0x680BE422),
10146           UINT32_C(0xBCC970AD), UINT32_C(0x56BA83C6)},
10147          {UINT32_C(0x859D6C78), UINT32_C(0x1AE91BAC), UINT32_C(0x2895A1A6),
10148           UINT32_C(0xC5BDD5FB), UINT32_C(0x550610F5), UINT32_C(0xA169E73C),
10149           UINT32_C(0x0CC7D3EA), UINT32_C(0x01B46767)}},
10150         {{UINT32_C(0x0EC5ECE2), UINT32_C(0x1E147A51), UINT32_C(0xD0E2C46C),
10151           UINT32_C(0x9B612A1F), UINT32_C(0x5E293783), UINT32_C(0x664FDD55),
10152           UINT32_C(0x67DC4DBC), UINT32_C(0x52070E15)},
10153          {UINT32_C(0x4A4903FB), UINT32_C(0x449B53E5), UINT32_C(0xA8D30103),
10154           UINT32_C(0x79B53583), UINT32_C(0xAF7CC314), UINT32_C(0x616C97F3),
10155           UINT32_C(0x2849862C), UINT32_C(0x6BEB304C)}},
10156         {{UINT32_C(0x019F0313), UINT32_C(0xB9C636D6), UINT32_C(0xD3E0188D),
10157           UINT32_C(0x0B08E7CB), UINT32_C(0xD704DE15), UINT32_C(0xEAEB1715),
10158           UINT32_C(0x837E7543), UINT32_C(0x4990282C)},
10159          {UINT32_C(0xFBD3A061), UINT32_C(0xCBB0BD49), UINT32_C(0x1DA124AE),
10160           UINT32_C(0x3454A8AC), UINT32_C(0x37D64EAB), UINT32_C(0x0D524A02),
10161           UINT32_C(0x0B3E4ADE), UINT32_C(0x76680749)}},
10162         {{UINT32_C(0x95B04835), UINT32_C(0xC293E011), UINT32_C(0x23D0C885),
10163           UINT32_C(0x76D304BA), UINT32_C(0xD6552D80), UINT32_C(0x36A63627),
10164           UINT32_C(0xC504CCAB), UINT32_C(0x3B4FA680)},
10165          {UINT32_C(0xE1FC08DF), UINT32_C(0xF25B3A04), UINT32_C(0x62D080F8),
10166           UINT32_C(0x786380E5), UINT32_C(0xDAC0D110), UINT32_C(0x0A731427),
10167           UINT32_C(0xD628429A), UINT32_C(0x1D65288F)}},
10168         {{UINT32_C(0xDC94453E), UINT32_C(0x3CE5E929), UINT32_C(0xB6073324),
10169           UINT32_C(0xEC7CF988), UINT32_C(0xDCB35234), UINT32_C(0x023361E7),
10170           UINT32_C(0xF5E89B7C), UINT32_C(0x3AF20624)},
10171          {UINT32_C(0xA5B2B103), UINT32_C(0x860F188E), UINT32_C(0xCB6D112F),
10172           UINT32_C(0x5EAC84CE), UINT32_C(0x914C9FFD), UINT32_C(0x63B200C3),
10173           UINT32_C(0x55A1FDCB), UINT32_C(0x327870A0)}},
10174         {{UINT32_C(0x155280ED), UINT32_C(0x4F94633C), UINT32_C(0x3654B8AA),
10175           UINT32_C(0xF98321D5), UINT32_C(0x489AE89A), UINT32_C(0x9C057A23),
10176           UINT32_C(0xD59CA3B5), UINT32_C(0x1124A1FB)},
10177          {UINT32_C(0x1F64AFD7), UINT32_C(0x2F4CE052), UINT32_C(0x7C789152),
10178           UINT32_C(0x841EE441), UINT32_C(0x59A98374), UINT32_C(0x93531ED4),
10179           UINT32_C(0x36BB8F07), UINT32_C(0x69A4F48C)}},
10180         {{UINT32_C(0x5FD512A7), UINT32_C(0xD8FFD243), UINT32_C(0x9BEA1738),
10181           UINT32_C(0xF48C96F1), UINT32_C(0x0FFB4553), UINT32_C(0xF70E1F6A),
10182           UINT32_C(0x5FF91D21), UINT32_C(0x29DB63B1)},
10183          {UINT32_C(0x77BF7279), UINT32_C(0xC1355C23), UINT32_C(0xA2FC904D),
10184           UINT32_C(0xD3946EE9), UINT32_C(0xE7B7A9F4), UINT32_C(0x07223881),
10185           UINT32_C(0x56E08ED6), UINT32_C(0x212D8967)}},
10186         {{UINT32_C(0x45503451), UINT32_C(0x32B8C22A), UINT32_C(0xE6AB7B3D),
10187           UINT32_C(0x9E4FDAF1), UINT32_C(0x04A31294), UINT32_C(0x7A300E3D),
10188           UINT32_C(0x05FE2AEB), UINT32_C(0x0F529DFD)},
10189          {UINT32_C(0x9951B6FB), UINT32_C(0x7EFFEA9E), UINT32_C(0x336B9A2B),
10190           UINT32_C(0x18C60266), UINT32_C(0x6C8D0EEC), UINT32_C(0xB78A5EE1),
10191           UINT32_C(0x46ED0B23), UINT32_C(0x68C17FE4)}},
10192     },
10193     {
10194         {{UINT32_C(0x96B3222E), UINT32_C(0xF707FAD5), UINT32_C(0x0223F804),
10195           UINT32_C(0xD6AF6161), UINT32_C(0x4F43A0E9), UINT32_C(0x13FFDC74),
10196           UINT32_C(0x3347F487), UINT32_C(0x6A3B70E9)},
10197          {UINT32_C(0x6A4AF4F5), UINT32_C(0xBDDF02A4), UINT32_C(0xE4C69950),
10198           UINT32_C(0x61B451E1), UINT32_C(0xF9E3BB99), UINT32_C(0xFF854590),
10199           UINT32_C(0x7CD54C54), UINT32_C(0x46EB1F69)}},
10200         {{UINT32_C(0x8E6848D3), UINT32_C(0x70E643B6), UINT32_C(0x848C2587),
10201           UINT32_C(0xC58B8519), UINT32_C(0xEDF4A38E), UINT32_C(0x2F195C54),
10202           UINT32_C(0x3D2A52E8), UINT32_C(0x206E6A32)},
10203          {UINT32_C(0x417595BF), UINT32_C(0x234845B5), UINT32_C(0xFF5AE3CB),
10204           UINT32_C(0x90354373), UINT32_C(0x89C0E555), UINT32_C(0x13BE31CE),
10205           UINT32_C(0xCC67E26F), UINT32_C(0x2D18AA43)}},
10206         {{UINT32_C(0xF041BD17), UINT32_C(0xC74EE8C4), UINT32_C(0xC2B3CC64),
10207           UINT32_C(0x655CF527), UINT32_C(0x160FF053), UINT32_C(0x6735CF0A),
10208           UINT32_C(0x04218A0D), UINT32_C(0x35DAB9EB)},
10209          {UINT32_C(0xCBC34E46), UINT32_C(0x32BB2E9A), UINT32_C(0x7D190342),
10210           UINT32_C(0xF780CEAF), UINT32_C(0x9F0DA1A4), UINT32_C(0x161C0C1A),
10211           UINT32_C(0xE7642FD6), UINT32_C(0x7B198C9E)}},
10212         {{UINT32_C(0x122FD0B4), UINT32_C(0x936C763E), UINT32_C(0xA7E0C435),
10213           UINT32_C(0xA3819ED9), UINT32_C(0xCAAE6D7B), UINT32_C(0x86228B04),
10214           UINT32_C(0x7A3C65B4), UINT32_C(0x2E116018)},
10215          {UINT32_C(0xD4EB0345), UINT32_C(0xF55BB1F3), UINT32_C(0x0630B569),
10216           UINT32_C(0x858A0BF4), UINT32_C(0xCB78A626), UINT32_C(0x8CC22657),
10217           UINT32_C(0xB45E3005), UINT32_C(0x7CD93BDE)}},
10218         {{UINT32_C(0x98E517AB), UINT32_C(0xCAA1F459), UINT32_C(0xB34A6F5C),
10219           UINT32_C(0x36E60281), UINT32_C(0x0B46F47F), UINT32_C(0x877A49F3),
10220           UINT32_C(0x9E7BE761), UINT32_C(0x0179824B)},
10221          {UINT32_C(0xD455D9C0), UINT32_C(0x6830A2B2), UINT32_C(0x7BA31962),
10222           UINT32_C(0xB734BA0A), UINT32_C(0x065C3B51), UINT32_C(0x344665A4),
10223           UINT32_C(0x562E7F1D), UINT32_C(0x0B1D2210)}},
10224         {{UINT32_C(0x0B2E22E8), UINT32_C(0x289BAFCA), UINT32_C(0x83390107),
10225           UINT32_C(0x038929A0), UINT32_C(0x0683E782), UINT32_C(0x968A014D),
10226           UINT32_C(0x53D34463), UINT32_C(0x5A1AD5C8)},
10227          {UINT32_C(0x9527B2CA), UINT32_C(0xA2613334), UINT32_C(0x310B745F),
10228           UINT32_C(0xE8471271), UINT32_C(0x31387F59), UINT32_C(0x49C81A26),
10229           UINT32_C(0x0343C691), UINT32_C(0x1B955AF7)}},
10230         {{UINT32_C(0xA4A9FCA4), UINT32_C(0x069328AD), UINT32_C(0x624FCB94),
10231           UINT32_C(0x14EF09A7), UINT32_C(0xE3E0CECD), UINT32_C(0x21C76F0D),
10232           UINT32_C(0x6C1BCE0F), UINT32_C(0x5F470B86)},
10233          {UINT32_C(0xB15BC8B4), UINT32_C(0x79319A3F), UINT32_C(0xDB06AFA1),
10234           UINT32_C(0xB1407CB1), UINT32_C(0x911116E0), UINT32_C(0xD69E9E09),
10235           UINT32_C(0x0756579E), UINT32_C(0x6E77524E)}},
10236         {{UINT32_C(0xE2D851D5), UINT32_C(0xD3EC5EBC), UINT32_C(0x03B63143),
10237           UINT32_C(0xC888BC23), UINT32_C(0xDB0C357F), UINT32_C(0x5F3DE41E),
10238           UINT32_C(0xC3D47D37), UINT32_C(0x646FFBD3)},
10239          {UINT32_C(0x0692639B), UINT32_C(0xE53F8BEB), UINT32_C(0xD4FBC3D4),
10240           UINT32_C(0x7E194E37), UINT32_C(0x452B2A2E), UINT32_C(0xE1988A22),
10241           UINT32_C(0xB013F9E1), UINT32_C(0x5D359A15)}},
10242         {{UINT32_C(0xB2A6627D), UINT32_C(0xA48160A7), UINT32_C(0x3CE8789E),
10243           UINT32_C(0x5EFDC848), UINT32_C(0xB1CD14EE), UINT32_C(0x264CBFF1),
10244           UINT32_C(0x44D84222), UINT32_C(0x288823D4)},
10245          {UINT32_C(0x3A6DB1F8), UINT32_C(0x2F091B23), UINT32_C(0xCEA89B44),
10246           UINT32_C(0xBFD737B5), UINT32_C(0x17F5E969), UINT32_C(0x682AB86C),
10247           UINT32_C(0xABB0FA87), UINT32_C(0x7653005C)}},
10248         {{UINT32_C(0xD4B8A43A), UINT32_C(0x619C2629), UINT32_C(0xB6DAF943),
10249           UINT32_C(0xBFDAF433), UINT32_C(0x6D640DB8), UINT32_C(0xDC7AA1EE),
10250           UINT32_C(0x3B08D55C), UINT32_C(0x35ADEEA8)},
10251          {UINT32_C(0xD7AF5382), UINT32_C(0x30935454), UINT32_C(0x3D68A24A),
10252           UINT32_C(0x1F9C51A1), UINT32_C(0x78BDBEA9), UINT32_C(0xDBD13CFC),
10253           UINT32_C(0x31210A3F), UINT32_C(0x003B6D99)}},
10254         {{UINT32_C(0x9C2B515D), UINT32_C(0xD4547A32), UINT32_C(0xFECDAAA9),
10255           UINT32_C(0x4AF29AA8), UINT32_C(0xE401D5AD), UINT32_C(0x85C80ECD),
10256           UINT32_C(0x8AA315A1), UINT32_C(0x2830332D)},
10257          {UINT32_C(0x71DCE198), UINT32_C(0x56758823), UINT32_C(0x6ACBDEE3),
10258           UINT32_C(0x55AC9D10), UINT32_C(0x575CF4BB), UINT32_C(0xF6D468CF),
10259           UINT32_C(0x576B5C4A), UINT32_C(0x46E4FA98)}},
10260         {{UINT32_C(0x20D859EF), UINT32_C(0xAD20F820), UINT32_C(0x2A5462B0),
10261           UINT32_C(0x38091588), UINT32_C(0x2135DA7D), UINT32_C(0x35F45C9F),
10262           UINT32_C(0xF7F20DBD), UINT32_C(0x6B426F91)},
10263          {UINT32_C(0xF96E77D2), UINT32_C(0x4A0D8CBE), UINT32_C(0xCC51D3F4),
10264           UINT32_C(0x8FC36F5B), UINT32_C(0xBE16A0A8), UINT32_C(0x7A1870DD),
10265           UINT32_C(0x114DB780), UINT32_C(0x29C3E2B3)}},
10266         {{UINT32_C(0x21779E6E), UINT32_C(0xFF692A4C), UINT32_C(0xA6026EC1),
10267           UINT32_C(0x698231AB), UINT32_C(0xEF03E21B), UINT32_C(0xDAB0D835),
10268           UINT32_C(0xC846D56F), UINT32_C(0x770BFFAC)},
10269          {UINT32_C(0x3B8B0747), UINT32_C(0xCD28722D), UINT32_C(0x32AE95E5),
10270           UINT32_C(0x3DEFE040), UINT32_C(0x0F9857D6), UINT32_C(0x6F5D816A),
10271           UINT32_C(0xFC630F5E), UINT32_C(0x2E483FED)}},
10272         {{UINT32_C(0x967C7140), UINT32_C(0xDBF82EC4), UINT32_C(0x0D20A2A5),
10273           UINT32_C(0x6265CAD1), UINT32_C(0x5862DEFE), UINT32_C(0x1509652B),
10274           UINT32_C(0x94A284E5), UINT32_C(0x699DD939)},
10275          {UINT32_C(0x0B2CC732), UINT32_C(0xC0116646), UINT32_C(0x94C3EF86),
10276           UINT32_C(0x583FE012), UINT32_C(0xCD353430), UINT32_C(0xCD5DAEA8),
10277           UINT32_C(0xC7ADA62B), UINT32_C(0x2B39A746)}},
10278         {{UINT32_C(0xE4257BBC), UINT32_C(0xF449B989), UINT32_C(0xA90DCCE6),
10279           UINT32_C(0x95BA21BA), UINT32_C(0x93CA4ACD), UINT32_C(0xDD53AD5C),
10280           UINT32_C(0x0BB4213B), UINT32_C(0x7FCF2738)},
10281          {UINT32_C(0xC2E7E54E), UINT32_C(0x0E57C1C0), UINT32_C(0xA1A0E975),
10282           UINT32_C(0xD1769DAE), UINT32_C(0xC3B6E13B), UINT32_C(0x68F62C4E),
10283           UINT32_C(0x781242D8), UINT32_C(0x75152F9A)}},
10284         {{UINT32_C(0x24B8B820), UINT32_C(0x4D582768), UINT32_C(0x5BBD9F84),
10285           UINT32_C(0x36E37AC4), UINT32_C(0xDA076F12), UINT32_C(0x1F34414A),
10286           UINT32_C(0x3E0333C6), UINT32_C(0x08A77C28)},
10287          {UINT32_C(0xD9193382), UINT32_C(0xBB1F017D), UINT32_C(0x83A5612D),
10288           UINT32_C(0x56E9AA24), UINT32_C(0xD0B4554F), UINT32_C(0x6959B02B),
10289           UINT32_C(0xE4559B52), UINT32_C(0x2479BC56)}},
10290     },
10291     {
10292         {{UINT32_C(0x0F570A8E), UINT32_C(0x96D631C6), UINT32_C(0xD714B807),
10293           UINT32_C(0xE3F566A3), UINT32_C(0xEF7E1550), UINT32_C(0x564DD512),
10294           UINT32_C(0x79FA2F58), UINT32_C(0x1C5CF24A)},
10295          {UINT32_C(0x897958DB), UINT32_C(0x973BA599), UINT32_C(0x11A9CBB1),
10296           UINT32_C(0x93951D17), UINT32_C(0xA37A969A), UINT32_C(0x86BA17F6),
10297           UINT32_C(0xA069B195), UINT32_C(0x4807CAC7)}},
10298         {{UINT32_C(0x6665B35E), UINT32_C(0xB64AC0D4), UINT32_C(0x7EF72C68),
10299           UINT32_C(0xBA9CD394), UINT32_C(0x9C4CBC44), UINT32_C(0x838807B2),
10300           UINT32_C(0x82770197), UINT32_C(0x2675D268)},
10301          {UINT32_C(0x17087FA9), UINT32_C(0xBFC2F137), UINT32_C(0xE7B79B31),
10302           UINT32_C(0x811E644B), UINT32_C(0xC963A061), UINT32_C(0x597CE23F),
10303           UINT32_C(0x2EA0DEB0), UINT32_C(0x40BC32E4)}},
10304         {{UINT32_C(0x27C85959), UINT32_C(0xC0AEFB50), UINT32_C(0x058E0FDD),
10305           UINT32_C(0x76D1087E), UINT32_C(0x7E51A6F8), UINT32_C(0x6ADA5AAF),
10306           UINT32_C(0x054A058D), UINT32_C(0x424B16E0)},
10307          {UINT32_C(0x63AF9766), UINT32_C(0x9A2C20A9), UINT32_C(0x3CF18DAB),
10308           UINT32_C(0x4C1CB532), UINT32_C(0x6C5D6A00), UINT32_C(0x599CD929),
10309           UINT32_C(0x8AA311BF), UINT32_C(0x57C39BAE)}},
10310         {{UINT32_C(0xCD987F02), UINT32_C(0x3FDF5B46), UINT32_C(0x353175C4),
10311           UINT32_C(0x57755078), UINT32_C(0xCD578394), UINT32_C(0x80223EC0),
10312           UINT32_C(0xAEB7D278), UINT32_C(0x04BBA6AC)},
10313          {UINT32_C(0x8688BFB2), UINT32_C(0xD27FD2BE), UINT32_C(0xC27A62E5),
10314           UINT32_C(0xB2F80278), UINT32_C(0x339429D8), UINT32_C(0x8BA6FB07),
10315           UINT32_C(0x3AB70AA0), UINT32_C(0x57737FF6)}},
10316         {{UINT32_C(0x8EAEB3C9), UINT32_C(0x0140E47F), UINT32_C(0x735AC8EA),
10317           UINT32_C(0xB91C9798), UINT32_C(0x83D4EFAA), UINT32_C(0x325E0312),
10318           UINT32_C(0xD9C5888E), UINT32_C(0x1E7DA3BE)},
10319          {UINT32_C(0xF7F1EB13), UINT32_C(0xA210CDA6), UINT32_C(0x936EA9E9),
10320           UINT32_C(0xEDC1F6B3), UINT32_C(0x1B097F65), UINT32_C(0x46E831C4),
10321           UINT32_C(0x1939A0AE), UINT32_C(0x00857601)}},
10322         {{UINT32_C(0x1F68BB40), UINT32_C(0x7C26F711), UINT32_C(0x39DDBE6D),
10323           UINT32_C(0xEA69C845), UINT32_C(0xE5316F22), UINT32_C(0x590BF426),
10324           UINT32_C(0xCC2DF9C9), UINT32_C(0x40CDC921)},
10325          {UINT32_C(0xF3F991C6), UINT32_C(0x28A32DDE), UINT32_C(0x5356CA78),
10326           UINT32_C(0xD75B59E6), UINT32_C(0xD1F5F318), UINT32_C(0xB5DD3861),
10327           UINT32_C(0xE7929834), UINT32_C(0x09EB1A2D)}},
10328         {{UINT32_C(0xDBC0370D), UINT32_C(0x701F9A2D), UINT32_C(0x2870B59D),
10329           UINT32_C(0x559D0FAF), UINT32_C(0x55367B5D), UINT32_C(0xE89E5DF0),
10330           UINT32_C(0x74005A58), UINT32_C(0x22BBD4FC)},
10331          {UINT32_C(0x99CDC76B), UINT32_C(0x7ACED1E4), UINT32_C(0xE3C219D3),
10332           UINT32_C(0xD41C827C), UINT32_C(0x8221D91F), UINT32_C(0x5AF3F2AE),
10333           UINT32_C(0xE5B6BC98), UINT32_C(0x6D62C990)}},
10334         {{UINT32_C(0x7FFC9D0F), UINT32_C(0x23B2A0BF), UINT32_C(0x974CA299),
10335           UINT32_C(0xED98F71D), UINT32_C(0x151D559B), UINT32_C(0x10F8C07A),
10336           UINT32_C(0x8E949C62), UINT32_C(0x40E46FC3)},
10337          {UINT32_C(0xBBE55338), UINT32_C(0x0CF53E34), UINT32_C(0x115520D4),
10338           UINT32_C(0xF2D6CF26), UINT32_C(0x590B4E23), UINT32_C(0x915FF09A),
10339           UINT32_C(0xBEDC75F2), UINT32_C(0x072E4233)}},
10340         {{UINT32_C(0x997E9BFA), UINT32_C(0xB67A6B60), UINT32_C(0x973BC3E7),
10341           UINT32_C(0xE7686AC9), UINT32_C(0x0B228320), UINT32_C(0x9525B449),
10342           UINT32_C(0x7ADE8F19), UINT32_C(0x6C727583)},
10343          {UINT32_C(0x062FF3D5), UINT32_C(0x3D064298), UINT32_C(0x07E22768),
10344           UINT32_C(0x5483826C), UINT32_C(0x1F7A64A4), UINT32_C(0xF4ADE921),
10345           UINT32_C(0xBD92EB25), UINT32_C(0x70BDDCF7)}},
10346         {{UINT32_C(0x5D8A9E36), UINT32_C(0xA8DB3611), UINT32_C(0xFA81065A),
10347           UINT32_C(0xAA6A5F33), UINT32_C(0x366DDA90), UINT32_C(0x8EC120A3),
10348           UINT32_C(0xD8A15CF7), UINT32_C(0x2AA0AB25)},
10349          {UINT32_C(0xA0DFFB9C), UINT32_C(0x5E11E169), UINT32_C(0x118408A7),
10350           UINT32_C(0x8C7572E9), UINT32_C(0x35833ADF), UINT32_C(0x4EEFD13E),
10351           UINT32_C(0xFC2C1811), UINT32_C(0x2C6732E8)}},
10352         {{UINT32_C(0xB1537DF6), UINT32_C(0x15D063F9), UINT32_C(0x0414FCFD),
10353           UINT32_C(0x864176B3), UINT32_C(0x8FF9E32E), UINT32_C(0x9C0A194C),
10354           UINT32_C(0xDDE1540B), UINT32_C(0x4DB14C6F)},
10355          {UINT32_C(0x31F6493F), UINT32_C(0xFAA4AED4), UINT32_C(0xD3C41A46),
10356           UINT32_C(0x2C479F1D), UINT32_C(0x8E5E85A2), UINT32_C(0xC3119667),
10357           UINT32_C(0x84E9A76C), UINT32_C(0x7E567C80)}},
10358         {{UINT32_C(0x689A6B95), UINT32_C(0xB9E2C92A), UINT32_C(0x3B635B01),
10359           UINT32_C(0xCCEAC383), UINT32_C(0x34AAB952), UINT32_C(0x04FEA465),
10360           UINT32_C(0x63B5CF63), UINT32_C(0x772E5027)},
10361          {UINT32_C(0x25830581), UINT32_C(0xCB94F5D2), UINT32_C(0xC77FB7DE),
10362           UINT32_C(0x791004AF), UINT32_C(0x5140E4AE), UINT32_C(0x53273C33),
10363           UINT32_C(0xA524419F), UINT32_C(0x0C2D329E)}},
10364         {{UINT32_C(0xB307B0E4), UINT32_C(0xB7CEDA36), UINT32_C(0x0F8F9667),
10365           UINT32_C(0x12DF7FD0), UINT32_C(0xBF62BD94), UINT32_C(0x74274002),
10366           UINT32_C(0xC436C319), UINT32_C(0x6765C73D)},
10367          {UINT32_C(0xF6EEC946), UINT32_C(0x79B64CE5), UINT32_C(0xDAB258B6),
10368           UINT32_C(0x3B1B4B43), UINT32_C(0xEE1F8B84), UINT32_C(0x377819A3),
10369           UINT32_C(0x76D0EB1F), UINT32_C(0x1F45F1D6)}},
10370         {{UINT32_C(0x58C953AD), UINT32_C(0xCC5BF9B3), UINT32_C(0x7BAD1D2C),
10371           UINT32_C(0x8303250F), UINT32_C(0xF164972B), UINT32_C(0xBCA7BC36),
10372           UINT32_C(0xB1DFDA64), UINT32_C(0x2CACF8A9)},
10373          {UINT32_C(0xD4E2A06F), UINT32_C(0xB03A59B9), UINT32_C(0x1B7FB8FD),
10374           UINT32_C(0xFED68E68), UINT32_C(0x7E747AE6), UINT32_C(0x08F75A52),
10375           UINT32_C(0x37A4420B), UINT32_C(0x3299EA6B)}},
10376         {{UINT32_C(0x932E5BA6), UINT32_C(0x49A00BE6), UINT32_C(0x56114C4B),
10377           UINT32_C(0x49212505), UINT32_C(0x376183C7), UINT32_C(0x786B7D31),
10378           UINT32_C(0xDD8A5EAF), UINT32_C(0x01F9E229)},
10379          {UINT32_C(0x53094AD4), UINT32_C(0xE9B8E990), UINT32_C(0xBFAEDFA8),
10380           UINT32_C(0x2EDA305C), UINT32_C(0x7F9E3BC8), UINT32_C(0x34443726),
10381           UINT32_C(0x6B55B3C3), UINT32_C(0x1729519C)}},
10382         {{UINT32_C(0x50A597D6), UINT32_C(0xEA5A68C0), UINT32_C(0xF1E86D1B),
10383           UINT32_C(0xA65147D4), UINT32_C(0x8B47CDEB), UINT32_C(0x554FA36B),
10384           UINT32_C(0x9F24FFED), UINT32_C(0x7F38364B)},
10385          {UINT32_C(0x1D2A8E2B), UINT32_C(0x657C7E05), UINT32_C(0xE3F64D62),
10386           UINT32_C(0x8270F1A7), UINT32_C(0x953AF5A2), UINT32_C(0xFD258B59),
10387           UINT32_C(0x43510AA3), UINT32_C(0x6DE01141)}},
10388     },
10389     {
10390         {{UINT32_C(0x0D7A5CBE), UINT32_C(0x48390428), UINT32_C(0xDE441E5E),
10391           UINT32_C(0xD37E8C1F), UINT32_C(0x0DE31C8C), UINT32_C(0x908C88B8),
10392           UINT32_C(0x0ACD87CE), UINT32_C(0x7C0E24BB)},
10393          {UINT32_C(0x25ECCCE8), UINT32_C(0x4A781177), UINT32_C(0xCBDA746F),
10394           UINT32_C(0xC06C2F7A), UINT32_C(0xAB565DD4), UINT32_C(0xDB9E9A08),
10395           UINT32_C(0xBE776F5B), UINT32_C(0x1E9B44C0)}},
10396         {{UINT32_C(0x85B54ABC), UINT32_C(0x7CFD4E50), UINT32_C(0xE7A44F8B),
10397           UINT32_C(0x41A4A4DC), UINT32_C(0xA4422576), UINT32_C(0x751C5052),
10398           UINT32_C(0xD56B6CB1), UINT32_C(0x534FE0B2)},
10399          {UINT32_C(0xD5D767D0), UINT32_C(0x22DAA5CD), UINT32_C(0x0AF8E22C),
10400           UINT32_C(0x9C1999AB), UINT32_C(0x99259068), UINT32_C(0xC70C0932),
10401           UINT32_C(0xFD0839F0), UINT32_C(0x459D212E)}},
10402         {{UINT32_C(0xFD32D79B), UINT32_C(0xA207E7DE), UINT32_C(0x410B479F),
10403           UINT32_C(0xA7B54991), UINT32_C(0xD68E5CDC), UINT32_C(0x806912B6),
10404           UINT32_C(0x92AB8B64), UINT32_C(0x1CB7B68C)},
10405          {UINT32_C(0xDF98339F), UINT32_C(0x3DB85378), UINT32_C(0x83EA7A18),
10406           UINT32_C(0xA24101DC), UINT32_C(0xE25522C5), UINT32_C(0x8892367C),
10407           UINT32_C(0x7753A2C3), UINT32_C(0x491A8BB3)}},
10408         {{UINT32_C(0x8C7875A7), UINT32_C(0x571C547E), UINT32_C(0xE9747C13),
10409           UINT32_C(0x7E5F23E4), UINT32_C(0x1058548D), UINT32_C(0x00F3BBB2),
10410           UINT32_C(0xE2397102), UINT32_C(0x7081F172)},
10411          {UINT32_C(0x6B573034), UINT32_C(0xB4351B8A), UINT32_C(0xC1A094F0),
10412           UINT32_C(0xB35A4F44), UINT32_C(0xAE951E96), UINT32_C(0xE2C1DAED),
10413           UINT32_C(0xB9DAA081), UINT32_C(0x5CF2A742)}},
10414         {{UINT32_C(0x9828ED9F), UINT32_C(0xB4F0D3F0), UINT32_C(0xA9251386),
10415           UINT32_C(0x6DB312FB), UINT32_C(0x537203F2), UINT32_C(0xC9A4583F),
10416           UINT32_C(0x9CE76D40), UINT32_C(0x5E099639)},
10417          {UINT32_C(0xC9F8CEA8), UINT32_C(0x3381B894), UINT32_C(0x626E07E8),
10418           UINT32_C(0x8242DAF8), UINT32_C(0x6077DFD9), UINT32_C(0x64A0B68C),
10419           UINT32_C(0x563CF051), UINT32_C(0x3CC462C0)}},
10420         {{UINT32_C(0x87AF4A45), UINT32_C(0x8937364C), UINT32_C(0x2DE0FD60),
10421           UINT32_C(0x8C4ACBFA), UINT32_C(0x472A5D8A), UINT32_C(0xF10AED11),
10422           UINT32_C(0x5380C2E6), UINT32_C(0x3F5674B5)},
10423          {UINT32_C(0x2BF8A452), UINT32_C(0x8F4FD0F5), UINT32_C(0xC7390418),
10424           UINT32_C(0xB436E388), UINT32_C(0xE6EE9406), UINT32_C(0xAFAB7B7C),
10425           UINT32_C(0x951739BA), UINT32_C(0x4F623177)}},
10426         {{UINT32_C(0xA9B50F2A), UINT32_C(0x90B0ED35), UINT32_C(0xAC6CF217),
10427           UINT32_C(0x46DC3F91), UINT32_C(0x2C7B119C), UINT32_C(0x2F142031),
10428           UINT32_C(0x07D79225), UINT32_C(0x55A93CBC)},
10429          {UINT32_C(0xB304A642), UINT32_C(0x45E0DD7D), UINT32_C(0xD572D446),
10430           UINT32_C(0xB743DFCD), UINT32_C(0xAC74B368), UINT32_C(0x867B02EB),
10431           UINT32_C(0x169B94B0), UINT32_C(0x67B2B86C)}},
10432         {{UINT32_C(0x483CFEDB), UINT32_C(0x18396DA7), UINT32_C(0x8A3A07C2),
10433           UINT32_C(0x6C6E0370), UINT32_C(0xAB554998), UINT32_C(0xF32A1AFE),
10434           UINT32_C(0x87D1C136), UINT32_C(0x408C9119)},
10435          {UINT32_C(0x4BBE0B78), UINT32_C(0x755F6325), UINT32_C(0xD1178550),
10436           UINT32_C(0xDC4A7319), UINT32_C(0xB3B9E459), UINT32_C(0x44B49813),
10437           UINT32_C(0x4C3D3620), UINT32_C(0x0294B9A9)}},
10438         {{UINT32_C(0x067FA6FF), UINT32_C(0x6480F6FE), UINT32_C(0xF307A52E),
10439           UINT32_C(0x67891400), UINT32_C(0x7F865DA8), UINT32_C(0x9F846EF8),
10440           UINT32_C(0xAE02F671), UINT32_C(0x318DAC55)},
10441          {UINT32_C(0xE288A317), UINT32_C(0x91119652), UINT32_C(0x038C61B8),
10442           UINT32_C(0x4D7CF2B8), UINT32_C(0x5154C1A8), UINT32_C(0x098F80DD),
10443           UINT32_C(0xD239A2D4), UINT32_C(0x10C04F87)}},
10444         {{UINT32_C(0x5CA6F183), UINT32_C(0x13460926), UINT32_C(0xD52001ED),
10445           UINT32_C(0x5E97AD18), UINT32_C(0xE14843DF), UINT32_C(0x7DCD2477),
10446           UINT32_C(0x98A30426), UINT32_C(0x27DAB276)},
10447          {UINT32_C(0xE120D80C), UINT32_C(0x7939CAE3), UINT32_C(0x51E5B81A),
10448           UINT32_C(0xC9F46466), UINT32_C(0xE2E49D52), UINT32_C(0xED620322),
10449           UINT32_C(0xFA172BBB), UINT32_C(0x3C0F5A2E)}},
10450         {{UINT32_C(0x5DB1196B), UINT32_C(0xBFFE8742), UINT32_C(0x49B7214E),
10451           UINT32_C(0xCD45F8ED), UINT32_C(0xC35F5C33), UINT32_C(0x923ABA47),
10452           UINT32_C(0x83F3EE48), UINT32_C(0x16ED1F10)},
10453          {UINT32_C(0x99274930), UINT32_C(0x042E6DF0), UINT32_C(0xC5F8EA16),
10454           UINT32_C(0xE8AE1DCF), UINT32_C(0xF02EA2B2), UINT32_C(0x004462CB),
10455           UINT32_C(0xD284B04E), UINT32_C(0x427F9381)}},
10456         {{UINT32_C(0x75EFACC5), UINT32_C(0x4CD481F8), UINT32_C(0x21C83368),
10457           UINT32_C(0xD98C3FD4), UINT32_C(0x3894CE88), UINT32_C(0x4335E7C8),
10458           UINT32_C(0x955A298C), UINT32_C(0x18321F87)},
10459          {UINT32_C(0xD1716E18), UINT32_C(0x073DD00A), UINT32_C(0xFE0BFE61),
10460           UINT32_C(0x66D82A5F), UINT32_C(0x2310C532), UINT32_C(0x7D869E20),
10461           UINT32_C(0x19BF4704), UINT32_C(0x29A376FB)}},
10462         {{UINT32_C(0xC149B5B0), UINT32_C(0xA1B12B35), UINT32_C(0x1E828959),
10463           UINT32_C(0x3411B231), UINT32_C(0x560D99FB), UINT32_C(0x56417519),
10464           UINT32_C(0xEBB52124), UINT32_C(0x4E0EB143)},
10465          {UINT32_C(0x6AEF3801), UINT32_C(0x7B594B5E), UINT32_C(0x9ECB536E),
10466           UINT32_C(0x00AEE12E), UINT32_C(0x56E23145), UINT32_C(0x6BF0FB29),
10467           UINT32_C(0x61AE8E98), UINT32_C(0x2B2D83B9)}},
10468         {{UINT32_C(0x6AC27F2D), UINT32_C(0x9CB3E2E8), UINT32_C(0x5A6280AA),
10469           UINT32_C(0x82BACA96), UINT32_C(0x2C6B7C8F), UINT32_C(0xCBC6C01B),
10470           UINT32_C(0xD0C01ABD), UINT32_C(0x390511BC)},
10471          {UINT32_C(0x49551C0D), UINT32_C(0xB322D972), UINT32_C(0x7B6489C8),
10472           UINT32_C(0x7905E82E), UINT32_C(0x40EEC20D), UINT32_C(0x4DD0CE8B),
10473           UINT32_C(0x2409298A), UINT32_C(0x5C0B3EE7)}},
10474         {{UINT32_C(0xB635FB99), UINT32_C(0x4418D685), UINT32_C(0x3ACE8B39),
10475           UINT32_C(0x652EA608), UINT32_C(0x46FC4047), UINT32_C(0xE586FBDC),
10476           UINT32_C(0xD8CC13D8), UINT32_C(0x3C832D34)},
10477          {UINT32_C(0xF7AA54A1), UINT32_C(0x14CC9F23), UINT32_C(0x07153B9F),
10478           UINT32_C(0x80D094E6), UINT32_C(0x6A2EED8E), UINT32_C(0x0776E540),
10479           UINT32_C(0x77249085), UINT32_C(0x03CC3BFC)}},
10480         {{UINT32_C(0x1308C1A8), UINT32_C(0x5F8F281F), UINT32_C(0xD1AFC4B7),
10481           UINT32_C(0x31C8E737), UINT32_C(0x41AE8EF2), UINT32_C(0x67785298),
10482           UINT32_C(0xFD028A4B), UINT32_C(0x17716086)},
10483          {UINT32_C(0xF922E100), UINT32_C(0x1A2083E0), UINT32_C(0xD53FE691),
10484           UINT32_C(0xD67EC9D1), UINT32_C(0xECCA8DEB), UINT32_C(0x2DF8B6ED),
10485           UINT32_C(0xBCCC999E), UINT32_C(0x3B595EE4)}},
10486     },
10487     {
10488         {{UINT32_C(0x5A4B8C04), UINT32_C(0x11F03F89), UINT32_C(0x7DAE8E6B),
10489           UINT32_C(0x254C3648), UINT32_C(0x637CDB83), UINT32_C(0xAB6EAAF1),
10490           UINT32_C(0xFDDED8F6), UINT32_C(0x41F52243)},
10491          {UINT32_C(0xBBDF3270), UINT32_C(0x487078E1), UINT32_C(0x339CEA28),
10492           UINT32_C(0x98853B49), UINT32_C(0xAB3EDE57), UINT32_C(0x8AF0522B),
10493           UINT32_C(0x85EB4CC0), UINT32_C(0x734D711F)}},
10494         {{UINT32_C(0xF86BA644), UINT32_C(0xFD1F46AD), UINT32_C(0xA3299855),
10495           UINT32_C(0xA5332B97), UINT32_C(0xD9493634), UINT32_C(0x61BE90DB),
10496           UINT32_C(0xC2705911), UINT32_C(0x308F09B1)},
10497          {UINT32_C(0x0B7918A5), UINT32_C(0xD59F1B1A), UINT32_C(0xCF6399E6),
10498           UINT32_C(0x9CF333D0), UINT32_C(0xFBB26B6B), UINT32_C(0xD09C63CD),
10499           UINT32_C(0xA6536647), UINT32_C(0x76C27913)}},
10500         {{UINT32_C(0xAAAB555C), UINT32_C(0x3DF1811F), UINT32_C(0x886C828B),
10501           UINT32_C(0x60853351), UINT32_C(0xF1E87F41), UINT32_C(0xF6CA7707),
10502           UINT32_C(0x7D7082E6), UINT32_C(0x5B4F6EDF)},
10503          {UINT32_C(0x3F672DE7), UINT32_C(0xADE518E0), UINT32_C(0x022541B2),
10504           UINT32_C(0x00ED0B84), UINT32_C(0x618E8969), UINT32_C(0x04FE5DD6),
10505           UINT32_C(0xDB9CCA4D), UINT32_C(0x2F5F5C65)}},
10506         {{UINT32_C(0x96BDAE2C), UINT32_C(0x00B69B45), UINT32_C(0x770604C4),
10507           UINT32_C(0x06DB22CF), UINT32_C(0x856585C3), UINT32_C(0xC2EB7F8F),
10508           UINT32_C(0x0413C614), UINT32_C(0x6E322539)},
10509          {UINT32_C(0x70A46872), UINT32_C(0x22C09EA8), UINT32_C(0x1FF23734),
10510           UINT32_C(0x143E73BC), UINT32_C(0x575C20B4), UINT32_C(0xCAC5E2DD),
10511           UINT32_C(0x3FEBE787), UINT32_C(0x225E5390)}},
10512         {{UINT32_C(0xBE9C512D), UINT32_C(0x594FEA4E), UINT32_C(0x92CB73AE),
10513           UINT32_C(0x58507092), UINT32_C(0xB0CE2096), UINT32_C(0xFD8EFC7D),
10514           UINT32_C(0xE031D6AB), UINT32_C(0x3B58C199)},
10515          {UINT32_C(0x479F23E4), UINT32_C(0x55DA1CBD), UINT32_C(0xA6DB6137),
10516           UINT32_C(0x060C6BB5), UINT32_C(0x6864488E), UINT32_C(0xD8319CF8),
10517           UINT32_C(0x21B02EDA), UINT32_C(0x6C15A31B)}},
10518         {{UINT32_C(0x8CA7084D), UINT32_C(0x13C48372), UINT32_C(0xA171ECE5),
10519           UINT32_C(0xF7554E59), UINT32_C(0x23A97699), UINT32_C(0x7425C5D8),
10520           UINT32_C(0x71E1120E), UINT32_C(0x6F2C68DA)},
10521          {UINT32_C(0x24324B64), UINT32_C(0x9591B9B6), UINT32_C(0xC02AC704),
10522           UINT32_C(0x2DA33472), UINT32_C(0x81EE1295), UINT32_C(0xC5DE7FC9),
10523           UINT32_C(0x5D6E93C6), UINT32_C(0x6A646A44)}},
10524         {{UINT32_C(0xA39D6554), UINT32_C(0x48684061), UINT32_C(0xC3DF57B6),
10525           UINT32_C(0xB70ABF61), UINT32_C(0x58B9EEE3), UINT32_C(0x9824AFD6),
10526           UINT32_C(0x3A14A733), UINT32_C(0x46EBE9D1)},
10527          {UINT32_C(0xD74F8E94), UINT32_C(0x8E70F95D), UINT32_C(0x6AFCA4E2),
10528           UINT32_C(0xA9D922A2), UINT32_C(0x6988CC16), UINT32_C(0x519A9753),
10529           UINT32_C(0xD545AF8A), UINT32_C(0x711DEF16)}},
10530         {{UINT32_C(0x811A2BF7), UINT32_C(0x362A5D95), UINT32_C(0x566B90CE),
10531           UINT32_C(0x42A84A33), UINT32_C(0x7C41EC87), UINT32_C(0x25CBC760),
10532           UINT32_C(0xD4B7DBEE), UINT32_C(0x6B77E39C)},
10533          {UINT32_C(0x833015A4), UINT32_C(0xA98B8201), UINT32_C(0xC31B26F4),
10534           UINT32_C(0xE412E217), UINT32_C(0xE0090782), UINT32_C(0x518BE8F0),
10535           UINT32_C(0x3DB51D4E), UINT32_C(0x08D9F4B6)}},
10536         {{UINT32_C(0x297D421E), UINT32_C(0x2C80CE87), UINT32_C(0xADBA1498),
10537           UINT32_C(0x2FD137F8), UINT32_C(0x2899AA14), UINT32_C(0xA2ED3D47),
10538           UINT32_C(0xFE4F365A), UINT32_C(0x2AC924A5)},
10539          {UINT32_C(0x666DC0A0), UINT32_C(0xAC0389B7), UINT32_C(0x8ABF3D9E),
10540           UINT32_C(0x3CC99739), UINT32_C(0xDFBFF83A), UINT32_C(0x33060DB6),
10541           UINT32_C(0x0339C3B8), UINT32_C(0x54EEE215)}},
10542         {{UINT32_C(0x820F7E4D), UINT32_C(0x06C3A4F5), UINT32_C(0x08C3D311),
10543           UINT32_C(0x86F083E2), UINT32_C(0xFE4B0476), UINT32_C(0x47E29984),
10544           UINT32_C(0xCA7DF6CF), UINT32_C(0x218F52E2)},
10545          {UINT32_C(0xBF2C2084), UINT32_C(0x59317E26), UINT32_C(0x289A10CF),
10546           UINT32_C(0xEA9C865B), UINT32_C(0x2074FEA3), UINT32_C(0x7AA1E50B),
10547           UINT32_C(0x4B3EFC31), UINT32_C(0x708A1D8C)}},
10548         {{UINT32_C(0x864817D7), UINT32_C(0x34C5C63E), UINT32_C(0xD89E995B),
10549           UINT32_C(0x0F614043), UINT32_C(0x975E2A03), UINT32_C(0x60CE8BCE),
10550           UINT32_C(0x78493E0C), UINT32_C(0x70916E29)},
10551          {UINT32_C(0x216782C6), UINT32_C(0xBD0748F9), UINT32_C(0xED32FB72),
10552           UINT32_C(0x0051C65A), UINT32_C(0x4DD64705), UINT32_C(0x9DC5F558),
10553           UINT32_C(0xEEC14B50), UINT32_C(0x674F1A63)}},
10554         {{UINT32_C(0xDB633FD1), UINT32_C(0x73D6E68E), UINT32_C(0xF52F9537),
10555           UINT32_C(0x7B5F8303), UINT32_C(0x88A74CFB), UINT32_C(0x980FDDDC),
10556           UINT32_C(0x47FC32D1), UINT32_C(0x6419C18F)},
10557          {UINT32_C(0x870B5D59), UINT32_C(0x93727B4C), UINT32_C(0xCF28021D),
10558           UINT32_C(0x4BCE05DE), UINT32_C(0xAB4F0CE5), UINT32_C(0x3C059B47),
10559           UINT32_C(0xB85FFDBB), UINT32_C(0x77CA7F67)}},
10560         {{UINT32_C(0xC525088E), UINT32_C(0xDBEADDCE), UINT32_C(0x390D2221),
10561           UINT32_C(0x561E12BE), UINT32_C(0xD9BA7AF0), UINT32_C(0xCD224FC1),
10562           UINT32_C(0x394DC073), UINT32_C(0x03744552)},
10563          {UINT32_C(0x21BB6B6E), UINT32_C(0xCFC67B49), UINT32_C(0x1B5F8E6A),
10564           UINT32_C(0xD234FD8D), UINT32_C(0x40B7F8B0), UINT32_C(0x6DDBC18B),
10565           UINT32_C(0xDAACCC74), UINT32_C(0x79F40857)}},
10566         {{UINT32_C(0x9DD71B9C), UINT32_C(0x30E5F990), UINT32_C(0x291124EF),
10567           UINT32_C(0x00FCBFA5), UINT32_C(0x49B8C570), UINT32_C(0xBE595A25),
10568           UINT32_C(0xBC094446), UINT32_C(0x5B4B8141)},
10569          {UINT32_C(0x469191B6), UINT32_C(0xB22B4F04), UINT32_C(0xD73C4D38),
10570           UINT32_C(0x10845AC8), UINT32_C(0xED0C8224), UINT32_C(0x39C9F0FB),
10571           UINT32_C(0xF5813BEE), UINT32_C(0x7E009DFB)}},
10572         {{UINT32_C(0xA61D09C0), UINT32_C(0xA47C2989), UINT32_C(0x59E55A9C),
10573           UINT32_C(0x3706F456), UINT32_C(0xEA0259B9), UINT32_C(0x2373976F),
10574           UINT32_C(0x077D20CC), UINT32_C(0x13FC0E09)},
10575          {UINT32_C(0xE78D29CF), UINT32_C(0xBB24DD05), UINT32_C(0x822CFA02),
10576           UINT32_C(0xD8757A67), UINT32_C(0x3C55A4C6), UINT32_C(0x36CA7486),
10577           UINT32_C(0x3EEABBE1), UINT32_C(0x4234E689)}},
10578         {{UINT32_C(0xB46BDB51), UINT32_C(0xA2F54D14), UINT32_C(0x675BB770),
10579           UINT32_C(0x8A530B78), UINT32_C(0xDE9F1F8B), UINT32_C(0x617D7E8E),
10580           UINT32_C(0x2DCC4712), UINT32_C(0x799B3E44)},
10581          {UINT32_C(0xB486FE8C), UINT32_C(0x658A31D8), UINT32_C(0x163D4AF0),
10582           UINT32_C(0x45BAFC29), UINT32_C(0xA5289C8D), UINT32_C(0x3A2C7F66),
10583           UINT32_C(0xB91FF3DB), UINT32_C(0x4ECC3C7D)}},
10584     },
10585     {
10586         {{UINT32_C(0xDF4DFD43), UINT32_C(0x738CF1C7), UINT32_C(0xE987084C),
10587           UINT32_C(0x72943A2D), UINT32_C(0x2491FF24), UINT32_C(0xEA21C05F),
10588           UINT32_C(0xDA050094), UINT32_C(0x3D3F4ED7)},
10589          {UINT32_C(0x61C4054D), UINT32_C(0xF90644E4), UINT32_C(0x3A50E82A),
10590           UINT32_C(0x25379214), UINT32_C(0xC7DEF970), UINT32_C(0x47EDB006),
10591           UINT32_C(0x0F53F307), UINT32_C(0x0F8F031C)}},
10592         {{UINT32_C(0x724976D5), UINT32_C(0x50FEB6D8), UINT32_C(0xF40C7720),
10593           UINT32_C(0x57AA499F), UINT32_C(0x0DAAF428), UINT32_C(0x6B80AC54),
10594           UINT32_C(0x1F6FC276), UINT32_C(0x7AC6845E)},
10595          {UINT32_C(0x17A4B9C5), UINT32_C(0x8EC7FAB1), UINT32_C(0xED0C8F97),
10596           UINT32_C(0x8336DD62), UINT32_C(0xB7B7104E), UINT32_C(0x6014A510),
10597           UINT32_C(0xA2911C30), UINT32_C(0x4991A03B)}},
10598         {{UINT32_C(0xCBCC9BA3), UINT32_C(0x6D353975), UINT32_C(0xC4564492),
10599           UINT32_C(0x23E97E28), UINT32_C(0xF8AEED3E), UINT32_C(0xDF432FDA),
10600           UINT32_C(0x6F6B472C), UINT32_C(0x11DB40DD)},
10601          {UINT32_C(0x95AA0174), UINT32_C(0x5B87005B), UINT32_C(0x89D9F1A8),
10602           UINT32_C(0x1DB41080), UINT32_C(0x689DF208), UINT32_C(0x5A6BC444),
10603           UINT32_C(0xBF38FF8D), UINT32_C(0x16153F87)}},
10604         {{UINT32_C(0xFFD3C814), UINT32_C(0xD217003F), UINT32_C(0xFD50AF95),
10605           UINT32_C(0x1ADE64C3), UINT32_C(0x9FFB8BEB), UINT32_C(0x1936332C),
10606           UINT32_C(0xD70CD8D8), UINT32_C(0x6EE322DC)},
10607          {UINT32_C(0xF2A60976), UINT32_C(0xE40A0419), UINT32_C(0xEF93B05B),
10608           UINT32_C(0xA62F6FA1), UINT32_C(0x596575FF), UINT32_C(0x5978206C),
10609           UINT32_C(0xB68BFE5C), UINT32_C(0x5CDCA200)}},
10610         {{UINT32_C(0xB7949E33), UINT32_C(0x3FB16AED), UINT32_C(0x40304A1B),
10611           UINT32_C(0x34538928), UINT32_C(0x3BCA4239), UINT32_C(0x7FA35A34),
10612           UINT32_C(0xEE76919E), UINT32_C(0x22FD1AEF)},
10613          {UINT32_C(0x0F6A5D50), UINT32_C(0x1F8FE6A4), UINT32_C(0x26BBA46B),
10614           UINT32_C(0x27CC704F), UINT32_C(0x3420CC52), UINT32_C(0x230FD0CA),
10615           UINT32_C(0xB3A83D85), UINT32_C(0x3E9E4DA4)}},
10616         {{UINT32_C(0x7F5CC75E), UINT32_C(0x1D82390E), UINT32_C(0x49D0A605),
10617           UINT32_C(0x70256245), UINT32_C(0x4FF4BC44), UINT32_C(0x5B877813),
10618           UINT32_C(0xB5EC02E4), UINT32_C(0x28E6A057)},
10619          {UINT32_C(0x2E89FB84), UINT32_C(0xBC7A10DA), UINT32_C(0x20E1EA00),
10620           UINT32_C(0x3AF182E5), UINT32_C(0x9C507274), UINT32_C(0x4B590FFA),
10621           UINT32_C(0xAA7FD65B), UINT32_C(0x26BA94D6)}},
10622         {{UINT32_C(0x238CC195), UINT32_C(0xC02CC77C), UINT32_C(0xA97EE3E4),
10623           UINT32_C(0x3F175C97), UINT32_C(0xDFA1F9DC), UINT32_C(0x8A28FA23),
10624           UINT32_C(0x1F968D15), UINT32_C(0x35CAC0FF)},
10625          {UINT32_C(0x37C7C773), UINT32_C(0x0FC41B33), UINT32_C(0xBC999443),
10626           UINT32_C(0x71E06B10), UINT32_C(0x2C87B0A4), UINT32_C(0x073A1ABA),
10627           UINT32_C(0x9E5E8B70), UINT32_C(0x29F29B12)}},
10628         {{UINT32_C(0xE491FE70), UINT32_C(0xAA25F348), UINT32_C(0xC1713992),
10629           UINT32_C(0x9371F94B), UINT32_C(0x4FA08818), UINT32_C(0x674B478C),
10630           UINT32_C(0xB1407431), UINT32_C(0x6F3C31FE)},
10631          {UINT32_C(0xD93DD5E1), UINT32_C(0xBB7D37FB), UINT32_C(0x7E04EE7A),
10632           UINT32_C(0xE34A40B8), UINT32_C(0xF3C33528), UINT32_C(0xCF82360D),
10633           UINT32_C(0x01477712), UINT32_C(0x0A3B8FF5)}},
10634         {{UINT32_C(0x6B718511), UINT32_C(0xA4591471), UINT32_C(0xD2FD6B9B),
10635           UINT32_C(0x7B0CE8DE), UINT32_C(0x6845DBEF), UINT32_C(0xC42544FA),
10636           UINT32_C(0x63AF476A), UINT32_C(0x456A6985)},
10637          {UINT32_C(0x9CDE4E74), UINT32_C(0x5DD611F6), UINT32_C(0x2B346AEB),
10638           UINT32_C(0x86095683), UINT32_C(0x6E75B3D7), UINT32_C(0xD15C5DA0),
10639           UINT32_C(0xC72D5D2C), UINT32_C(0x220FFD73)}},
10640         {{UINT32_C(0xD2ED888F), UINT32_C(0x478DA345), UINT32_C(0xE04CBCC7),
10641           UINT32_C(0xA69D4FB9), UINT32_C(0xB3F1179D), UINT32_C(0xA427150A),
10642           UINT32_C(0xD5CEA78A), UINT32_C(0x1DD3B8C2)},
10643          {UINT32_C(0xB8628A22), UINT32_C(0x9462EFF0), UINT32_C(0xB2CB44A5),
10644           UINT32_C(0xB2FFFF4A), UINT32_C(0x24039BA8), UINT32_C(0x8234A3FF),
10645           UINT32_C(0x916DE889), UINT32_C(0x01BE7202)}},
10646         {{UINT32_C(0x6DFCEF0B), UINT32_C(0x51066985), UINT32_C(0xDF20CDEE),
10647           UINT32_C(0x25729D98), UINT32_C(0x9693E5EF), UINT32_C(0x872FD39D),
10648           UINT32_C(0x2D859635), UINT32_C(0x72D03AE1)},
10649          {UINT32_C(0xDACAEB82), UINT32_C(0x3F28F84E), UINT32_C(0xCB5284D7),
10650           UINT32_C(0x9EB40FD6), UINT32_C(0xC5F54041), UINT32_C(0x66C2DCA6),
10651           UINT32_C(0x1C1F2461), UINT32_C(0x4BDBA382)}},
10652         {{UINT32_C(0x0E0ED176), UINT32_C(0xE5342197), UINT32_C(0xA225A47F),
10653           UINT32_C(0xF588547A), UINT32_C(0x1FEB2259), UINT32_C(0xC83B54ED),
10654           UINT32_C(0x92F3733D), UINT32_C(0x1B037913)},
10655          {UINT32_C(0x2271ECFA), UINT32_C(0x935C9782), UINT32_C(0x53CFE07C),
10656           UINT32_C(0x5F7E94A6), UINT32_C(0x1B40CA19), UINT32_C(0xBFF5B0E6),
10657           UINT32_C(0x459445E1), UINT32_C(0x36C7851D)}},
10658         {{UINT32_C(0x588C9748), UINT32_C(0xB6547971), UINT32_C(0x11970562),
10659           UINT32_C(0xCFD8E81B), UINT32_C(0x702FE4FA), UINT32_C(0x41333C80),
10660           UINT32_C(0x962A993B), UINT32_C(0x2F153C8C)},
10661          {UINT32_C(0x8BDA48AC), UINT32_C(0x028BBD6A), UINT32_C(0xFE1DB02A),
10662           UINT32_C(0x7B076F88), UINT32_C(0x078FB3FC), UINT32_C(0xC9560400),
10663           UINT32_C(0x035907EA), UINT32_C(0x5DCC0946)}},
10664         {{UINT32_C(0xA6233F1C), UINT32_C(0x93D7CF33), UINT32_C(0xDF2A187C),
10665           UINT32_C(0x03184BC4), UINT32_C(0xE83DAC32), UINT32_C(0x291149BC),
10666           UINT32_C(0xFAEDF216), UINT32_C(0x575F4279)},
10667          {UINT32_C(0x086FC141), UINT32_C(0x101427B4), UINT32_C(0xD288562E),
10668           UINT32_C(0xC924F2AE), UINT32_C(0xEEF5799A), UINT32_C(0xDB610463),
10669           UINT32_C(0x6A09661D), UINT32_C(0x20F18767)}},
10670         {{UINT32_C(0xF59D0C20), UINT32_C(0xE39BB775), UINT32_C(0x723A4EF2),
10671           UINT32_C(0x18DA90E2), UINT32_C(0xF56B381B), UINT32_C(0x8E747A7B),
10672           UINT32_C(0xF98F26DC), UINT32_C(0x7EF67224)},
10673          {UINT32_C(0xE1F94B99), UINT32_C(0xB1373AF5), UINT32_C(0x0C3B6AA8),
10674           UINT32_C(0x1076FBA6), UINT32_C(0xA3A7811C), UINT32_C(0x7FCD0017),
10675           UINT32_C(0x46554E7E), UINT32_C(0x6D1A6973)}},
10676         {{UINT32_C(0xB9CED2C2), UINT32_C(0xE5734077), UINT32_C(0x1F770914),
10677           UINT32_C(0xC94D17F8), UINT32_C(0x1CD248EB), UINT32_C(0x58B47BCB),
10678           UINT32_C(0x24804B6F), UINT32_C(0x2E06538C)},
10679          {UINT32_C(0x32E7CA19), UINT32_C(0x275D933F), UINT32_C(0x1FC9241E),
10680           UINT32_C(0x1B982B49), UINT32_C(0x3986B6AC), UINT32_C(0x8B8A6ED5),
10681           UINT32_C(0x35B4EA6A), UINT32_C(0x17568221)}},
10682     },
10683     {
10684         {{UINT32_C(0xE796327F), UINT32_C(0x090AD05A), UINT32_C(0xAD21DD4B),
10685           UINT32_C(0xA78DAE5E), UINT32_C(0x9C2F8CBE), UINT32_C(0x8EEC9EDB),
10686           UINT32_C(0x653E0F2D), UINT32_C(0x33E375E0)},
10687          {UINT32_C(0x8D67AC72), UINT32_C(0xDA19EFF2), UINT32_C(0x2737AB8C),
10688           UINT32_C(0xBFC7E62B), UINT32_C(0x4CF53C12), UINT32_C(0xBBF8BD1D),
10689           UINT32_C(0x45C6D555), UINT32_C(0x5ABFE23F)}},
10690         {{UINT32_C(0x0DE39342), UINT32_C(0x32460B33), UINT32_C(0xB8977067),
10691           UINT32_C(0x3567454A), UINT32_C(0xF954592C), UINT32_C(0x10A1E47D),
10692           UINT32_C(0x4DD019C4), UINT32_C(0x4DE8C6EF)},
10693          {UINT32_C(0x1BDAAAFA), UINT32_C(0x1F1D296B), UINT32_C(0x3A75AD99),
10694           UINT32_C(0x4E6B8E8F), UINT32_C(0xA27FE061), UINT32_C(0x259015E1),
10695           UINT32_C(0x9F320632), UINT32_C(0x6B6A4820)}},
10696         {{UINT32_C(0xA0B5E605), UINT32_C(0x8AA089AF), UINT32_C(0x1B4058FD),
10697           UINT32_C(0x1D6C1EEE), UINT32_C(0xB4E89BEF), UINT32_C(0x1D920534),
10698           UINT32_C(0x16163340), UINT32_C(0x722A3A35)},
10699          {UINT32_C(0xF33B49B2), UINT32_C(0xA3B9178C), UINT32_C(0x65558E90),
10700           UINT32_C(0xFF8FE9BB), UINT32_C(0x9794EFAE), UINT32_C(0x94766BC0),
10701           UINT32_C(0xFDFAEB42), UINT32_C(0x79A1EFA2)}},
10702         {{UINT32_C(0xBCB6D558), UINT32_C(0x2FE44B97), UINT32_C(0xDB8B0A79),
10703           UINT32_C(0xB4F4F402), UINT32_C(0x247C32E5), UINT32_C(0xF53D8AB1),
10704           UINT32_C(0x4DA4C009), UINT32_C(0x3B883CE5)},
10705          {UINT32_C(0x2EC9F1C6), UINT32_C(0xB46168BD), UINT32_C(0x6B8FE01A),
10706           UINT32_C(0xD40BDE7B), UINT32_C(0xCDFE509F), UINT32_C(0x60A5C168),
10707           UINT32_C(0x23BE249E), UINT32_C(0x3314D878)}},
10708         {{UINT32_C(0x4D9F5769), UINT32_C(0x02511A85), UINT32_C(0xB49D6A8E),
10709           UINT32_C(0x8398F9BD), UINT32_C(0x5D2D7135), UINT32_C(0xE8D773F3),
10710           UINT32_C(0x9DECC331), UINT32_C(0x09B3B8AB)},
10711          {UINT32_C(0x584C11D9), UINT32_C(0x8D2B269B), UINT32_C(0x6B6B86A9),
10712           UINT32_C(0xF7661944), UINT32_C(0xC7659AF7), UINT32_C(0x719A3620),
10713           UINT32_C(0x37C27DBE), UINT32_C(0x3CFC8DF0)}},
10714         {{UINT32_C(0x1145B14B), UINT32_C(0x5EE0BE06), UINT32_C(0x23193ED6),
10715           UINT32_C(0xAC6950E4), UINT32_C(0xDF244C7F), UINT32_C(0x7291C44C),
10716           UINT32_C(0x43D744EA), UINT32_C(0x4650C162)},
10717          {UINT32_C(0x34A084D8), UINT32_C(0x60B92D3F), UINT32_C(0x376E5414),
10718           UINT32_C(0xBBD44A0E), UINT32_C(0x0980F36C), UINT32_C(0x5C0E488A),
10719           UINT32_C(0xD7991A09), UINT32_C(0x4E53FCCA)}},
10720         {{UINT32_C(0x367B55C2), UINT32_C(0x7A2ADBCF), UINT32_C(0x1FED467E),
10721           UINT32_C(0x96A88B75), UINT32_C(0xFB263845), UINT32_C(0x8E75E37E),
10722           UINT32_C(0xEB508DD0), UINT32_C(0x4C2E47B8)},
10723          {UINT32_C(0xB19FCD14), UINT32_C(0x20BF51DE), UINT32_C(0x14CB67D0),
10724           UINT32_C(0xD9071749), UINT32_C(0x29EBDA7C), UINT32_C(0xEC90714B),
10725           UINT32_C(0x634C0F2E), UINT32_C(0x4ACADAA6)}},
10726         {{UINT32_C(0xEC715EC9), UINT32_C(0xA516B9B8), UINT32_C(0x42B8A87B),
10727           UINT32_C(0xC7DCA263), UINT32_C(0xDA27B456), UINT32_C(0x2CE450C9),
10728           UINT32_C(0x00A8819F), UINT32_C(0x3C974812)},
10729          {UINT32_C(0xECDED574), UINT32_C(0xF4822C23), UINT32_C(0x19FA48D4),
10730           UINT32_C(0xFA737FAD), UINT32_C(0x45D718E0), UINT32_C(0xE34B2F2A),
10731           UINT32_C(0xBEA7B540), UINT32_C(0x1D6F19FE)}},
10732         {{UINT32_C(0x98E24789), UINT32_C(0xADC8FCE7), UINT32_C(0x45869609),
10733           UINT32_C(0xFE2F890C), UINT32_C(0x78A35C19), UINT32_C(0x6466E03C),
10734           UINT32_C(0xC1F34AA9), UINT32_C(0x24C70FED)},
10735          {UINT32_C(0x57747DD1), UINT32_C(0x89530F75), UINT32_C(0x2B8CDE2D),
10736           UINT32_C(0x343DE05B), UINT32_C(0x35CC8D5A), UINT32_C(0xC33134E3),
10737           UINT32_C(0xAC9B4F2B), UINT32_C(0x3CCEFC38)}},
10738         {{UINT32_C(0xEF923364), UINT32_C(0x84C904B8), UINT32_C(0xBDDD31D8),
10739           UINT32_C(0x46E1FECF), UINT32_C(0xFAE79B6B), UINT32_C(0xA8126DD6),
10740           UINT32_C(0xFBF05C9A), UINT32_C(0x4A53C034)},
10741          {UINT32_C(0xBE8F255F), UINT32_C(0x44CA3ACB), UINT32_C(0xEC319885),
10742           UINT32_C(0x6F0FD374), UINT32_C(0xF1836DC2), UINT32_C(0xADBCB4AA),
10743           UINT32_C(0x65187EE9), UINT32_C(0x6CC3A596)}},
10744         {{UINT32_C(0xB397B5E7), UINT32_C(0x941E7821), UINT32_C(0xFEE2A9D5),
10745           UINT32_C(0xD3457371), UINT32_C(0x66382F60), UINT32_C(0x9F69BE44),
10746           UINT32_C(0xA1F49E9B), UINT32_C(0x6DCEAD04)},
10747          {UINT32_C(0x3BF21647), UINT32_C(0xDC6BC23B), UINT32_C(0xB5271BE9),
10748           UINT32_C(0x1500FD7F), UINT32_C(0xF23FDF3D), UINT32_C(0x9B0994DD),
10749           UINT32_C(0x45065CF7), UINT32_C(0x38A2ECEB)}},
10750         {{UINT32_C(0x0DCA8BF4), UINT32_C(0x2667CEFE), UINT32_C(0xE46EB469),
10751           UINT32_C(0x8227ACB3), UINT32_C(0xA75C5B8B), UINT32_C(0x4C20677D),
10752           UINT32_C(0xB36ACDFE), UINT32_C(0x224FC5B4)},
10753          {UINT32_C(0x7A6A01D3), UINT32_C(0xA0007E14), UINT32_C(0xF8A64EED),
10754           UINT32_C(0x15C79558), UINT32_C(0x93DEDC09), UINT32_C(0xFB58A76A),
10755           UINT32_C(0x26F10A98), UINT32_C(0x2057DDDC)}},
10756         {{UINT32_C(0xBDB27AE4), UINT32_C(0x1FF658AE), UINT32_C(0xDDD96647),
10757           UINT32_C(0x7F30DF57), UINT32_C(0xC7294313), UINT32_C(0x63490B8D),
10758           UINT32_C(0x5435869E), UINT32_C(0x0EAEC573)},
10759          {UINT32_C(0xDF115B78), UINT32_C(0x85F05C49), UINT32_C(0x62992F5D),
10760           UINT32_C(0x95739C0C), UINT32_C(0x2B573963), UINT32_C(0x72F14319),
10761           UINT32_C(0x86328FF4), UINT32_C(0x05600E64)}},
10762         {{UINT32_C(0xEAB0F425), UINT32_C(0x9BE7331F), UINT32_C(0x74447C20),
10763           UINT32_C(0x2E4CF5AA), UINT32_C(0x66243D2A), UINT32_C(0x9B26F512),
10764           UINT32_C(0x84AB5627), UINT32_C(0x77C96722)},
10765          {UINT32_C(0x601673B4), UINT32_C(0xEC545427), UINT32_C(0x2F127AF7),
10766           UINT32_C(0xEF6A34FB), UINT32_C(0xE2DFD269), UINT32_C(0x519559C1),
10767           UINT32_C(0x8258E37A), UINT32_C(0x34D7D754)}},
10768         {{UINT32_C(0x5E8B5281), UINT32_C(0xC113747B), UINT32_C(0xE04D779B),
10769           UINT32_C(0x0C085456), UINT32_C(0x1CCBCFC6), UINT32_C(0x3E326052),
10770           UINT32_C(0x2A37D19F), UINT32_C(0x5C954CC1)},
10771          {UINT32_C(0x9124435B), UINT32_C(0xB1A4A5B3), UINT32_C(0x18ED98E7),
10772           UINT32_C(0x5E8B8D41), UINT32_C(0x144A3793), UINT32_C(0xC973D969),
10773           UINT32_C(0x88DD8B49), UINT32_C(0x0CB98CC8)}},
10774         {{UINT32_C(0xB48D04DF), UINT32_C(0x0E0233B2), UINT32_C(0x7BEAA4A5),
10775           UINT32_C(0x1B3916E0), UINT32_C(0xB672BE8C), UINT32_C(0xA24A4BE4),
10776           UINT32_C(0x845AB94D), UINT32_C(0x7A61506D)},
10777          {UINT32_C(0xE7F4CA3B), UINT32_C(0x160DFA0F), UINT32_C(0xD84C1148),
10778           UINT32_C(0xA9562C89), UINT32_C(0x92A276EB), UINT32_C(0x52979B95),
10779           UINT32_C(0x924E86E9), UINT32_C(0x17869B53)}},
10780     },
10781     {
10782         {{UINT32_C(0x1A86D0D8), UINT32_C(0x5D39F478), UINT32_C(0xFB8BC8A9),
10783           UINT32_C(0xDE5932DA), UINT32_C(0x2F5B4B70), UINT32_C(0xD706C6D7),
10784           UINT32_C(0x8A36AFC2), UINT32_C(0x53F450FC)},
10785          {UINT32_C(0x1E550B3B), UINT32_C(0xE1DC3540), UINT32_C(0x8B7EB6D2),
10786           UINT32_C(0x475507DC), UINT32_C(0xDFA2E5F7), UINT32_C(0xF803F78A),
10787           UINT32_C(0xC48097FF), UINT32_C(0x40B5F263)}},
10788         {{UINT32_C(0x226CDB1F), UINT32_C(0x336FB00E), UINT32_C(0x88215C40),
10789           UINT32_C(0xDDC1BB02), UINT32_C(0x73C07FD0), UINT32_C(0x6C4DD40E),
10790           UINT32_C(0x8F7D15E7), UINT32_C(0x4D0D2E49)},
10791          {UINT32_C(0xD2061402), UINT32_C(0xAF96E9B3), UINT32_C(0x1372FCF8),
10792           UINT32_C(0x15A3084A), UINT32_C(0x307B02D6), UINT32_C(0x91B571E6),
10793           UINT32_C(0x53AE7705), UINT32_C(0x2239592F)}},
10794         {{UINT32_C(0xC20B6645), UINT32_C(0x7D8615A1), UINT32_C(0xC7C4465B),
10795           UINT32_C(0xF4875767), UINT32_C(0x861702AB), UINT32_C(0xF6D3E718),
10796           UINT32_C(0x131F726A), UINT32_C(0x7F014A53)},
10797          {UINT32_C(0xDAAB77CA), UINT32_C(0x30809F8F), UINT32_C(0x28F944D3),
10798           UINT32_C(0x7CE8DC61), UINT32_C(0x9AEEF6A1), UINT32_C(0xF915111D),
10799           UINT32_C(0x206902FD), UINT32_C(0x246D7CC8)}},
10800         {{UINT32_C(0xEF806225), UINT32_C(0x7677488B), UINT32_C(0xF4C75EAE),
10801           UINT32_C(0x994C8104), UINT32_C(0x4E0C8988), UINT32_C(0x17586D4E),
10802           UINT32_C(0x90E33A2A), UINT32_C(0x70E52580)},
10803          {UINT32_C(0x022D2FED), UINT32_C(0xB993F26A), UINT32_C(0x689FBFBD),
10804           UINT32_C(0x955C130D), UINT32_C(0xA3612E8E), UINT32_C(0x0D3D1C63),
10805           UINT32_C(0xB91A8DE6), UINT32_C(0x423D73E1)}},
10806         {{UINT32_C(0x3027164F), UINT32_C(0x7274BE08), UINT32_C(0x42FDB769),
10807           UINT32_C(0xDE907B49), UINT32_C(0xB697060D), UINT32_C(0x61D74449),
10808           UINT32_C(0x26602CC9), UINT32_C(0x18A5FDC2)},
10809          {UINT32_C(0x049CAF4A), UINT32_C(0xB08DC02B), UINT32_C(0x78DBA1F1),
10810           UINT32_C(0xC84AF485), UINT32_C(0x7178E4DF), UINT32_C(0x0A5B3519),
10811           UINT32_C(0x5B26D0FE), UINT32_C(0x6EC7A7A5)}},
10812         {{UINT32_C(0x88554F05), UINT32_C(0xDEF1782F), UINT32_C(0xD8D6DF47),
10813           UINT32_C(0xB73E7333), UINT32_C(0x90E9C67A), UINT32_C(0x1DDF9022),
10814           UINT32_C(0xD56181AC), UINT32_C(0x5D217B51)},
10815          {UINT32_C(0xE27F90EE), UINT32_C(0x7A338C7B), UINT32_C(0x0D84A177),
10816           UINT32_C(0xB97CCD2A), UINT32_C(0x7C5E3FA9), UINT32_C(0x3E101601),
10817           UINT32_C(0x30FF0918), UINT32_C(0x2706E77C)}},
10818         {{UINT32_C(0x72A7CB9F), UINT32_C(0x1BD1274F), UINT32_C(0x0622DB90),
10819           UINT32_C(0x8B60357A), UINT32_C(0x2151BB23), UINT32_C(0x0140E14A),
10820           UINT32_C(0xE9A30C4C), UINT32_C(0x358D7DDA)},
10821          {UINT32_C(0x89BFB2C6), UINT32_C(0x3B153060), UINT32_C(0xB6757C69),
10822           UINT32_C(0x47462C79), UINT32_C(0xB43EF986), UINT32_C(0x2B22239D),
10823           UINT32_C(0x0B774DE3), UINT32_C(0x6793671F)}},
10824         {{UINT32_C(0xF6F8EDC6), UINT32_C(0x99EDB02E), UINT32_C(0xC4257DD9),
10825           UINT32_C(0x24432760), UINT32_C(0x0336EED2), UINT32_C(0x4FDD7301),
10826           UINT32_C(0xF6C6506B), UINT32_C(0x44879709)},
10827          {UINT32_C(0x13F18D89), UINT32_C(0x107C7DE2), UINT32_C(0xA5701FBD),
10828           UINT32_C(0x71C71DFB), UINT32_C(0xC7DE3E0B), UINT32_C(0x97017E24),
10829           UINT32_C(0xFC9EDDC2), UINT32_C(0x0F8D7E09)}},
10830         {{UINT32_C(0x3897E01D), UINT32_C(0x7A0BB3B1), UINT32_C(0xC5892BDE),
10831           UINT32_C(0x7FD4F504), UINT32_C(0xAB752928), UINT32_C(0x2EA9AA77),
10832           UINT32_C(0x9078B466), UINT32_C(0x19A82F55)},
10833          {UINT32_C(0x55A0F0D9), UINT32_C(0xEF2842C5), UINT32_C(0x15B6F2B4),
10834           UINT32_C(0x5501EEE9), UINT32_C(0x942AA4B4), UINT32_C(0x9665EA6F),
10835           UINT32_C(0x0E707C32), UINT32_C(0x015F41F4)}},
10836         {{UINT32_C(0x9C6B6FD6), UINT32_C(0x1B4D6A91), UINT32_C(0x68217AFC),
10837           UINT32_C(0xCFD2CEE9), UINT32_C(0xBBC9284D), UINT32_C(0xC5076256),
10838           UINT32_C(0xAC36547B), UINT32_C(0x4C7F4EEF)},
10839          {UINT32_C(0x65EE1907), UINT32_C(0xAB1AAD2C), UINT32_C(0xBAC25425),
10840           UINT32_C(0xBCFE8C77), UINT32_C(0xC9048A35), UINT32_C(0x38BA0F85),
10841           UINT32_C(0x60A035F6), UINT32_C(0x300E6AC4)}},
10842         {{UINT32_C(0x34707CC6), UINT32_C(0xA8EDBC5E), UINT32_C(0x56ADFC16),
10843           UINT32_C(0x3DA6BC51), UINT32_C(0xCA8B6F3F), UINT32_C(0x5C7CB5E1),
10844           UINT32_C(0x2D612DFA), UINT32_C(0x76E4A028)},
10845          {UINT32_C(0x64F49D39), UINT32_C(0x75AB66FD), UINT32_C(0xC387A739),
10846           UINT32_C(0x5AF9879D), UINT32_C(0x3E9EDBCF), UINT32_C(0x83964808),
10847           UINT32_C(0x7F4C4FFE), UINT32_C(0x555D8BBD)}},
10848         {{UINT32_C(0x3C5590B0), UINT32_C(0xAAE8A2FE), UINT32_C(0x8AB34213),
10849           UINT32_C(0x461C6CCC), UINT32_C(0x9E719B77), UINT32_C(0xB2F3E822),
10850           UINT32_C(0x663188BB), UINT32_C(0x25B8FCA8)},
10851          {UINT32_C(0x72548131), UINT32_C(0xAA7A047B), UINT32_C(0x189FA6F0),
10852           UINT32_C(0x0878FFEE), UINT32_C(0xCE3E17C3), UINT32_C(0x9E7FB402),
10853           UINT32_C(0x44418277), UINT32_C(0x6F260D93)}},
10854         {{UINT32_C(0xB703B647), UINT32_C(0x0EF1C290), UINT32_C(0x651673E4),
10855           UINT32_C(0x995009FA), UINT32_C(0xBE46362D), UINT32_C(0x661F76D7),
10856           UINT32_C(0x23E56E7A), UINT32_C(0x74B00FD1)},
10857          {UINT32_C(0xA1A50E4B), UINT32_C(0x9557D0AB), UINT32_C(0x587688CE),
10858           UINT32_C(0xC5A1CF95), UINT32_C(0x7AE08ECA), UINT32_C(0x2A14D1B2),
10859           UINT32_C(0x3C23D507), UINT32_C(0x2DA8816C)}},
10860         {{UINT32_C(0xB9934883), UINT32_C(0x51CB405F), UINT32_C(0x01A6864B),
10861           UINT32_C(0xC99A67D4), UINT32_C(0x6CDFFFC3), UINT32_C(0xCCF62233),
10862           UINT32_C(0x98FE0B79), UINT32_C(0x2938F9F9)},
10863          {UINT32_C(0x39A5AA28), UINT32_C(0x77666911), UINT32_C(0x2427BFC0),
10864           UINT32_C(0xDF56CBB5), UINT32_C(0x189EB66D), UINT32_C(0xA39BE968),
10865           UINT32_C(0xA64FD2AB), UINT32_C(0x71E6E105)}},
10866         {{UINT32_C(0x60F9D20B), UINT32_C(0xA0C6F795), UINT32_C(0x765670CC),
10867           UINT32_C(0xE06DC8BB), UINT32_C(0xA67275E0), UINT32_C(0x9FA1DD58),
10868           UINT32_C(0xE2D23BBB), UINT32_C(0x0F7F670D)},
10869          {UINT32_C(0x33FB15EA), UINT32_C(0xF8F07CF3), UINT32_C(0x723A0271),
10870           UINT32_C(0x1D09B592), UINT32_C(0x4E6FCAAB), UINT32_C(0xF1402923),
10871           UINT32_C(0xAE301940), UINT32_C(0x05BE1273)}},
10872         {{UINT32_C(0x114AFD1E), UINT32_C(0x2D83906C), UINT32_C(0xC88E5761),
10873           UINT32_C(0x091474FD), UINT32_C(0xEF9E4F9B), UINT32_C(0xAFF18EEB),
10874           UINT32_C(0xF4E646ED), UINT32_C(0x136ECAE5)},
10875          {UINT32_C(0xEB01808F), UINT32_C(0xEF4526D0), UINT32_C(0x940C0AEC),
10876           UINT32_C(0x3923EBBA), UINT32_C(0xA437F460), UINT32_C(0xAB34160C),
10877           UINT32_C(0x421AD57C), UINT32_C(0x7A46966E)}},
10878     }};
10879
10880 /*-
10881  * Q := 2P, both projective, Q and P same pointers OK
10882  * Autogenerated: op3/dbl_proj_any.op3
10883  * https://eprint.iacr.org/2015/1060 Alg 3
10884  */
10885 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
10886     /* temporary variables */
10887     fe_t t0, t1, t2, t3, t4;
10888     /* constants */
10889     const limb_t *a = const_a;
10890     const limb_t *b3 = const_b3;
10891     /* set pointers for legacy curve arith */
10892     const limb_t *X = P->X;
10893     const limb_t *Y = P->Y;
10894     const limb_t *Z = P->Z;
10895     limb_t *X3 = Q->X;
10896     limb_t *Y3 = Q->Y;
10897     limb_t *Z3 = Q->Z;
10898
10899     /* the curve arith formula */
10900     fiat_id_GostR3410_2001_TestParamSet_square(t0, X);
10901     fiat_id_GostR3410_2001_TestParamSet_square(t1, Y);
10902     fiat_id_GostR3410_2001_TestParamSet_square(t2, Z);
10903     fiat_id_GostR3410_2001_TestParamSet_mul(t3, X, Y);
10904     fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, t3);
10905     fiat_id_GostR3410_2001_TestParamSet_mul(t4, Y, Z);
10906     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, X, Z);
10907     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
10908     fiat_id_GostR3410_2001_TestParamSet_mul(X3, a, Z3);
10909     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, b3, t2);
10910     fiat_id_GostR3410_2001_TestParamSet_add(Y3, X3, Y3);
10911     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Y3);
10912     fiat_id_GostR3410_2001_TestParamSet_add(Y3, t1, Y3);
10913     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Y3);
10914     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
10915     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, b3, Z3);
10916     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
10917     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t0, t2);
10918     fiat_id_GostR3410_2001_TestParamSet_mul(t3, a, t3);
10919     fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, Z3);
10920     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t0, t0);
10921     fiat_id_GostR3410_2001_TestParamSet_add(t0, Z3, t0);
10922     fiat_id_GostR3410_2001_TestParamSet_add(t0, t0, t2);
10923     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t0, t3);
10924     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
10925     fiat_id_GostR3410_2001_TestParamSet_add(t2, t4, t4);
10926     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t2, t3);
10927     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
10928     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t2, t1);
10929     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
10930     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
10931 }
10932
10933 /*-
10934  * R := Q + P where R and Q are projective, P affine.
10935  * R and Q same pointers OK
10936  * R and P same pointers not OK
10937  * Autogenerated: op3/add_mixed_any.op3
10938  * https://eprint.iacr.org/2015/1060 Alg 2
10939  */
10940 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
10941     /* temporary variables */
10942     fe_t t0, t1, t2, t3, t4, t5;
10943     /* constants */
10944     const limb_t *a = const_a;
10945     const limb_t *b3 = const_b3;
10946     /* set pointers for legacy curve arith */
10947     const limb_t *X1 = Q->X;
10948     const limb_t *Y1 = Q->Y;
10949     const limb_t *Z1 = Q->Z;
10950     const limb_t *X2 = P->X;
10951     const limb_t *Y2 = P->Y;
10952     fe_t X3;
10953     fe_t Y3;
10954     fe_t Z3;
10955     limb_t nz;
10956
10957     /* check P for affine inf */
10958     fiat_id_GostR3410_2001_TestParamSet_nonzero(&nz, P->Y);
10959
10960     /* the curve arith formula */
10961     fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
10962     fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
10963     fiat_id_GostR3410_2001_TestParamSet_add(t3, X2, Y2);
10964     fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Y1);
10965     fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
10966     fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
10967     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
10968     fiat_id_GostR3410_2001_TestParamSet_mul(t4, X2, Z1);
10969     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, X1);
10970     fiat_id_GostR3410_2001_TestParamSet_mul(t5, Y2, Z1);
10971     fiat_id_GostR3410_2001_TestParamSet_add(t5, t5, Y1);
10972     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
10973     fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, Z1);
10974     fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
10975     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
10976     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
10977     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
10978     fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
10979     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
10980     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, Z1);
10981     fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
10982     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
10983     fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
10984     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
10985     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
10986     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
10987     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
10988     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
10989     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
10990     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
10991     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
10992     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
10993     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
10994
10995     /* if P is inf, throw all that away and take Q */
10996     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->X, nz, Q->X, X3);
10997     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Y, nz, Q->Y, Y3);
10998     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Z, nz, Q->Z, Z3);
10999 }
11000
11001 /*-
11002  * R := Q + P all projective.
11003  * R and Q same pointers OK
11004  * R and P same pointers not OK
11005  * Autogenerated: op3/add_proj_any.op3
11006  * https://eprint.iacr.org/2015/1060 Alg 1
11007  */
11008 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
11009     /* temporary variables */
11010     fe_t t0, t1, t2, t3, t4, t5;
11011     /* constants */
11012     const limb_t *a = const_a;
11013     const limb_t *b3 = const_b3;
11014     /* set pointers for legacy curve arith */
11015     const limb_t *X1 = Q->X;
11016     const limb_t *Y1 = Q->Y;
11017     const limb_t *Z1 = Q->Z;
11018     const limb_t *X2 = P->X;
11019     const limb_t *Y2 = P->Y;
11020     const limb_t *Z2 = P->Z;
11021     limb_t *X3 = R->X;
11022     limb_t *Y3 = R->Y;
11023     limb_t *Z3 = R->Z;
11024
11025     /* the curve arith formula */
11026     fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
11027     fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
11028     fiat_id_GostR3410_2001_TestParamSet_mul(t2, Z1, Z2);
11029     fiat_id_GostR3410_2001_TestParamSet_add(t3, X1, Y1);
11030     fiat_id_GostR3410_2001_TestParamSet_add(t4, X2, Y2);
11031     fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
11032     fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
11033     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
11034     fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Z1);
11035     fiat_id_GostR3410_2001_TestParamSet_add(t5, X2, Z2);
11036     fiat_id_GostR3410_2001_TestParamSet_mul(t4, t4, t5);
11037     fiat_id_GostR3410_2001_TestParamSet_add(t5, t0, t2);
11038     fiat_id_GostR3410_2001_TestParamSet_sub(t4, t4, t5);
11039     fiat_id_GostR3410_2001_TestParamSet_add(t5, Y1, Z1);
11040     fiat_id_GostR3410_2001_TestParamSet_add(X3, Y2, Z2);
11041     fiat_id_GostR3410_2001_TestParamSet_mul(t5, t5, X3);
11042     fiat_id_GostR3410_2001_TestParamSet_add(X3, t1, t2);
11043     fiat_id_GostR3410_2001_TestParamSet_sub(t5, t5, X3);
11044     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
11045     fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, t2);
11046     fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
11047     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
11048     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
11049     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
11050     fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
11051     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
11052     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
11053     fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
11054     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
11055     fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
11056     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
11057     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
11058     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
11059     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
11060     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
11061     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
11062     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
11063     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
11064     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
11065     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
11066 }
11067
11068 /* constants */
11069 #define RADIX 5
11070 #define DRADIX (1 << RADIX)
11071 #define DRADIX_WNAF ((DRADIX) << 1)
11072
11073 /*-
11074  * precomp for wnaf scalar multiplication:
11075  * precomp[0] = 1P
11076  * precomp[1] = 3P
11077  * precomp[2] = 5P
11078  * precomp[3] = 7P
11079  * precomp[4] = 9P
11080  * ...
11081  */
11082 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
11083     int i;
11084
11085     fe_copy(precomp[0].X, P->X);
11086     fe_copy(precomp[0].Y, P->Y);
11087     fe_copy(precomp[0].Z, const_one);
11088     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
11089
11090     for (i = 1; i < DRADIX / 2; i++)
11091         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
11092 }
11093
11094 /* fetch a scalar bit */
11095 static int scalar_get_bit(const unsigned char in[32], int idx) {
11096     int widx, rshift;
11097
11098     widx = idx >> 3;
11099     rshift = idx & 0x7;
11100
11101     if (idx < 0 || widx >= 32) return 0;
11102
11103     return (in[widx] >> rshift) & 0x1;
11104 }
11105
11106 /*-
11107  * Compute "regular" wnaf representation of a scalar.
11108  * See "Exponent Recoding and Regular Exponentiation Algorithms",
11109  * Tunstall et al., AfricaCrypt 2009, Alg 6.
11110  * It forces an odd scalar and outputs digits in
11111  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
11112  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
11113  */
11114 static void scalar_rwnaf(char out[52], const unsigned char in[32]) {
11115     int i;
11116     char window, d;
11117
11118     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
11119     for (i = 0; i < 51; i++) {
11120         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
11121         out[i] = d;
11122         window = (window - d) >> RADIX;
11123         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
11124         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
11125         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
11126         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
11127         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
11128     }
11129     out[i] = window;
11130 }
11131
11132 /*-
11133  * Compute "textbook" wnaf representation of a scalar.
11134  * NB: not constant time
11135  */
11136 static void scalar_wnaf(char out[257], const unsigned char in[32]) {
11137     int i;
11138     char window, d;
11139
11140     window = in[0] & (DRADIX_WNAF - 1);
11141     for (i = 0; i < 257; i++) {
11142         d = 0;
11143         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
11144             d -= DRADIX_WNAF;
11145         out[i] = d;
11146         window = (window - d) >> 1;
11147         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
11148     }
11149 }
11150
11151 /*-
11152  * Simulateous scalar multiplication: interleaved "textbook" wnaf.
11153  * NB: not constant time
11154  */
11155 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
11156                               const unsigned char b[32], const pt_aff_t *P) {
11157     int i, d, is_neg, is_inf = 1, flipped = 0;
11158     char anaf[257] = {0};
11159     char bnaf[257] = {0};
11160     pt_prj_t Q;
11161     pt_prj_t precomp[DRADIX / 2];
11162
11163     precomp_wnaf(precomp, P);
11164     scalar_wnaf(anaf, a);
11165     scalar_wnaf(bnaf, b);
11166
11167     for (i = 256; i >= 0; i--) {
11168         if (!is_inf) point_double(&Q, &Q);
11169         if ((d = bnaf[i])) {
11170             if ((is_neg = d < 0) != flipped) {
11171                 fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
11172                 flipped ^= 1;
11173             }
11174             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
11175             if (is_inf) {
11176                 /* initialize accumulator */
11177                 fe_copy(Q.X, &precomp[d].X);
11178                 fe_copy(Q.Y, &precomp[d].Y);
11179                 fe_copy(Q.Z, &precomp[d].Z);
11180                 is_inf = 0;
11181             } else
11182                 point_add_proj(&Q, &Q, &precomp[d]);
11183         }
11184         if ((d = anaf[i])) {
11185             if ((is_neg = d < 0) != flipped) {
11186                 fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
11187                 flipped ^= 1;
11188             }
11189             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
11190             if (is_inf) {
11191                 /* initialize accumulator */
11192                 fe_copy(Q.X, &lut_cmb[0][d].X);
11193                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
11194                 fe_copy(Q.Z, const_one);
11195                 is_inf = 0;
11196             } else
11197                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
11198         }
11199     }
11200
11201     if (is_inf) {
11202         /* initialize accumulator to inf: all-zero scalars */
11203         fe_set_zero(Q.X);
11204         fe_copy(Q.Y, const_one);
11205         fe_set_zero(Q.Z);
11206     }
11207
11208     if (flipped) {
11209         /* correct sign */
11210         fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
11211     }
11212
11213     /* convert to affine -- NB depends on coordinate system */
11214     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
11215     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
11216     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
11217 }
11218
11219 /*-
11220  * Variable point scalar multiplication with "regular" wnaf.
11221  */
11222 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
11223                            const pt_aff_t *P) {
11224     int i, j, d, diff, is_neg;
11225     char rnaf[52] = {0};
11226     pt_prj_t Q, lut;
11227     pt_prj_t precomp[DRADIX / 2];
11228
11229     precomp_wnaf(precomp, P);
11230     scalar_rwnaf(rnaf, scalar);
11231
11232 #if defined(_MSC_VER)
11233     /* result still unsigned: yes we know */
11234 #pragma warning(push)
11235 #pragma warning(disable : 4146)
11236 #endif
11237
11238     /* initialize accumulator to high digit */
11239     d = (rnaf[51] - 1) >> 1;
11240     for (j = 0; j < DRADIX / 2; j++) {
11241         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
11242         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, diff, Q.X,
11243                                                       precomp[j].X);
11244         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, diff, Q.Y,
11245                                                       precomp[j].Y);
11246         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, diff, Q.Z,
11247                                                       precomp[j].Z);
11248     }
11249
11250     for (i = 50; i >= 0; i--) {
11251         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
11252         d = rnaf[i];
11253         /* is_neg = (d < 0) ? 1 : 0 */
11254         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
11255         /* d = abs(d) */
11256         d = (d ^ -is_neg) + is_neg;
11257         d = (d - 1) >> 1;
11258         for (j = 0; j < DRADIX / 2; j++) {
11259             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
11260             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.X, diff, lut.X,
11261                                                           precomp[j].X);
11262             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, diff, lut.Y,
11263                                                           precomp[j].Y);
11264             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Z, diff, lut.Z,
11265                                                           precomp[j].Z);
11266         }
11267         /* negate lut point if digit is negative */
11268         fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
11269         fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
11270                                                       out->Y);
11271         point_add_proj(&Q, &Q, &lut);
11272     }
11273
11274 #if defined(_MSC_VER)
11275 #pragma warning(pop)
11276 #endif
11277
11278     /* conditionally subtract P if the scalar was even */
11279     fe_copy(lut.X, precomp[0].X);
11280     fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, precomp[0].Y);
11281     fe_copy(lut.Z, precomp[0].Z);
11282     point_add_proj(&lut, &lut, &Q);
11283     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, lut.X,
11284                                                   Q.X);
11285     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, lut.Y,
11286                                                   Q.Y);
11287     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, lut.Z,
11288                                                   Q.Z);
11289
11290     /* convert to affine -- NB depends on coordinate system */
11291     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
11292     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
11293     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
11294 }
11295
11296 /*-
11297  * Fixed scalar multiplication: comb with interleaving.
11298  */
11299 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
11300     int i, j, k, d, diff, is_neg = 0;
11301     char rnaf[52] = {0};
11302     pt_prj_t Q, R;
11303     pt_aff_t lut;
11304
11305     scalar_rwnaf(rnaf, scalar);
11306
11307     /* initalize accumulator to inf */
11308     fe_set_zero(Q.X);
11309     fe_copy(Q.Y, const_one);
11310     fe_set_zero(Q.Z);
11311
11312 #if defined(_MSC_VER)
11313     /* result still unsigned: yes we know */
11314 #pragma warning(push)
11315 #pragma warning(disable : 4146)
11316 #endif
11317
11318     for (i = 1; i >= 0; i--) {
11319         for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
11320         for (j = 0; j < 27; j++) {
11321             if (j * 2 + i > 51) continue;
11322             d = rnaf[j * 2 + i];
11323             /* is_neg = (d < 0) ? 1 : 0 */
11324             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
11325             /* d = abs(d) */
11326             d = (d ^ -is_neg) + is_neg;
11327             d = (d - 1) >> 1;
11328             for (k = 0; k < DRADIX / 2; k++) {
11329                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
11330                 fiat_id_GostR3410_2001_TestParamSet_selectznz(
11331                     lut.X, diff, lut.X, lut_cmb[j][k].X);
11332                 fiat_id_GostR3410_2001_TestParamSet_selectznz(
11333                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
11334             }
11335             /* negate lut point if digit is negative */
11336             fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
11337             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
11338                                                           out->Y);
11339             point_add_mixed(&Q, &Q, &lut);
11340         }
11341     }
11342
11343 #if defined(_MSC_VER)
11344 #pragma warning(pop)
11345 #endif
11346
11347     /* conditionally subtract P if the scalar was even */
11348     fe_copy(lut.X, lut_cmb[0][0].X);
11349     fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, lut_cmb[0][0].Y);
11350     point_add_mixed(&R, &Q, &lut);
11351     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, R.X, Q.X);
11352     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, R.Y, Q.Y);
11353     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, R.Z, Q.Z);
11354
11355     /* convert to affine -- NB depends on coordinate system */
11356     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
11357     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
11358     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
11359 }
11360
11361 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
11362                           const unsigned char a[32], const unsigned char b[32],
11363                           const unsigned char inx[32],
11364                           const unsigned char iny[32]) {
11365     pt_aff_t P;
11366
11367     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
11368     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
11369     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
11370     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
11371     /* simultaneous scalar multiplication */
11372     var_smul_wnaf_two(&P, a, b, &P);
11373
11374     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
11375     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
11376     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
11377     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
11378 }
11379
11380 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
11381                         const unsigned char scalar[32]) {
11382     pt_aff_t P;
11383
11384     /* fixed scmul function */
11385     fixed_smul_cmb(&P, scalar);
11386     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
11387     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
11388     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
11389     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
11390 }
11391
11392 static void point_mul(unsigned char outx[32], unsigned char outy[32],
11393                       const unsigned char scalar[32],
11394                       const unsigned char inx[32],
11395                       const unsigned char iny[32]) {
11396     pt_aff_t P;
11397
11398     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
11399     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
11400     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
11401     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
11402     /* var scmul function */
11403     var_smul_rwnaf(&P, scalar, &P);
11404     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
11405     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
11406     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
11407     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
11408 }
11409
11410 #include <openssl/ec.h>
11411
11412 static const unsigned char const_zb[32] = {0};
11413
11414     int
11415     point_mul_two_id_GostR3410_2001_TestParamSet(const EC_GROUP *group,
11416                                                  EC_POINT *r, const BIGNUM *n,
11417                                                  const EC_POINT *q,
11418                                                  const BIGNUM *m, BN_CTX *ctx) {
11419     int ret = 0;
11420     unsigned char b_x[32];
11421     unsigned char b_y[32];
11422     unsigned char b_n[32];
11423     unsigned char b_m[32];
11424     BIGNUM *x = NULL, *y = NULL;
11425
11426     BN_CTX_start(ctx);
11427     x = BN_CTX_get(ctx);
11428     if ((y = BN_CTX_get(ctx)) == NULL
11429         /* pull out coords as bytes */
11430         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
11431         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
11432         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
11433         goto err;
11434     /* do the simultaneous scalar multiplication */
11435     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
11436     /* check for infinity */
11437     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
11438         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
11439         if (!EC_POINT_set_to_infinity(group, r)) goto err;
11440     } else {
11441         /* otherwise, pack the bytes into the result */
11442         if (BN_lebin2bn(b_x, 32, x) == NULL ||
11443             BN_lebin2bn(b_y, 32, y) == NULL ||
11444             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
11445             goto err;
11446     }
11447     ret = 1;
11448 err:
11449     BN_CTX_end(ctx);
11450     return ret;
11451 }
11452
11453     int
11454     point_mul_id_GostR3410_2001_TestParamSet(const EC_GROUP *group, EC_POINT *r,
11455                                              const EC_POINT *q, const BIGNUM *m,
11456                                              BN_CTX *ctx) {
11457     int ret = 0;
11458     unsigned char b_x[32];
11459     unsigned char b_y[32];
11460     unsigned char b_m[32];
11461     BIGNUM *x = NULL, *y = NULL;
11462
11463     BN_CTX_start(ctx);
11464     x = BN_CTX_get(ctx);
11465     if ((y = BN_CTX_get(ctx)) == NULL
11466         /* pull out coords as bytes */
11467         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
11468         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
11469         BN_bn2lebinpad(m, b_m, 32) != 32)
11470         goto err;
11471     /* do the variable scalar multiplication */
11472     point_mul(b_x, b_y, b_m, b_x, b_y);
11473     /* check for infinity */
11474     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
11475         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
11476         if (!EC_POINT_set_to_infinity(group, r)) goto err;
11477     } else {
11478         /* otherwise, pack the bytes into the result */
11479         if (BN_lebin2bn(b_x, 32, x) == NULL ||
11480             BN_lebin2bn(b_y, 32, y) == NULL ||
11481             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
11482             goto err;
11483     }
11484     ret = 1;
11485 err:
11486     BN_CTX_end(ctx);
11487     return ret;
11488 }
11489
11490     int
11491     point_mul_g_id_GostR3410_2001_TestParamSet(const EC_GROUP *group,
11492                                                EC_POINT *r, const BIGNUM *n,
11493                                                BN_CTX *ctx) {
11494     int ret = 0;
11495     unsigned char b_x[32];
11496     unsigned char b_y[32];
11497     unsigned char b_n[32];
11498     BIGNUM *x = NULL, *y = NULL;
11499
11500     BN_CTX_start(ctx);
11501     x = BN_CTX_get(ctx);
11502     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
11503         goto err;
11504     /* do the fixed scalar multiplication */
11505     point_mul_g(b_x, b_y, b_n);
11506     /* check for infinity */
11507     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
11508         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
11509         if (!EC_POINT_set_to_infinity(group, r)) goto err;
11510     } else {
11511         /* otherwise, pack the bytes into the result */
11512         if (BN_lebin2bn(b_x, 32, x) == NULL ||
11513             BN_lebin2bn(b_y, 32, y) == NULL ||
11514             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
11515             goto err;
11516     }
11517     ret = 1;
11518 err:
11519     BN_CTX_end(ctx);
11520     return ret;
11521 }
11522
11523
11524
11525 #endif /* __SIZEOF_INT128__ */