]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - ecp_id_GostR3410_2001_CryptoPro_C_ParamSet.c
Refactor little-to-big-endian subroutine for magma
[openssl-gost/engine.git] / ecp_id_GostR3410_2001_CryptoPro_C_ParamSet.c
1 /* Autogenerated: ECCKiila https://gitlab.com/nisec/ecckiila */
2 /*-
3  * MIT License
4  * 
5  * Copyright (c) 2020 Luis Rivera-Zamarripa, Jesús-Javier Chi-Domínguez, Billy Bob Brumley
6  * 
7  * Permission is hereby granted, free of charge, to any person obtaining a copy
8  * of this software and associated documentation files (the "Software"), to deal
9  * in the Software without restriction, including without limitation the rights
10  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11  * copies of the Software, and to permit persons to whom the Software is
12  * furnished to do so, subject to the following conditions:
13  * 
14  * The above copyright notice and this permission notice shall be included in all
15  * copies or substantial portions of the Software.
16  * 
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23  * SOFTWARE.
24  */
25 #if defined(__SIZEOF_INT128__) && !defined(PEDANTIC)
26
27 #include <stdint.h>
28 #include <string.h>
29 #define LIMB_BITS 64
30 #define LIMB_CNT 4
31 /* Field elements */
32 typedef uint64_t fe_t[LIMB_CNT];
33 typedef uint64_t limb_t;
34
35 #ifdef OPENSSL_NO_ASM
36 #define FIAT_ID_GOSTR3410_2001_CRYPTOPRO_C_PARAMSET_NO_ASM
37 #endif
38
39 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
40 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
41
42 /* Projective points */
43 typedef struct {
44     fe_t X;
45     fe_t Y;
46     fe_t Z;
47 } pt_prj_t;
48
49 /* Affine points */
50 typedef struct {
51     fe_t X;
52     fe_t Y;
53 } pt_aff_t;
54
55 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
56 /*-
57  * MIT License
58  *
59  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
60  *
61  * Permission is hereby granted, free of charge, to any person obtaining a copy
62  * of this software and associated documentation files (the "Software"), to deal
63  * in the Software without restriction, including without limitation the rights
64  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
65  * copies of the Software, and to permit persons to whom the Software is
66  * furnished to do so, subject to the following conditions:
67  *
68  * The above copyright notice and this permission notice shall be included in
69  * all copies or substantial portions of the Software.
70  *
71  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
72  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
73  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
74  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
75  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
76  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
77  * SOFTWARE.
78  */
79
80 /* Autogenerated: word_by_word_montgomery --static --use-value-barrier id_GostR3410_2001_CryptoPro_C_ParamSet 64 0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B */
81 /* curve description: id_GostR3410_2001_CryptoPro_C_ParamSet */
82 /* machine_wordsize = 64 (from "64") */
83 /* requested operations: (all) */
84 /* m = 0x9b9f605f5a858107ab1ec85e6b41c8aacf846e86789051d37998f7b9022d759b (from "0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B") */
85 /*                                                                    */
86 /* NOTE: In addition to the bounds specified above each function, all */
87 /*   functions synthesized for this Montgomery arithmetic require the */
88 /*   input to be strictly less than the prime modulus (m), and also   */
89 /*   require the input to be in the unique saturated representation.  */
90 /*   All functions also ensure that these two properties are true of  */
91 /*   return values.                                                   */
92 /*  */
93 /* Computed values: */
94 /* eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) */
95 /* bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) + (z[28] << 224) + (z[29] << 232) + (z[30] << 240) + (z[31] << 248) */
96
97 #include <stdint.h>
98 typedef unsigned char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1;
99 typedef signed char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1;
100 typedef signed __int128 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int128;
101 typedef unsigned __int128 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128;
102
103 #if (-1 & 3) != 3
104 #error "This code only works on a two's complement system"
105 #endif
106
107 #if !defined(FIAT_ID_GOSTR3410_2001_CRYPTOPRO_C_PARAMSET_NO_ASM) && \
108     (defined(__GNUC__) || defined(__clang__))
109 static __inline__ uint64_t
110 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_value_barrier_u64(uint64_t a) {
111     __asm__("" : "+r"(a) : /* no inputs */);
112     return a;
113 }
114 #else
115 #define fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_value_barrier_u64(x) (x)
116 #endif
117
118 /*
119  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64 is an addition with carry.
120  * Postconditions:
121  *   out1 = (arg1 + arg2 + arg3) mod 2^64
122  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^64⌋
123  *
124  * Input Bounds:
125  *   arg1: [0x0 ~> 0x1]
126  *   arg2: [0x0 ~> 0xffffffffffffffff]
127  *   arg3: [0x0 ~> 0xffffffffffffffff]
128  * Output Bounds:
129  *   out1: [0x0 ~> 0xffffffffffffffff]
130  *   out2: [0x0 ~> 0x1]
131  */
132 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
133     uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
134     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint64_t arg2,
135     uint64_t arg3) {
136     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128 x1;
137     uint64_t x2;
138     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x3;
139     x1 = ((arg1 + (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128)arg2) +
140           arg3);
141     x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
142     x3 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(x1 >> 64);
143     *out1 = x2;
144     *out2 = x3;
145 }
146
147 /*
148  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64 is a subtraction with borrow.
149  * Postconditions:
150  *   out1 = (-arg1 + arg2 + -arg3) mod 2^64
151  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^64⌋
152  *
153  * Input Bounds:
154  *   arg1: [0x0 ~> 0x1]
155  *   arg2: [0x0 ~> 0xffffffffffffffff]
156  *   arg3: [0x0 ~> 0xffffffffffffffff]
157  * Output Bounds:
158  *   out1: [0x0 ~> 0xffffffffffffffff]
159  *   out2: [0x0 ~> 0x1]
160  */
161 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
162     uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
163     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint64_t arg2,
164     uint64_t arg3) {
165     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int128 x1;
166     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1 x2;
167     uint64_t x3;
168     x1 = ((arg2 - (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int128)arg1) -
169           arg3);
170     x2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(x1 >> 64);
171     x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
172     *out1 = x3;
173     *out2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(0x0 - x2);
174 }
175
176 /*
177  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64 is a multiplication, returning the full double-width result.
178  * Postconditions:
179  *   out1 = (arg1 * arg2) mod 2^64
180  *   out2 = ⌊arg1 * arg2 / 2^64⌋
181  *
182  * Input Bounds:
183  *   arg1: [0x0 ~> 0xffffffffffffffff]
184  *   arg2: [0x0 ~> 0xffffffffffffffff]
185  * Output Bounds:
186  *   out1: [0x0 ~> 0xffffffffffffffff]
187  *   out2: [0x0 ~> 0xffffffffffffffff]
188  */
189 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
190     uint64_t *out1, uint64_t *out2, uint64_t arg1, uint64_t arg2) {
191     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128 x1;
192     uint64_t x2;
193     uint64_t x3;
194     x1 = ((fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128)arg1 * arg2);
195     x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
196     x3 = (uint64_t)(x1 >> 64);
197     *out1 = x2;
198     *out2 = x3;
199 }
200
201 /*
202  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64 is a single-word conditional move.
203  * Postconditions:
204  *   out1 = (if arg1 = 0 then arg2 else arg3)
205  *
206  * Input Bounds:
207  *   arg1: [0x0 ~> 0x1]
208  *   arg2: [0x0 ~> 0xffffffffffffffff]
209  *   arg3: [0x0 ~> 0xffffffffffffffff]
210  * Output Bounds:
211  *   out1: [0x0 ~> 0xffffffffffffffff]
212  */
213 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
214     uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
215     uint64_t arg2, uint64_t arg3) {
216     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x1;
217     uint64_t x2;
218     uint64_t x3;
219     x1 = (!(!arg1));
220     x2 = ((fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(0x0 - x1) &
221           UINT64_C(0xffffffffffffffff));
222     x3 =
223         ((fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_value_barrier_u64(x2) &
224           arg3) |
225          (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_value_barrier_u64((~x2)) &
226           arg2));
227     *out1 = x3;
228 }
229
230 /*
231  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul multiplies two field elements in the Montgomery domain.
232  * Preconditions:
233  *   0 ≤ eval arg1 < m
234  *   0 ≤ eval arg2 < m
235  * Postconditions:
236  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
237  *   0 ≤ eval out1 < m
238  *
239  * Input Bounds:
240  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
241  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
242  * Output Bounds:
243  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
244  */
245 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(
246     uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
247     uint64_t x1;
248     uint64_t x2;
249     uint64_t x3;
250     uint64_t x4;
251     uint64_t x5;
252     uint64_t x6;
253     uint64_t x7;
254     uint64_t x8;
255     uint64_t x9;
256     uint64_t x10;
257     uint64_t x11;
258     uint64_t x12;
259     uint64_t x13;
260     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
261     uint64_t x15;
262     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
263     uint64_t x17;
264     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x18;
265     uint64_t x19;
266     uint64_t x20;
267     uint64_t x21;
268     uint64_t x22;
269     uint64_t x23;
270     uint64_t x24;
271     uint64_t x25;
272     uint64_t x26;
273     uint64_t x27;
274     uint64_t x28;
275     uint64_t x29;
276     uint64_t x30;
277     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
278     uint64_t x32;
279     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
280     uint64_t x34;
281     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x35;
282     uint64_t x36;
283     uint64_t x37;
284     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
285     uint64_t x39;
286     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x40;
287     uint64_t x41;
288     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x42;
289     uint64_t x43;
290     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x44;
291     uint64_t x45;
292     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x46;
293     uint64_t x47;
294     uint64_t x48;
295     uint64_t x49;
296     uint64_t x50;
297     uint64_t x51;
298     uint64_t x52;
299     uint64_t x53;
300     uint64_t x54;
301     uint64_t x55;
302     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x56;
303     uint64_t x57;
304     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x58;
305     uint64_t x59;
306     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x60;
307     uint64_t x61;
308     uint64_t x62;
309     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
310     uint64_t x64;
311     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
312     uint64_t x66;
313     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
314     uint64_t x68;
315     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
316     uint64_t x70;
317     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x71;
318     uint64_t x72;
319     uint64_t x73;
320     uint64_t x74;
321     uint64_t x75;
322     uint64_t x76;
323     uint64_t x77;
324     uint64_t x78;
325     uint64_t x79;
326     uint64_t x80;
327     uint64_t x81;
328     uint64_t x82;
329     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x83;
330     uint64_t x84;
331     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x85;
332     uint64_t x86;
333     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x87;
334     uint64_t x88;
335     uint64_t x89;
336     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
337     uint64_t x91;
338     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x92;
339     uint64_t x93;
340     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x94;
341     uint64_t x95;
342     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x96;
343     uint64_t x97;
344     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x98;
345     uint64_t x99;
346     uint64_t x100;
347     uint64_t x101;
348     uint64_t x102;
349     uint64_t x103;
350     uint64_t x104;
351     uint64_t x105;
352     uint64_t x106;
353     uint64_t x107;
354     uint64_t x108;
355     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x109;
356     uint64_t x110;
357     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x111;
358     uint64_t x112;
359     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x113;
360     uint64_t x114;
361     uint64_t x115;
362     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
363     uint64_t x117;
364     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
365     uint64_t x119;
366     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
367     uint64_t x121;
368     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x122;
369     uint64_t x123;
370     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x124;
371     uint64_t x125;
372     uint64_t x126;
373     uint64_t x127;
374     uint64_t x128;
375     uint64_t x129;
376     uint64_t x130;
377     uint64_t x131;
378     uint64_t x132;
379     uint64_t x133;
380     uint64_t x134;
381     uint64_t x135;
382     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x136;
383     uint64_t x137;
384     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x138;
385     uint64_t x139;
386     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x140;
387     uint64_t x141;
388     uint64_t x142;
389     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x143;
390     uint64_t x144;
391     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x145;
392     uint64_t x146;
393     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x147;
394     uint64_t x148;
395     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x149;
396     uint64_t x150;
397     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x151;
398     uint64_t x152;
399     uint64_t x153;
400     uint64_t x154;
401     uint64_t x155;
402     uint64_t x156;
403     uint64_t x157;
404     uint64_t x158;
405     uint64_t x159;
406     uint64_t x160;
407     uint64_t x161;
408     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x162;
409     uint64_t x163;
410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x164;
411     uint64_t x165;
412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x166;
413     uint64_t x167;
414     uint64_t x168;
415     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
416     uint64_t x170;
417     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
418     uint64_t x172;
419     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x173;
420     uint64_t x174;
421     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x175;
422     uint64_t x176;
423     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x177;
424     uint64_t x178;
425     uint64_t x179;
426     uint64_t x180;
427     uint64_t x181;
428     uint64_t x182;
429     uint64_t x183;
430     uint64_t x184;
431     uint64_t x185;
432     uint64_t x186;
433     uint64_t x187;
434     uint64_t x188;
435     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x189;
436     uint64_t x190;
437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x191;
438     uint64_t x192;
439     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x193;
440     uint64_t x194;
441     uint64_t x195;
442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x196;
443     uint64_t x197;
444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x198;
445     uint64_t x199;
446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x200;
447     uint64_t x201;
448     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x202;
449     uint64_t x203;
450     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x204;
451     uint64_t x205;
452     uint64_t x206;
453     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x207;
454     uint64_t x208;
455     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
456     uint64_t x210;
457     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
458     uint64_t x212;
459     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
460     uint64_t x214;
461     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
462     uint64_t x216;
463     uint64_t x217;
464     uint64_t x218;
465     uint64_t x219;
466     x1 = (arg1[1]);
467     x2 = (arg1[2]);
468     x3 = (arg1[3]);
469     x4 = (arg1[0]);
470     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x5, &x6, x4,
471                                                          (arg2[3]));
472     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x7, &x8, x4,
473                                                          (arg2[2]));
474     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x9, &x10, x4,
475                                                          (arg2[1]));
476     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x11, &x12, x4,
477                                                          (arg2[0]));
478     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x13, &x14, 0x0,
479                                                               x12, x9);
480     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x15, &x16, x14,
481                                                               x10, x7);
482     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x17, &x18, x16,
483                                                               x8, x5);
484     x19 = (x18 + x6);
485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
486         &x20, &x21, x11, UINT64_C(0xdf6e6c2c727c176d));
487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
488         &x22, &x23, x20, UINT64_C(0x9b9f605f5a858107));
489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
490         &x24, &x25, x20, UINT64_C(0xab1ec85e6b41c8aa));
491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
492         &x26, &x27, x20, UINT64_C(0xcf846e86789051d3));
493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
494         &x28, &x29, x20, UINT64_C(0x7998f7b9022d759b));
495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x30, &x31, 0x0,
496                                                               x29, x26);
497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x32, &x33, x31,
498                                                               x27, x24);
499     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x34, &x35, x33,
500                                                               x25, x22);
501     x36 = (x35 + x23);
502     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x37, &x38, 0x0,
503                                                               x11, x28);
504     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x39, &x40, x38,
505                                                               x13, x30);
506     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x41, &x42, x40,
507                                                               x15, x32);
508     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x43, &x44, x42,
509                                                               x17, x34);
510     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x45, &x46, x44,
511                                                               x19, x36);
512     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x47, &x48, x1,
513                                                          (arg2[3]));
514     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x49, &x50, x1,
515                                                          (arg2[2]));
516     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x51, &x52, x1,
517                                                          (arg2[1]));
518     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x53, &x54, x1,
519                                                          (arg2[0]));
520     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x55, &x56, 0x0,
521                                                               x54, x51);
522     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x57, &x58, x56,
523                                                               x52, x49);
524     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x59, &x60, x58,
525                                                               x50, x47);
526     x61 = (x60 + x48);
527     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x62, &x63, 0x0,
528                                                               x39, x53);
529     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x64, &x65, x63,
530                                                               x41, x55);
531     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x66, &x67, x65,
532                                                               x43, x57);
533     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x68, &x69, x67,
534                                                               x45, x59);
535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x70, &x71, x69,
536                                                               x46, x61);
537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
538         &x72, &x73, x62, UINT64_C(0xdf6e6c2c727c176d));
539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
540         &x74, &x75, x72, UINT64_C(0x9b9f605f5a858107));
541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
542         &x76, &x77, x72, UINT64_C(0xab1ec85e6b41c8aa));
543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
544         &x78, &x79, x72, UINT64_C(0xcf846e86789051d3));
545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
546         &x80, &x81, x72, UINT64_C(0x7998f7b9022d759b));
547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x82, &x83, 0x0,
548                                                               x81, x78);
549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x84, &x85, x83,
550                                                               x79, x76);
551     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x86, &x87, x85,
552                                                               x77, x74);
553     x88 = (x87 + x75);
554     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x89, &x90, 0x0,
555                                                               x62, x80);
556     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x91, &x92, x90,
557                                                               x64, x82);
558     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x93, &x94, x92,
559                                                               x66, x84);
560     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x95, &x96, x94,
561                                                               x68, x86);
562     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x97, &x98, x96,
563                                                               x70, x88);
564     x99 = ((uint64_t)x98 + x71);
565     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x100, &x101, x2,
566                                                          (arg2[3]));
567     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x102, &x103, x2,
568                                                          (arg2[2]));
569     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x104, &x105, x2,
570                                                          (arg2[1]));
571     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x106, &x107, x2,
572                                                          (arg2[0]));
573     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x108, &x109, 0x0,
574                                                               x107, x104);
575     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x110, &x111,
576                                                               x109, x105, x102);
577     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x112, &x113,
578                                                               x111, x103, x100);
579     x114 = (x113 + x101);
580     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x115, &x116, 0x0,
581                                                               x91, x106);
582     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x117, &x118,
583                                                               x116, x93, x108);
584     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x119, &x120,
585                                                               x118, x95, x110);
586     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x121, &x122,
587                                                               x120, x97, x112);
588     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x123, &x124,
589                                                               x122, x99, x114);
590     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
591         &x125, &x126, x115, UINT64_C(0xdf6e6c2c727c176d));
592     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
593         &x127, &x128, x125, UINT64_C(0x9b9f605f5a858107));
594     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
595         &x129, &x130, x125, UINT64_C(0xab1ec85e6b41c8aa));
596     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
597         &x131, &x132, x125, UINT64_C(0xcf846e86789051d3));
598     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
599         &x133, &x134, x125, UINT64_C(0x7998f7b9022d759b));
600     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x135, &x136, 0x0,
601                                                               x134, x131);
602     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x137, &x138,
603                                                               x136, x132, x129);
604     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x139, &x140,
605                                                               x138, x130, x127);
606     x141 = (x140 + x128);
607     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x142, &x143, 0x0,
608                                                               x115, x133);
609     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x144, &x145,
610                                                               x143, x117, x135);
611     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x146, &x147,
612                                                               x145, x119, x137);
613     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x148, &x149,
614                                                               x147, x121, x139);
615     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x150, &x151,
616                                                               x149, x123, x141);
617     x152 = ((uint64_t)x151 + x124);
618     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x153, &x154, x3,
619                                                          (arg2[3]));
620     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x155, &x156, x3,
621                                                          (arg2[2]));
622     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x157, &x158, x3,
623                                                          (arg2[1]));
624     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x159, &x160, x3,
625                                                          (arg2[0]));
626     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x161, &x162, 0x0,
627                                                               x160, x157);
628     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x163, &x164,
629                                                               x162, x158, x155);
630     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x165, &x166,
631                                                               x164, x156, x153);
632     x167 = (x166 + x154);
633     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x168, &x169, 0x0,
634                                                               x144, x159);
635     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x170, &x171,
636                                                               x169, x146, x161);
637     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x172, &x173,
638                                                               x171, x148, x163);
639     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x174, &x175,
640                                                               x173, x150, x165);
641     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x176, &x177,
642                                                               x175, x152, x167);
643     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
644         &x178, &x179, x168, UINT64_C(0xdf6e6c2c727c176d));
645     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
646         &x180, &x181, x178, UINT64_C(0x9b9f605f5a858107));
647     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
648         &x182, &x183, x178, UINT64_C(0xab1ec85e6b41c8aa));
649     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
650         &x184, &x185, x178, UINT64_C(0xcf846e86789051d3));
651     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
652         &x186, &x187, x178, UINT64_C(0x7998f7b9022d759b));
653     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x188, &x189, 0x0,
654                                                               x187, x184);
655     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x190, &x191,
656                                                               x189, x185, x182);
657     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x192, &x193,
658                                                               x191, x183, x180);
659     x194 = (x193 + x181);
660     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x195, &x196, 0x0,
661                                                               x168, x186);
662     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x197, &x198,
663                                                               x196, x170, x188);
664     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x199, &x200,
665                                                               x198, x172, x190);
666     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x201, &x202,
667                                                               x200, x174, x192);
668     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x203, &x204,
669                                                               x202, x176, x194);
670     x205 = ((uint64_t)x204 + x177);
671     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
672         &x206, &x207, 0x0, x197, UINT64_C(0x7998f7b9022d759b));
673     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
674         &x208, &x209, x207, x199, UINT64_C(0xcf846e86789051d3));
675     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
676         &x210, &x211, x209, x201, UINT64_C(0xab1ec85e6b41c8aa));
677     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
678         &x212, &x213, x211, x203, UINT64_C(0x9b9f605f5a858107));
679     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x214, &x215,
680                                                                x213, x205, 0x0);
681     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x216, x215, x206,
682                                                             x197);
683     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x217, x215, x208,
684                                                             x199);
685     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x218, x215, x210,
686                                                             x201);
687     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x219, x215, x212,
688                                                             x203);
689     out1[0] = x216;
690     out1[1] = x217;
691     out1[2] = x218;
692     out1[3] = x219;
693 }
694
695 /*
696  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square squares a field element in the Montgomery domain.
697  * Preconditions:
698  *   0 ≤ eval arg1 < m
699  * Postconditions:
700  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
701  *   0 ≤ eval out1 < m
702  *
703  * Input Bounds:
704  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
705  * Output Bounds:
706  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
707  */
708 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(
709     uint64_t out1[4], const uint64_t arg1[4]) {
710     uint64_t x1;
711     uint64_t x2;
712     uint64_t x3;
713     uint64_t x4;
714     uint64_t x5;
715     uint64_t x6;
716     uint64_t x7;
717     uint64_t x8;
718     uint64_t x9;
719     uint64_t x10;
720     uint64_t x11;
721     uint64_t x12;
722     uint64_t x13;
723     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
724     uint64_t x15;
725     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
726     uint64_t x17;
727     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x18;
728     uint64_t x19;
729     uint64_t x20;
730     uint64_t x21;
731     uint64_t x22;
732     uint64_t x23;
733     uint64_t x24;
734     uint64_t x25;
735     uint64_t x26;
736     uint64_t x27;
737     uint64_t x28;
738     uint64_t x29;
739     uint64_t x30;
740     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
741     uint64_t x32;
742     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
743     uint64_t x34;
744     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x35;
745     uint64_t x36;
746     uint64_t x37;
747     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
748     uint64_t x39;
749     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x40;
750     uint64_t x41;
751     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x42;
752     uint64_t x43;
753     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x44;
754     uint64_t x45;
755     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x46;
756     uint64_t x47;
757     uint64_t x48;
758     uint64_t x49;
759     uint64_t x50;
760     uint64_t x51;
761     uint64_t x52;
762     uint64_t x53;
763     uint64_t x54;
764     uint64_t x55;
765     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x56;
766     uint64_t x57;
767     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x58;
768     uint64_t x59;
769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x60;
770     uint64_t x61;
771     uint64_t x62;
772     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
773     uint64_t x64;
774     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
775     uint64_t x66;
776     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
777     uint64_t x68;
778     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
779     uint64_t x70;
780     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x71;
781     uint64_t x72;
782     uint64_t x73;
783     uint64_t x74;
784     uint64_t x75;
785     uint64_t x76;
786     uint64_t x77;
787     uint64_t x78;
788     uint64_t x79;
789     uint64_t x80;
790     uint64_t x81;
791     uint64_t x82;
792     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x83;
793     uint64_t x84;
794     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x85;
795     uint64_t x86;
796     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x87;
797     uint64_t x88;
798     uint64_t x89;
799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
800     uint64_t x91;
801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x92;
802     uint64_t x93;
803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x94;
804     uint64_t x95;
805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x96;
806     uint64_t x97;
807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x98;
808     uint64_t x99;
809     uint64_t x100;
810     uint64_t x101;
811     uint64_t x102;
812     uint64_t x103;
813     uint64_t x104;
814     uint64_t x105;
815     uint64_t x106;
816     uint64_t x107;
817     uint64_t x108;
818     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x109;
819     uint64_t x110;
820     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x111;
821     uint64_t x112;
822     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x113;
823     uint64_t x114;
824     uint64_t x115;
825     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
826     uint64_t x117;
827     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
828     uint64_t x119;
829     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
830     uint64_t x121;
831     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x122;
832     uint64_t x123;
833     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x124;
834     uint64_t x125;
835     uint64_t x126;
836     uint64_t x127;
837     uint64_t x128;
838     uint64_t x129;
839     uint64_t x130;
840     uint64_t x131;
841     uint64_t x132;
842     uint64_t x133;
843     uint64_t x134;
844     uint64_t x135;
845     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x136;
846     uint64_t x137;
847     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x138;
848     uint64_t x139;
849     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x140;
850     uint64_t x141;
851     uint64_t x142;
852     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x143;
853     uint64_t x144;
854     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x145;
855     uint64_t x146;
856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x147;
857     uint64_t x148;
858     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x149;
859     uint64_t x150;
860     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x151;
861     uint64_t x152;
862     uint64_t x153;
863     uint64_t x154;
864     uint64_t x155;
865     uint64_t x156;
866     uint64_t x157;
867     uint64_t x158;
868     uint64_t x159;
869     uint64_t x160;
870     uint64_t x161;
871     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x162;
872     uint64_t x163;
873     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x164;
874     uint64_t x165;
875     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x166;
876     uint64_t x167;
877     uint64_t x168;
878     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
879     uint64_t x170;
880     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
881     uint64_t x172;
882     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x173;
883     uint64_t x174;
884     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x175;
885     uint64_t x176;
886     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x177;
887     uint64_t x178;
888     uint64_t x179;
889     uint64_t x180;
890     uint64_t x181;
891     uint64_t x182;
892     uint64_t x183;
893     uint64_t x184;
894     uint64_t x185;
895     uint64_t x186;
896     uint64_t x187;
897     uint64_t x188;
898     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x189;
899     uint64_t x190;
900     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x191;
901     uint64_t x192;
902     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x193;
903     uint64_t x194;
904     uint64_t x195;
905     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x196;
906     uint64_t x197;
907     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x198;
908     uint64_t x199;
909     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x200;
910     uint64_t x201;
911     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x202;
912     uint64_t x203;
913     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x204;
914     uint64_t x205;
915     uint64_t x206;
916     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x207;
917     uint64_t x208;
918     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
919     uint64_t x210;
920     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
921     uint64_t x212;
922     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
923     uint64_t x214;
924     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
925     uint64_t x216;
926     uint64_t x217;
927     uint64_t x218;
928     uint64_t x219;
929     x1 = (arg1[1]);
930     x2 = (arg1[2]);
931     x3 = (arg1[3]);
932     x4 = (arg1[0]);
933     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x5, &x6, x4,
934                                                          (arg1[3]));
935     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x7, &x8, x4,
936                                                          (arg1[2]));
937     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x9, &x10, x4,
938                                                          (arg1[1]));
939     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x11, &x12, x4,
940                                                          (arg1[0]));
941     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x13, &x14, 0x0,
942                                                               x12, x9);
943     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x15, &x16, x14,
944                                                               x10, x7);
945     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x17, &x18, x16,
946                                                               x8, x5);
947     x19 = (x18 + x6);
948     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
949         &x20, &x21, x11, UINT64_C(0xdf6e6c2c727c176d));
950     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
951         &x22, &x23, x20, UINT64_C(0x9b9f605f5a858107));
952     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
953         &x24, &x25, x20, UINT64_C(0xab1ec85e6b41c8aa));
954     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
955         &x26, &x27, x20, UINT64_C(0xcf846e86789051d3));
956     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
957         &x28, &x29, x20, UINT64_C(0x7998f7b9022d759b));
958     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x30, &x31, 0x0,
959                                                               x29, x26);
960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x32, &x33, x31,
961                                                               x27, x24);
962     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x34, &x35, x33,
963                                                               x25, x22);
964     x36 = (x35 + x23);
965     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x37, &x38, 0x0,
966                                                               x11, x28);
967     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x39, &x40, x38,
968                                                               x13, x30);
969     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x41, &x42, x40,
970                                                               x15, x32);
971     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x43, &x44, x42,
972                                                               x17, x34);
973     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x45, &x46, x44,
974                                                               x19, x36);
975     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x47, &x48, x1,
976                                                          (arg1[3]));
977     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x49, &x50, x1,
978                                                          (arg1[2]));
979     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x51, &x52, x1,
980                                                          (arg1[1]));
981     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x53, &x54, x1,
982                                                          (arg1[0]));
983     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x55, &x56, 0x0,
984                                                               x54, x51);
985     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x57, &x58, x56,
986                                                               x52, x49);
987     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x59, &x60, x58,
988                                                               x50, x47);
989     x61 = (x60 + x48);
990     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x62, &x63, 0x0,
991                                                               x39, x53);
992     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x64, &x65, x63,
993                                                               x41, x55);
994     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x66, &x67, x65,
995                                                               x43, x57);
996     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x68, &x69, x67,
997                                                               x45, x59);
998     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x70, &x71, x69,
999                                                               x46, x61);
1000     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1001         &x72, &x73, x62, UINT64_C(0xdf6e6c2c727c176d));
1002     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1003         &x74, &x75, x72, UINT64_C(0x9b9f605f5a858107));
1004     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1005         &x76, &x77, x72, UINT64_C(0xab1ec85e6b41c8aa));
1006     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1007         &x78, &x79, x72, UINT64_C(0xcf846e86789051d3));
1008     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1009         &x80, &x81, x72, UINT64_C(0x7998f7b9022d759b));
1010     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x82, &x83, 0x0,
1011                                                               x81, x78);
1012     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x84, &x85, x83,
1013                                                               x79, x76);
1014     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x86, &x87, x85,
1015                                                               x77, x74);
1016     x88 = (x87 + x75);
1017     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x89, &x90, 0x0,
1018                                                               x62, x80);
1019     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x91, &x92, x90,
1020                                                               x64, x82);
1021     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x93, &x94, x92,
1022                                                               x66, x84);
1023     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x95, &x96, x94,
1024                                                               x68, x86);
1025     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x97, &x98, x96,
1026                                                               x70, x88);
1027     x99 = ((uint64_t)x98 + x71);
1028     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x100, &x101, x2,
1029                                                          (arg1[3]));
1030     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x102, &x103, x2,
1031                                                          (arg1[2]));
1032     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x104, &x105, x2,
1033                                                          (arg1[1]));
1034     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x106, &x107, x2,
1035                                                          (arg1[0]));
1036     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x108, &x109, 0x0,
1037                                                               x107, x104);
1038     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x110, &x111,
1039                                                               x109, x105, x102);
1040     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x112, &x113,
1041                                                               x111, x103, x100);
1042     x114 = (x113 + x101);
1043     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x115, &x116, 0x0,
1044                                                               x91, x106);
1045     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x117, &x118,
1046                                                               x116, x93, x108);
1047     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x119, &x120,
1048                                                               x118, x95, x110);
1049     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x121, &x122,
1050                                                               x120, x97, x112);
1051     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x123, &x124,
1052                                                               x122, x99, x114);
1053     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1054         &x125, &x126, x115, UINT64_C(0xdf6e6c2c727c176d));
1055     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1056         &x127, &x128, x125, UINT64_C(0x9b9f605f5a858107));
1057     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1058         &x129, &x130, x125, UINT64_C(0xab1ec85e6b41c8aa));
1059     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1060         &x131, &x132, x125, UINT64_C(0xcf846e86789051d3));
1061     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1062         &x133, &x134, x125, UINT64_C(0x7998f7b9022d759b));
1063     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x135, &x136, 0x0,
1064                                                               x134, x131);
1065     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x137, &x138,
1066                                                               x136, x132, x129);
1067     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x139, &x140,
1068                                                               x138, x130, x127);
1069     x141 = (x140 + x128);
1070     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x142, &x143, 0x0,
1071                                                               x115, x133);
1072     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x144, &x145,
1073                                                               x143, x117, x135);
1074     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x146, &x147,
1075                                                               x145, x119, x137);
1076     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x148, &x149,
1077                                                               x147, x121, x139);
1078     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x150, &x151,
1079                                                               x149, x123, x141);
1080     x152 = ((uint64_t)x151 + x124);
1081     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x153, &x154, x3,
1082                                                          (arg1[3]));
1083     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x155, &x156, x3,
1084                                                          (arg1[2]));
1085     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x157, &x158, x3,
1086                                                          (arg1[1]));
1087     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x159, &x160, x3,
1088                                                          (arg1[0]));
1089     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x161, &x162, 0x0,
1090                                                               x160, x157);
1091     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x163, &x164,
1092                                                               x162, x158, x155);
1093     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x165, &x166,
1094                                                               x164, x156, x153);
1095     x167 = (x166 + x154);
1096     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x168, &x169, 0x0,
1097                                                               x144, x159);
1098     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x170, &x171,
1099                                                               x169, x146, x161);
1100     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x172, &x173,
1101                                                               x171, x148, x163);
1102     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x174, &x175,
1103                                                               x173, x150, x165);
1104     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x176, &x177,
1105                                                               x175, x152, x167);
1106     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1107         &x178, &x179, x168, UINT64_C(0xdf6e6c2c727c176d));
1108     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1109         &x180, &x181, x178, UINT64_C(0x9b9f605f5a858107));
1110     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1111         &x182, &x183, x178, UINT64_C(0xab1ec85e6b41c8aa));
1112     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1113         &x184, &x185, x178, UINT64_C(0xcf846e86789051d3));
1114     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1115         &x186, &x187, x178, UINT64_C(0x7998f7b9022d759b));
1116     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x188, &x189, 0x0,
1117                                                               x187, x184);
1118     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x190, &x191,
1119                                                               x189, x185, x182);
1120     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x192, &x193,
1121                                                               x191, x183, x180);
1122     x194 = (x193 + x181);
1123     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x195, &x196, 0x0,
1124                                                               x168, x186);
1125     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x197, &x198,
1126                                                               x196, x170, x188);
1127     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x199, &x200,
1128                                                               x198, x172, x190);
1129     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x201, &x202,
1130                                                               x200, x174, x192);
1131     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x203, &x204,
1132                                                               x202, x176, x194);
1133     x205 = ((uint64_t)x204 + x177);
1134     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1135         &x206, &x207, 0x0, x197, UINT64_C(0x7998f7b9022d759b));
1136     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1137         &x208, &x209, x207, x199, UINT64_C(0xcf846e86789051d3));
1138     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1139         &x210, &x211, x209, x201, UINT64_C(0xab1ec85e6b41c8aa));
1140     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1141         &x212, &x213, x211, x203, UINT64_C(0x9b9f605f5a858107));
1142     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x214, &x215,
1143                                                                x213, x205, 0x0);
1144     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x216, x215, x206,
1145                                                             x197);
1146     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x217, x215, x208,
1147                                                             x199);
1148     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x218, x215, x210,
1149                                                             x201);
1150     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x219, x215, x212,
1151                                                             x203);
1152     out1[0] = x216;
1153     out1[1] = x217;
1154     out1[2] = x218;
1155     out1[3] = x219;
1156 }
1157
1158 /*
1159  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add adds two field elements in the Montgomery domain.
1160  * Preconditions:
1161  *   0 ≤ eval arg1 < m
1162  *   0 ≤ eval arg2 < m
1163  * Postconditions:
1164  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
1165  *   0 ≤ eval out1 < m
1166  *
1167  * Input Bounds:
1168  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1169  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1170  * Output Bounds:
1171  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1172  */
1173 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(
1174     uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
1175     uint64_t x1;
1176     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
1177     uint64_t x3;
1178     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
1179     uint64_t x5;
1180     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
1181     uint64_t x7;
1182     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
1183     uint64_t x9;
1184     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
1185     uint64_t x11;
1186     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
1187     uint64_t x13;
1188     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
1189     uint64_t x15;
1190     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
1191     uint64_t x17;
1192     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x18;
1193     uint64_t x19;
1194     uint64_t x20;
1195     uint64_t x21;
1196     uint64_t x22;
1197     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1198         &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
1199     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1200         &x3, &x4, x2, (arg1[1]), (arg2[1]));
1201     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1202         &x5, &x6, x4, (arg1[2]), (arg2[2]));
1203     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1204         &x7, &x8, x6, (arg1[3]), (arg2[3]));
1205     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1206         &x9, &x10, 0x0, x1, UINT64_C(0x7998f7b9022d759b));
1207     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1208         &x11, &x12, x10, x3, UINT64_C(0xcf846e86789051d3));
1209     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1210         &x13, &x14, x12, x5, UINT64_C(0xab1ec85e6b41c8aa));
1211     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1212         &x15, &x16, x14, x7, UINT64_C(0x9b9f605f5a858107));
1213     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x17, &x18, x16,
1214                                                                x8, 0x0);
1215     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x19, x18, x9, x1);
1216     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x20, x18, x11, x3);
1217     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x21, x18, x13, x5);
1218     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x22, x18, x15, x7);
1219     out1[0] = x19;
1220     out1[1] = x20;
1221     out1[2] = x21;
1222     out1[3] = x22;
1223 }
1224
1225 /*
1226  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub subtracts two field elements in the Montgomery domain.
1227  * Preconditions:
1228  *   0 ≤ eval arg1 < m
1229  *   0 ≤ eval arg2 < m
1230  * Postconditions:
1231  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
1232  *   0 ≤ eval out1 < m
1233  *
1234  * Input Bounds:
1235  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1236  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1237  * Output Bounds:
1238  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1239  */
1240 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(
1241     uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
1242     uint64_t x1;
1243     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
1244     uint64_t x3;
1245     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
1246     uint64_t x5;
1247     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
1248     uint64_t x7;
1249     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
1250     uint64_t x9;
1251     uint64_t x10;
1252     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x11;
1253     uint64_t x12;
1254     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x13;
1255     uint64_t x14;
1256     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x15;
1257     uint64_t x16;
1258     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x17;
1259     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1260         &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
1261     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1262         &x3, &x4, x2, (arg1[1]), (arg2[1]));
1263     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1264         &x5, &x6, x4, (arg1[2]), (arg2[2]));
1265     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1266         &x7, &x8, x6, (arg1[3]), (arg2[3]));
1267     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
1268         &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
1269     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1270         &x10, &x11, 0x0, x1, (x9 & UINT64_C(0x7998f7b9022d759b)));
1271     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1272         &x12, &x13, x11, x3, (x9 & UINT64_C(0xcf846e86789051d3)));
1273     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1274         &x14, &x15, x13, x5, (x9 & UINT64_C(0xab1ec85e6b41c8aa)));
1275     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1276         &x16, &x17, x15, x7, (x9 & UINT64_C(0x9b9f605f5a858107)));
1277     out1[0] = x10;
1278     out1[1] = x12;
1279     out1[2] = x14;
1280     out1[3] = x16;
1281 }
1282
1283 /*
1284  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp negates a field element in the Montgomery domain.
1285  * Preconditions:
1286  *   0 ≤ eval arg1 < m
1287  * Postconditions:
1288  *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
1289  *   0 ≤ eval out1 < m
1290  *
1291  * Input Bounds:
1292  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1293  * Output Bounds:
1294  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1295  */
1296 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(
1297     uint64_t out1[4], const uint64_t arg1[4]) {
1298     uint64_t x1;
1299     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
1300     uint64_t x3;
1301     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
1302     uint64_t x5;
1303     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
1304     uint64_t x7;
1305     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
1306     uint64_t x9;
1307     uint64_t x10;
1308     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x11;
1309     uint64_t x12;
1310     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x13;
1311     uint64_t x14;
1312     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x15;
1313     uint64_t x16;
1314     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x17;
1315     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x1, &x2, 0x0,
1316                                                                0x0, (arg1[0]));
1317     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x3, &x4, x2,
1318                                                                0x0, (arg1[1]));
1319     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x5, &x6, x4,
1320                                                                0x0, (arg1[2]));
1321     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x7, &x8, x6,
1322                                                                0x0, (arg1[3]));
1323     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
1324         &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
1325     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1326         &x10, &x11, 0x0, x1, (x9 & UINT64_C(0x7998f7b9022d759b)));
1327     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1328         &x12, &x13, x11, x3, (x9 & UINT64_C(0xcf846e86789051d3)));
1329     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1330         &x14, &x15, x13, x5, (x9 & UINT64_C(0xab1ec85e6b41c8aa)));
1331     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1332         &x16, &x17, x15, x7, (x9 & UINT64_C(0x9b9f605f5a858107)));
1333     out1[0] = x10;
1334     out1[1] = x12;
1335     out1[2] = x14;
1336     out1[3] = x16;
1337 }
1338
1339 /*
1340  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery translates a field element out of the Montgomery domain.
1341  * Preconditions:
1342  *   0 ≤ eval arg1 < m
1343  * Postconditions:
1344  *   eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^4) mod m
1345  *   0 ≤ eval out1 < m
1346  *
1347  * Input Bounds:
1348  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1349  * Output Bounds:
1350  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1351  */
1352 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(
1353     uint64_t out1[4], const uint64_t arg1[4]) {
1354     uint64_t x1;
1355     uint64_t x2;
1356     uint64_t x3;
1357     uint64_t x4;
1358     uint64_t x5;
1359     uint64_t x6;
1360     uint64_t x7;
1361     uint64_t x8;
1362     uint64_t x9;
1363     uint64_t x10;
1364     uint64_t x11;
1365     uint64_t x12;
1366     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x13;
1367     uint64_t x14;
1368     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x15;
1369     uint64_t x16;
1370     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x17;
1371     uint64_t x18;
1372     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x19;
1373     uint64_t x20;
1374     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
1375     uint64_t x22;
1376     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
1377     uint64_t x24;
1378     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
1379     uint64_t x26;
1380     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
1381     uint64_t x28;
1382     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
1383     uint64_t x30;
1384     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
1385     uint64_t x32;
1386     uint64_t x33;
1387     uint64_t x34;
1388     uint64_t x35;
1389     uint64_t x36;
1390     uint64_t x37;
1391     uint64_t x38;
1392     uint64_t x39;
1393     uint64_t x40;
1394     uint64_t x41;
1395     uint64_t x42;
1396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x43;
1397     uint64_t x44;
1398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x45;
1399     uint64_t x46;
1400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x47;
1401     uint64_t x48;
1402     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x49;
1403     uint64_t x50;
1404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x51;
1405     uint64_t x52;
1406     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x53;
1407     uint64_t x54;
1408     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x55;
1409     uint64_t x56;
1410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x57;
1411     uint64_t x58;
1412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
1413     uint64_t x60;
1414     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
1415     uint64_t x62;
1416     uint64_t x63;
1417     uint64_t x64;
1418     uint64_t x65;
1419     uint64_t x66;
1420     uint64_t x67;
1421     uint64_t x68;
1422     uint64_t x69;
1423     uint64_t x70;
1424     uint64_t x71;
1425     uint64_t x72;
1426     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x73;
1427     uint64_t x74;
1428     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x75;
1429     uint64_t x76;
1430     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x77;
1431     uint64_t x78;
1432     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x79;
1433     uint64_t x80;
1434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x81;
1435     uint64_t x82;
1436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x83;
1437     uint64_t x84;
1438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x85;
1439     uint64_t x86;
1440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x87;
1441     uint64_t x88;
1442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x89;
1443     uint64_t x90;
1444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x91;
1445     uint64_t x92;
1446     uint64_t x93;
1447     uint64_t x94;
1448     uint64_t x95;
1449     uint64_t x96;
1450     uint64_t x97;
1451     uint64_t x98;
1452     uint64_t x99;
1453     uint64_t x100;
1454     uint64_t x101;
1455     uint64_t x102;
1456     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x103;
1457     uint64_t x104;
1458     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x105;
1459     uint64_t x106;
1460     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x107;
1461     uint64_t x108;
1462     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x109;
1463     uint64_t x110;
1464     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x111;
1465     uint64_t x112;
1466     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x113;
1467     uint64_t x114;
1468     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x115;
1469     uint64_t x116;
1470     uint64_t x117;
1471     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
1472     uint64_t x119;
1473     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
1474     uint64_t x121;
1475     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x122;
1476     uint64_t x123;
1477     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x124;
1478     uint64_t x125;
1479     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x126;
1480     uint64_t x127;
1481     uint64_t x128;
1482     uint64_t x129;
1483     uint64_t x130;
1484     x1 = (arg1[0]);
1485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1486         &x2, &x3, x1, UINT64_C(0xdf6e6c2c727c176d));
1487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1488         &x4, &x5, x2, UINT64_C(0x9b9f605f5a858107));
1489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1490         &x6, &x7, x2, UINT64_C(0xab1ec85e6b41c8aa));
1491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1492         &x8, &x9, x2, UINT64_C(0xcf846e86789051d3));
1493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1494         &x10, &x11, x2, UINT64_C(0x7998f7b9022d759b));
1495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x12, &x13, 0x0,
1496                                                               x11, x8);
1497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x14, &x15, x13,
1498                                                               x9, x6);
1499     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x16, &x17, x15,
1500                                                               x7, x4);
1501     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x18, &x19, 0x0,
1502                                                               x1, x10);
1503     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x20, &x21, x19,
1504                                                               0x0, x12);
1505     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x22, &x23, x21,
1506                                                               0x0, x14);
1507     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x24, &x25, x23,
1508                                                               0x0, x16);
1509     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x26, &x27, 0x0,
1510                                                               x20, (arg1[1]));
1511     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x28, &x29, x27,
1512                                                               x22, 0x0);
1513     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x30, &x31, x29,
1514                                                               x24, 0x0);
1515     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1516         &x32, &x33, x26, UINT64_C(0xdf6e6c2c727c176d));
1517     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1518         &x34, &x35, x32, UINT64_C(0x9b9f605f5a858107));
1519     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1520         &x36, &x37, x32, UINT64_C(0xab1ec85e6b41c8aa));
1521     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1522         &x38, &x39, x32, UINT64_C(0xcf846e86789051d3));
1523     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1524         &x40, &x41, x32, UINT64_C(0x7998f7b9022d759b));
1525     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x42, &x43, 0x0,
1526                                                               x41, x38);
1527     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x44, &x45, x43,
1528                                                               x39, x36);
1529     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x46, &x47, x45,
1530                                                               x37, x34);
1531     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x48, &x49, 0x0,
1532                                                               x26, x40);
1533     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x50, &x51, x49,
1534                                                               x28, x42);
1535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x52, &x53, x51,
1536                                                               x30, x44);
1537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1538         &x54, &x55, x53, (x31 + (x25 + (x17 + x5))), x46);
1539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x56, &x57, 0x0,
1540                                                               x50, (arg1[2]));
1541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x58, &x59, x57,
1542                                                               x52, 0x0);
1543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x60, &x61, x59,
1544                                                               x54, 0x0);
1545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1546         &x62, &x63, x56, UINT64_C(0xdf6e6c2c727c176d));
1547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1548         &x64, &x65, x62, UINT64_C(0x9b9f605f5a858107));
1549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1550         &x66, &x67, x62, UINT64_C(0xab1ec85e6b41c8aa));
1551     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1552         &x68, &x69, x62, UINT64_C(0xcf846e86789051d3));
1553     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1554         &x70, &x71, x62, UINT64_C(0x7998f7b9022d759b));
1555     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x72, &x73, 0x0,
1556                                                               x71, x68);
1557     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x74, &x75, x73,
1558                                                               x69, x66);
1559     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x76, &x77, x75,
1560                                                               x67, x64);
1561     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x78, &x79, 0x0,
1562                                                               x56, x70);
1563     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x80, &x81, x79,
1564                                                               x58, x72);
1565     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x82, &x83, x81,
1566                                                               x60, x74);
1567     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1568         &x84, &x85, x83, (x61 + (x55 + (x47 + x35))), x76);
1569     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x86, &x87, 0x0,
1570                                                               x80, (arg1[3]));
1571     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x88, &x89, x87,
1572                                                               x82, 0x0);
1573     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x90, &x91, x89,
1574                                                               x84, 0x0);
1575     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1576         &x92, &x93, x86, UINT64_C(0xdf6e6c2c727c176d));
1577     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1578         &x94, &x95, x92, UINT64_C(0x9b9f605f5a858107));
1579     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1580         &x96, &x97, x92, UINT64_C(0xab1ec85e6b41c8aa));
1581     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1582         &x98, &x99, x92, UINT64_C(0xcf846e86789051d3));
1583     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1584         &x100, &x101, x92, UINT64_C(0x7998f7b9022d759b));
1585     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x102, &x103, 0x0,
1586                                                               x101, x98);
1587     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x104, &x105,
1588                                                               x103, x99, x96);
1589     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x106, &x107,
1590                                                               x105, x97, x94);
1591     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x108, &x109, 0x0,
1592                                                               x86, x100);
1593     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x110, &x111,
1594                                                               x109, x88, x102);
1595     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x112, &x113,
1596                                                               x111, x90, x104);
1597     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1598         &x114, &x115, x113, (x91 + (x85 + (x77 + x65))), x106);
1599     x116 = (x115 + (x107 + x95));
1600     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1601         &x117, &x118, 0x0, x110, UINT64_C(0x7998f7b9022d759b));
1602     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1603         &x119, &x120, x118, x112, UINT64_C(0xcf846e86789051d3));
1604     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1605         &x121, &x122, x120, x114, UINT64_C(0xab1ec85e6b41c8aa));
1606     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1607         &x123, &x124, x122, x116, UINT64_C(0x9b9f605f5a858107));
1608     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x125, &x126,
1609                                                                x124, 0x0, 0x0);
1610     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x127, x126, x117,
1611                                                             x110);
1612     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x128, x126, x119,
1613                                                             x112);
1614     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x129, x126, x121,
1615                                                             x114);
1616     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x130, x126, x123,
1617                                                             x116);
1618     out1[0] = x127;
1619     out1[1] = x128;
1620     out1[2] = x129;
1621     out1[3] = x130;
1622 }
1623
1624 /*
1625  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery translates a field element into the Montgomery domain.
1626  * Preconditions:
1627  *   0 ≤ eval arg1 < m
1628  * Postconditions:
1629  *   eval (from_montgomery out1) mod m = eval arg1 mod m
1630  *   0 ≤ eval out1 < m
1631  *
1632  * Input Bounds:
1633  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1634  * Output Bounds:
1635  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1636  */
1637 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(
1638     uint64_t out1[4], const uint64_t arg1[4]) {
1639     uint64_t x1;
1640     uint64_t x2;
1641     uint64_t x3;
1642     uint64_t x4;
1643     uint64_t x5;
1644     uint64_t x6;
1645     uint64_t x7;
1646     uint64_t x8;
1647     uint64_t x9;
1648     uint64_t x10;
1649     uint64_t x11;
1650     uint64_t x12;
1651     uint64_t x13;
1652     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
1653     uint64_t x15;
1654     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
1655     uint64_t x17;
1656     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x18;
1657     uint64_t x19;
1658     uint64_t x20;
1659     uint64_t x21;
1660     uint64_t x22;
1661     uint64_t x23;
1662     uint64_t x24;
1663     uint64_t x25;
1664     uint64_t x26;
1665     uint64_t x27;
1666     uint64_t x28;
1667     uint64_t x29;
1668     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
1669     uint64_t x31;
1670     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
1671     uint64_t x33;
1672     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
1673     uint64_t x35;
1674     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
1675     uint64_t x37;
1676     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
1677     uint64_t x39;
1678     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x40;
1679     uint64_t x41;
1680     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x42;
1681     uint64_t x43;
1682     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x44;
1683     uint64_t x45;
1684     uint64_t x46;
1685     uint64_t x47;
1686     uint64_t x48;
1687     uint64_t x49;
1688     uint64_t x50;
1689     uint64_t x51;
1690     uint64_t x52;
1691     uint64_t x53;
1692     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x54;
1693     uint64_t x55;
1694     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x56;
1695     uint64_t x57;
1696     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x58;
1697     uint64_t x59;
1698     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x60;
1699     uint64_t x61;
1700     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x62;
1701     uint64_t x63;
1702     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x64;
1703     uint64_t x65;
1704     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x66;
1705     uint64_t x67;
1706     uint64_t x68;
1707     uint64_t x69;
1708     uint64_t x70;
1709     uint64_t x71;
1710     uint64_t x72;
1711     uint64_t x73;
1712     uint64_t x74;
1713     uint64_t x75;
1714     uint64_t x76;
1715     uint64_t x77;
1716     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
1717     uint64_t x79;
1718     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
1719     uint64_t x81;
1720     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
1721     uint64_t x83;
1722     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
1723     uint64_t x85;
1724     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
1725     uint64_t x87;
1726     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
1727     uint64_t x89;
1728     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
1729     uint64_t x91;
1730     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x92;
1731     uint64_t x93;
1732     uint64_t x94;
1733     uint64_t x95;
1734     uint64_t x96;
1735     uint64_t x97;
1736     uint64_t x98;
1737     uint64_t x99;
1738     uint64_t x100;
1739     uint64_t x101;
1740     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x102;
1741     uint64_t x103;
1742     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x104;
1743     uint64_t x105;
1744     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x106;
1745     uint64_t x107;
1746     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
1747     uint64_t x109;
1748     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
1749     uint64_t x111;
1750     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
1751     uint64_t x113;
1752     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
1753     uint64_t x115;
1754     uint64_t x116;
1755     uint64_t x117;
1756     uint64_t x118;
1757     uint64_t x119;
1758     uint64_t x120;
1759     uint64_t x121;
1760     uint64_t x122;
1761     uint64_t x123;
1762     uint64_t x124;
1763     uint64_t x125;
1764     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x126;
1765     uint64_t x127;
1766     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x128;
1767     uint64_t x129;
1768     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x130;
1769     uint64_t x131;
1770     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x132;
1771     uint64_t x133;
1772     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x134;
1773     uint64_t x135;
1774     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x136;
1775     uint64_t x137;
1776     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x138;
1777     uint64_t x139;
1778     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x140;
1779     uint64_t x141;
1780     uint64_t x142;
1781     uint64_t x143;
1782     uint64_t x144;
1783     uint64_t x145;
1784     uint64_t x146;
1785     uint64_t x147;
1786     uint64_t x148;
1787     uint64_t x149;
1788     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x150;
1789     uint64_t x151;
1790     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x152;
1791     uint64_t x153;
1792     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x154;
1793     uint64_t x155;
1794     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x156;
1795     uint64_t x157;
1796     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x158;
1797     uint64_t x159;
1798     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x160;
1799     uint64_t x161;
1800     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x162;
1801     uint64_t x163;
1802     uint64_t x164;
1803     uint64_t x165;
1804     uint64_t x166;
1805     uint64_t x167;
1806     uint64_t x168;
1807     uint64_t x169;
1808     uint64_t x170;
1809     uint64_t x171;
1810     uint64_t x172;
1811     uint64_t x173;
1812     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
1813     uint64_t x175;
1814     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
1815     uint64_t x177;
1816     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
1817     uint64_t x179;
1818     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
1819     uint64_t x181;
1820     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
1821     uint64_t x183;
1822     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
1823     uint64_t x185;
1824     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x186;
1825     uint64_t x187;
1826     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x188;
1827     uint64_t x189;
1828     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x190;
1829     uint64_t x191;
1830     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x192;
1831     uint64_t x193;
1832     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x194;
1833     uint64_t x195;
1834     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x196;
1835     uint64_t x197;
1836     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x198;
1837     uint64_t x199;
1838     uint64_t x200;
1839     uint64_t x201;
1840     uint64_t x202;
1841     x1 = (arg1[1]);
1842     x2 = (arg1[2]);
1843     x3 = (arg1[3]);
1844     x4 = (arg1[0]);
1845     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1846         &x5, &x6, x4, UINT64_C(0x807a394ede097652));
1847     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1848         &x7, &x8, x4, UINT64_C(0x186304212849c07b));
1849     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1850         &x9, &x10, x4, UINT64_C(0x1017bb39c2d346c5));
1851     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1852         &x11, &x12, x4, UINT64_C(0x409973b4c427fcea));
1853     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x13, &x14, 0x0,
1854                                                               x12, x9);
1855     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x15, &x16, x14,
1856                                                               x10, x7);
1857     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x17, &x18, x16,
1858                                                               x8, x5);
1859     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1860         &x19, &x20, x11, UINT64_C(0xdf6e6c2c727c176d));
1861     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1862         &x21, &x22, x19, UINT64_C(0x9b9f605f5a858107));
1863     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1864         &x23, &x24, x19, UINT64_C(0xab1ec85e6b41c8aa));
1865     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1866         &x25, &x26, x19, UINT64_C(0xcf846e86789051d3));
1867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1868         &x27, &x28, x19, UINT64_C(0x7998f7b9022d759b));
1869     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x29, &x30, 0x0,
1870                                                               x28, x25);
1871     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x31, &x32, x30,
1872                                                               x26, x23);
1873     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x33, &x34, x32,
1874                                                               x24, x21);
1875     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x35, &x36, 0x0,
1876                                                               x11, x27);
1877     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x37, &x38, x36,
1878                                                               x13, x29);
1879     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x39, &x40, x38,
1880                                                               x15, x31);
1881     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x41, &x42, x40,
1882                                                               x17, x33);
1883     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1884         &x43, &x44, x42, (x18 + x6), (x34 + x22));
1885     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1886         &x45, &x46, x1, UINT64_C(0x807a394ede097652));
1887     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1888         &x47, &x48, x1, UINT64_C(0x186304212849c07b));
1889     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1890         &x49, &x50, x1, UINT64_C(0x1017bb39c2d346c5));
1891     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1892         &x51, &x52, x1, UINT64_C(0x409973b4c427fcea));
1893     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x53, &x54, 0x0,
1894                                                               x52, x49);
1895     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x55, &x56, x54,
1896                                                               x50, x47);
1897     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x57, &x58, x56,
1898                                                               x48, x45);
1899     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x59, &x60, 0x0,
1900                                                               x37, x51);
1901     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x61, &x62, x60,
1902                                                               x39, x53);
1903     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x63, &x64, x62,
1904                                                               x41, x55);
1905     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x65, &x66, x64,
1906                                                               x43, x57);
1907     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1908         &x67, &x68, x59, UINT64_C(0xdf6e6c2c727c176d));
1909     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1910         &x69, &x70, x67, UINT64_C(0x9b9f605f5a858107));
1911     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1912         &x71, &x72, x67, UINT64_C(0xab1ec85e6b41c8aa));
1913     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1914         &x73, &x74, x67, UINT64_C(0xcf846e86789051d3));
1915     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1916         &x75, &x76, x67, UINT64_C(0x7998f7b9022d759b));
1917     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x77, &x78, 0x0,
1918                                                               x76, x73);
1919     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x79, &x80, x78,
1920                                                               x74, x71);
1921     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x81, &x82, x80,
1922                                                               x72, x69);
1923     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x83, &x84, 0x0,
1924                                                               x59, x75);
1925     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x85, &x86, x84,
1926                                                               x61, x77);
1927     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x87, &x88, x86,
1928                                                               x63, x79);
1929     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x89, &x90, x88,
1930                                                               x65, x81);
1931     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1932         &x91, &x92, x90, (((uint64_t)x66 + x44) + (x58 + x46)), (x82 + x70));
1933     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1934         &x93, &x94, x2, UINT64_C(0x807a394ede097652));
1935     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1936         &x95, &x96, x2, UINT64_C(0x186304212849c07b));
1937     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1938         &x97, &x98, x2, UINT64_C(0x1017bb39c2d346c5));
1939     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1940         &x99, &x100, x2, UINT64_C(0x409973b4c427fcea));
1941     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x101, &x102, 0x0,
1942                                                               x100, x97);
1943     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x103, &x104,
1944                                                               x102, x98, x95);
1945     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x105, &x106,
1946                                                               x104, x96, x93);
1947     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x107, &x108, 0x0,
1948                                                               x85, x99);
1949     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x109, &x110,
1950                                                               x108, x87, x101);
1951     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x111, &x112,
1952                                                               x110, x89, x103);
1953     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x113, &x114,
1954                                                               x112, x91, x105);
1955     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1956         &x115, &x116, x107, UINT64_C(0xdf6e6c2c727c176d));
1957     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1958         &x117, &x118, x115, UINT64_C(0x9b9f605f5a858107));
1959     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1960         &x119, &x120, x115, UINT64_C(0xab1ec85e6b41c8aa));
1961     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1962         &x121, &x122, x115, UINT64_C(0xcf846e86789051d3));
1963     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1964         &x123, &x124, x115, UINT64_C(0x7998f7b9022d759b));
1965     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x125, &x126, 0x0,
1966                                                               x124, x121);
1967     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x127, &x128,
1968                                                               x126, x122, x119);
1969     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x129, &x130,
1970                                                               x128, x120, x117);
1971     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x131, &x132, 0x0,
1972                                                               x107, x123);
1973     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x133, &x134,
1974                                                               x132, x109, x125);
1975     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x135, &x136,
1976                                                               x134, x111, x127);
1977     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x137, &x138,
1978                                                               x136, x113, x129);
1979     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1980         &x139, &x140, x138, (((uint64_t)x114 + x92) + (x106 + x94)),
1981         (x130 + x118));
1982     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1983         &x141, &x142, x3, UINT64_C(0x807a394ede097652));
1984     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1985         &x143, &x144, x3, UINT64_C(0x186304212849c07b));
1986     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1987         &x145, &x146, x3, UINT64_C(0x1017bb39c2d346c5));
1988     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1989         &x147, &x148, x3, UINT64_C(0x409973b4c427fcea));
1990     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x149, &x150, 0x0,
1991                                                               x148, x145);
1992     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x151, &x152,
1993                                                               x150, x146, x143);
1994     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x153, &x154,
1995                                                               x152, x144, x141);
1996     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x155, &x156, 0x0,
1997                                                               x133, x147);
1998     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x157, &x158,
1999                                                               x156, x135, x149);
2000     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x159, &x160,
2001                                                               x158, x137, x151);
2002     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x161, &x162,
2003                                                               x160, x139, x153);
2004     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
2005         &x163, &x164, x155, UINT64_C(0xdf6e6c2c727c176d));
2006     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
2007         &x165, &x166, x163, UINT64_C(0x9b9f605f5a858107));
2008     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
2009         &x167, &x168, x163, UINT64_C(0xab1ec85e6b41c8aa));
2010     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
2011         &x169, &x170, x163, UINT64_C(0xcf846e86789051d3));
2012     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
2013         &x171, &x172, x163, UINT64_C(0x7998f7b9022d759b));
2014     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x173, &x174, 0x0,
2015                                                               x172, x169);
2016     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x175, &x176,
2017                                                               x174, x170, x167);
2018     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x177, &x178,
2019                                                               x176, x168, x165);
2020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x179, &x180, 0x0,
2021                                                               x155, x171);
2022     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x181, &x182,
2023                                                               x180, x157, x173);
2024     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x183, &x184,
2025                                                               x182, x159, x175);
2026     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x185, &x186,
2027                                                               x184, x161, x177);
2028     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
2029         &x187, &x188, x186, (((uint64_t)x162 + x140) + (x154 + x142)),
2030         (x178 + x166));
2031     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
2032         &x189, &x190, 0x0, x181, UINT64_C(0x7998f7b9022d759b));
2033     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
2034         &x191, &x192, x190, x183, UINT64_C(0xcf846e86789051d3));
2035     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
2036         &x193, &x194, x192, x185, UINT64_C(0xab1ec85e6b41c8aa));
2037     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
2038         &x195, &x196, x194, x187, UINT64_C(0x9b9f605f5a858107));
2039     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x197, &x198,
2040                                                                x196, x188, 0x0);
2041     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x199, x198, x189,
2042                                                             x181);
2043     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x200, x198, x191,
2044                                                             x183);
2045     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x201, x198, x193,
2046                                                             x185);
2047     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x202, x198, x195,
2048                                                             x187);
2049     out1[0] = x199;
2050     out1[1] = x200;
2051     out1[2] = x201;
2052     out1[3] = x202;
2053 }
2054
2055 /*
2056  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
2057  * Preconditions:
2058  *   0 ≤ eval arg1 < m
2059  * Postconditions:
2060  *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
2061  *
2062  * Input Bounds:
2063  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
2064  * Output Bounds:
2065  *   out1: [0x0 ~> 0xffffffffffffffff]
2066  */
2067 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(
2068     uint64_t *out1, const uint64_t arg1[4]) {
2069     uint64_t x1;
2070     x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | (arg1[3]))));
2071     *out1 = x1;
2072 }
2073
2074 /*
2075  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz is a multi-limb conditional select.
2076  * Postconditions:
2077  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
2078  *
2079  * Input Bounds:
2080  *   arg1: [0x0 ~> 0x1]
2081  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
2082  *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
2083  * Output Bounds:
2084  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
2085  */
2086 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
2087     uint64_t out1[4], fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
2088     const uint64_t arg2[4], const uint64_t arg3[4]) {
2089     uint64_t x1;
2090     uint64_t x2;
2091     uint64_t x3;
2092     uint64_t x4;
2093     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
2094         &x1, arg1, (arg2[0]), (arg3[0]));
2095     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
2096         &x2, arg1, (arg2[1]), (arg3[1]));
2097     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
2098         &x3, arg1, (arg2[2]), (arg3[2]));
2099     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
2100         &x4, arg1, (arg2[3]), (arg3[3]));
2101     out1[0] = x1;
2102     out1[1] = x2;
2103     out1[2] = x3;
2104     out1[3] = x4;
2105 }
2106
2107 /*
2108  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes serializes a field element NOT in the Montgomery domain to bytes in little-endian order.
2109  * Preconditions:
2110  *   0 ≤ eval arg1 < m
2111  * Postconditions:
2112  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
2113  *
2114  * Input Bounds:
2115  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
2116  * Output Bounds:
2117  *   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]]
2118  */
2119 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(
2120     uint8_t out1[32], const uint64_t arg1[4]) {
2121     uint64_t x1;
2122     uint64_t x2;
2123     uint64_t x3;
2124     uint64_t x4;
2125     uint8_t x5;
2126     uint64_t x6;
2127     uint8_t x7;
2128     uint64_t x8;
2129     uint8_t x9;
2130     uint64_t x10;
2131     uint8_t x11;
2132     uint64_t x12;
2133     uint8_t x13;
2134     uint64_t x14;
2135     uint8_t x15;
2136     uint64_t x16;
2137     uint8_t x17;
2138     uint8_t x18;
2139     uint8_t x19;
2140     uint64_t x20;
2141     uint8_t x21;
2142     uint64_t x22;
2143     uint8_t x23;
2144     uint64_t x24;
2145     uint8_t x25;
2146     uint64_t x26;
2147     uint8_t x27;
2148     uint64_t x28;
2149     uint8_t x29;
2150     uint64_t x30;
2151     uint8_t x31;
2152     uint8_t x32;
2153     uint8_t x33;
2154     uint64_t x34;
2155     uint8_t x35;
2156     uint64_t x36;
2157     uint8_t x37;
2158     uint64_t x38;
2159     uint8_t x39;
2160     uint64_t x40;
2161     uint8_t x41;
2162     uint64_t x42;
2163     uint8_t x43;
2164     uint64_t x44;
2165     uint8_t x45;
2166     uint8_t x46;
2167     uint8_t x47;
2168     uint64_t x48;
2169     uint8_t x49;
2170     uint64_t x50;
2171     uint8_t x51;
2172     uint64_t x52;
2173     uint8_t x53;
2174     uint64_t x54;
2175     uint8_t x55;
2176     uint64_t x56;
2177     uint8_t x57;
2178     uint64_t x58;
2179     uint8_t x59;
2180     uint8_t x60;
2181     x1 = (arg1[3]);
2182     x2 = (arg1[2]);
2183     x3 = (arg1[1]);
2184     x4 = (arg1[0]);
2185     x5 = (uint8_t)(x4 & UINT8_C(0xff));
2186     x6 = (x4 >> 8);
2187     x7 = (uint8_t)(x6 & UINT8_C(0xff));
2188     x8 = (x6 >> 8);
2189     x9 = (uint8_t)(x8 & UINT8_C(0xff));
2190     x10 = (x8 >> 8);
2191     x11 = (uint8_t)(x10 & UINT8_C(0xff));
2192     x12 = (x10 >> 8);
2193     x13 = (uint8_t)(x12 & UINT8_C(0xff));
2194     x14 = (x12 >> 8);
2195     x15 = (uint8_t)(x14 & UINT8_C(0xff));
2196     x16 = (x14 >> 8);
2197     x17 = (uint8_t)(x16 & UINT8_C(0xff));
2198     x18 = (uint8_t)(x16 >> 8);
2199     x19 = (uint8_t)(x3 & UINT8_C(0xff));
2200     x20 = (x3 >> 8);
2201     x21 = (uint8_t)(x20 & UINT8_C(0xff));
2202     x22 = (x20 >> 8);
2203     x23 = (uint8_t)(x22 & UINT8_C(0xff));
2204     x24 = (x22 >> 8);
2205     x25 = (uint8_t)(x24 & UINT8_C(0xff));
2206     x26 = (x24 >> 8);
2207     x27 = (uint8_t)(x26 & UINT8_C(0xff));
2208     x28 = (x26 >> 8);
2209     x29 = (uint8_t)(x28 & UINT8_C(0xff));
2210     x30 = (x28 >> 8);
2211     x31 = (uint8_t)(x30 & UINT8_C(0xff));
2212     x32 = (uint8_t)(x30 >> 8);
2213     x33 = (uint8_t)(x2 & UINT8_C(0xff));
2214     x34 = (x2 >> 8);
2215     x35 = (uint8_t)(x34 & UINT8_C(0xff));
2216     x36 = (x34 >> 8);
2217     x37 = (uint8_t)(x36 & UINT8_C(0xff));
2218     x38 = (x36 >> 8);
2219     x39 = (uint8_t)(x38 & UINT8_C(0xff));
2220     x40 = (x38 >> 8);
2221     x41 = (uint8_t)(x40 & UINT8_C(0xff));
2222     x42 = (x40 >> 8);
2223     x43 = (uint8_t)(x42 & UINT8_C(0xff));
2224     x44 = (x42 >> 8);
2225     x45 = (uint8_t)(x44 & UINT8_C(0xff));
2226     x46 = (uint8_t)(x44 >> 8);
2227     x47 = (uint8_t)(x1 & UINT8_C(0xff));
2228     x48 = (x1 >> 8);
2229     x49 = (uint8_t)(x48 & UINT8_C(0xff));
2230     x50 = (x48 >> 8);
2231     x51 = (uint8_t)(x50 & UINT8_C(0xff));
2232     x52 = (x50 >> 8);
2233     x53 = (uint8_t)(x52 & UINT8_C(0xff));
2234     x54 = (x52 >> 8);
2235     x55 = (uint8_t)(x54 & UINT8_C(0xff));
2236     x56 = (x54 >> 8);
2237     x57 = (uint8_t)(x56 & UINT8_C(0xff));
2238     x58 = (x56 >> 8);
2239     x59 = (uint8_t)(x58 & UINT8_C(0xff));
2240     x60 = (uint8_t)(x58 >> 8);
2241     out1[0] = x5;
2242     out1[1] = x7;
2243     out1[2] = x9;
2244     out1[3] = x11;
2245     out1[4] = x13;
2246     out1[5] = x15;
2247     out1[6] = x17;
2248     out1[7] = x18;
2249     out1[8] = x19;
2250     out1[9] = x21;
2251     out1[10] = x23;
2252     out1[11] = x25;
2253     out1[12] = x27;
2254     out1[13] = x29;
2255     out1[14] = x31;
2256     out1[15] = x32;
2257     out1[16] = x33;
2258     out1[17] = x35;
2259     out1[18] = x37;
2260     out1[19] = x39;
2261     out1[20] = x41;
2262     out1[21] = x43;
2263     out1[22] = x45;
2264     out1[23] = x46;
2265     out1[24] = x47;
2266     out1[25] = x49;
2267     out1[26] = x51;
2268     out1[27] = x53;
2269     out1[28] = x55;
2270     out1[29] = x57;
2271     out1[30] = x59;
2272     out1[31] = x60;
2273 }
2274
2275 /*
2276  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes deserializes a field element NOT in the Montgomery domain from bytes in little-endian order.
2277  * Preconditions:
2278  *   0 ≤ bytes_eval arg1 < m
2279  * Postconditions:
2280  *   eval out1 mod m = bytes_eval arg1 mod m
2281  *   0 ≤ eval out1 < m
2282  *
2283  * Input Bounds:
2284  *   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]]
2285  * Output Bounds:
2286  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
2287  */
2288 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(
2289     uint64_t out1[4], const uint8_t arg1[32]) {
2290     uint64_t x1;
2291     uint64_t x2;
2292     uint64_t x3;
2293     uint64_t x4;
2294     uint64_t x5;
2295     uint64_t x6;
2296     uint64_t x7;
2297     uint8_t x8;
2298     uint64_t x9;
2299     uint64_t x10;
2300     uint64_t x11;
2301     uint64_t x12;
2302     uint64_t x13;
2303     uint64_t x14;
2304     uint64_t x15;
2305     uint8_t x16;
2306     uint64_t x17;
2307     uint64_t x18;
2308     uint64_t x19;
2309     uint64_t x20;
2310     uint64_t x21;
2311     uint64_t x22;
2312     uint64_t x23;
2313     uint8_t x24;
2314     uint64_t x25;
2315     uint64_t x26;
2316     uint64_t x27;
2317     uint64_t x28;
2318     uint64_t x29;
2319     uint64_t x30;
2320     uint64_t x31;
2321     uint8_t x32;
2322     uint64_t x33;
2323     uint64_t x34;
2324     uint64_t x35;
2325     uint64_t x36;
2326     uint64_t x37;
2327     uint64_t x38;
2328     uint64_t x39;
2329     uint64_t x40;
2330     uint64_t x41;
2331     uint64_t x42;
2332     uint64_t x43;
2333     uint64_t x44;
2334     uint64_t x45;
2335     uint64_t x46;
2336     uint64_t x47;
2337     uint64_t x48;
2338     uint64_t x49;
2339     uint64_t x50;
2340     uint64_t x51;
2341     uint64_t x52;
2342     uint64_t x53;
2343     uint64_t x54;
2344     uint64_t x55;
2345     uint64_t x56;
2346     uint64_t x57;
2347     uint64_t x58;
2348     uint64_t x59;
2349     uint64_t x60;
2350     x1 = ((uint64_t)(arg1[31]) << 56);
2351     x2 = ((uint64_t)(arg1[30]) << 48);
2352     x3 = ((uint64_t)(arg1[29]) << 40);
2353     x4 = ((uint64_t)(arg1[28]) << 32);
2354     x5 = ((uint64_t)(arg1[27]) << 24);
2355     x6 = ((uint64_t)(arg1[26]) << 16);
2356     x7 = ((uint64_t)(arg1[25]) << 8);
2357     x8 = (arg1[24]);
2358     x9 = ((uint64_t)(arg1[23]) << 56);
2359     x10 = ((uint64_t)(arg1[22]) << 48);
2360     x11 = ((uint64_t)(arg1[21]) << 40);
2361     x12 = ((uint64_t)(arg1[20]) << 32);
2362     x13 = ((uint64_t)(arg1[19]) << 24);
2363     x14 = ((uint64_t)(arg1[18]) << 16);
2364     x15 = ((uint64_t)(arg1[17]) << 8);
2365     x16 = (arg1[16]);
2366     x17 = ((uint64_t)(arg1[15]) << 56);
2367     x18 = ((uint64_t)(arg1[14]) << 48);
2368     x19 = ((uint64_t)(arg1[13]) << 40);
2369     x20 = ((uint64_t)(arg1[12]) << 32);
2370     x21 = ((uint64_t)(arg1[11]) << 24);
2371     x22 = ((uint64_t)(arg1[10]) << 16);
2372     x23 = ((uint64_t)(arg1[9]) << 8);
2373     x24 = (arg1[8]);
2374     x25 = ((uint64_t)(arg1[7]) << 56);
2375     x26 = ((uint64_t)(arg1[6]) << 48);
2376     x27 = ((uint64_t)(arg1[5]) << 40);
2377     x28 = ((uint64_t)(arg1[4]) << 32);
2378     x29 = ((uint64_t)(arg1[3]) << 24);
2379     x30 = ((uint64_t)(arg1[2]) << 16);
2380     x31 = ((uint64_t)(arg1[1]) << 8);
2381     x32 = (arg1[0]);
2382     x33 = (x31 + (uint64_t)x32);
2383     x34 = (x30 + x33);
2384     x35 = (x29 + x34);
2385     x36 = (x28 + x35);
2386     x37 = (x27 + x36);
2387     x38 = (x26 + x37);
2388     x39 = (x25 + x38);
2389     x40 = (x23 + (uint64_t)x24);
2390     x41 = (x22 + x40);
2391     x42 = (x21 + x41);
2392     x43 = (x20 + x42);
2393     x44 = (x19 + x43);
2394     x45 = (x18 + x44);
2395     x46 = (x17 + x45);
2396     x47 = (x15 + (uint64_t)x16);
2397     x48 = (x14 + x47);
2398     x49 = (x13 + x48);
2399     x50 = (x12 + x49);
2400     x51 = (x11 + x50);
2401     x52 = (x10 + x51);
2402     x53 = (x9 + x52);
2403     x54 = (x7 + (uint64_t)x8);
2404     x55 = (x6 + x54);
2405     x56 = (x5 + x55);
2406     x57 = (x4 + x56);
2407     x58 = (x3 + x57);
2408     x59 = (x2 + x58);
2409     x60 = (x1 + x59);
2410     out1[0] = x39;
2411     out1[1] = x46;
2412     out1[2] = x53;
2413     out1[3] = x60;
2414 }
2415
2416 /* END verbatim fiat code */
2417
2418 /*-
2419  * Finite field inversion via FLT.
2420  * NB: this is not a real Fiat function, just named that way for consistency.
2421  * Autogenerated: ecp/id_GostR3410_2001_CryptoPro_C_ParamSet/fe_inv.op3
2422  * sliding window w=5
2423  */
2424 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(fe_t output,
2425                                                             const fe_t t1) {
2426     int i;
2427     /* temporary variables */
2428     fe_t acc, t11, t13, t15, t17, t19, t21, t23, t25, t27, t29, t3, t31, t5, t7,
2429         t9;
2430
2431     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t1);
2432     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t1, acc);
2433     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t5, t3, acc);
2434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t7, t5, acc);
2435     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t9, t7, acc);
2436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t11, t9, acc);
2437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t13, t11, acc);
2438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t15, t13, acc);
2439     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t17, t15, acc);
2440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t19, t17, acc);
2441     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t21, t19, acc);
2442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t23, t21, acc);
2443     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t25, t23, acc);
2444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t27, t25, acc);
2445     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t29, t27, acc);
2446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t31, t29, acc);
2447     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t9);
2448     for (i = 0; i < 4; i++)
2449         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2450     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
2451     for (i = 0; i < 5; i++)
2452         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2453     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
2454     for (i = 0; i < 5; i++)
2455         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2456     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t27);
2457     for (i = 0; i < 7; i++)
2458         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2459     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2460     for (i = 0; i < 5; i++)
2461         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2462     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
2463     for (i = 0; i < 5; i++)
2464         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2465     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
2466     for (i = 0; i < 5; i++)
2467         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2468     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
2469     for (i = 0; i < 8; i++)
2470         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2471     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
2472     for (i = 0; i < 7; i++)
2473         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2474     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2475     for (i = 0; i < 6; i++)
2476         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2477     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2478     for (i = 0; i < 5; i++)
2479         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2480     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
2481     for (i = 0; i < 5; i++)
2482         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2483     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
2484     for (i = 0; i < 7; i++)
2485         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2486     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
2487     for (i = 0; i < 6; i++)
2488         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
2490     for (i = 0; i < 5; i++)
2491         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2492     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2493     for (i = 0; i < 5; i++)
2494         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
2496     for (i = 0; i < 6; i++)
2497         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
2499     for (i = 0; i < 5; i++)
2500         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2501     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
2502     for (i = 0; i < 6; i++)
2503         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2504     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2505     for (i = 0; i < 5; i++)
2506         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2507     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
2508     for (i = 0; i < 8; i++)
2509         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2510     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
2511     for (i = 0; i < 5; i++)
2512         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2513     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
2514     for (i = 0; i < 7; i++)
2515         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2516     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t31);
2517     for (i = 0; i < 5; i++)
2518         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2519     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2520     for (i = 0; i < 5; i++)
2521         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2522     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
2523     for (i = 0; i < 6; i++)
2524         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2525     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
2526     for (i = 0; i < 6; i++)
2527         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2528     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
2529     for (i = 0; i < 6; i++)
2530         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2531     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
2532     for (i = 0; i < 7; i++)
2533         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2534     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t9);
2535     for (i = 0; i < 8; i++)
2536         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t5);
2538     for (i = 0; i < 6; i++)
2539         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2540     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
2541     for (i = 0; i < 6; i++)
2542         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t19);
2544     for (i = 0; i < 5; i++)
2545         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
2547     for (i = 0; i < 7; i++)
2548         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
2550     for (i = 0; i < 5; i++)
2551         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2552     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t17);
2553     for (i = 0; i < 5; i++)
2554         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2555     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
2556     for (i = 0; i < 5; i++)
2557         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2558     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
2559     for (i = 0; i < 5; i++)
2560         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2561     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
2562     for (i = 0; i < 7; i++)
2563         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2564     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2565     for (i = 0; i < 7; i++)
2566         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2567     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
2568     for (i = 0; i < 6; i++)
2569         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2570     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
2571     for (i = 0; i < 5; i++)
2572         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2573     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
2574     for (i = 0; i < 7; i++)
2575         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2576     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(output, acc, t25);
2577 }
2578
2579 /* curve coefficient constants */
2580
2581 static const limb_t const_one[4] = {
2582     UINT64_C(0x86670846FDD28A65), UINT64_C(0x307B9179876FAE2C),
2583     UINT64_C(0x54E137A194BE3755), UINT64_C(0x64609FA0A57A7EF8)};
2584
2585 static const limb_t const_b[4] = {
2586     UINT64_C(0x4BE8A4E93BDA2ACF), UINT64_C(0x79CC0E3E90D382DD),
2587     UINT64_C(0x3BA4C8B01D9CC79B), UINT64_C(0x5CC73B5A966609E9)};
2588
2589 /* LUT for scalar multiplication by comb interleaving */
2590 static const pt_aff_t lut_cmb[27][16] = {
2591     {
2592         {{UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2593           UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000)},
2594          {UINT64_C(0xD082E00700254F12), UINT64_C(0xC5BA8184EB1F1421),
2595           UINT64_C(0x4EC9E7D0F010780D), UINT64_C(0x7846B5B72794C8D5)}},
2596         {{UINT64_C(0x870FB0417225A595), UINT64_C(0x6CAFAE705FD57F04),
2597           UINT64_C(0xFEC1C2AC2E7DB9BA), UINT64_C(0x9230823E127A5862)},
2598          {UINT64_C(0xF6CFDB6DE4464836), UINT64_C(0x3D79631B9A945AC0),
2599           UINT64_C(0xA1FCF2DF3D0C880D), UINT64_C(0x17C83E500EE6A611)}},
2600         {{UINT64_C(0x3C79C11AE42734FD), UINT64_C(0x1614B2BEAC4040C3),
2601           UINT64_C(0xDD1437252C3A23A5), UINT64_C(0x1A02DA838AF4F7CD)},
2602          {UINT64_C(0x23D588D6E7D6991A), UINT64_C(0x5F332676D2B3E364),
2603           UINT64_C(0x353826809134BA88), UINT64_C(0x08ECA826D27090E5)}},
2604         {{UINT64_C(0x231F8DC826761106), UINT64_C(0x7363050E3D78B14B),
2605           UINT64_C(0xC3B9A1B8C05C4381), UINT64_C(0x29727635B8ACD9AC)},
2606          {UINT64_C(0xDD416AE92ED54E6C), UINT64_C(0x546084350B48A87C),
2607           UINT64_C(0x2C8DEEA497093D22), UINT64_C(0x87D2924C0D716BAF)}},
2608         {{UINT64_C(0x43281D30619206D6), UINT64_C(0x4A8FFC8768744E44),
2609           UINT64_C(0xB1011A3D708208D5), UINT64_C(0x2FE86E7BA035B0B9)},
2610          {UINT64_C(0x82F43088A3762860), UINT64_C(0x67B5A303B33595D4),
2611           UINT64_C(0x262F16EBB477BECD), UINT64_C(0x1D38D4A723E2816A)}},
2612         {{UINT64_C(0x91BBA3C0AD83C032), UINT64_C(0x7DBC2EB6234F2FF3),
2613           UINT64_C(0xE2C00C156D18A737), UINT64_C(0x71D1AE8BCCF6DC2D)},
2614          {UINT64_C(0x6183816A2DB77239), UINT64_C(0xC545A5120E228C41),
2615           UINT64_C(0x3B96D6BC0F49A679), UINT64_C(0x9831D683E49E39C2)}},
2616         {{UINT64_C(0xEEAA17A920DA13D9), UINT64_C(0xEE3130FB8ABECADE),
2617           UINT64_C(0xBFB2CE6AA6E3D089), UINT64_C(0x22BCDCEEE627A07C)},
2618          {UINT64_C(0x86D7A50C955A1D9E), UINT64_C(0xCD60A425E4E00B9E),
2619           UINT64_C(0x5407A6F8615B9E91), UINT64_C(0x7F17B1714F1CA93D)}},
2620         {{UINT64_C(0xBC351DE00DB59F2C), UINT64_C(0x1470E6A19CDAF8AF),
2621           UINT64_C(0x461ED28960D3B27A), UINT64_C(0x122C8F4B49C7F789)},
2622          {UINT64_C(0xAB56E614069FC8CE), UINT64_C(0x9836B010C34E487C),
2623           UINT64_C(0x9EE067033FE009EB), UINT64_C(0x88C8DC64AA019563)}},
2624         {{UINT64_C(0xD0B4A99663DDBB1F), UINT64_C(0x483286E51D154696),
2625           UINT64_C(0xF0586DB89F0D6F4E), UINT64_C(0x38167987980446C8)},
2626          {UINT64_C(0x86A2ABACE4166B55), UINT64_C(0x4E7B4F96A8366C64),
2627           UINT64_C(0x20CF2108ED997D8E), UINT64_C(0x20EA98441D01C009)}},
2628         {{UINT64_C(0x028B520EB89CE05A), UINT64_C(0xEF41147D4FAAD420),
2629           UINT64_C(0xB280CCD3121A2A0A), UINT64_C(0x4C677C8386E8F591)},
2630          {UINT64_C(0xB42F67B2A390AA99), UINT64_C(0xC4EF553B19F8A01A),
2631           UINT64_C(0x867611396979027F), UINT64_C(0x6F17766382C202BE)}},
2632         {{UINT64_C(0xBEF6B99627C5C7CC), UINT64_C(0xB2D34F8B10799DB8),
2633           UINT64_C(0x132E1A3D48AD9B1E), UINT64_C(0x2971BFEDE68B9907)},
2634          {UINT64_C(0x312F6D31C6B743B5), UINT64_C(0xCF123317A718E0A8),
2635           UINT64_C(0xCF1E5266FD58637C), UINT64_C(0x56BA8362E046167C)}},
2636         {{UINT64_C(0xD680969D0E910D7F), UINT64_C(0x634FB3C28A4689F9),
2637           UINT64_C(0xA79A56DF09FDD299), UINT64_C(0x9065269E89411C3D)},
2638          {UINT64_C(0x5D22254E82C6076C), UINT64_C(0xDE7D78F081FEA171),
2639           UINT64_C(0xE136696410BCDA87), UINT64_C(0x98B58F5A97638B85)}},
2640         {{UINT64_C(0xA532DED4FB5EDF3F), UINT64_C(0x604E5631833A7E2F),
2641           UINT64_C(0x7C4051D33A09C74E), UINT64_C(0x51D1108AEDFBEB4B)},
2642          {UINT64_C(0x9AE61F9E4DF1AB4D), UINT64_C(0xFD4966F3163DB1A5),
2643           UINT64_C(0xF6C44E557075AD6D), UINT64_C(0x670D0D6F4AF24611)}},
2644         {{UINT64_C(0xD99925FFD369D301), UINT64_C(0xC17E97677665BCF4),
2645           UINT64_C(0xB5A908F1CB5A2128), UINT64_C(0x1981791D9C726C9F)},
2646          {UINT64_C(0xC4249418E0861F4E), UINT64_C(0x2A63399FEE045D5E),
2647           UINT64_C(0x246958FDA1B974FF), UINT64_C(0x668016A20FC6F7A0)}},
2648         {{UINT64_C(0xEB7018ADEDE07C08), UINT64_C(0xDF3C12592E33D1D9),
2649           UINT64_C(0xEE0913DADC24E3DE), UINT64_C(0x1C632D5B35EB6B0D)},
2650          {UINT64_C(0xC69396DD2C56E1B2), UINT64_C(0x01F0B034A837CE8F),
2651           UINT64_C(0x7842B98DB6882E32), UINT64_C(0x8FAC92309E61FCA6)}},
2652         {{UINT64_C(0x1DBB7D998A782CFE), UINT64_C(0xEB945B49C9322BE7),
2653           UINT64_C(0xDCCB4E6EE208123B), UINT64_C(0x1C7C265CFC024524)},
2654          {UINT64_C(0xAD000D8A6102BC63), UINT64_C(0x7D7F3C7B82575943),
2655           UINT64_C(0x8D2F08810D547A95), UINT64_C(0x7012377AD94FFA6D)}},
2656     },
2657     {
2658         {{UINT64_C(0xE3F78DE51EB6CBF7), UINT64_C(0xF4E08A6172FA65DB),
2659           UINT64_C(0x670B0E06502A247E), UINT64_C(0x7A45D73E9877E492)},
2660          {UINT64_C(0x5FD754AD3DD0CDBC), UINT64_C(0xA5C2B15E0125AB1F),
2661           UINT64_C(0xC503836FE614B7A9), UINT64_C(0x5548C4242C50DCFE)}},
2662         {{UINT64_C(0xCEE7BE65B9B38743), UINT64_C(0xD5E4171594BE028E),
2663           UINT64_C(0x08EC3CA3B5C45F7D), UINT64_C(0x1ACFAC17FB51261A)},
2664          {UINT64_C(0x45098D93A9C04381), UINT64_C(0x717FC0DCA5B45DC8),
2665           UINT64_C(0xF352A9C2EABEE4E5), UINT64_C(0x1964AF20F311B457)}},
2666         {{UINT64_C(0x8C2298080802A755), UINT64_C(0x46F0A7CA6140CDA7),
2667           UINT64_C(0xF0EEB7AEBC62603B), UINT64_C(0x8432E1524BF4B451)},
2668          {UINT64_C(0x3C31982563967F94), UINT64_C(0xF04EACB6A042AE13),
2669           UINT64_C(0xD7CB2DBC650A6ADB), UINT64_C(0x38A36EE378C9E166)}},
2670         {{UINT64_C(0x3527A5C5D3EE8657), UINT64_C(0xBAA0DE97101645F9),
2671           UINT64_C(0xC59C9803CE9D6A48), UINT64_C(0x43D12449F8F39FDF)},
2672          {UINT64_C(0x65B3AB988DF7A72B), UINT64_C(0xD225AF8EAFDA9048),
2673           UINT64_C(0x88C368B8338A3694), UINT64_C(0x4A5A3C24FBC813F1)}},
2674         {{UINT64_C(0xCBCB725A9E2118B5), UINT64_C(0x113F36C5CAA54794),
2675           UINT64_C(0x5900990E4A0A2267), UINT64_C(0x4E329EB10A9C1F11)},
2676          {UINT64_C(0xF47F4077CD8918A7), UINT64_C(0x18A3C0713877B404),
2677           UINT64_C(0xCDEF4FE3EFEB2B6B), UINT64_C(0x360982DBDE4D0540)}},
2678         {{UINT64_C(0x42AB64F2D5F8DACA), UINT64_C(0x604A9676EE88523D),
2679           UINT64_C(0xD430CCABAEFD1283), UINT64_C(0x3DA9D0E554465F7C)},
2680          {UINT64_C(0x5EC145DF41A4216B), UINT64_C(0x7C8F2C51F7E7FBD9),
2681           UINT64_C(0xA2E58A23BD483D26), UINT64_C(0x4739F7F9E4A908C8)}},
2682         {{UINT64_C(0x37DDF87279370382), UINT64_C(0x9D26A55F12C8E90E),
2683           UINT64_C(0xFC1FA6CDE8EB0CA4), UINT64_C(0x826A29E5C29DC4F9)},
2684          {UINT64_C(0x15ECB621AA29F814), UINT64_C(0x4C8A81289DF1DFF7),
2685           UINT64_C(0xBB22301966B549BB), UINT64_C(0x6CB21ACBB81A2863)}},
2686         {{UINT64_C(0xDD31ACC211DA6928), UINT64_C(0xF98867B0A903D58F),
2687           UINT64_C(0xAD283697D3679348), UINT64_C(0x67BFEFF9301C3571)},
2688          {UINT64_C(0xB745CAE6780BBBCE), UINT64_C(0x1A9C661862F2EC5D),
2689           UINT64_C(0xF9895684A1475BEB), UINT64_C(0x93E5ACE64731A11D)}},
2690         {{UINT64_C(0x0F6E94607539483E), UINT64_C(0x5728E6DD9EF4EF16),
2691           UINT64_C(0xE1DA86E1062E946E), UINT64_C(0x272EBC47F2E07759)},
2692          {UINT64_C(0xE5E688E3909A578F), UINT64_C(0x9F25D6D17CFD1B7D),
2693           UINT64_C(0xC582260FADE1E2A4), UINT64_C(0x2F50F74EA050071E)}},
2694         {{UINT64_C(0xE0A8FE3F2DF4D40D), UINT64_C(0xB126E4EF07791F88),
2695           UINT64_C(0x69759DB42A88D242), UINT64_C(0x52592A3BC9C1981C)},
2696          {UINT64_C(0xD0F4172872F649A1), UINT64_C(0x9FF19B2B0750EBAB),
2697           UINT64_C(0xEFC047F9E0D7D222), UINT64_C(0x81491CA12E8140AF)}},
2698         {{UINT64_C(0x2DA40FF1675F821B), UINT64_C(0x2C91A2879E2E0502),
2699           UINT64_C(0x993ECFF4077D81FE), UINT64_C(0x3ABA2F2C71CC3DAE)},
2700          {UINT64_C(0xED007670168413DB), UINT64_C(0xC07D61B5AFBD4E82),
2701           UINT64_C(0xF078262E6BBADA24), UINT64_C(0x0E0EDC629E6413CC)}},
2702         {{UINT64_C(0x6CD0451DB7D099F9), UINT64_C(0x8FB218E6F8B12C83),
2703           UINT64_C(0x4D8C3B26E55EE1E4), UINT64_C(0x949649064A6FCD90)},
2704          {UINT64_C(0x9ABB96854BEACA48), UINT64_C(0x6A749487868EFEC7),
2705           UINT64_C(0x46BB9B42C8D2932C), UINT64_C(0x82384321DE007BAC)}},
2706         {{UINT64_C(0xDBECB743A942DB71), UINT64_C(0x21B5211521A6BC46),
2707           UINT64_C(0xE49B689424C17D78), UINT64_C(0x737FD3F189A08E17)},
2708          {UINT64_C(0xF833E404C36E4E57), UINT64_C(0x512C114A01E17CE6),
2709           UINT64_C(0x65A23D7350D75050), UINT64_C(0x838CA746F2F2D438)}},
2710         {{UINT64_C(0x28F9220CA20632B7), UINT64_C(0x72D8C347642358D6),
2711           UINT64_C(0xAB15FE1BE89CAA6F), UINT64_C(0x2A09B1436E16374A)},
2712          {UINT64_C(0x4CED0986B983CFE8), UINT64_C(0xD9B067B697B84E88),
2713           UINT64_C(0x926FC5F5C2350F8F), UINT64_C(0x31D7735884E2078F)}},
2714         {{UINT64_C(0xA7815CE77FF17BA1), UINT64_C(0xBE80BB6CA26BBA1B),
2715           UINT64_C(0x66DAE535F86DF104), UINT64_C(0x72739199AB1B9C09)},
2716          {UINT64_C(0x8E93F3C854056E67), UINT64_C(0xDC5E3855EBF23595),
2717           UINT64_C(0x70D1033C78123000), UINT64_C(0x50874350F22DD2BD)}},
2718         {{UINT64_C(0x533F213BC2700468), UINT64_C(0x31E6AA9C11BEA732),
2719           UINT64_C(0xCB5E184E4491DC82), UINT64_C(0x8A68049A5BD63975)},
2720          {UINT64_C(0x1724AC47F86A41D1), UINT64_C(0xDF9A0CA3ECA0DA11),
2721           UINT64_C(0xE5E1489C71F0EA19), UINT64_C(0x0E20661AC9DC7BF2)}},
2722     },
2723     {
2724         {{UINT64_C(0x5EB4E319F86D9DA8), UINT64_C(0x3CBF130EE0A46703),
2725           UINT64_C(0x166D52DA00A4AB17), UINT64_C(0x27A80547B7030861)},
2726          {UINT64_C(0xA7601086399C32BA), UINT64_C(0x571E4E4BC2F0A5E5),
2727           UINT64_C(0x72D12F6B39BED44D), UINT64_C(0x8FDCCE3D1AF8F25F)}},
2728         {{UINT64_C(0x281F7AF97DFEB40D), UINT64_C(0x0CCE33B9D7F767D5),
2729           UINT64_C(0x3E8BF3F48818C1E6), UINT64_C(0x6D909D0D4BA4647A)},
2730          {UINT64_C(0x91D77BA0FAC574D1), UINT64_C(0xD259266168CA7FEC),
2731           UINT64_C(0xC4C7D6B5281F269C), UINT64_C(0x7A41CD78DA42CDDD)}},
2732         {{UINT64_C(0xBC8E0D27A3B8F255), UINT64_C(0xF5E2A8B11C3E5190),
2733           UINT64_C(0x8C38862BD609F668), UINT64_C(0x4E31C18E0631D50F)},
2734          {UINT64_C(0x9013EDDBF13E0CCD), UINT64_C(0x83B04E6841EFDAF7),
2735           UINT64_C(0x15EC4BB8DC82597F), UINT64_C(0x5059515056117705)}},
2736         {{UINT64_C(0xD25F244D1E0E0161), UINT64_C(0x6C975D7B1A437FBA),
2737           UINT64_C(0x305DB2DF95F2AD8C), UINT64_C(0x17D6E0053B9CC742)},
2738          {UINT64_C(0x6A849F76E60BC3C3), UINT64_C(0x35523E08BF8C3790),
2739           UINT64_C(0xF18B5335239140E2), UINT64_C(0x5E8570557CA5FF40)}},
2740         {{UINT64_C(0xB48F07A4A4250E95), UINT64_C(0x068735AEC7F17667),
2741           UINT64_C(0x30F8D31394771B24), UINT64_C(0x598EA397A495A064)},
2742          {UINT64_C(0xBF19252968B76855), UINT64_C(0x897E3CC6C7C0D2D6),
2743           UINT64_C(0xA2A4948F64EC9649), UINT64_C(0x1027891AAE7C8598)}},
2744         {{UINT64_C(0x0442E6CB04585685), UINT64_C(0x09BA61DA82A2D258),
2745           UINT64_C(0x7C5400B10AE5466D), UINT64_C(0x0A0B71B0C2133893)},
2746          {UINT64_C(0x04E3D98AD5EF6E93), UINT64_C(0x177EA5F8F332BDF2),
2747           UINT64_C(0xE7CF3F71C3FAE583), UINT64_C(0x40C451338AE0CFD7)}},
2748         {{UINT64_C(0x6BE94FC39B82E738), UINT64_C(0x212FB8048BC262E2),
2749           UINT64_C(0xE17F6A7AB22E21FF), UINT64_C(0x22B7BDAB15E960BB)},
2750          {UINT64_C(0xE154C945771350C2), UINT64_C(0x6505B8EB882DB07B),
2751           UINT64_C(0x149A0A16C7E3ABD3), UINT64_C(0x78F78ABF81C30AAE)}},
2752         {{UINT64_C(0x6ED81415C954BC0A), UINT64_C(0x316E801270E55349),
2753           UINT64_C(0xEC02323B50399C09), UINT64_C(0x963BA97B8559C3A9)},
2754          {UINT64_C(0x39FCE50E037EC345), UINT64_C(0x422A082DD5BF03FB),
2755           UINT64_C(0x59ED39E418DCC77E), UINT64_C(0x4CFC3F11A40AA978)}},
2756         {{UINT64_C(0x85A5692255D7C9B6), UINT64_C(0x5BC590E2B451111B),
2757           UINT64_C(0x3BCB23158782C71B), UINT64_C(0x1F3456C4632246A9)},
2758          {UINT64_C(0xEA577AD99CFBBE19), UINT64_C(0x051BEE4035CCE939),
2759           UINT64_C(0xDC3008991A0C589C), UINT64_C(0x14877ECED2095619)}},
2760         {{UINT64_C(0xB64D0EC695024C5E), UINT64_C(0xB0597195B94CDF74),
2761           UINT64_C(0x3B97B51316844010), UINT64_C(0x48799881CCBABC63)},
2762          {UINT64_C(0x0E3119AED9819075), UINT64_C(0xA5DCA9C1EB0299FD),
2763           UINT64_C(0x8063D7884A404D13), UINT64_C(0x974D2A1A8044EBE2)}},
2764         {{UINT64_C(0xB6589045B8E14640), UINT64_C(0xFAD60A435507B9BE),
2765           UINT64_C(0x9D540C1C56FF32BC), UINT64_C(0x47ECC24F74265A69)},
2766          {UINT64_C(0x0C829F18DB3E64C9), UINT64_C(0xF7C0C6D772E87B2B),
2767           UINT64_C(0xCB3FC51216B616CE), UINT64_C(0x549B9227B94F69B1)}},
2768         {{UINT64_C(0xB151DEE9DB235273), UINT64_C(0x2FD9496F6D65606C),
2769           UINT64_C(0x6A5E172DD62B5B0D), UINT64_C(0x181E605DEA0AE249)},
2770          {UINT64_C(0x66D7EB098911490A), UINT64_C(0x85E174A32E70DEF2),
2771           UINT64_C(0x2DA133544EF8CFA9), UINT64_C(0x1B87FE623E69BD22)}},
2772         {{UINT64_C(0x2DF420CA2BB09564), UINT64_C(0x1AC26F767ACEE4D4),
2773           UINT64_C(0x50C68E6F2BC7EF7A), UINT64_C(0x4730D654B445B2FE)},
2774          {UINT64_C(0x90C040D98B57D38D), UINT64_C(0x28793DB533CA2C77),
2775           UINT64_C(0x22D2B573AC6A4BE8), UINT64_C(0x68C0DBDDB72E7E01)}},
2776         {{UINT64_C(0xDF70BCDC09E2D3FF), UINT64_C(0xB6E599709F20F624),
2777           UINT64_C(0x5E04FDE76DE3119E), UINT64_C(0x1C9B43FFD5705A5D)},
2778          {UINT64_C(0x7C23A517681270B0), UINT64_C(0xDD7FC8339303BF40),
2779           UINT64_C(0x3028E496458EE80A), UINT64_C(0x0C72006352590EEF)}},
2780         {{UINT64_C(0x27B297102850A5AE), UINT64_C(0xD1E6FBBAAA3E0397),
2781           UINT64_C(0xCFB44044DF8FCBD6), UINT64_C(0x7CD86272C52B90FD)},
2782          {UINT64_C(0xB0E7FA93EBA52025), UINT64_C(0x6416630304084EF3),
2783           UINT64_C(0xD7C7DCBE43840178), UINT64_C(0x8BC7FF7722FB81A2)}},
2784         {{UINT64_C(0xABDC5206DAFCE699), UINT64_C(0x522A913783C5F3A3),
2785           UINT64_C(0xBAA936370E666E5C), UINT64_C(0x0FD813DAD2D33B62)},
2786          {UINT64_C(0x833919085D417354), UINT64_C(0xE5AADE1DA6B9B447),
2787           UINT64_C(0xBDE90A3CD68321B1), UINT64_C(0x43FF95140411531B)}},
2788     },
2789     {
2790         {{UINT64_C(0xD61DEE6439648345), UINT64_C(0xF8B3FA1C7FCB5B5E),
2791           UINT64_C(0xDD531CE124C29C71), UINT64_C(0x7A23608BFFB825FE)},
2792          {UINT64_C(0x8D607B82F0DE896D), UINT64_C(0x6E49733006EDDAFE),
2793           UINT64_C(0x8B49EFF0C935E754), UINT64_C(0x90D54646EE08BDBF)}},
2794         {{UINT64_C(0xF44FBB169044FD39), UINT64_C(0xA72128C4DFB38141),
2795           UINT64_C(0x8467F68801954CC0), UINT64_C(0x741C23EEB560B5C5)},
2796          {UINT64_C(0xA7F422019765CF34), UINT64_C(0xB26C97BF8A2AB61A),
2797           UINT64_C(0xAA948763CBD45AF3), UINT64_C(0x74C993C2E21479F5)}},
2798         {{UINT64_C(0xD968CE1ABFA717A5), UINT64_C(0x45C1103D48E92615),
2799           UINT64_C(0x4CCEBE85DD98207D), UINT64_C(0x8A75DF6EE65E5FE6)},
2800          {UINT64_C(0x9E582C40418C47C5), UINT64_C(0x2E9EE003A450009B),
2801           UINT64_C(0x7C079613DD60D3D2), UINT64_C(0x80A78C4A9935D8CA)}},
2802         {{UINT64_C(0xF6CDED58D3C9B903), UINT64_C(0x4F27927DEF455E7A),
2803           UINT64_C(0xF9DBBB9E833BB3C1), UINT64_C(0x4107CFBF6BA3770A)},
2804          {UINT64_C(0x61871175520FCB57), UINT64_C(0xEA3A307B47A12C8E),
2805           UINT64_C(0x940DDEE8C24E9E75), UINT64_C(0x8AE8F22CF33541BB)}},
2806         {{UINT64_C(0xE4C898703973DC0B), UINT64_C(0xCC3DD1AC55DFAAF0),
2807           UINT64_C(0xB63D596B27372EFE), UINT64_C(0x1B92A19245A33718)},
2808          {UINT64_C(0x0EABEBEE00607319), UINT64_C(0x69B7355E7C3E35EE),
2809           UINT64_C(0xF7354E352233C454), UINT64_C(0x1E2BAADA1E722C0A)}},
2810         {{UINT64_C(0xD0E47FE23B9FE86D), UINT64_C(0x878F403FDAA1C7BC),
2811           UINT64_C(0x5447AD5490F5DED7), UINT64_C(0x4E8A997B1E58B03B)},
2812          {UINT64_C(0x9AD0E4812E926FA8), UINT64_C(0x871EFB9E8D0EF3AA),
2813           UINT64_C(0xADD7DD147E714DF6), UINT64_C(0x9A30245A2308EE02)}},
2814         {{UINT64_C(0x44838B15904F0D11), UINT64_C(0x6177587A2A2A70FF),
2815           UINT64_C(0x402938502C2F7943), UINT64_C(0x8F85119167581701)},
2816          {UINT64_C(0x564383D1842E6434), UINT64_C(0x251AF59DAF2C0078),
2817           UINT64_C(0x8A81772D3354A264), UINT64_C(0x9AAFA350DFD2D0EA)}},
2818         {{UINT64_C(0x4739793235461CAD), UINT64_C(0x0F86BD4362C5BFFA),
2819           UINT64_C(0x5F166BC07785490D), UINT64_C(0x7DCCC9882BD61B3E)},
2820          {UINT64_C(0x44C3299A9394375B), UINT64_C(0x0C5F2803405A34BD),
2821           UINT64_C(0x3AD60F1D4237E728), UINT64_C(0x6E7E06D072EC2562)}},
2822         {{UINT64_C(0x44AD84713C5840A6), UINT64_C(0x40C3CE2B4752BC62),
2823           UINT64_C(0x94B14C21EC3FD75F), UINT64_C(0x65E0E6AF2629C0C0)},
2824          {UINT64_C(0xA3FE2F5555936454), UINT64_C(0x252AD743780E25E5),
2825           UINT64_C(0x22F9951BFF4E107A), UINT64_C(0x1B8A7DDE554CEA49)}},
2826         {{UINT64_C(0xBBDCC2C089F1C6FA), UINT64_C(0x548FEF29C360A51D),
2827           UINT64_C(0x094DAD451290EC92), UINT64_C(0x792F6FB9AF55BF30)},
2828          {UINT64_C(0x37EF4ABE707FBF4E), UINT64_C(0x0F43AB0DFC4B6BD0),
2829           UINT64_C(0x850015B72D6EE5D9), UINT64_C(0x09273F3535C1FD65)}},
2830         {{UINT64_C(0xCECF1B90A6C3209B), UINT64_C(0xFB4BC864ABD433C0),
2831           UINT64_C(0x38246AAA3EEEF8BA), UINT64_C(0x4BC7904E9ED13F88)},
2832          {UINT64_C(0xA61C369A8E783066), UINT64_C(0x496FB8314D1C832C),
2833           UINT64_C(0x1907687A03AD64D5), UINT64_C(0x49516EA583425766)}},
2834         {{UINT64_C(0x8108B704B1714E53), UINT64_C(0xB458CB4B82E39BE7),
2835           UINT64_C(0xFCBD51CC097049DE), UINT64_C(0x415F4079722E8CBA)},
2836          {UINT64_C(0xCDB06F5E342DF9C6), UINT64_C(0x64885CD11281AC74),
2837           UINT64_C(0x932A05E45366673D), UINT64_C(0x7333520BE83AD23D)}},
2838         {{UINT64_C(0xDAA0A1EFC54B523C), UINT64_C(0xA3E80053B3C261C8),
2839           UINT64_C(0x352CC612558FCFA5), UINT64_C(0x1B9B755D85852B14)},
2840          {UINT64_C(0x19EE2CB6A1B541FF), UINT64_C(0x2B531CE2D5786B4F),
2841           UINT64_C(0xEF5EA6DF08C3E15B), UINT64_C(0x82161B0487111129)}},
2842         {{UINT64_C(0x5AB533A5FCEABAED), UINT64_C(0x4C2147A54A4D8E44),
2843           UINT64_C(0xD8EEE795DA02D43D), UINT64_C(0x8CB648DFA15C1CD0)},
2844          {UINT64_C(0x4869FB6CA788DDDE), UINT64_C(0xF9554D1477C03759),
2845           UINT64_C(0x4D25B41A96187DB9), UINT64_C(0x662FBAB33FE0B3F3)}},
2846         {{UINT64_C(0xD3AF4D09A58A5B2E), UINT64_C(0x3C5DD2985CE88DBE),
2847           UINT64_C(0x89DDA42E7426C2A4), UINT64_C(0x2D832B0749095424)},
2848          {UINT64_C(0x24EFCC0362AA84CF), UINT64_C(0x348C19DEE86923D7),
2849           UINT64_C(0x453E928635DB5CB1), UINT64_C(0x03F48EEB8DB21CF3)}},
2850         {{UINT64_C(0xBCF9600FF4035856), UINT64_C(0xE77CEC83AF820E18),
2851           UINT64_C(0xC87D43C17F2FBCC1), UINT64_C(0x574C4CAE6290B18D)},
2852          {UINT64_C(0x8BD8AE45E56E1EFE), UINT64_C(0xB1EFD68475D6FCC9),
2853           UINT64_C(0x9829F227A361E753), UINT64_C(0x9A50B4255211B784)}},
2854     },
2855     {
2856         {{UINT64_C(0x26F1959036396F78), UINT64_C(0x350D1A769AD1982C),
2857           UINT64_C(0x33BDB4AB947F352E), UINT64_C(0x6CA38B05FFE1E1E1)},
2858          {UINT64_C(0x055364C26F2A8CA0), UINT64_C(0xAF15075D2969CA7E),
2859           UINT64_C(0x2916D58FC3B9CB70), UINT64_C(0x18D94A8BD7325693)}},
2860         {{UINT64_C(0x87C41809F36EB789), UINT64_C(0x8C3517F9A7436F54),
2861           UINT64_C(0xE7C02E1D3D785160), UINT64_C(0x5BAFE72E418C7ABF)},
2862          {UINT64_C(0xA00A8E76CD9B27C2), UINT64_C(0x667918087DA06823),
2863           UINT64_C(0x342A03D920EC00B4), UINT64_C(0x44502A7E6122589A)}},
2864         {{UINT64_C(0x3A492F735BDAE972), UINT64_C(0x5184D076126A07DE),
2865           UINT64_C(0xAE49313CB56A38F0), UINT64_C(0x66CCC24E9EC47E0A)},
2866          {UINT64_C(0xAE84941BC03CF3E1), UINT64_C(0x771AFC575A73440B),
2867           UINT64_C(0xABF93DC8C433E43C), UINT64_C(0x974EE822243C6828)}},
2868         {{UINT64_C(0x468D7FDBA7A5F66C), UINT64_C(0xBBB2C482B18DEFCC),
2869           UINT64_C(0x188B8CACFA2E7DEA), UINT64_C(0x7894BC93BE0200B9)},
2870          {UINT64_C(0xA31813386B84750E), UINT64_C(0x8B14BDB237356096),
2871           UINT64_C(0xA9200FE7D62F4813), UINT64_C(0x8DF664A36F7627CE)}},
2872         {{UINT64_C(0x39BF14DDDD996CF1), UINT64_C(0xD00B3BF5F7F42D26),
2873           UINT64_C(0xF1AF5A20017718A3), UINT64_C(0x34A1E94BABCAE05D)},
2874          {UINT64_C(0xAD75D1B5C635D333), UINT64_C(0x97E5BD3987210A5A),
2875           UINT64_C(0x11684CA6A0327BF4), UINT64_C(0x25C511179B8F0A46)}},
2876         {{UINT64_C(0x7E5CD79FA935A9B9), UINT64_C(0x15DC70C2A22DCD16),
2877           UINT64_C(0x5CDA47E678A420F4), UINT64_C(0x37E0364EEA631104)},
2878          {UINT64_C(0xE7C469565E47B630), UINT64_C(0x7BD4C4A7E42C4DCB),
2879           UINT64_C(0xA76B87A71C91117E), UINT64_C(0x2AA043DDADA4B5E1)}},
2880         {{UINT64_C(0x6BB06B5A875DED57), UINT64_C(0x89452B3BFEAD7B14),
2881           UINT64_C(0x0CBD5CA8A6E39E1F), UINT64_C(0x2DC5917C3BFA7A3D)},
2882          {UINT64_C(0x6395D5B8F840B6E8), UINT64_C(0xAEC9342FED8589EE),
2883           UINT64_C(0x8332A1B877979E67), UINT64_C(0x29B55822C59F97DB)}},
2884         {{UINT64_C(0xFD145FF77D65A8F4), UINT64_C(0x8FFF7EE0119C9AFC),
2885           UINT64_C(0x0100D0E9AFCD6214), UINT64_C(0x98DE55E5A3B988B3)},
2886          {UINT64_C(0x0BACCB2E00151BF2), UINT64_C(0x2B422D0966091583),
2887           UINT64_C(0xC4D15E1693C66A3B), UINT64_C(0x1C107559727DE9E6)}},
2888         {{UINT64_C(0xC019C7D73CB76EDF), UINT64_C(0x6456DD91151F5E14),
2889           UINT64_C(0x29E95B6657CC7078), UINT64_C(0x9193F4D9E9BDBCEC)},
2890          {UINT64_C(0x375837B04806F8CB), UINT64_C(0x52D5528AAA954620),
2891           UINT64_C(0xE71F9F601B9D6D34), UINT64_C(0x910E4FA1DF95759C)}},
2892         {{UINT64_C(0x8D31B2EEFCADB5EA), UINT64_C(0x0814FF77A63C7498),
2893           UINT64_C(0x236569C05E3D927E), UINT64_C(0x7F669DAD95BBB9D9)},
2894          {UINT64_C(0x29158C9A305B0347), UINT64_C(0x99B9B7E752D468EB),
2895           UINT64_C(0x6C4CABC3B4342443), UINT64_C(0x125AFBEA0A803ED4)}},
2896         {{UINT64_C(0x850A150B101FAA4E), UINT64_C(0xB586BCDA11ECDABC),
2897           UINT64_C(0x9692EF834DAD2264), UINT64_C(0x0951716ED2B67F5E)},
2898          {UINT64_C(0xA2295F20924DD16D), UINT64_C(0xD8327275D0CE88CD),
2899           UINT64_C(0x45F8DD0CC683ADA3), UINT64_C(0x4A798B3388C26024)}},
2900         {{UINT64_C(0x225395CFCAF71198), UINT64_C(0xEE223712CA3F67CF),
2901           UINT64_C(0x972B019981280061), UINT64_C(0x0CB20E7A280ECC12)},
2902          {UINT64_C(0x06F04DA870F54717), UINT64_C(0x5288425E410B9712),
2903           UINT64_C(0x6C29A51474CEFB4A), UINT64_C(0x4218ECCA849E2FD6)}},
2904         {{UINT64_C(0xD85663A3B33574B6), UINT64_C(0x7469CFB1FAF7D3A2),
2905           UINT64_C(0x9C587EC43CFA8876), UINT64_C(0x5DAE46AEDB24ED63)},
2906          {UINT64_C(0x66C8DA33C413E494), UINT64_C(0xB8B256B665942568),
2907           UINT64_C(0x0F09178EA7A4CAAD), UINT64_C(0x577D4ADCAFEBC90B)}},
2908         {{UINT64_C(0x49009BA692D6C3B4), UINT64_C(0xE9CF4915B884FAAC),
2909           UINT64_C(0xC12377D36F3DBE23), UINT64_C(0x2F6E0E86EA6B680C)},
2910          {UINT64_C(0x5DF2CD5AE6C5E24D), UINT64_C(0xAAE7E145EE608DD3),
2911           UINT64_C(0x5357CFF28A7ED956), UINT64_C(0x8377126C3912DBA4)}},
2912         {{UINT64_C(0x6E83A6C6F83BC3F6), UINT64_C(0x3633E1E4C0CC09C6),
2913           UINT64_C(0x0C2A268BBC4B73A5), UINT64_C(0x688369D3125688EB)},
2914          {UINT64_C(0x64EE03E173E75809), UINT64_C(0x21773EE98E110C46),
2915           UINT64_C(0xF0BC6BE9A6A648B1), UINT64_C(0x399121837E0041E7)}},
2916         {{UINT64_C(0xCC09774A26F5716E), UINT64_C(0x01CB17F9FDFB59E9),
2917           UINT64_C(0xA88D1269AE8938B4), UINT64_C(0x99A40D17D13047C9)},
2918          {UINT64_C(0xE469C9846FC672A3), UINT64_C(0xDA6534B65638B928),
2919           UINT64_C(0xC56EAB20CDE40C83), UINT64_C(0x2C1582B1BD93AF10)}},
2920     },
2921     {
2922         {{UINT64_C(0xE4C19851A3F45C37), UINT64_C(0xCA0FEFF2C7D78FE9),
2923           UINT64_C(0x027B41D89A7E444B), UINT64_C(0x1F1B242F15D38CBB)},
2924          {UINT64_C(0x1C6C132CF1F50AB9), UINT64_C(0x2A02A3A45DFE7530),
2925           UINT64_C(0x2B1EB8E26E29159F), UINT64_C(0x5F3F4AB72EEDE876)}},
2926         {{UINT64_C(0x362CE0130F2DF95C), UINT64_C(0x82E4E19226480BFA),
2927           UINT64_C(0x9AAC9A966BEFF080), UINT64_C(0x5A1636F68EE2B59C)},
2928          {UINT64_C(0x600E0339FA049CCB), UINT64_C(0x56680F80F2F57163),
2929           UINT64_C(0x2C395CC17B4240A7), UINT64_C(0x32EDFE4A9C86BB64)}},
2930         {{UINT64_C(0x8D9842AB711AEF69), UINT64_C(0x7A1C2429890831F0),
2931           UINT64_C(0x924478DF54CDA99A), UINT64_C(0x791A1D45E25A02E2)},
2932          {UINT64_C(0x1433F569170F4C21), UINT64_C(0x9F42C8C1CA5F8BD8),
2933           UINT64_C(0x377740F7067B3201), UINT64_C(0x75145FFF2ECE5D81)}},
2934         {{UINT64_C(0xCBFE782A39638F43), UINT64_C(0xB0C0EC09E07553D2),
2935           UINT64_C(0x8D1C41F7115C673A), UINT64_C(0x8510551AEB39E385)},
2936          {UINT64_C(0x92000181BA275803), UINT64_C(0x8AF63F4A27B9A42A),
2937           UINT64_C(0xD50ECF0F52297029), UINT64_C(0x1DCA33A566883C56)}},
2938         {{UINT64_C(0xB2C44933C51DF9D9), UINT64_C(0xCA6F9FB0E66D80AE),
2939           UINT64_C(0x78CD2EEB82839BA4), UINT64_C(0x8FF8BCC8F7AFBCF3)},
2940          {UINT64_C(0x5AD00C704164959B), UINT64_C(0xAD901C71E83ED8D5),
2941           UINT64_C(0x56FFC0A92B52650D), UINT64_C(0x0689B171780126A8)}},
2942         {{UINT64_C(0x2E902A395EAC1DD8), UINT64_C(0x7681EABA7CAC283F),
2943           UINT64_C(0x03608CD878525B7C), UINT64_C(0x09665B805EB95540)},
2944          {UINT64_C(0xF09F9805306EE831), UINT64_C(0xFB00B1C6E41D453A),
2945           UINT64_C(0xD8BB95597C93E727), UINT64_C(0x3B74FEE72CE63FD8)}},
2946         {{UINT64_C(0x73F48B330A22DABA), UINT64_C(0x797DE0FBC8FC3E20),
2947           UINT64_C(0x69C1BEE29E79222D), UINT64_C(0x3052F67A1DF4C549)},
2948          {UINT64_C(0xFE9128A9ED78B6FB), UINT64_C(0xD9460CFF29CCF94F),
2949           UINT64_C(0x53737484C1FD1DAA), UINT64_C(0x83ADCD011EDAEEB2)}},
2950         {{UINT64_C(0x189EC9AA2BA4195A), UINT64_C(0x61345757C522BE92),
2951           UINT64_C(0x35BAB72A39EFB05D), UINT64_C(0x82B27322AE0AC461)},
2952          {UINT64_C(0xFEBF0F8CC07F4382), UINT64_C(0x1CA2B3D7DAD2ED8E),
2953           UINT64_C(0x4800A0370A27F89C), UINT64_C(0x77D1B2FC9815D971)}},
2954         {{UINT64_C(0xF9F46089CA0FC66A), UINT64_C(0x5BC406DE8C23E4E1),
2955           UINT64_C(0x1D7F3BA98DBF6DD5), UINT64_C(0x685B9111679D5587)},
2956          {UINT64_C(0x93554084B85BE0D0), UINT64_C(0xB081E9CA7B9EB16C),
2957           UINT64_C(0x58C428DC60F0D0B0), UINT64_C(0x12442C1A30B3C6D9)}},
2958         {{UINT64_C(0x147B843C567226BE), UINT64_C(0x2B2BFFAB429A8FFA),
2959           UINT64_C(0x7A4678EBCD435C2F), UINT64_C(0x200E85133C0B887A)},
2960          {UINT64_C(0x9D457AAD90605CDD), UINT64_C(0x6736A242157F29A5),
2961           UINT64_C(0x779B0D25549FCA4D), UINT64_C(0x57477EE917FDB4D9)}},
2962         {{UINT64_C(0xD9B15FD1ECF06CDD), UINT64_C(0xECF75FC0C1CC2CFC),
2963           UINT64_C(0x273867C3A56B39E5), UINT64_C(0x72F3ED4579340B7D)},
2964          {UINT64_C(0xF31C9E4C55B6C9B9), UINT64_C(0xED96826E0448FE57),
2965           UINT64_C(0xE2DF54AD8BB7A02F), UINT64_C(0x945E7B6BD79D71CC)}},
2966         {{UINT64_C(0x32B6CE429270E878), UINT64_C(0x980C8F6ED6EEBEB9),
2967           UINT64_C(0xC5717C8555808237), UINT64_C(0x4469D0A0CCA3F298)},
2968          {UINT64_C(0x2B9DD7E91A18C0E8), UINT64_C(0xE9D124016A0EC412),
2969           UINT64_C(0xF889DE9831F44B32), UINT64_C(0x692EE1E678854A7F)}},
2970         {{UINT64_C(0xF2360597ADEECA22), UINT64_C(0x94623EBC99A4C198),
2971           UINT64_C(0x5A0D49C4E4169D20), UINT64_C(0x7BE2C5BBBF0384F0)},
2972          {UINT64_C(0x42DB0D408C537851), UINT64_C(0x198A09A465C50782),
2973           UINT64_C(0x72F80BB745AD7EE0), UINT64_C(0x4F83164B11FCED06)}},
2974         {{UINT64_C(0x54E5B07C95712AF0), UINT64_C(0x95E7F5D91E893387),
2975           UINT64_C(0x383BC5AEC61D7766), UINT64_C(0x09F626ED681C28DD)},
2976          {UINT64_C(0x0D32B726DF97E3C9), UINT64_C(0x2AC622387C7C4786),
2977           UINT64_C(0xECEA0C6AD3F5AD40), UINT64_C(0x0D26633EA870A132)}},
2978         {{UINT64_C(0x40A05A14C3D42D26), UINT64_C(0x06577CA1F3BDE0E3),
2979           UINT64_C(0x03DAA258418B73FB), UINT64_C(0x205E02E60EFDEB86)},
2980          {UINT64_C(0xF5479E4D99F90D56), UINT64_C(0x4E699BF3368CB6E3),
2981           UINT64_C(0x534F674362E4A879), UINT64_C(0x18473603A9D78191)}},
2982         {{UINT64_C(0xA23D79CF5C1ED4F9), UINT64_C(0xFADE1CF5F2248B01),
2983           UINT64_C(0xA3D528276F4D2164), UINT64_C(0x1F211C0310B731E5)},
2984          {UINT64_C(0x0B415884D97229E2), UINT64_C(0xCABB7D8980FCC283),
2985           UINT64_C(0xDB9BC75298EF388A), UINT64_C(0x50AF2A4A93E80262)}},
2986     },
2987     {
2988         {{UINT64_C(0xD11E80F1D57DD821), UINT64_C(0x11CAE463DDA2AB29),
2989           UINT64_C(0x21CAFD16E628F315), UINT64_C(0x296A84E97DF70CD4)},
2990          {UINT64_C(0x9ECF75136E9EF995), UINT64_C(0xAE87525706E28855),
2991           UINT64_C(0x78E1B7E95DED383C), UINT64_C(0x6C5D8ECC5E940F7F)}},
2992         {{UINT64_C(0xCBD3ACB9998EE9A3), UINT64_C(0x990CDFF6D0DCF584),
2993           UINT64_C(0x0FB4346CC7CE5DDA), UINT64_C(0x5EDEEF9B355E268F)},
2994          {UINT64_C(0xACD8B4A2C215036D), UINT64_C(0x70D3699591C7486B),
2995           UINT64_C(0x72D5243D52C6694B), UINT64_C(0x54163B48E5F8B99C)}},
2996         {{UINT64_C(0xD2AEA2FF1D76A94A), UINT64_C(0xC5B4FBF1379F780B),
2997           UINT64_C(0x700042F7B33AC708), UINT64_C(0x7DA790BF8183E0CA)},
2998          {UINT64_C(0x95681FE6EBA72FA8), UINT64_C(0x1F0A390EE22E254E),
2999           UINT64_C(0x465A58F8BF07A8A5), UINT64_C(0x840EA2E7FB1FCE40)}},
3000         {{UINT64_C(0xD955C5B544048484), UINT64_C(0x7107D5956935C5E4),
3001           UINT64_C(0xFC6574448A0FCE44), UINT64_C(0x97DF2B4D2800E517)},
3002          {UINT64_C(0x0B1BB3282C482414), UINT64_C(0x152614CC4E48CDBE),
3003           UINT64_C(0x48051FB642EDE4E0), UINT64_C(0x91125B933DBFFE52)}},
3004         {{UINT64_C(0xA2F526C7CF898F54), UINT64_C(0x8788CA1283080857),
3005           UINT64_C(0x2F4427234562F7B0), UINT64_C(0x837772ABC044560C)},
3006          {UINT64_C(0x51AD2F7131BCB2EA), UINT64_C(0x0F1D33FCAFC5C03D),
3007           UINT64_C(0xDBFE541F7BD352A4), UINT64_C(0x8B44139964B8343D)}},
3008         {{UINT64_C(0xFEB96B8C44DCD145), UINT64_C(0xEEB3007CEFF22D0D),
3009           UINT64_C(0xAF64DFC1252A8C8F), UINT64_C(0x5D9B0A05D131E0C5)},
3010          {UINT64_C(0x28C943EFABFED144), UINT64_C(0xDFBF730CB6A2273D),
3011           UINT64_C(0x6CC5BE44E2A1BFBD), UINT64_C(0x55FAC03309030FCD)}},
3012         {{UINT64_C(0xFAA58543728F39EC), UINT64_C(0x9B2F10BA40B37B15),
3013           UINT64_C(0x96505C7F7254A419), UINT64_C(0x04F4ACE5879C7FF9)},
3014          {UINT64_C(0xC0B4B576BC5FDA53), UINT64_C(0x12549929F7ABCD3C),
3015           UINT64_C(0x00F5631E313FEC34), UINT64_C(0x89EA4459798C7CFB)}},
3016         {{UINT64_C(0x671137B50E2020C1), UINT64_C(0x77727861A4DC66C3),
3017           UINT64_C(0x8CE05ED181492A26), UINT64_C(0x42BEA541A0C3F612)},
3018          {UINT64_C(0x6D39E3D1B0E461EB), UINT64_C(0x459A8E1309FA806F),
3019           UINT64_C(0xE2A185C1466CB93B), UINT64_C(0x17D131CEE21ECB34)}},
3020         {{UINT64_C(0x2141E262387A15BF), UINT64_C(0x675B5E7C6BE61C42),
3021           UINT64_C(0xEEC1BDD4F1CF93EF), UINT64_C(0x6ACF383823BAB1F9)},
3022          {UINT64_C(0xA2F84E23B0B39C86), UINT64_C(0xE955DBBCE244E0E3),
3023           UINT64_C(0xE0155980B7A8102A), UINT64_C(0x1E117DC8B23012FA)}},
3024         {{UINT64_C(0xC92A36AA6EB36280), UINT64_C(0x5AED3A1D5E906D78),
3025           UINT64_C(0x8D336221AE4E430A), UINT64_C(0x3F184F1DD3AA50AD)},
3026          {UINT64_C(0xD14810EC916D9741), UINT64_C(0x2900169F3322D9B3),
3027           UINT64_C(0xAFF1A06004728254), UINT64_C(0x89C4C67326F60B5F)}},
3028         {{UINT64_C(0x5216E0AEB7F0D157), UINT64_C(0x3B8D2226C9F38AAD),
3029           UINT64_C(0x283E3E3FBB34AA79), UINT64_C(0x94DA80FA565CAB83)},
3030          {UINT64_C(0xDDB51943E6ED4A46), UINT64_C(0xF3AFFA9A7CDD5FE6),
3031           UINT64_C(0x0AB493CCB648A84F), UINT64_C(0x128356B6F15EE45F)}},
3032         {{UINT64_C(0xD2AD34F4BD0F02C4), UINT64_C(0x3DC9B6D1719BCF1E),
3033           UINT64_C(0x11EDB8F112EB5AE8), UINT64_C(0x33AC71D871180F90)},
3034          {UINT64_C(0x0AE988FEB59621D7), UINT64_C(0x32042B528F348211),
3035           UINT64_C(0x7E6787C4EB0CEBD3), UINT64_C(0x8C4D254926B8A526)}},
3036         {{UINT64_C(0xA3B461544D40ED72), UINT64_C(0x3A096546F6CF3972),
3037           UINT64_C(0x9C7BC931B3E46D8C), UINT64_C(0x85B77BAD90486C75)},
3038          {UINT64_C(0x95B706E56EBD35E0), UINT64_C(0xC1E18243101E098E),
3039           UINT64_C(0xF17C23FFF01C17E1), UINT64_C(0x3223527285EC224E)}},
3040         {{UINT64_C(0xE816235DFD24FA16), UINT64_C(0x5306CBC30B3AEBD7),
3041           UINT64_C(0xDEF60A9A8BE25CB7), UINT64_C(0x4B889A0F512999C2)},
3042          {UINT64_C(0xAB86A7F867B29FD9), UINT64_C(0xB81C532DB5461BCB),
3043           UINT64_C(0x810E9A0CD34D9819), UINT64_C(0x1E3530093092515D)}},
3044         {{UINT64_C(0x4682633921FB0BD9), UINT64_C(0x9CCE9A43003BAE50),
3045           UINT64_C(0xCD2216C32EB45B4A), UINT64_C(0x13598548C7E0F2C3)},
3046          {UINT64_C(0x8B0BFD7254611984), UINT64_C(0x705CB52589C0B05A),
3047           UINT64_C(0xD9073D87CE880DD8), UINT64_C(0x1EA534CD003DCAEB)}},
3048         {{UINT64_C(0xC7AAC256C58B4413), UINT64_C(0x301109D6E8054F96),
3049           UINT64_C(0x0A1F44D29C7E7860), UINT64_C(0x55D122BB96F15424)},
3050          {UINT64_C(0x9A63098F1C14A8A9), UINT64_C(0x8E01A9DC4221CDFB),
3051           UINT64_C(0x11C91FCF357B360A), UINT64_C(0x70C47AEA036A3CF4)}},
3052     },
3053     {
3054         {{UINT64_C(0xC0457C4F036A843D), UINT64_C(0x6E3E0801F1F593CB),
3055           UINT64_C(0x1AADF2D88C53873B), UINT64_C(0x5CEC5C7B0D140C8D)},
3056          {UINT64_C(0x4341A9AB328002E4), UINT64_C(0x11F22331C410D034),
3057           UINT64_C(0x0FCF69EF5DB6A39D), UINT64_C(0x3DD32A53B84FDA1F)}},
3058         {{UINT64_C(0x19E52339AF8C811A), UINT64_C(0xC8B8380092D46C4F),
3059           UINT64_C(0x891C4185CA8463A3), UINT64_C(0x5B51651F98F3FF1B)},
3060          {UINT64_C(0x3D1496070FB39DCA), UINT64_C(0x39ECCDE2B1051394),
3061           UINT64_C(0x3633DE271A14522B), UINT64_C(0x5FE551147C59A9A5)}},
3062         {{UINT64_C(0x68C8E0C62F0B507F), UINT64_C(0xDABC8EEF05B62C5E),
3063           UINT64_C(0x297C943AE6165C1E), UINT64_C(0x337C6B947D7CA6D6)},
3064          {UINT64_C(0x66F98FE4D6066191), UINT64_C(0x745BFEBA58945DA9),
3065           UINT64_C(0x600447873B29A546), UINT64_C(0x2815651EE2D4EDF2)}},
3066         {{UINT64_C(0x54A3BE7463661218), UINT64_C(0x89C5636415E79415),
3067           UINT64_C(0xE03C6963405E4932), UINT64_C(0x86E101EA9A619956)},
3068          {UINT64_C(0x47BAF2F3400DC92B), UINT64_C(0x5C44512C291E4059),
3069           UINT64_C(0xD7F84B8EEC6D7BF9), UINT64_C(0x6CF4254025AB8D79)}},
3070         {{UINT64_C(0xD6E1B75DB885DAFC), UINT64_C(0x7A33CE4B6128014E),
3071           UINT64_C(0x80DF9948EA9FF260), UINT64_C(0x99E0A11CD2B5872B)},
3072          {UINT64_C(0x960BDC3DE2435510), UINT64_C(0x4B0ECC5314F7A99C),
3073           UINT64_C(0xE815DB8B5AC6170B), UINT64_C(0x3095615617D5F2DD)}},
3074         {{UINT64_C(0xA035E3CE57166FCE), UINT64_C(0x71AD409540A75B80),
3075           UINT64_C(0x639C4EA7DB7D0BFB), UINT64_C(0x7A90BE97B12DBE6B)},
3076          {UINT64_C(0x091AA30F75F86A60), UINT64_C(0x67C0F795509AEEFC),
3077           UINT64_C(0xF028C12A331629C5), UINT64_C(0x90D26B1C8A1F7478)}},
3078         {{UINT64_C(0x6F01554EB6AC2AD5), UINT64_C(0x9DD0576EBC9A48D6),
3079           UINT64_C(0xAB37201397AE2605), UINT64_C(0x1525D8B5BB83852B)},
3080          {UINT64_C(0xD50680C3E46E4C61), UINT64_C(0x29FBBA5CECB8F06F),
3081           UINT64_C(0x60A48AB4B16637A3), UINT64_C(0x8BB47967CD1490D3)}},
3082         {{UINT64_C(0xA35A01874B7C7EA6), UINT64_C(0xFE01521AB4D6409A),
3083           UINT64_C(0x57CECE628FDE1E30), UINT64_C(0x1A9A9B2DF4F51D55)},
3084          {UINT64_C(0x0D33556BE221AC58), UINT64_C(0x0A4A1A34152508AD),
3085           UINT64_C(0x1FD61DA10144AA33), UINT64_C(0x4804BE6AEDC7C5F8)}},
3086         {{UINT64_C(0x071EC8155B363A84), UINT64_C(0x359C2A9FFE11ED05),
3087           UINT64_C(0x0FDF80C9B8BBF9BD), UINT64_C(0x928E51A4103ACCBE)},
3088          {UINT64_C(0xD152B6E7D5E8A222), UINT64_C(0x6368E3A8CBE022C9),
3089           UINT64_C(0x2E5055DE3128B659), UINT64_C(0x51E23651D21F1062)}},
3090         {{UINT64_C(0x5CE999D734834BF7), UINT64_C(0xE386394C3DC831E9),
3091           UINT64_C(0x6DBD5ECA7FE48564), UINT64_C(0x804BC07F556841A5)},
3092          {UINT64_C(0x2A8B616C229A9175), UINT64_C(0xAEEB533AA1B3EF97),
3093           UINT64_C(0x9D858F9D6F145037), UINT64_C(0x247FFAB07F6A8EBB)}},
3094         {{UINT64_C(0xE616E779099EB4F3), UINT64_C(0x4F360D2EF1B1926C),
3095           UINT64_C(0x28EE1F9117055397), UINT64_C(0x9994D7FF844AFCF3)},
3096          {UINT64_C(0x8824A94912CBD801), UINT64_C(0xA3AFED4D6A4484DD),
3097           UINT64_C(0xCB16CD673B5E36A5), UINT64_C(0x5490C30DBC3BBEA9)}},
3098         {{UINT64_C(0xEA43CA5AD7601122), UINT64_C(0x9CF2A15BD248EB72),
3099           UINT64_C(0x4CE8AB75B71D18D0), UINT64_C(0x2576C5B1041A19A5)},
3100          {UINT64_C(0xDE20FD028CC1496E), UINT64_C(0xC9FE5B0C0BE51831),
3101           UINT64_C(0x9DC17E323A53ABBC), UINT64_C(0x94E24DD9F4C806FA)}},
3102         {{UINT64_C(0x2A9CF5F10DF1A4B3), UINT64_C(0xE019675415063C08),
3103           UINT64_C(0xCE9CF2C6CCF88F77), UINT64_C(0x51ACC7B5EFE91C6C)},
3104          {UINT64_C(0x0C2302EFA799FE2E), UINT64_C(0x5EE756A469C0D117),
3105           UINT64_C(0x7E907EC2F4EAB1A1), UINT64_C(0x19EEF95BD98022DD)}},
3106         {{UINT64_C(0xB170D483A8E7FFA5), UINT64_C(0x2052600A39180FAC),
3107           UINT64_C(0x8EAD52D4A68AF290), UINT64_C(0x01B88CFEFF9E3641)},
3108          {UINT64_C(0x3D9077F765BC2D0C), UINT64_C(0x2AF9CF673ABCDB1C),
3109           UINT64_C(0xEA104E747295DADA), UINT64_C(0x7DF23470EB1E5D6E)}},
3110         {{UINT64_C(0x0F54D98D8E53F40B), UINT64_C(0xBFC22E9BAF360481),
3111           UINT64_C(0x309973B6E132666B), UINT64_C(0x1F40D11F25E783E0)},
3112          {UINT64_C(0x8EEBC9D7F00AC3EB), UINT64_C(0xBD725D822F9ADCC7),
3113           UINT64_C(0x4776781066EFDDCC), UINT64_C(0x60B0B1004ECCAF67)}},
3114         {{UINT64_C(0x498E2074B98C7E96), UINT64_C(0xBEBF518308BF31A9),
3115           UINT64_C(0x00DD4AAD3894DBE7), UINT64_C(0x66C047A4429878F6)},
3116          {UINT64_C(0x16F2CB336D0F1AB1), UINT64_C(0x5FA2F18158669ACB),
3117           UINT64_C(0xFA4B2F49486F1BE7), UINT64_C(0x1ECAAF6B5698F41B)}},
3118     },
3119     {
3120         {{UINT64_C(0x2999C2124DCC455E), UINT64_C(0x83897E49BEF617B8),
3121           UINT64_C(0x6B49CE265A218E0F), UINT64_C(0x49A5C9EB88EF7EA7)},
3122          {UINT64_C(0xF0EDA5FFF63EC82C), UINT64_C(0x736D933DEAD471CD),
3123           UINT64_C(0x10E4431DDF8071C4), UINT64_C(0x8C59C10738E1523C)}},
3124         {{UINT64_C(0x569FB74E5A54A4AB), UINT64_C(0x72788868F3384C14),
3125           UINT64_C(0xBC840717107B417F), UINT64_C(0x6682C1077E13210C)},
3126          {UINT64_C(0xB3359FC277B20150), UINT64_C(0xEB923E66A9E03222),
3127           UINT64_C(0x490C39FCA10CF332), UINT64_C(0x69099C2D49BA035D)}},
3128         {{UINT64_C(0x6498672003CB2C6E), UINT64_C(0x994054A1328B22BA),
3129           UINT64_C(0x4155C6B96F0542DA), UINT64_C(0x216CF760A3B93FFB)},
3130          {UINT64_C(0x744861845C2AD753), UINT64_C(0xE517984EA0CD3660),
3131           UINT64_C(0x6530BC863D7DA8A1), UINT64_C(0x04328CF92E46CA79)}},
3132         {{UINT64_C(0x4100ADED4798CD35), UINT64_C(0xC832796D635BAECD),
3133           UINT64_C(0x7EF1EA955B80E18C), UINT64_C(0x6889A91B426B1AA9)},
3134          {UINT64_C(0xC40A0A870927C6F8), UINT64_C(0xD60CFD1C2B86ED45),
3135           UINT64_C(0x98731DFFD57350A1), UINT64_C(0x1C52EAE91DE4341F)}},
3136         {{UINT64_C(0xC287E33B23A40FAA), UINT64_C(0xB96D9F517A633BDC),
3137           UINT64_C(0xF6A5B779E6D0F326), UINT64_C(0x10203FE1F619DE4B)},
3138          {UINT64_C(0x011FB53EC4F18BF8), UINT64_C(0xAEBB82F6BCA32CA0),
3139           UINT64_C(0x06BF8ED5F881818D), UINT64_C(0x3A6A3E3518247E6A)}},
3140         {{UINT64_C(0x3BF2E96E00625DC1), UINT64_C(0xD81AD1565A288F80),
3141           UINT64_C(0x04C3269EB7CE9B13), UINT64_C(0x3E18EAFC2F9E2713)},
3142          {UINT64_C(0x20F0E05D9D0BC74A), UINT64_C(0xACDB4B75D8140790),
3143           UINT64_C(0x12918A7EF1B5B265), UINT64_C(0x22A70AF96896342E)}},
3144         {{UINT64_C(0x326A28A29C4B6B08), UINT64_C(0x21302F37A17D3D57),
3145           UINT64_C(0x181378E7CE36F438), UINT64_C(0x42B07EBAFED12DE1)},
3146          {UINT64_C(0x081DDD200468AD4C), UINT64_C(0x32822EC364DF34AE),
3147           UINT64_C(0xE9F8D7C204B2192D), UINT64_C(0x6ABC7220918666F8)}},
3148         {{UINT64_C(0x9333070104AF3956), UINT64_C(0xEEB7AA8E872BD30D),
3149           UINT64_C(0xFC96D106D0E67494), UINT64_C(0x516028CF3A918DFB)},
3150          {UINT64_C(0xFAF0B6F7FB27B6EC), UINT64_C(0x0FAD73AD515DA78D),
3151           UINT64_C(0x5F136068D8CF1934), UINT64_C(0x0A526E04B6052802)}},
3152         {{UINT64_C(0x20DF0DEBE4685212), UINT64_C(0x71D4BAC1A41B293F),
3153           UINT64_C(0xBCC32A2F2FA8BBAC), UINT64_C(0x32A8723AF30CC343)},
3154          {UINT64_C(0x71E6DAAFEF95ACFE), UINT64_C(0x27D158F69F445394),
3155           UINT64_C(0x2140F78DE186B246), UINT64_C(0x4CAF98C3CB1C83AD)}},
3156         {{UINT64_C(0x94E264FCB6F63AA9), UINT64_C(0xF4637B024D0FE485),
3157           UINT64_C(0xA4BC0A03069CCB4E), UINT64_C(0x99A81E379E25E817)},
3158          {UINT64_C(0xE3B804A78F4D37BB), UINT64_C(0x57F272A5E38E654C),
3159           UINT64_C(0x00D1852C05928F65), UINT64_C(0x3031B7134345DD06)}},
3160         {{UINT64_C(0x6E42AF1157536140), UINT64_C(0xDC5B7CDC005A403F),
3161           UINT64_C(0xE6EE185E26527417), UINT64_C(0x1003D0137C685BCF)},
3162          {UINT64_C(0xC2206BF6192979E6), UINT64_C(0xD1C370DB6FE38214),
3163           UINT64_C(0x78D105B792F3C044), UINT64_C(0x2F0DF6B8BFDF8DFA)}},
3164         {{UINT64_C(0xB02FCA3844D04C4A), UINT64_C(0x956A2F7CA44566C6),
3165           UINT64_C(0x60672DF39F1F09C6), UINT64_C(0x6459A9492160C362)},
3166          {UINT64_C(0xDAE5434108714451), UINT64_C(0x48B77A0DBFFD7CF6),
3167           UINT64_C(0x615ADBFE3EDBC8D4), UINT64_C(0x3338E55735B67D2F)}},
3168         {{UINT64_C(0x601D49D1DD24A0F0), UINT64_C(0x60A48DB748EF27B9),
3169           UINT64_C(0x97F2212C97A8BAC6), UINT64_C(0x376B0292155AB524)},
3170          {UINT64_C(0xA25881BA62E2A961), UINT64_C(0xEB74CC802B8C56F7),
3171           UINT64_C(0xBE5C5DD4DA57C41A), UINT64_C(0x53D0D0372D16AFA0)}},
3172         {{UINT64_C(0xE47C9EABCA291206), UINT64_C(0x25DADB6442D5C667),
3173           UINT64_C(0x8C154CB6D886993E), UINT64_C(0x11DEC39C806B932F)},
3174          {UINT64_C(0x51A4DCF313D4B4E5), UINT64_C(0xAA1DAD6D9D1D822A),
3175           UINT64_C(0x2BB2E14DCEEF2E29), UINT64_C(0x429C13C7B2343BE3)}},
3176         {{UINT64_C(0x4E8E953F297F709D), UINT64_C(0x23183A3D262D862A),
3177           UINT64_C(0xE164A10DEA12D93F), UINT64_C(0x386C2873FE703920)},
3178          {UINT64_C(0xD59E1582E5C51C7E), UINT64_C(0xA8C93B5B020F6A2E),
3179           UINT64_C(0x51518BD0160CD058), UINT64_C(0x3337801AB1D38AC7)}},
3180         {{UINT64_C(0x6E2515332F5D9E25), UINT64_C(0x88E76135B0D6B0DB),
3181           UINT64_C(0x5C1978329E6762D1), UINT64_C(0x1232677384E620AC)},
3182          {UINT64_C(0x3B88DF270E2694DD), UINT64_C(0x30FED9E330A23CAA),
3183           UINT64_C(0xE12DD93EA23DF142), UINT64_C(0x06778F512EA77C07)}},
3184     },
3185     {
3186         {{UINT64_C(0x5D5BE00E49E5F6B4), UINT64_C(0x2F47E7C7721EF9DC),
3187           UINT64_C(0x338F7B007EAFC098), UINT64_C(0x0F5F06E3AF8C2475)},
3188          {UINT64_C(0x2A4B845C63122B22), UINT64_C(0xED44006089A4CE9A),
3189           UINT64_C(0xC9EEB6409A86D9BC), UINT64_C(0x12C3E0F32F39B439)}},
3190         {{UINT64_C(0xB444B88B17766F6C), UINT64_C(0xF9B100E6A41FD692),
3191           UINT64_C(0x81EAFCD15C149B30), UINT64_C(0x37DD6F6E1D521A1E)},
3192          {UINT64_C(0x14DBE8C3389DCD6E), UINT64_C(0xCD24D6550DCBC7FC),
3193           UINT64_C(0x05F8D48EE00F9102), UINT64_C(0x403954E6509D18D4)}},
3194         {{UINT64_C(0xA04FDDDFE4FE16EC), UINT64_C(0xB9E7FA7390E15C0C),
3195           UINT64_C(0x7D6A7206C77FAB6B), UINT64_C(0x3FFDCCD13E221F12)},
3196          {UINT64_C(0x120C05B147B5BB7F), UINT64_C(0xFA3614C05B7E2B96),
3197           UINT64_C(0xF3A4F07F4A6AC6E0), UINT64_C(0x0324BF48C8AD4F23)}},
3198         {{UINT64_C(0x508A037055DF2F18), UINT64_C(0x1C6C91EAB872F209),
3199           UINT64_C(0xDC3F6C5A8E12F437), UINT64_C(0x65F5058FC91AFD75)},
3200          {UINT64_C(0x0C43613D5A859A1D), UINT64_C(0x83A2610E5BF96A6B),
3201           UINT64_C(0x1A98AA4C1496AEAD), UINT64_C(0x3AB1CE5EE6CAA901)}},
3202         {{UINT64_C(0x9420ABFEFFB3E411), UINT64_C(0xCE60976031404E74),
3203           UINT64_C(0x3D4C23C502C49837), UINT64_C(0x6B79FB14D0868A3C)},
3204          {UINT64_C(0xB4EEE8DB6B5861EA), UINT64_C(0x495E2B469D948195),
3205           UINT64_C(0x2BB0BD941CE15EC9), UINT64_C(0x6CE79F80DED25955)}},
3206         {{UINT64_C(0xA6B98C1D5820DF65), UINT64_C(0xE8284737909356B5),
3207           UINT64_C(0x38E8609A091340E1), UINT64_C(0x98EC077B10666012)},
3208          {UINT64_C(0xFB243B1EBF075DAE), UINT64_C(0x32312BACA270FE31),
3209           UINT64_C(0x214511200CAA5F8E), UINT64_C(0x8F60118F2A515015)}},
3210         {{UINT64_C(0x4F211C9ECBDEB88E), UINT64_C(0xF6D3CC3AB6D680FD),
3211           UINT64_C(0xE193829D8BF4B4A7), UINT64_C(0x3223EF4E2D620371)},
3212          {UINT64_C(0xC3E35420C0E5245A), UINT64_C(0xD3F4F894B4ADE2EA),
3213           UINT64_C(0x464FCB6CF2CE985E), UINT64_C(0x79CF596D7B987FA7)}},
3214         {{UINT64_C(0x0730748C0C0016FF), UINT64_C(0xD02115C5A2949069),
3215           UINT64_C(0xAA6F794D40E9C7F9), UINT64_C(0x9514FA7B79149C37)},
3216          {UINT64_C(0x6E2F27785A46BCE0), UINT64_C(0xF55D46C60837ACD5),
3217           UINT64_C(0xF965C4681E4223E6), UINT64_C(0x0BFF0A9185D90A07)}},
3218         {{UINT64_C(0x9ED903581923C8AF), UINT64_C(0xC425B633A470AE00),
3219           UINT64_C(0xF9F4B1621C50FDAD), UINT64_C(0x0999D072A8CA2BD5)},
3220          {UINT64_C(0xCB122FBDAF74D4C3), UINT64_C(0x372C13F02C283752),
3221           UINT64_C(0x9F42A90382138B19), UINT64_C(0x573A2CEE3EB8CB95)}},
3222         {{UINT64_C(0x6C3A6BE33AC2E191), UINT64_C(0x4149E0EB1B222DB2),
3223           UINT64_C(0x5BA91005A4AACC55), UINT64_C(0x176BD33D1BFADBD0)},
3224          {UINT64_C(0x4AEAF14EA8DA0FEA), UINT64_C(0xB12401F9A7FF8E1C),
3225           UINT64_C(0xF1EF39AE0F192414), UINT64_C(0x95D433D3416743C1)}},
3226         {{UINT64_C(0x29ECF54D9AA0C238), UINT64_C(0x3762F1D78FCA6419),
3227           UINT64_C(0x761D786A64D3AAA9), UINT64_C(0x7A8A677DDAEC7BF4)},
3228          {UINT64_C(0xC2829EAD324676F4), UINT64_C(0x4E504A474D0B291E),
3229           UINT64_C(0x360CE7FEF8C4F384), UINT64_C(0x33A577B578CDA37D)}},
3230         {{UINT64_C(0x1BBFC128333103FD), UINT64_C(0x3D36045CE45C9DBE),
3231           UINT64_C(0xA8D53F5A15C9013D), UINT64_C(0x99D62F8AA33FDCFD)},
3232          {UINT64_C(0x73E539610A81F581), UINT64_C(0xD01AD20ED00BC0D9),
3233           UINT64_C(0x59701F4D1F6D9B73), UINT64_C(0x0F4EBFBCE098E536)}},
3234         {{UINT64_C(0xBDB9368A91E3C062), UINT64_C(0xCD66A0B19B17AAE5),
3235           UINT64_C(0xB6636DD7B4537E05), UINT64_C(0x37D94B8E73B119CE)},
3236          {UINT64_C(0xA5F8E90FC7428FF9), UINT64_C(0xE7E5B2B7F8EA9F03),
3237           UINT64_C(0xB7F20FB85B3506DA), UINT64_C(0x0F4AB6D5E494FFDA)}},
3238         {{UINT64_C(0x3ACEE3BD85365933), UINT64_C(0x9D5223D3BF510114),
3239           UINT64_C(0xE0D7D9A7A08D01B0), UINT64_C(0x28FD329AB2F1F61F)},
3240          {UINT64_C(0x3E16A2E2A5909DD3), UINT64_C(0x284A8708B4FECB35),
3241           UINT64_C(0x190F7B3A73D5BFBA), UINT64_C(0x7E07982E92EE4BBE)}},
3242         {{UINT64_C(0xA30A4C2244945687), UINT64_C(0x657C0F2ED688A301),
3243           UINT64_C(0x9B558D4ABBB3E65A), UINT64_C(0x8044D57EA6E57844)},
3244          {UINT64_C(0xF202E50EE3957E21), UINT64_C(0x4957E651CE62FCC9),
3245           UINT64_C(0xF7B9EBA4C4ECE0B8), UINT64_C(0x29532CEC61167229)}},
3246         {{UINT64_C(0xE9DC8EA63EEF3D71), UINT64_C(0xEBF76BD43E8EC117),
3247           UINT64_C(0x48CEB78D2EA072B9), UINT64_C(0x82ECDFC473EFC32D)},
3248          {UINT64_C(0x51B02CB3E2C89E7D), UINT64_C(0xE9D0740CF4D9100F),
3249           UINT64_C(0xBB556EFE8A5E3F48), UINT64_C(0x864E52DA1D01B44E)}},
3250     },
3251     {
3252         {{UINT64_C(0x5A75E0BD14EA6DC5), UINT64_C(0x09F2AA76532EFED7),
3253           UINT64_C(0xE6DAE0A983CE5A18), UINT64_C(0x00F9BCB7CEB4E78D)},
3254          {UINT64_C(0x128FB51C71F79BF3), UINT64_C(0x78C7978880D5DBC3),
3255           UINT64_C(0x2752F02C9B816B9E), UINT64_C(0x88CFBA0CEB7622E2)}},
3256         {{UINT64_C(0x845AB940268432A3), UINT64_C(0xA8D0231B2F94F6D3),
3257           UINT64_C(0xBDFB3F91FEC02130), UINT64_C(0x07A61AE45F62419F)},
3258          {UINT64_C(0xD1C951DF192EBF1A), UINT64_C(0x22CDCFF5FA232E34),
3259           UINT64_C(0xDFDF121B3A7581DD), UINT64_C(0x9865ECA2710403A5)}},
3260         {{UINT64_C(0x609F4527F8180BAB), UINT64_C(0x93AB107250A6D914),
3261           UINT64_C(0x299D5013E2EEE3BD), UINT64_C(0x36EFCE5B42959C14)},
3262          {UINT64_C(0x49CDA60D1045FFCB), UINT64_C(0xA8B2492E45723371),
3263           UINT64_C(0xCB75789BF243FDBB), UINT64_C(0x8E1079D7871D500D)}},
3264         {{UINT64_C(0x69852694DB14298E), UINT64_C(0xBAA92A9541A56B6D),
3265           UINT64_C(0xC73718483DBFDBA4), UINT64_C(0x94B3155C947747F8)},
3266          {UINT64_C(0x97BCDD197552426B), UINT64_C(0x4FB3E76D32682121),
3267           UINT64_C(0x875AA0F78BC15FCA), UINT64_C(0x4065BCDFF1FD2315)}},
3268         {{UINT64_C(0x2D1C0519B7F1ED04), UINT64_C(0xED9A1BB7EA2535E1),
3269           UINT64_C(0xE4728CD6ABAE813E), UINT64_C(0x2CD7D44721A771D0)},
3270          {UINT64_C(0x88E2A78559B9E964), UINT64_C(0x2677FBD76F9B5374),
3271           UINT64_C(0x3967D6C52645B626), UINT64_C(0x8843F7DF5A1C315B)}},
3272         {{UINT64_C(0x673CD273C7055A4E), UINT64_C(0x052AC45CEE827873),
3273           UINT64_C(0xC26B9214CE1981F3), UINT64_C(0x3C39C13C2B8EEF59)},
3274          {UINT64_C(0xDD9E1B9B0B276D47), UINT64_C(0x6729A5347287F9A1),
3275           UINT64_C(0x43E1471C061DAD53), UINT64_C(0x6082FAD9118B56C8)}},
3276         {{UINT64_C(0x9C3872AAF99186D6), UINT64_C(0x1D9E8DB675AC99BF),
3277           UINT64_C(0x6FA7A0FFE338DBD3), UINT64_C(0x1EDF44ECD1FEF2F9)},
3278          {UINT64_C(0xBAF9D33A1F9114BF), UINT64_C(0x89AF08E53007B6A5),
3279           UINT64_C(0xAA04B1698436D917), UINT64_C(0x8381E76A6AFCF5E0)}},
3280         {{UINT64_C(0xC51848A4C1D799BA), UINT64_C(0x6C3D43A97F40B34B),
3281           UINT64_C(0xE8DAE074A5CB7B95), UINT64_C(0x5375B1EEBB5F8AEC)},
3282          {UINT64_C(0x461290EE507099E6), UINT64_C(0xB95934AA3BAD89AD),
3283           UINT64_C(0x9A6E5C22701A4D9C), UINT64_C(0x2CA791445E1389F6)}},
3284         {{UINT64_C(0xBF82F7860E5108FC), UINT64_C(0x3620CCC4644D06DE),
3285           UINT64_C(0xB65DE8538E5C4753), UINT64_C(0x6DAB72419FEDFD16)},
3286          {UINT64_C(0x4CECAC87546DCBA4), UINT64_C(0xA7BBE65D3E2D0684),
3287           UINT64_C(0x092AA490DA1E4FFA), UINT64_C(0x78F448BE41AD32AF)}},
3288         {{UINT64_C(0x321580FE4A33F071), UINT64_C(0xBEA845D15EE5E685),
3289           UINT64_C(0xC73CAECE47AC8ACF), UINT64_C(0x0E15E55DA9F65F05)},
3290          {UINT64_C(0x5FC47420A59506E7), UINT64_C(0x501417FF01DBD2DD),
3291           UINT64_C(0x8EF23280FB1205A6), UINT64_C(0x1AA26168E0F43AE8)}},
3292         {{UINT64_C(0xD41F73B18149EB2A), UINT64_C(0xC297AF04AD95D531),
3293           UINT64_C(0x2017176F749E415D), UINT64_C(0x5AF89C738357CE9A)},
3294          {UINT64_C(0x301F7C7908A0FF9C), UINT64_C(0x0C2999B598695C57),
3295           UINT64_C(0x856799576E4D8FF5), UINT64_C(0x2CC0FF3E6F493B1C)}},
3296         {{UINT64_C(0xFE90F9044AF481F5), UINT64_C(0x0562C78B31BC4919),
3297           UINT64_C(0xAA44AA5670E4F140), UINT64_C(0x1B61DEB4A175159A)},
3298          {UINT64_C(0x85315DE1A7A7E648), UINT64_C(0x4BC1F51D6C012B33),
3299           UINT64_C(0x40CB5DE3060CDEE6), UINT64_C(0x969F919632A1E138)}},
3300         {{UINT64_C(0x3B317508E05F23B5), UINT64_C(0x7B1A93AE512D1156),
3301           UINT64_C(0x3A283415CB58EC19), UINT64_C(0x193A53A18E27CAD9)},
3302          {UINT64_C(0xCF6BBEBA03DE1BA8), UINT64_C(0xFA5544CA47A02393),
3303           UINT64_C(0x8B3AAC1A8627F5EB), UINT64_C(0x02FAD2EC62EAF195)}},
3304         {{UINT64_C(0x4F8D8ADA259CCF0F), UINT64_C(0xE4E6786B562991D7),
3305           UINT64_C(0xA1C63473597C3FD3), UINT64_C(0x1F5B9017ACAB6F16)},
3306          {UINT64_C(0x95B201BD592D437A), UINT64_C(0x54432A75ED14F859),
3307           UINT64_C(0x67EF73FB0B551AC1), UINT64_C(0x0A48F0437F1AB9CA)}},
3308         {{UINT64_C(0xECEE508E4A35445C), UINT64_C(0x80BE9F07B3EA6F9B),
3309           UINT64_C(0xD914B25687E4B78E), UINT64_C(0x97F79CC9F89B8E4B)},
3310          {UINT64_C(0x6A5B4F2BC359FB12), UINT64_C(0x54E6E37A99CF6FFA),
3311           UINT64_C(0x1133C4B2F7C66CA8), UINT64_C(0x6F679B280345866B)}},
3312         {{UINT64_C(0x0006F7A144E77CDF), UINT64_C(0xD8077F9F42033333),
3313           UINT64_C(0x0414ECE521EAF35F), UINT64_C(0x1211576B5623803C)},
3314          {UINT64_C(0xEDADD215140309A7), UINT64_C(0xC349C6575EBAE3BB),
3315           UINT64_C(0xBD40427C821DE06B), UINT64_C(0x8949ACA33F5D2F97)}},
3316     },
3317     {
3318         {{UINT64_C(0xAC1F87E6022E3D44), UINT64_C(0xDFC17BEDB39F6B10),
3319           UINT64_C(0xEAAE416807119C4A), UINT64_C(0x8B3B40BCDBD47D36)},
3320          {UINT64_C(0x6683A561861B7B59), UINT64_C(0xF9BFFB1713A6C76D),
3321           UINT64_C(0xE4E72EA4A30A05AC), UINT64_C(0x77C219E8BA0D2AD6)}},
3322         {{UINT64_C(0x5019824E66BE6944), UINT64_C(0x811ACEBE7B131070),
3323           UINT64_C(0x9730DCF03BA34677), UINT64_C(0x5B9C5CF57BC9CFC8)},
3324          {UINT64_C(0x1CBD950FB283C8CC), UINT64_C(0xF66DBDDA3973A325),
3325           UINT64_C(0x4EC5EBC26FA60257), UINT64_C(0x0C01D57736FF26B3)}},
3326         {{UINT64_C(0xBB2219547CE2BE74), UINT64_C(0x23E44E0E841E6C0C),
3327           UINT64_C(0xE760D33D77C3824E), UINT64_C(0x5B656FBE7EB3CE34)},
3328          {UINT64_C(0xEC50E509C5F3D66E), UINT64_C(0x5326C2B8496EF8BA),
3329           UINT64_C(0x3F9485F63D4B20D4), UINT64_C(0x11B74A8551C21B0E)}},
3330         {{UINT64_C(0xC3EAEB0425E30336), UINT64_C(0xA9D6C70FA6E3637F),
3331           UINT64_C(0xF818C37E86F77F68), UINT64_C(0x786ED3C2C60DF35A)},
3332          {UINT64_C(0xACA70EA0D56D705A), UINT64_C(0xCE61608C7BF4EF10),
3333           UINT64_C(0x49AD1CD81722C179), UINT64_C(0x1B84FBE9687F3222)}},
3334         {{UINT64_C(0x8A0F4BF135EE0BA9), UINT64_C(0x42AD284603952A08),
3335           UINT64_C(0x1E0E1E3B3B60B4DD), UINT64_C(0x0DC1A947F5DCAD76)},
3336          {UINT64_C(0x054BECA41F496E03), UINT64_C(0x8F02FDAB3AE6E6F6),
3337           UINT64_C(0x8851CFF49B71C9F5), UINT64_C(0x6BD7271CA7441F87)}},
3338         {{UINT64_C(0xB019E3469EB6A2C3), UINT64_C(0x2B719034931E7550),
3339           UINT64_C(0x2B2CBEBD40698F1F), UINT64_C(0x375DB5914F1FC587)},
3340          {UINT64_C(0x09843166676A79A4), UINT64_C(0x91848967B416D657),
3341           UINT64_C(0xB49EA7219FED6B27), UINT64_C(0x1FAC5650D080C8AA)}},
3342         {{UINT64_C(0x205CD58858C4C2AA), UINT64_C(0xBEEE26F817F572EE),
3343           UINT64_C(0xE744AB674CB4DE3A), UINT64_C(0x37E34E18CBE989BD)},
3344          {UINT64_C(0x95D9118B767D31B5), UINT64_C(0x9A34DBEC83E7C03E),
3345           UINT64_C(0xCAFDBD1AB8F70DD3), UINT64_C(0x1E68A6813909BB51)}},
3346         {{UINT64_C(0xFE0A5DFF9FD96ABA), UINT64_C(0xBBFB1FDFD99B68DE),
3347           UINT64_C(0x5E232A4FE3F522BE), UINT64_C(0x768C2C54A6428D33)},
3348          {UINT64_C(0xE9CFEDF9DBF1A575), UINT64_C(0x841721F24B83F9AB),
3349           UINT64_C(0xFAD9650A80A85361), UINT64_C(0x3158921104979759)}},
3350         {{UINT64_C(0x1CF9F4B8EFBF2099), UINT64_C(0x63D5499BF571408B),
3351           UINT64_C(0x89C119FCEC3E74A6), UINT64_C(0x0525DDDF698E4DCD)},
3352          {UINT64_C(0x43FCDDE47333A38C), UINT64_C(0x2150EAD480A912DE),
3353           UINT64_C(0x4B3BD2230A19CC55), UINT64_C(0x3553EB4E238AC64C)}},
3354         {{UINT64_C(0x3A259F52FEC2371F), UINT64_C(0x8B03C50544863D3E),
3355           UINT64_C(0x1053E2D686BB6522), UINT64_C(0x400CE699F7086CBE)},
3356          {UINT64_C(0x695B1EA003ED78DE), UINT64_C(0x00AE6D0916500E1B),
3357           UINT64_C(0x9F29B08914B01815), UINT64_C(0x269692B4C218D892)}},
3358         {{UINT64_C(0x8660280DF0D44E79), UINT64_C(0x69D2968537C0F38F),
3359           UINT64_C(0x664B8146B9E24AD8), UINT64_C(0x277CB4DD1E695452)},
3360          {UINT64_C(0xB1A02D4EDFBF05EB), UINT64_C(0x3B3493084A1426C7),
3361           UINT64_C(0x13B7961222204FE7), UINT64_C(0x04F80867BCB5CD9F)}},
3362         {{UINT64_C(0x37BDBCAEE0852CBC), UINT64_C(0x2A6D7A23BE22764C),
3363           UINT64_C(0x4E0D43AC25AFD9FF), UINT64_C(0x1F6C9E14D16DD9EB)},
3364          {UINT64_C(0xE37E3AB3B4B0F47A), UINT64_C(0x09E046FB6C476C3A),
3365           UINT64_C(0xB8F649D9B75FA2DC), UINT64_C(0x7962A8C4FAB1AC41)}},
3366         {{UINT64_C(0x00E41470F6A1314A), UINT64_C(0x176380C3E4388464),
3367           UINT64_C(0xDB3405CD9B8A2B4D), UINT64_C(0x6299A1A67DE02ABC)},
3368          {UINT64_C(0x9F6B9DE77BBE7BFA), UINT64_C(0x59F16F549D3098DD),
3369           UINT64_C(0xFEC29C8D3B5767FE), UINT64_C(0x67711BC064955759)}},
3370         {{UINT64_C(0x34444EA3B1B07B5D), UINT64_C(0xB1D973B491FA2B4A),
3371           UINT64_C(0xEBEBEFB183403A0E), UINT64_C(0x56D520988E8A8EC6)},
3372          {UINT64_C(0x11C93529A7E82D55), UINT64_C(0x9230AE03D525C399),
3373           UINT64_C(0x74E1CBB28DB46C82), UINT64_C(0x4C3383CC40BE5E15)}},
3374         {{UINT64_C(0x33A52E73CDAD72F3), UINT64_C(0x1D2CCA33B9E77759),
3375           UINT64_C(0x26717716549406F5), UINT64_C(0x70DED57F5B3DB3E8)},
3376          {UINT64_C(0xBA38F81343C85A67), UINT64_C(0x956F2DD735422BB3),
3377           UINT64_C(0x52D9FA9907486F18), UINT64_C(0x655791BF75D1D2C4)}},
3378         {{UINT64_C(0xF434A9601FC9E0B3), UINT64_C(0x42A7B891BEDE92AD),
3379           UINT64_C(0x05A182D8A55A8009), UINT64_C(0x3404E08D38531612)},
3380          {UINT64_C(0x2B5B2766F07D76E3), UINT64_C(0x94B1A98D1D77B90C),
3381           UINT64_C(0xA86C0EC84B18BB9F), UINT64_C(0x6532770F526A81E3)}},
3382     },
3383     {
3384         {{UINT64_C(0x4429A4E861CFE04A), UINT64_C(0xEE8673862C9CA012),
3385           UINT64_C(0x237A3040C32D1969), UINT64_C(0x400AD5990AE2DFAE)},
3386          {UINT64_C(0x1603D10A213C0A18), UINT64_C(0x6EB8042D2B1E2A57),
3387           UINT64_C(0x4C9C1696C7CAF556), UINT64_C(0x79BE04A7E0C1A5A3)}},
3388         {{UINT64_C(0x161781E33FCB8B14), UINT64_C(0x1383E3B8B1384C3C),
3389           UINT64_C(0x5129EA19B566626C), UINT64_C(0x8A1F86E4551DE02A)},
3390          {UINT64_C(0x9C648CCEAEDBE04C), UINT64_C(0x0D4278ACFB200132),
3391           UINT64_C(0x466D452AC1E2D4A3), UINT64_C(0x832B0E6EB21B6E38)}},
3392         {{UINT64_C(0x20101D7CED1D76C7), UINT64_C(0xC3282661C110D85E),
3393           UINT64_C(0xB8026CE4FFCA2DD7), UINT64_C(0x73B4EBA58BA48211)},
3394          {UINT64_C(0xAB94FE21D8554E2C), UINT64_C(0x319E2FD781B2A181),
3395           UINT64_C(0x2C824DC537E8D3E2), UINT64_C(0x97CD457A09FCA0AB)}},
3396         {{UINT64_C(0x8E4B5FBDC50116CB), UINT64_C(0x3D20CECECA631A93),
3397           UINT64_C(0x5F80606C545575D8), UINT64_C(0x45ED55DEF91C7908)},
3398          {UINT64_C(0x91870A927CC1083C), UINT64_C(0xA3828E06D360FF5C),
3399           UINT64_C(0xFC9DFCDC84003D42), UINT64_C(0x0733C887FAC4667F)}},
3400         {{UINT64_C(0x6F1F771ACC2FC31B), UINT64_C(0xDA9351A1902E8176),
3401           UINT64_C(0xFB9395AFCE3FF045), UINT64_C(0x17C28CA213820DAB)},
3402          {UINT64_C(0xA1F596BCA684E6FA), UINT64_C(0x89228CC7DAD3995A),
3403           UINT64_C(0x5DBFD421C02E458B), UINT64_C(0x58C25045A2122AFE)}},
3404         {{UINT64_C(0x2906450F018EADB0), UINT64_C(0x88A7A2369030C84E),
3405           UINT64_C(0x492BA7A333308084), UINT64_C(0x321388B95605F371)},
3406          {UINT64_C(0x5F934C94626AE19A), UINT64_C(0xE2BD6C6701C7CCD9),
3407           UINT64_C(0xB07757B1EC0BBD52), UINT64_C(0x1E980338F9EDD2AC)}},
3408         {{UINT64_C(0x5A5370748831457C), UINT64_C(0x0E0E22FB47E7B9A9),
3409           UINT64_C(0x7BE70594A225A259), UINT64_C(0x433DB05530946816)},
3410          {UINT64_C(0x852EA9F9E2F2C3CB), UINT64_C(0xDC4E8E3A2D243848),
3411           UINT64_C(0x10F34AB81E887770), UINT64_C(0x29795D2CC89FC71B)}},
3412         {{UINT64_C(0xE046B04BCFEC2C6F), UINT64_C(0xA1D3B5A02CA8256E),
3413           UINT64_C(0x93F7FDFAE87F767F), UINT64_C(0x2DF5693E35FA3837)},
3414          {UINT64_C(0x71D9638C97884587), UINT64_C(0x175EA91F39E115EC),
3415           UINT64_C(0x14E16C31F41A27FC), UINT64_C(0x8B2682EAEB2F5913)}},
3416         {{UINT64_C(0x2BCC6853798C7F28), UINT64_C(0x2F985A59DD7D3615),
3417           UINT64_C(0xA66519E141D2257A), UINT64_C(0x18731D74021F719B)},
3418          {UINT64_C(0x7210472C360E9C20), UINT64_C(0x4FB48411329A9B35),
3419           UINT64_C(0xB33B6CB587D62CA5), UINT64_C(0x86226D9EFD0D7703)}},
3420         {{UINT64_C(0xDD133F8BF67CB77C), UINT64_C(0x381E4D62F6ABEE80),
3421           UINT64_C(0x3236F0057DF85AE5), UINT64_C(0x88EBB3864610BB0E)},
3422          {UINT64_C(0x895AA5398DB908D8), UINT64_C(0x848142E6104C4633),
3423           UINT64_C(0x467EE770B8012B2E), UINT64_C(0x193CBAED1B9210EE)}},
3424         {{UINT64_C(0x737CD32BC1F44FC1), UINT64_C(0xCDF82B1C522B6209),
3425           UINT64_C(0x08F4BB70E0017F2A), UINT64_C(0x1565BCEF64738F26)},
3426          {UINT64_C(0x0D2910B9684DCF67), UINT64_C(0x4ED1734BC6F3EB81),
3427           UINT64_C(0xCBEA79B6DA1D6BC8), UINT64_C(0x0470CE36EE6A41D6)}},
3428         {{UINT64_C(0xECFD5C66BA05AF3C), UINT64_C(0x421D5540EB9BFAA8),
3429           UINT64_C(0xFC0E5AF2526CFF85), UINT64_C(0x7E17F1E653DC49A6)},
3430          {UINT64_C(0x69BB1DFB1FAEB0A2), UINT64_C(0xDC95661AB3785ED4),
3431           UINT64_C(0x1F1D7395676D7CD0), UINT64_C(0x2C16BB9689C6412F)}},
3432         {{UINT64_C(0x2335F20EEE414CA6), UINT64_C(0x56E0DDB2FEF5E042),
3433           UINT64_C(0x942D4E35D9DE2966), UINT64_C(0x80E92B8CCF63D583)},
3434          {UINT64_C(0x158BE1B65D492C76), UINT64_C(0xFF096960C4F822D9),
3435           UINT64_C(0xC00FC7305AF79379), UINT64_C(0x07C49B0350D34E12)}},
3436         {{UINT64_C(0x64678B2EC34836C8), UINT64_C(0xCC280DCB615FF066),
3437           UINT64_C(0x86C3C7479131EC98), UINT64_C(0x35B008CC2D151FAD)},
3438          {UINT64_C(0x22C18852F8133FDC), UINT64_C(0x183BE4DC2FE8809D),
3439           UINT64_C(0x86589814CF98D56D), UINT64_C(0x52D8074D2F6E0DE4)}},
3440         {{UINT64_C(0x33FF9F41C9274AA6), UINT64_C(0xAC30ACB4CA854AF1),
3441           UINT64_C(0x87A7BE53FBC994B7), UINT64_C(0x6E7E8B2ADBCD717B)},
3442          {UINT64_C(0x3065A732CD494AB6), UINT64_C(0x6F977B8760FD7F57),
3443           UINT64_C(0x4C216EB4B74BAD54), UINT64_C(0x674F00F5F6061F7A)}},
3444         {{UINT64_C(0xA8C224813164AFBB), UINT64_C(0x4C9E2F1D72A7AC55),
3445           UINT64_C(0xE3DAC3E379DEFE94), UINT64_C(0x193A1E0BBB9D953F)},
3446          {UINT64_C(0x8852020C7E0957EE), UINT64_C(0xF7FD181EB62F8EF7),
3447           UINT64_C(0x0DE7EDDEE26B8860), UINT64_C(0x53A05575FD1B00DE)}},
3448     },
3449     {
3450         {{UINT64_C(0xE5D63E1B63E0C8FC), UINT64_C(0x6849B530C684016A),
3451           UINT64_C(0x4E89CB43009318AD), UINT64_C(0x1CDC5918EF571911)},
3452          {UINT64_C(0xA6596C03F389EAF3), UINT64_C(0x9282C1B3E88975F9),
3453           UINT64_C(0xD07A2AEF0D53D3F2), UINT64_C(0x3DA515D52B3B602C)}},
3454         {{UINT64_C(0xE42857818A5436EA), UINT64_C(0x047E305636D65626),
3455           UINT64_C(0x0016B568E16489A0), UINT64_C(0x4460319675A0209C)},
3456          {UINT64_C(0x2BE99A51BCC19754), UINT64_C(0xE02EAFD05ACFCDEF),
3457           UINT64_C(0xB0A1E300AECACABB), UINT64_C(0x0F39CBDEAC1860D9)}},
3458         {{UINT64_C(0x50DA53722099F08E), UINT64_C(0xAA6AAAD1CA4817B1),
3459           UINT64_C(0xA4DDC5FF57D73192), UINT64_C(0x046043AC7682D453)},
3460          {UINT64_C(0xC8EB178828CF3F48), UINT64_C(0x3967A02FDCA184D4),
3461           UINT64_C(0x0CE68B7986221941), UINT64_C(0x27BDCA48FD3A197A)}},
3462         {{UINT64_C(0xD774E33C563D7A91), UINT64_C(0x1C309DAE07AE1C92),
3463           UINT64_C(0xDABA89B457DBE6A8), UINT64_C(0x90C62517E5820FA4)},
3464          {UINT64_C(0x23C6460511371109), UINT64_C(0x1176AE7E15605666),
3465           UINT64_C(0xD71E9755DF040DCB), UINT64_C(0x5312A5B362ED515C)}},
3466         {{UINT64_C(0xB7AA3A117A5FB9E0), UINT64_C(0xA769BC7218E2CB32),
3467           UINT64_C(0x9D551B9B6B73E050), UINT64_C(0x0CE51DF0DB067CBC)},
3468          {UINT64_C(0x00BF90D54A0E06BE), UINT64_C(0xFEC6E7B37EE820E7),
3469           UINT64_C(0xDFBAC0833334937A), UINT64_C(0x46884935CE14CF46)}},
3470         {{UINT64_C(0xC3F31EAF902EF3A9), UINT64_C(0xF3B6E6FA5CCDF002),
3471           UINT64_C(0x5A9B532188CDDE0F), UINT64_C(0x00D99E43E8691FED)},
3472          {UINT64_C(0x8E786F52CFE02C8B), UINT64_C(0x587AA5374DD36F8E),
3473           UINT64_C(0xBCA91CAC425CC228), UINT64_C(0x80AA8AA9BFA9C36B)}},
3474         {{UINT64_C(0xAD4A2AD09B20505A), UINT64_C(0x6D70802916739066),
3475           UINT64_C(0x729001F389F73B52), UINT64_C(0x774803478073A428)},
3476          {UINT64_C(0x1AB38F07E84DB3B4), UINT64_C(0xE643D756A6655769),
3477           UINT64_C(0x5631359B46C19856), UINT64_C(0x82530A3201C3DCD1)}},
3478         {{UINT64_C(0x9250EC262DDDB968), UINT64_C(0x63D99CBF8D82A03E),
3479           UINT64_C(0x4FBFE78441349B60), UINT64_C(0x6977DD07A15BF2B7)},
3480          {UINT64_C(0x771917C668513C32), UINT64_C(0x026035188F0064F7),
3481           UINT64_C(0x45A5742951D78637), UINT64_C(0x56BF57CC87293790)}},
3482         {{UINT64_C(0xBAC94E24032E6426), UINT64_C(0x7D54AE34C2531B26),
3483           UINT64_C(0x4D6EF608CD688082), UINT64_C(0x736E7ACFF5AA4BEE)},
3484          {UINT64_C(0x41D5BF6C6AFB84E2), UINT64_C(0x40E12DA56E976E09),
3485           UINT64_C(0xCBF32FCB2235F7B9), UINT64_C(0x285DDF46A21BC0E0)}},
3486         {{UINT64_C(0x66C6A76ECE751632), UINT64_C(0xBD457D0E32A61A1D),
3487           UINT64_C(0xFA12A7C878191C57), UINT64_C(0x030ED98B06611B5E)},
3488          {UINT64_C(0x199F7756F4972FFD), UINT64_C(0x298D98E69C8AAB09),
3489           UINT64_C(0x2186054CC5B02158), UINT64_C(0x0736CE4CB9B1147A)}},
3490         {{UINT64_C(0x33E4A4CA19BFA57D), UINT64_C(0xF02F6D32AA70C35D),
3491           UINT64_C(0x9EA10B633CC082FD), UINT64_C(0x86104E8ED00E82A8)},
3492          {UINT64_C(0xACBA5E7387797E25), UINT64_C(0x24DD98A8EB85A796),
3493           UINT64_C(0x02748827C58AC480), UINT64_C(0x5B4480C76A932D80)}},
3494         {{UINT64_C(0xF9E210FB1992B174), UINT64_C(0x3CFA6EF1BE22636E),
3495           UINT64_C(0xA46F202B3BDFA2BD), UINT64_C(0x8C83B3DA441B96D2)},
3496          {UINT64_C(0x3BB2ED8B8AA39AB4), UINT64_C(0x4DB63B239CE53FB2),
3497           UINT64_C(0x24AC8A9846DC2104), UINT64_C(0x997BC4A768E20D1B)}},
3498         {{UINT64_C(0x4CDF8757D1C0D629), UINT64_C(0xBA155719A64B6058),
3499           UINT64_C(0x82FD0DA3BE3FB0B1), UINT64_C(0x12F5069403E34CB1)},
3500          {UINT64_C(0x8993EE3802E7DFEB), UINT64_C(0x2FC240C63D7A758E),
3501           UINT64_C(0x75CB6F62AFF7CC7B), UINT64_C(0x2D73F74D71B02A5B)}},
3502         {{UINT64_C(0x0B7B920A550ADA69), UINT64_C(0x87D29F08D2F1D5C2),
3503           UINT64_C(0x6E36EF9CEEA99A38), UINT64_C(0x624874C179D7626A)},
3504          {UINT64_C(0x9FCA1B2E17F026E0), UINT64_C(0xBDBE18E5A3A79C2E),
3505           UINT64_C(0x1506DE6A6E1B0C6D), UINT64_C(0x860CCD71AD2A2C5F)}},
3506         {{UINT64_C(0x00A15CB028715EF9), UINT64_C(0x71F337D8B1C0ED6D),
3507           UINT64_C(0xBD7E6892F998251E), UINT64_C(0x4C5AB31108E0A4E9)},
3508          {UINT64_C(0xDFD51293567342FB), UINT64_C(0xF202FCD15AE3193B),
3509           UINT64_C(0xE317C933AF59A5A2), UINT64_C(0x300FE0835055DE2A)}},
3510         {{UINT64_C(0x279A071AC58E7AE9), UINT64_C(0xCED1F2F44C718A8B),
3511           UINT64_C(0x3A8C0D1A5FE7F6E5), UINT64_C(0x789C9B04BB40DA93)},
3512          {UINT64_C(0xBB7EA922BF2A0B9B), UINT64_C(0x5DD7A04A3A484413),
3513           UINT64_C(0x3E1F49FBC5912F93), UINT64_C(0x4D8C07A561ECAB05)}},
3514     },
3515     {
3516         {{UINT64_C(0x7D3510079706D4CF), UINT64_C(0x3E2B3D2EB9BABB1F),
3517           UINT64_C(0xC73745BFA2E423EA), UINT64_C(0x0AB3940AF59601A0)},
3518          {UINT64_C(0x8881507A2A895C4F), UINT64_C(0xF27F6F4068652263),
3519           UINT64_C(0xCFD9181488A416BE), UINT64_C(0x13459BC31B4F51F6)}},
3520         {{UINT64_C(0x6D830E0C01C7C38A), UINT64_C(0xBA912BD4E27DA48A),
3521           UINT64_C(0x3828F4334AB8B5A6), UINT64_C(0x3F858E6CE35E88DA)},
3522          {UINT64_C(0x137F2E3A6E1C033C), UINT64_C(0xFC7C89537E670398),
3523           UINT64_C(0x6FF761CEF5C3D4DB), UINT64_C(0x53A02906EED1029B)}},
3524         {{UINT64_C(0x5C597BA656779C20), UINT64_C(0x366688CC43A87346),
3525           UINT64_C(0x19F6DA4AA55ACF91), UINT64_C(0x280ED592182DEC58)},
3526          {UINT64_C(0x0A1F3A7AA1D3EBDD), UINT64_C(0xD92B60780C9F474A),
3527           UINT64_C(0x38D0335E19AE00DD), UINT64_C(0x094A5772A97F33F7)}},
3528         {{UINT64_C(0x026A9029312D2694), UINT64_C(0x95408516AB5B34B8),
3529           UINT64_C(0x9FFA9AB1DED270EA), UINT64_C(0x1F9DDC52493E5935)},
3530          {UINT64_C(0xAC7F94C117244394), UINT64_C(0x18FC29C40F28C9DF),
3531           UINT64_C(0xEDE29238BD817BD9), UINT64_C(0x20DBF9AF8E2A7E40)}},
3532         {{UINT64_C(0x009365D97648CA5C), UINT64_C(0xB168191E2BF27488),
3533           UINT64_C(0x2481BFAAE3B91112), UINT64_C(0x744C505B3D6DB830)},
3534          {UINT64_C(0x21426D8F3C464704), UINT64_C(0x283F59EFDAF85A61),
3535           UINT64_C(0x278B5F8EF2716102), UINT64_C(0x95B80D820FE7E7EC)}},
3536         {{UINT64_C(0xD15ADA08F327664D), UINT64_C(0xF26E3232FE904AF8),
3537           UINT64_C(0x2763DBA6F99471C6), UINT64_C(0x4BC9713915F30827)},
3538          {UINT64_C(0x8523812E5F154BF9), UINT64_C(0x0839059FDE17F8F9),
3539           UINT64_C(0xEA151382BC16678D), UINT64_C(0x68D01E627890C4EF)}},
3540         {{UINT64_C(0x37FAC9FA9487556B), UINT64_C(0xB4DF5C53FB4DC83D),
3541           UINT64_C(0x1EF42D8C92969151), UINT64_C(0x6C0A9D188B0ED349)},
3542          {UINT64_C(0x63E91049946F31ED), UINT64_C(0x51E91DC6653F600B),
3543           UINT64_C(0xD7A582B153A29196), UINT64_C(0x0452F4AD31E1D843)}},
3544         {{UINT64_C(0x1224169D0DE8E344), UINT64_C(0x0F4AB4E7F329D30F),
3545           UINT64_C(0x12662965B525B6A4), UINT64_C(0x3142B612255F14B8)},
3546          {UINT64_C(0xEF6148B9BBF468A1), UINT64_C(0x3FC413B4144F8DFF),
3547           UINT64_C(0xA453D0759BF55B34), UINT64_C(0x857EC76386EBA319)}},
3548         {{UINT64_C(0x7FC22E26C16C1002), UINT64_C(0x2E34975EB0B186C3),
3549           UINT64_C(0xE11E36422FC79F85), UINT64_C(0x30FE5C0E9F981B5F)},
3550          {UINT64_C(0x73BD0FA631816247), UINT64_C(0x40FE16616906AF0A),
3551           UINT64_C(0x8D7109A3787BC7EE), UINT64_C(0x294520546FB9A590)}},
3552         {{UINT64_C(0x24654B9B4DFAAF93), UINT64_C(0x91CDEA8B9A450D29),
3553           UINT64_C(0xEE55420BE4874748), UINT64_C(0x01FAC14C6D03064C)},
3554          {UINT64_C(0x8A4EBDE2D93BD5BE), UINT64_C(0xCB2DF30749EF18A9),
3555           UINT64_C(0x36E6AC641A7B7F36), UINT64_C(0x301954234AC1CB8D)}},
3556         {{UINT64_C(0xD9970B1E34F5B3FF), UINT64_C(0x3CFEFC50587A9C5C),
3557           UINT64_C(0x8EC1C5DE7CCE631E), UINT64_C(0x92C93E2B52465AB8)},
3558          {UINT64_C(0x0104DF30257017CA), UINT64_C(0xF4E5E7798D8DB4CE),
3559           UINT64_C(0xE12A39DDFDC267F0), UINT64_C(0x683DEAFE27C73FDA)}},
3560         {{UINT64_C(0xD0840E81BBC70623), UINT64_C(0x03A93C164D23568E),
3561           UINT64_C(0xC52FF3D611A71BFF), UINT64_C(0x03C11FCE0875248E)},
3562          {UINT64_C(0xBC6F184B6C4AE445), UINT64_C(0xF52CC71F7698EE98),
3563           UINT64_C(0x4663193EEEA25223), UINT64_C(0x86CD1AB3031C68DC)}},
3564         {{UINT64_C(0x221C94EB21E04C02), UINT64_C(0xE96BB7B37B980F70),
3565           UINT64_C(0x60A7289724DC2BD1), UINT64_C(0x8C8E019F5621F475)},
3566          {UINT64_C(0xAE47B2F75CFA457A), UINT64_C(0x31B2F9E1F395C533),
3567           UINT64_C(0x7EEB5DDC82E75849), UINT64_C(0x4863A6A32A241E52)}},
3568         {{UINT64_C(0x806AC7F4914976EF), UINT64_C(0x5019261ECA42B875),
3569           UINT64_C(0x44F5C03D6EF2D82F), UINT64_C(0x24959F00690F2ACA)},
3570          {UINT64_C(0x4BDE211581F0BBB6), UINT64_C(0x01EB2C001F701A2D),
3571           UINT64_C(0x039F8910274FB05C), UINT64_C(0x57068F24C625EBCD)}},
3572         {{UINT64_C(0xB21B8C9367FF2575), UINT64_C(0xC7826C600C60B449),
3573           UINT64_C(0xD4D69A9FA98671BB), UINT64_C(0x95249276F5A2AB0C)},
3574          {UINT64_C(0x8F7007F02D1976DA), UINT64_C(0x846F2A92C011D54C),
3575           UINT64_C(0xFDBF81DFFA2076B1), UINT64_C(0x3349224F5583B46C)}},
3576         {{UINT64_C(0x624967467C854B4A), UINT64_C(0xF92BAE1D798B1395),
3577           UINT64_C(0x2EBE18E3D2F65638), UINT64_C(0x472FF6E58A068F49)},
3578          {UINT64_C(0x64BB0F33DA2030C2), UINT64_C(0x72C0D0C966F6C000),
3579           UINT64_C(0xEA837EE53194615E), UINT64_C(0x1B7B4849FA9A7903)}},
3580     },
3581     {
3582         {{UINT64_C(0x27AB780CCF9A0727), UINT64_C(0xD457A7BC9D7486CB),
3583           UINT64_C(0xFC57C335FE9F1A59), UINT64_C(0x269D8959D1D9F161)},
3584          {UINT64_C(0x06A32331B81605D5), UINT64_C(0x236963536F050BE0),
3585           UINT64_C(0xF9350879413E1C0D), UINT64_C(0x170195485761A8DF)}},
3586         {{UINT64_C(0x583D3D3F6765C6A2), UINT64_C(0x68BBA6F9BE9DF3AF),
3587           UINT64_C(0x7011E59485358B53), UINT64_C(0x3B2142E353A08874)},
3588          {UINT64_C(0x4AB6137E6F5C8641), UINT64_C(0x4955890E4FE9BCEB),
3589           UINT64_C(0xE2F732BA4D14DA01), UINT64_C(0x8CB285FCBEBD63D4)}},
3590         {{UINT64_C(0x5099551B6C74A0AA), UINT64_C(0xF04EB8F8BC2C8A61),
3591           UINT64_C(0xE169F49285983435), UINT64_C(0x764062A15B808C9E)},
3592          {UINT64_C(0x8C59A43F65B994FB), UINT64_C(0x2FB148B76068E685),
3593           UINT64_C(0x899D4FC554108A9F), UINT64_C(0x0469EA3E5B4D40FE)}},
3594         {{UINT64_C(0x15B613EA62A76AA8), UINT64_C(0x7E8E7D562FE2F179),
3595           UINT64_C(0x53160F65BE98EDC2), UINT64_C(0x258DA04E9810DC27)},
3596          {UINT64_C(0x4FEE19D0030D9C31), UINT64_C(0xFC2C57F8C29E300F),
3597           UINT64_C(0x00071F97C44458AE), UINT64_C(0x0AA2B911709727E1)}},
3598         {{UINT64_C(0x443F8B23A61166F8), UINT64_C(0x3E8F6278D685FCF1),
3599           UINT64_C(0xC930C1D1447433C6), UINT64_C(0x1245A867AED7D6EB)},
3600          {UINT64_C(0xC35986DDFA89945A), UINT64_C(0x89CE110926B0AFEE),
3601           UINT64_C(0x9C6A87CD17103D18), UINT64_C(0x811B2242CE338978)}},
3602         {{UINT64_C(0xC074AF660C293255), UINT64_C(0x982C23A95AEAC2E1),
3603           UINT64_C(0xDB14DE0CD39AC56C), UINT64_C(0x20263F3F47EBB839)},
3604          {UINT64_C(0x183EA578D10588DF), UINT64_C(0xB4D88EFB1EB69C36),
3605           UINT64_C(0xA79A1B4DDBF3BEE7), UINT64_C(0x650FC466E8159E0D)}},
3606         {{UINT64_C(0x9E6EE797F80D5744), UINT64_C(0xDFC3EBF5825949BD),
3607           UINT64_C(0x1083EC797EC9BD65), UINT64_C(0x62A45C5EB753499C)},
3608          {UINT64_C(0x9C135F802B6F42CF), UINT64_C(0xE39B0BA5C4B49041),
3609           UINT64_C(0x4D8385138D3B2D06), UINT64_C(0x696034DCD070754B)}},
3610         {{UINT64_C(0x06313D73B8E3BDD1), UINT64_C(0xC7BEC420E6968872),
3611           UINT64_C(0x740DD6D33A04B7F0), UINT64_C(0x98F2D0B72465BED2)},
3612          {UINT64_C(0x9F2984604043DBAD), UINT64_C(0x82D6991A01B5961F),
3613           UINT64_C(0xAAE7DF9D54DFAB8A), UINT64_C(0x5701E3351A07DD22)}},
3614         {{UINT64_C(0x5695A08EFCA398A2), UINT64_C(0xD29EBC1F0D76E8CF),
3615           UINT64_C(0x5AB17ABF24004EDB), UINT64_C(0x20C7761B0CC7A144)},
3616          {UINT64_C(0x6CAEE036285EA93C), UINT64_C(0xF9756E89F2B8BF23),
3617           UINT64_C(0x3CEA1C76B1AB91B7), UINT64_C(0x5D86860E3FB4F3B8)}},
3618         {{UINT64_C(0x835B023BFDC7DBC5), UINT64_C(0xF05C0676EEEDFD73),
3619           UINT64_C(0xF8325D64E52BFB27), UINT64_C(0x919D008DB5032CFF)},
3620          {UINT64_C(0xEF27862C4B130537), UINT64_C(0x616DF1545CE404DC),
3621           UINT64_C(0x182BA57E451ED033), UINT64_C(0x2EFEC0C7BD01F864)}},
3622         {{UINT64_C(0xDC84684545F3AF3C), UINT64_C(0x2D2BA0CD92A47B31),
3623           UINT64_C(0x9C806C7DE1AFE6EE), UINT64_C(0x28FE43FF4C6A4FEA)},
3624          {UINT64_C(0x2E028CD16C76C0F4), UINT64_C(0xC6FA5AD12AEFBDDA),
3625           UINT64_C(0xC8B5339BF63F1A35), UINT64_C(0x30C780A704523F02)}},
3626         {{UINT64_C(0x3D2DCA55D7E4F0CE), UINT64_C(0x8EEF918926616811),
3627           UINT64_C(0xB106642F3C0E5892), UINT64_C(0x4A96538589DB033E)},
3628          {UINT64_C(0x5A1CBEB6B3C2DD37), UINT64_C(0x5290C737156EAC75),
3629           UINT64_C(0x57AFD98AE32E40C7), UINT64_C(0x04A16164B3571868)}},
3630         {{UINT64_C(0x9AB8A3E91A673E1B), UINT64_C(0xC707ABBA0FC23483),
3631           UINT64_C(0x936C17839E0EA0BD), UINT64_C(0x1E4C2E7CF71F6F1D)},
3632          {UINT64_C(0x37904F636FB0926C), UINT64_C(0x9EC76DF7C51FEEA5),
3633           UINT64_C(0x2C60F7D64D103DAC), UINT64_C(0x7B451E0BF9DC2CC6)}},
3634         {{UINT64_C(0xD4F8526CB2A5F07F), UINT64_C(0x41303D42B0F4AE09),
3635           UINT64_C(0xAC79523F0C182FDC), UINT64_C(0x8D6A75C8AA0C5D6D)},
3636          {UINT64_C(0x4DD7FC953CDCE3F0), UINT64_C(0x4DDB39105BE6DA0F),
3637           UINT64_C(0xE34961F916F7E27D), UINT64_C(0x0C5CB76F5B3544EB)}},
3638         {{UINT64_C(0x324C95B5252C354C), UINT64_C(0x4648D87E8CC2C3BC),
3639           UINT64_C(0x6DDFDECD82BC8C80), UINT64_C(0x8C64CADEC069996E)},
3640          {UINT64_C(0x4E282E9640ED44AB), UINT64_C(0x70A1206779334507),
3641           UINT64_C(0x65CE5D385AB8902B), UINT64_C(0x56FE68F27C949D96)}},
3642         {{UINT64_C(0x1D55C87ECF9530AE), UINT64_C(0xD1CF73FFC147C2D5),
3643           UINT64_C(0x826031CDC1F44403), UINT64_C(0x3A06528F5EEF5BFB)},
3644          {UINT64_C(0xF220EAF35F84A7B1), UINT64_C(0xBC99C905350EBADE),
3645           UINT64_C(0x686A706E810A101C), UINT64_C(0x95E527131D92EAEA)}},
3646     },
3647     {
3648         {{UINT64_C(0xAAC634B3514D47C2), UINT64_C(0xD0C189B858B83B33),
3649           UINT64_C(0x633D59E358CA9A2F), UINT64_C(0x65965CE0838ACC80)},
3650          {UINT64_C(0xBB03F7EA9B512F6E), UINT64_C(0xB2F38B849EF17A82),
3651           UINT64_C(0xE8382E37E16A7A95), UINT64_C(0x28644EFE4D9EF607)}},
3652         {{UINT64_C(0x46F9115E040A515B), UINT64_C(0x4C7DBCFFFA59CD3E),
3653           UINT64_C(0xB4CE22B871BB543E), UINT64_C(0x58D935D8948F80BA)},
3654          {UINT64_C(0x33DC1D5B03683C8B), UINT64_C(0x25E6113A2D071D87),
3655           UINT64_C(0x44F962F8A7D59351), UINT64_C(0x6B818DDBBCF66B43)}},
3656         {{UINT64_C(0x363A63C7378C1098), UINT64_C(0xBEB2A7B6AC5C0C9E),
3657           UINT64_C(0x3F620D3F4361C8D4), UINT64_C(0x68EAD01A4E3D9686)},
3658          {UINT64_C(0x4361308545DB7208), UINT64_C(0x865A6DDE13B35D33),
3659           UINT64_C(0x4EAA166368DF09F5), UINT64_C(0x5FDCA83FBF02AA12)}},
3660         {{UINT64_C(0xC240FEAABFEFB3CB), UINT64_C(0x78E757D20EC6694F),
3661           UINT64_C(0xA11A82DF2413D6A2), UINT64_C(0x7BD656EEDBB7A220)},
3662          {UINT64_C(0x68C608736EB899A4), UINT64_C(0xAFFB9F1C318C72E8),
3663           UINT64_C(0xF16A443C9FB7619D), UINT64_C(0x2FC317E342C6E4D6)}},
3664         {{UINT64_C(0xAB56A87373F57A93), UINT64_C(0xE9BA24E2308F5224),
3665           UINT64_C(0x010281B911992077), UINT64_C(0x2CBCA7FE593EAD1A)},
3666          {UINT64_C(0xB400388A2A1D8318), UINT64_C(0xD470ABDA3C61A0AF),
3667           UINT64_C(0xF910272194BD2FAC), UINT64_C(0x222365D10FAC703C)}},
3668         {{UINT64_C(0x5C9021C49C2D1B2B), UINT64_C(0xB349DB18CAF0B562),
3669           UINT64_C(0x6DAF741291412CC3), UINT64_C(0x44E5E3E5CF6584D3)},
3670          {UINT64_C(0x1D1F4244E4C17B19), UINT64_C(0x4C663EE63787A38A),
3671           UINT64_C(0xA3261E22313A8581), UINT64_C(0x3AE1E1DB7A82C05A)}},
3672         {{UINT64_C(0x31AA2B293CD6A155), UINT64_C(0x0EB9527E3D078B12),
3673           UINT64_C(0x6785ABA2214FF1E2), UINT64_C(0x74974F84F111D572)},
3674          {UINT64_C(0x2199A753078C684B), UINT64_C(0xA0F1DE234B13A004),
3675           UINT64_C(0x3965AE1975BEBCBC), UINT64_C(0x22A8D7EE24562AA7)}},
3676         {{UINT64_C(0x0591965FBF268ADE), UINT64_C(0xF621B3649EE48F0E),
3677           UINT64_C(0x0AD981A95A3A3848), UINT64_C(0x1316675C9ECD72B7)},
3678          {UINT64_C(0x21A5CEB7F37C87E0), UINT64_C(0xEF864CF368D1AAFB),
3679           UINT64_C(0x5F340413D3C9A54F), UINT64_C(0x0C5DE1E6E00FD564)}},
3680         {{UINT64_C(0x439B2C0CB415D72C), UINT64_C(0x106AE2E063442E62),
3681           UINT64_C(0x8A9428C64A79E93B), UINT64_C(0x67FE6D6ECC2DF510)},
3682          {UINT64_C(0x407158BC655013B3), UINT64_C(0x3AAEAC1C2BC7E7CC),
3683           UINT64_C(0x399DB6EFEE8EC1F4), UINT64_C(0x1F7D0D17ECFF6657)}},
3684         {{UINT64_C(0x03039D18CB86639E), UINT64_C(0x586039099CDC3408),
3685           UINT64_C(0x52421109F1804B9E), UINT64_C(0x95502857ED126B9F)},
3686          {UINT64_C(0xC91842D9451B0539), UINT64_C(0x2B5B11EBE60AAE3B),
3687           UINT64_C(0xDB50F9EA44CB5A14), UINT64_C(0x4B5C982489E80A6E)}},
3688         {{UINT64_C(0x8EF3A1E569FC9F1A), UINT64_C(0xA4EAB6F47CCA576A),
3689           UINT64_C(0x955E1C89FBF1CD65), UINT64_C(0x3E3ACF6EF8CE13DB)},
3690          {UINT64_C(0x1FDB619058F31FC9), UINT64_C(0x10DB71B393B0D0D5),
3691           UINT64_C(0x900961439154B285), UINT64_C(0x37EEE1781C49EFF3)}},
3692         {{UINT64_C(0x609DE502BC198066), UINT64_C(0x075C863140722EF6),
3693           UINT64_C(0x121ACC9FFF0FA57D), UINT64_C(0x31E79AC5EC7DB1A0)},
3694          {UINT64_C(0x736EB95DF16FAE79), UINT64_C(0xFF963917815A14CB),
3695           UINT64_C(0xC6003E5D23AF0BC3), UINT64_C(0x0D1B035099AFCAAA)}},
3696         {{UINT64_C(0x8A1B6C971F0DF59D), UINT64_C(0x7DF81A7259C9CA8D),
3697           UINT64_C(0x74257F8E9602E8BE), UINT64_C(0x2FFBAD39A441657A)},
3698          {UINT64_C(0xB1B090DB048050A6), UINT64_C(0xD6144221741E7392),
3699           UINT64_C(0x63826973ECA1E2D6), UINT64_C(0x28EE60B8D287DE2F)}},
3700         {{UINT64_C(0x815042955DEE86CE), UINT64_C(0xFACCB61D73C03937),
3701           UINT64_C(0x9898F773299B96AF), UINT64_C(0x51552297488F95CD)},
3702          {UINT64_C(0x6170618C54F5E182), UINT64_C(0x9C11D666C2798401),
3703           UINT64_C(0x88225F4B3EAF3DDE), UINT64_C(0x20841538087F1185)}},
3704         {{UINT64_C(0x42BCEFFE14FA59EC), UINT64_C(0xC41CFCDA7D023F1E),
3705           UINT64_C(0xD7E4FDE77163E802), UINT64_C(0x54F4C7982E145BCE)},
3706          {UINT64_C(0xE4EA68C9F9162235), UINT64_C(0x4F7EAC6F458DEC24),
3707           UINT64_C(0x70100D2D845C6AD1), UINT64_C(0x67AC34CFF1EA21B2)}},
3708         {{UINT64_C(0x2BD49BDFAC21C728), UINT64_C(0x2D009B45EDA966DF),
3709           UINT64_C(0x0D4476BE4A9B9167), UINT64_C(0x340BD3BE95D2ACD2)},
3710          {UINT64_C(0xF8BACA2DB040FF50), UINT64_C(0x307BEA0DB91D47C1),
3711           UINT64_C(0x2EFDC81BB6B3A1E4), UINT64_C(0x3B2CD7D91595D6E2)}},
3712     },
3713     {
3714         {{UINT64_C(0x56254AE732A5A002), UINT64_C(0xE48A475C448B0A9F),
3715           UINT64_C(0x3B2DF6DF14EDBBA9), UINT64_C(0x911BE369F5E4CC81)},
3716          {UINT64_C(0x57D065C677CBB387), UINT64_C(0x7C1E0142527575FD),
3717           UINT64_C(0x2CA91EEF243B5C33), UINT64_C(0x7E54AF425C4700CC)}},
3718         {{UINT64_C(0xEF5ECAE55EEDF97F), UINT64_C(0x2D79312AC0D821AC),
3719           UINT64_C(0xD3817042A9EDBE8F), UINT64_C(0x7A3D537EAD924B1D)},
3720          {UINT64_C(0xD9923A20B26FFC3B), UINT64_C(0x651D22015B81EC12),
3721           UINT64_C(0xBDF7205A54C37FF0), UINT64_C(0x5562D2588C0D2E79)}},
3722         {{UINT64_C(0xE5BC2E1CFB4842F8), UINT64_C(0xCFE9782425B464C8),
3723           UINT64_C(0xD902A11A2FEA9ED3), UINT64_C(0x2FC360ED8D3DD0A4)},
3724          {UINT64_C(0xEC4E57FC9E5F7AE1), UINT64_C(0xF0F1FD9F79B8AF6C),
3725           UINT64_C(0x803F3ED6A9A283D0), UINT64_C(0x5F13000FADEEA78E)}},
3726         {{UINT64_C(0x3EBBBD161838B470), UINT64_C(0x934BA22AB2781680),
3727           UINT64_C(0xC9ED04FCC7210CD4), UINT64_C(0x716004A14615F186)},
3728          {UINT64_C(0xE7B36C21E894BBC3), UINT64_C(0x3F739857570AA9A8),
3729           UINT64_C(0x1707FBEE3063902B), UINT64_C(0x44FCB774155C9824)}},
3730         {{UINT64_C(0x30ECD772CDD8CEDB), UINT64_C(0x67BB36FDCA09BCD3),
3731           UINT64_C(0xD5AD0FAA9BC43B7B), UINT64_C(0x3962E5566A130895)},
3732          {UINT64_C(0x579282537F7A565A), UINT64_C(0xDE9D779255B911EE),
3733           UINT64_C(0xD5DBFDDE6984F326), UINT64_C(0x7CDF5E159FB51246)}},
3734         {{UINT64_C(0xD7FC427A89D24763), UINT64_C(0x50E627C9AD874362),
3735           UINT64_C(0x17A8F83B2069873A), UINT64_C(0x186952D7DB698BD1)},
3736          {UINT64_C(0x6C007EED38A2822C), UINT64_C(0x5F1870910C207073),
3737           UINT64_C(0xD0023B6308D245D2), UINT64_C(0x7A32C2A134544316)}},
3738         {{UINT64_C(0x8B99183A8C2635EC), UINT64_C(0xA00A94766F12B137),
3739           UINT64_C(0x9B5E2F57823DA313), UINT64_C(0x0F7CB4AF47B3CEB1)},
3740          {UINT64_C(0xC993AF7E67266D24), UINT64_C(0x8B60295EEBA985B8),
3741           UINT64_C(0x9AA596CBE41A6F69), UINT64_C(0x4D6CF5DF4B68507A)}},
3742         {{UINT64_C(0x3B8A3CBC6921DEFE), UINT64_C(0xB96D53900ED7B717),
3743           UINT64_C(0x6761E86A7DE65E54), UINT64_C(0x964460D6701CC1E4)},
3744          {UINT64_C(0x5C0A221326C82309), UINT64_C(0xF95F547220328C60),
3745           UINT64_C(0xB519B476FB49E3B5), UINT64_C(0x089D0AB6EE373756)}},
3746         {{UINT64_C(0x947DFCF0DC952768), UINT64_C(0xD8B5C61C3AB613AA),
3747           UINT64_C(0x146E83259A457DA4), UINT64_C(0x37E2F6D3F476945E)},
3748          {UINT64_C(0x5702A4413851A6F6), UINT64_C(0xB476560E8D67EF9C),
3749           UINT64_C(0xABA23F67F9D2AD96), UINT64_C(0x3CE30A4EDFBBB806)}},
3750         {{UINT64_C(0x64695640E5BAA662), UINT64_C(0x2A18979A0AAF3988),
3751           UINT64_C(0x605578FFDE0ED212), UINT64_C(0x52E604D530F2C13C)},
3752          {UINT64_C(0x2E9E2D83894AB3B9), UINT64_C(0x098B1FAA4BC33041),
3753           UINT64_C(0x01CF66060863AA3C), UINT64_C(0x7334879BD2951A60)}},
3754         {{UINT64_C(0xB080105CC51704F1), UINT64_C(0x1A5869B8EAEE29C4),
3755           UINT64_C(0xAD6AEF335FDD2FD3), UINT64_C(0x83E677C449C2B183)},
3756          {UINT64_C(0x757A4EFDDFA8B8F4), UINT64_C(0xFC8E7650E42F2C87),
3757           UINT64_C(0xD4A61A3E9C963D98), UINT64_C(0x3750289A45BC9044)}},
3758         {{UINT64_C(0x40A0620E40B1C72C), UINT64_C(0xAEE56EC7B2E44573),
3759           UINT64_C(0xE4E6EA3D60532553), UINT64_C(0x5BA50E80A0EB6014)},
3760          {UINT64_C(0x846429784378CC2F), UINT64_C(0xE322D1692A1C5FB4),
3761           UINT64_C(0x5000C9B16B91F82D), UINT64_C(0x32380CB87AA49F2D)}},
3762         {{UINT64_C(0x0A2F936AE18C4BD2), UINT64_C(0x7AEA56AAC3DB9AA5),
3763           UINT64_C(0x3A984E935DDF30CB), UINT64_C(0x36133D20904181C6)},
3764          {UINT64_C(0xA9A65593F62DFBF5), UINT64_C(0xB4AC06FD6808B883),
3765           UINT64_C(0x986797047A2FEDBB), UINT64_C(0x20E9E8E197880A72)}},
3766         {{UINT64_C(0x403A1ED1CEB26FAE), UINT64_C(0xAD13CD873CD622C9),
3767           UINT64_C(0xC1E03929CF45C32D), UINT64_C(0x4B50E4A9C3BE1A53)},
3768          {UINT64_C(0xCF10F3AFD0D7AFE3), UINT64_C(0x6A29B1731494A9B4),
3769           UINT64_C(0xB9DC9849D13B0495), UINT64_C(0x4C50794E9C05B110)}},
3770         {{UINT64_C(0xC3C97DED1427F71D), UINT64_C(0xC3CFB754966ECF33),
3771           UINT64_C(0x48E30FE11FBF30CD), UINT64_C(0x71C96E1C1E4B0998)},
3772          {UINT64_C(0x878D6305B92C4BF7), UINT64_C(0x14477130CCB5E4A1),
3773           UINT64_C(0x7C210767E3C00A19), UINT64_C(0x5546DBD5AB3CDBF0)}},
3774         {{UINT64_C(0xADEC875870857571), UINT64_C(0x0A52587CE70D07EC),
3775           UINT64_C(0xE6CEAF9EC731B9BC), UINT64_C(0x1D0FDE3F47143479)},
3776          {UINT64_C(0x2F3BE2CFC5B410CB), UINT64_C(0x576004BE4E64FD9B),
3777           UINT64_C(0x03F339517629820C), UINT64_C(0x7BD3296446A450E2)}},
3778     },
3779     {
3780         {{UINT64_C(0xD492D6B746CED42D), UINT64_C(0xC068D02D1F0092E3),
3781           UINT64_C(0x008ECBAD8D8A822A), UINT64_C(0x6B32686971045647)},
3782          {UINT64_C(0xFEE3237F523CBA58), UINT64_C(0x077B7F509C29059F),
3783           UINT64_C(0x42C308B3E72FBE6F), UINT64_C(0x3DD79D838E34148B)}},
3784         {{UINT64_C(0x3ED9DF47CAC24455), UINT64_C(0x7C8A7B31D8546306),
3785           UINT64_C(0x4CC432952AA02202), UINT64_C(0x5E8B4EA38598E028)},
3786          {UINT64_C(0x8A882F3F812B8070), UINT64_C(0x984BE5881DD374C0),
3787           UINT64_C(0x6FDA815916E133CF), UINT64_C(0x34FB92FA899920D0)}},
3788         {{UINT64_C(0x3BE0416FDA0B8D0E), UINT64_C(0x2CC846DB88C053D0),
3789           UINT64_C(0xC04C3A42B1A3A621), UINT64_C(0x35BC55508A9D9115)},
3790          {UINT64_C(0x7F8C9FE37FA72AFE), UINT64_C(0x488FA0B4D1E914FD),
3791           UINT64_C(0x8F5C2D6384F79359), UINT64_C(0x2BE80429FBC94785)}},
3792         {{UINT64_C(0x391794E06F67799A), UINT64_C(0xD9BF08AE0677A067),
3793           UINT64_C(0x716D5062DF61563C), UINT64_C(0x0ECB234AF590F3A3)},
3794          {UINT64_C(0xA5B91448FEA22392), UINT64_C(0xFAA294877E76FB8B),
3795           UINT64_C(0x3CC3A02A4B6CB375), UINT64_C(0x5C0B3B639022167A)}},
3796         {{UINT64_C(0xC5689CF34C576430), UINT64_C(0xF7B7B230C585F5A5),
3797           UINT64_C(0xB8DAADFBE4BFCEE7), UINT64_C(0x7B7D8A959CF4242F)},
3798          {UINT64_C(0xC1755F9B398FEEF6), UINT64_C(0x9B31CD4D5CC5C36E),
3799           UINT64_C(0x4D87AB9CF4C6B793), UINT64_C(0x673FD5B2F595EFA8)}},
3800         {{UINT64_C(0xA3836484E05E6B19), UINT64_C(0x090C14CFFCA7E6FB),
3801           UINT64_C(0xB7A27042FC717DBC), UINT64_C(0x56CD4AF138647882)},
3802          {UINT64_C(0xC2B56B50A43C453E), UINT64_C(0x0CD5E768982E7AED),
3803           UINT64_C(0xD5ABADF758474A8B), UINT64_C(0x68188A3899F500AC)}},
3804         {{UINT64_C(0x0683AC3E83B1F7BA), UINT64_C(0x6A4FC30C680568E9),
3805           UINT64_C(0x735F5E487F6256CF), UINT64_C(0x1240752D048DB831)},
3806          {UINT64_C(0x98B78A67868B8AD7), UINT64_C(0x9E32F2C1822EBA7D),
3807           UINT64_C(0xEAE28B1E8F37580F), UINT64_C(0x0D204CE0C72EDA86)}},
3808         {{UINT64_C(0x5E4EAA1C77E8C68C), UINT64_C(0x282ADFE9859A127B),
3809           UINT64_C(0x0C75AB7C14904910), UINT64_C(0x1794516A6E751062)},
3810          {UINT64_C(0x8D99D8913DE4A32A), UINT64_C(0x957AA80754EF2BF0),
3811           UINT64_C(0xBF20A9E00B109ECD), UINT64_C(0x7732F2B3A72268D3)}},
3812         {{UINT64_C(0xADB52E4348752F76), UINT64_C(0x01E9F4B1D6F7CCE8),
3813           UINT64_C(0x22702DA02E4BD9B5), UINT64_C(0x1BCC9C60B40BF9AB)},
3814          {UINT64_C(0xAB7746379F53B2B1), UINT64_C(0x9C5741518CB316D0),
3815           UINT64_C(0x231D5C45BECBEBED), UINT64_C(0x0BD2D5E7F0458638)}},
3816         {{UINT64_C(0xD2F5E0B54B946132), UINT64_C(0x200A8A30155AA2C8),
3817           UINT64_C(0x15473FD456A62CE7), UINT64_C(0x030EA71BB6689367)},
3818          {UINT64_C(0xD561432B0E315F29), UINT64_C(0x4155022E149E3A9E),
3819           UINT64_C(0xC77EF7E115841273), UINT64_C(0x890D9C8D52BA265A)}},
3820         {{UINT64_C(0xB72B5A6A5E62451A), UINT64_C(0xFDA85C175C61A183),
3821           UINT64_C(0xA4275361B7F36EB3), UINT64_C(0x53ADFAF394F4148D)},
3822          {UINT64_C(0x281D47F96A8467AE), UINT64_C(0x416A64B58474D3AD),
3823           UINT64_C(0x710D0E7AEC99480E), UINT64_C(0x2693A878819253FF)}},
3824         {{UINT64_C(0x4BE769041A2FE406), UINT64_C(0xB6FEED1D343F5B10),
3825           UINT64_C(0x36695C52D705E35C), UINT64_C(0x7DF6FA416BD3859F)},
3826          {UINT64_C(0x7B9B11F5C00E77EA), UINT64_C(0xC90411B8CA80F838),
3827           UINT64_C(0x8A9FAEF02908C694), UINT64_C(0x05F65AAAFF5B39B0)}},
3828         {{UINT64_C(0x823A0776D7F59CC5), UINT64_C(0xB9EBE15EC410DFD1),
3829           UINT64_C(0xC2374B5810A7FA3F), UINT64_C(0x1B912C84311660F2)},
3830          {UINT64_C(0x486A2607D5A175E6), UINT64_C(0x9B17D14D72B74EB7),
3831           UINT64_C(0x1069D5C41039CA77), UINT64_C(0x214605B33FEE08BB)}},
3832         {{UINT64_C(0xC25A7379F9D14E8D), UINT64_C(0x9D5FAFDA577D330E),
3833           UINT64_C(0xB9A0217DA4A9CEF0), UINT64_C(0x95AFC7F708252731)},
3834          {UINT64_C(0x14E53E9E8FC51680), UINT64_C(0x0AEA2428A8AC4E21),
3835           UINT64_C(0x6BC5E42C11CB2361), UINT64_C(0x3B205E45DCB52215)}},
3836         {{UINT64_C(0x8EDD4718C916CDE4), UINT64_C(0xBB08F27AD70D7130),
3837           UINT64_C(0x289A33C0ED9162CB), UINT64_C(0x97CEFA45FB69185B)},
3838          {UINT64_C(0x44DA25788B7797EE), UINT64_C(0x579B17F7148E9A75),
3839           UINT64_C(0x73EC1C23913C09AE), UINT64_C(0x3FAB86A40BAAA67D)}},
3840         {{UINT64_C(0x28E76C232DF7BE6D), UINT64_C(0x00526844500A844D),
3841           UINT64_C(0xB86FBB143CC748C2), UINT64_C(0x6D89BB8AEB5F6AC5)},
3842          {UINT64_C(0xF66159DF2327808C), UINT64_C(0x606F055329C5006C),
3843           UINT64_C(0xDAA1107F844B6CA4), UINT64_C(0x95D7686C63A8946C)}},
3844     },
3845     {
3846         {{UINT64_C(0x71438CEA07F7DCF5), UINT64_C(0xB3F59AFA0A1CCD55),
3847           UINT64_C(0x5A4396270E0071B4), UINT64_C(0x8694E3FAE93D5B8E)},
3848          {UINT64_C(0x21713A387D6550B0), UINT64_C(0x893BD9F706CFCD5B),
3849           UINT64_C(0xC3D2679CE7513FCE), UINT64_C(0x418AE7C82C451EF3)}},
3850         {{UINT64_C(0xADFAFF380B85E2A9), UINT64_C(0x6124E6272E244653),
3851           UINT64_C(0xF2C465AF375D1EE7), UINT64_C(0x5B2302D676E58455)},
3852          {UINT64_C(0x32938A0D7479F387), UINT64_C(0xF9A16A0DAAAB22A5),
3853           UINT64_C(0x65AF0E252AD65CAE), UINT64_C(0x2B5668668431EA40)}},
3854         {{UINT64_C(0xCA3ACC11DBCDAFAB), UINT64_C(0x0BBB5DBFBB7F218B),
3855           UINT64_C(0xD69E091ADB0ABBE2), UINT64_C(0x8AFFCE950B0B7B09)},
3856          {UINT64_C(0x0A5E6C81C7EC52C7), UINT64_C(0xABD60595896707CD),
3857           UINT64_C(0x4CE86506101E0F80), UINT64_C(0x9629A6C04ED01B2E)}},
3858         {{UINT64_C(0x1D740EACE15D82F4), UINT64_C(0x42F9801890A5D149),
3859           UINT64_C(0x1B8C8DC0903D6D28), UINT64_C(0x7BE2B91605BBDFF7)},
3860          {UINT64_C(0xFBACF878D8E41D96), UINT64_C(0x42E98BFBBE26EB56),
3861           UINT64_C(0x9EA73555F6DE1EB1), UINT64_C(0x5325DDDECF79A9EE)}},
3862         {{UINT64_C(0x44BE62C348E6A22F), UINT64_C(0xD0A3C0AD8DB35276),
3863           UINT64_C(0xB4C99306136FE9BA), UINT64_C(0x0F2987D7A44E491F)},
3864          {UINT64_C(0xA0965F74CCC77C2B), UINT64_C(0xE01AD644FE110072),
3865           UINT64_C(0x79528B9CC16B5E1E), UINT64_C(0x45AEEFF3F929BE4D)}},
3866         {{UINT64_C(0x46E95DF67F4DA458), UINT64_C(0x554C50C1A7AD579B),
3867           UINT64_C(0xF64F00A14316DBA1), UINT64_C(0x16C9851346D487BD)},
3868          {UINT64_C(0xECB197612C048A1B), UINT64_C(0x997AF3985373E5E6),
3869           UINT64_C(0x50E832D2FDF23B20), UINT64_C(0x1B358E0F7EF7E097)}},
3870         {{UINT64_C(0x7C6728AEACBC759C), UINT64_C(0x187588FBA156A466),
3871           UINT64_C(0xC2E550ED928F97BD), UINT64_C(0x8B595A3AAAE1C05A)},
3872          {UINT64_C(0xE36871E1D77C1125), UINT64_C(0x11E129780DBBD882),
3873           UINT64_C(0x3EF8268A5E77FB7E), UINT64_C(0x7BAEA9BA6B33C00C)}},
3874         {{UINT64_C(0x7C8512365925E5FE), UINT64_C(0xCED70AE5D8E1597B),
3875           UINT64_C(0x7A28BE1A6DCD112F), UINT64_C(0x1EB192683B8EAF6F)},
3876          {UINT64_C(0x7E6F1CF28AA902B9), UINT64_C(0x3DD9D59CA5A761D9),
3877           UINT64_C(0x8EF70BB448D9F52E), UINT64_C(0x96629C1ACDEE9658)}},
3878         {{UINT64_C(0xCA215EACB367C5B3), UINT64_C(0x36B22774A796338A),
3879           UINT64_C(0x71F9A61A26EBCDFE), UINT64_C(0x1B40580A35119BD3)},
3880          {UINT64_C(0x77169EF1431C78BD), UINT64_C(0x8197975E337022D5),
3881           UINT64_C(0x451127991D9A4742), UINT64_C(0x382750D619B6DB07)}},
3882         {{UINT64_C(0x740405EE9786AE0B), UINT64_C(0xF7F37C0F3ABA0481),
3883           UINT64_C(0x904FC60C51892307), UINT64_C(0x8405DF2AE891D639)},
3884          {UINT64_C(0x53D19AC5D9B432F8), UINT64_C(0xE8F1730F066CD97C),
3885           UINT64_C(0xC8740FEF0E95804B), UINT64_C(0x12EE433CEC242811)}},
3886         {{UINT64_C(0x6AF4B9B16153F4D4), UINT64_C(0x9CD8CD0CF84F0145),
3887           UINT64_C(0x6CABD4FCDCEB0F06), UINT64_C(0x036BF1460D134DCE)},
3888          {UINT64_C(0xCDEB18187EFFACAB), UINT64_C(0xB57A416252C987E7),
3889           UINT64_C(0xDD5104EBC647E82F), UINT64_C(0x389AA556F51B5270)}},
3890         {{UINT64_C(0xC450CAEA60108876), UINT64_C(0xF36B5B6AF48601A1),
3891           UINT64_C(0x257950D109128863), UINT64_C(0x7A592427A9F6A1B9)},
3892          {UINT64_C(0xBF1FF2B0ED12DE33), UINT64_C(0x4D542AC8E2141101),
3893           UINT64_C(0x998523C4E170F9CF), UINT64_C(0x629385CEFCEC0E2F)}},
3894         {{UINT64_C(0x951494EDB2677C49), UINT64_C(0xF1AE7138F9B648E8),
3895           UINT64_C(0x28B8749E63CFF359), UINT64_C(0x5AC4EC4C9A73272F)},
3896          {UINT64_C(0xC25ABB8721723271), UINT64_C(0x488EC9108B441AFD),
3897           UINT64_C(0x075183481B1DF775), UINT64_C(0x4662BBDAF1EB2FB4)}},
3898         {{UINT64_C(0xAE836F746DF9F64A), UINT64_C(0xF3CD6C9DA185ABE6),
3899           UINT64_C(0xAFA897A8C29A1C1A), UINT64_C(0x4BAFBB6911B2D6AC)},
3900          {UINT64_C(0x8040F9A3B6D971C7), UINT64_C(0x3B8920B700763EAF),
3901           UINT64_C(0x7A1655DA52E848B7), UINT64_C(0x03BC8B55703FA84D)}},
3902         {{UINT64_C(0xE6348C651F934416), UINT64_C(0xDBE59C03F82BBC4A),
3903           UINT64_C(0x51AEAD09EAD60547), UINT64_C(0x043A35C34F20111E)},
3904          {UINT64_C(0x0AA18326EC574F0A), UINT64_C(0x07E90D70FCADF79D),
3905           UINT64_C(0x3979D4CE201CD68B), UINT64_C(0x7FBF2C632C2734B1)}},
3906         {{UINT64_C(0x2E4513732656AF49), UINT64_C(0xCA86207DA432DE06),
3907           UINT64_C(0xC5F9262D12F20637), UINT64_C(0x7DD9CCDC26C0C745)},
3908          {UINT64_C(0x99276BDCA785ED89), UINT64_C(0x34B307A7374CFBE2),
3909           UINT64_C(0x916E9B061E8EE0C5), UINT64_C(0x4E8EB3C788A85C6A)}},
3910     },
3911     {
3912         {{UINT64_C(0x6F2433EF107F1CE0), UINT64_C(0x121DE13146D23AEF),
3913           UINT64_C(0x7AC50BE820DB44DE), UINT64_C(0x1E500A2BF6F41A1C)},
3914          {UINT64_C(0x8E5BAFCC27B0004C), UINT64_C(0x8538A5EDDB555C04),
3915           UINT64_C(0x00AEC8A7CE4ED544), UINT64_C(0x7C7301CC73B2DA91)}},
3916         {{UINT64_C(0x3E7E1E5C63284E3A), UINT64_C(0x145814001422D8EA),
3917           UINT64_C(0x5FE151BF7AAABD1D), UINT64_C(0x6716691F1533B371)},
3918          {UINT64_C(0xA592D53E22A8B7DF), UINT64_C(0x66991AFF51C97935),
3919           UINT64_C(0x8B10603DDE5429B6), UINT64_C(0x0002F6C6551F146B)}},
3920         {{UINT64_C(0xF641CBCB777A334C), UINT64_C(0xB45B21E1EEFBCA44),
3921           UINT64_C(0x7C2FCD6532F6E263), UINT64_C(0x05A21D80FEED8901)},
3922          {UINT64_C(0x2471B4865506CF47), UINT64_C(0x0FFAC1F77C9E62DE),
3923           UINT64_C(0xC4D321DF869D3BDC), UINT64_C(0x9AC035099512D0CA)}},
3924         {{UINT64_C(0x5A26E8F5352E0353), UINT64_C(0x965CF602BF6ABBAC),
3925           UINT64_C(0xDD8C4818E911C628), UINT64_C(0x132CA2D8DC2D04A0)},
3926          {UINT64_C(0x7641CFCE6C865C91), UINT64_C(0xDB5AB8F38E9965EF),
3927           UINT64_C(0x30030BCDDE0B7E90), UINT64_C(0x7BF444532320D3F1)}},
3928         {{UINT64_C(0xC006FA6DD8A99DAD), UINT64_C(0xC042F163B45E64A1),
3929           UINT64_C(0xB91C9CA474F4DBB1), UINT64_C(0x23BD5A29BE221E4E)},
3930          {UINT64_C(0x6B0591D73D1ECF78), UINT64_C(0x9E0ACF38AA5B771C),
3931           UINT64_C(0xC970F263796D4AA3), UINT64_C(0x370375027B5DD349)}},
3932         {{UINT64_C(0xE11DECDAFBC52541), UINT64_C(0xA49B8D39E7FE53A5),
3933           UINT64_C(0x3A08E9BB104A1F6E), UINT64_C(0x95444A15E0192BFB)},
3934          {UINT64_C(0xEF75B0621A97B875), UINT64_C(0x9FC8AE5EEA5FC457),
3935           UINT64_C(0x3A09FD1B47F73089), UINT64_C(0x096750ECE24516AB)}},
3936         {{UINT64_C(0xAA1800464A350C95), UINT64_C(0xA72F2B6758EA4195),
3937           UINT64_C(0xE0647945FD9A4F25), UINT64_C(0x4CF4136D22737E2D)},
3938          {UINT64_C(0xEE2532CEEFB2A96D), UINT64_C(0xB39DB1176C2F1471),
3939           UINT64_C(0xF7C6242B19935BDB), UINT64_C(0x98CA48D47A820092)}},
3940         {{UINT64_C(0xE9C1AD0AC3C938B0), UINT64_C(0xF7CC05C4CCDF3BC6),
3941           UINT64_C(0x3C21752B363A9CC6), UINT64_C(0x47996B875916BD59)},
3942          {UINT64_C(0x01EF895D98D17468), UINT64_C(0x9182F8825818F5D8),
3943           UINT64_C(0xCBD212A3E35E4BE7), UINT64_C(0x894E7F395EA16E55)}},
3944         {{UINT64_C(0xAC674AEE7C8FDD7E), UINT64_C(0xA23FA827EDB0FE30),
3945           UINT64_C(0x642BE06F745B3230), UINT64_C(0x7654C79BCB40941C)},
3946          {UINT64_C(0x4640C0C5D6A9E988), UINT64_C(0xA98AF66111A4EECB),
3947           UINT64_C(0xE1E827E3325D730E), UINT64_C(0x2342D8807D8A02DE)}},
3948         {{UINT64_C(0xE4101595715DB87E), UINT64_C(0x462718AB3C44A43A),
3949           UINT64_C(0xF414CBC7EFCBC0F7), UINT64_C(0x2A64DB21E5999AB3)},
3950          {UINT64_C(0xDAD841E19DA91E84), UINT64_C(0x5A28F6495F5C1CDD),
3951           UINT64_C(0x2F8C9DCAB8B41BDA), UINT64_C(0x259DC791029C3697)}},
3952         {{UINT64_C(0xD56F4EF45296BA38), UINT64_C(0x4A853BA102EC3100),
3953           UINT64_C(0xB0ED5F21C8AE4C47), UINT64_C(0x53D0DA0C61DF268E)},
3954          {UINT64_C(0xB6771DCB6DC06EB6), UINT64_C(0x30B07595BB0C457F),
3955           UINT64_C(0xC2FD08F3F174690D), UINT64_C(0x77000D6A87A5DC8E)}},
3956         {{UINT64_C(0x90DDAA616E1369AD), UINT64_C(0x3DD15EE7B6A5F225),
3957           UINT64_C(0x051AA9C427AEB0DC), UINT64_C(0x18712DBBE5372729)},
3958          {UINT64_C(0x13B3F9DFA23AFF5A), UINT64_C(0x34388CED703FBFF9),
3959           UINT64_C(0x0F390D6717D60129), UINT64_C(0x3F0CA25E4DAE9863)}},
3960         {{UINT64_C(0x6E0F5594903385DC), UINT64_C(0x47483889F8A815A9),
3961           UINT64_C(0x42AF320C23B70B1C), UINT64_C(0x4A27CA271A1AEA03)},
3962          {UINT64_C(0xFAAC21C866AF6F9D), UINT64_C(0x20849D90C9FBFD3E),
3963           UINT64_C(0x793F889FEE0A541C), UINT64_C(0x2555FC32ADA5D18F)}},
3964         {{UINT64_C(0x3F38F58CBA2BD509), UINT64_C(0x319A5F0D048F864B),
3965           UINT64_C(0xC4632F37D5900B1E), UINT64_C(0x3FAF2615F8519441)},
3966          {UINT64_C(0x6A4AA25DFE194D77), UINT64_C(0xB5A6464AD681409B),
3967           UINT64_C(0x1A9326EDB957523A), UINT64_C(0x7690EA4F27098B5B)}},
3968         {{UINT64_C(0x5530E91110F3FDE3), UINT64_C(0x9A40101F810E7853),
3969           UINT64_C(0x152704FC8F011C4E), UINT64_C(0x5B1702E4129B455F)},
3970          {UINT64_C(0x46A130BAE60F4D30), UINT64_C(0xA3D5741462BBE8B5),
3971           UINT64_C(0xA26238DA3CFAEFE3), UINT64_C(0x4E6141133175078E)}},
3972         {{UINT64_C(0x27BCCDFF992EE109), UINT64_C(0x79F88647FB45C6C3),
3973           UINT64_C(0x7FD5D73AC73F2829), UINT64_C(0x7EBE8E4E65A44CF1)},
3974          {UINT64_C(0xB9EC0B9437414B2C), UINT64_C(0x846AD1D136DED49D),
3975           UINT64_C(0x72AE106062F2FE87), UINT64_C(0x7F5AF329C032EEDD)}},
3976     },
3977     {
3978         {{UINT64_C(0x6C80B058C7A645A5), UINT64_C(0xF86341D2729066AC),
3979           UINT64_C(0xE4F366BD33FB5CE8), UINT64_C(0x6B79D63FC23A4751)},
3980          {UINT64_C(0xFAA0F994EC3F8686), UINT64_C(0x156A6E8EA9BA8F5E),
3981           UINT64_C(0xA46CA7D59F2FAE57), UINT64_C(0x84CB21966EFE66F2)}},
3982         {{UINT64_C(0xF9C1DECBED25185C), UINT64_C(0x6DC43F21B1FCFC82),
3983           UINT64_C(0x4A840262A954087B), UINT64_C(0x602308090A38F667)},
3984          {UINT64_C(0xBD3450061D9672B5), UINT64_C(0xE0FF804BF83361EF),
3985           UINT64_C(0x9DDC6CE1EF8E1598), UINT64_C(0x4419F705FBD9BD0E)}},
3986         {{UINT64_C(0xF171EDE43426122A), UINT64_C(0xEF6A1AE220A3963E),
3987           UINT64_C(0xD25AB7A2031647D0), UINT64_C(0x0FD7EC20CB4CA4E3)},
3988          {UINT64_C(0xC103969CB7D3A295), UINT64_C(0x4957509E34DBABA8),
3989           UINT64_C(0x8456DF6360BC0760), UINT64_C(0x02AF2033D63B49A9)}},
3990         {{UINT64_C(0x271966A00378E444), UINT64_C(0x673F057D5D15A0B7),
3991           UINT64_C(0xA55C44F9A0EFE59E), UINT64_C(0x2F602F87376119A6)},
3992          {UINT64_C(0x0A14907428981502), UINT64_C(0xDA0067748741D4F2),
3993           UINT64_C(0x8F982C81133F8479), UINT64_C(0x1ECAF17AF944319A)}},
3994         {{UINT64_C(0x281A234EA37F4FC2), UINT64_C(0xAFD847B2FD34FC11),
3995           UINT64_C(0x02CC08394683E11A), UINT64_C(0x71215DA93F65B844)},
3996          {UINT64_C(0xF9F41383EFE32AC9), UINT64_C(0x4AC3D91D1361FE53),
3997           UINT64_C(0x03C9FBAB1CC2E948), UINT64_C(0x9A9A4B9143379A4F)}},
3998         {{UINT64_C(0x8D37A10851BED5AC), UINT64_C(0x75D91890998E1C19),
3999           UINT64_C(0xE6C76B095D244730), UINT64_C(0x127147164CD555FF)},
4000          {UINT64_C(0xF2DCE85A29DDC669), UINT64_C(0x8914D13A8D622348),
4001           UINT64_C(0x9FE6B578DAE035E8), UINT64_C(0x21ECB251F41EEF19)}},
4002         {{UINT64_C(0xEAFF38627999064D), UINT64_C(0xB72BABEF96383204),
4003           UINT64_C(0x8E6C9E676BCCCB43), UINT64_C(0x320A7D787FD71298)},
4004          {UINT64_C(0x4081E38AB438A302), UINT64_C(0x0A15CBA7120E132D),
4005           UINT64_C(0x6D9123E1EC2E0939), UINT64_C(0x692D699CE0D6FEC5)}},
4006         {{UINT64_C(0xB639ADAEC8D5D361), UINT64_C(0xA8F742CCC60A078D),
4007           UINT64_C(0xE8D2CF929D740F0F), UINT64_C(0x6E8EEEF94DCE6A87)},
4008          {UINT64_C(0x54E194886A2E5164), UINT64_C(0x4372C6CF2430E4B9),
4009           UINT64_C(0xD58EA91B1C5B13B3), UINT64_C(0x796DCC45BB9F2911)}},
4010         {{UINT64_C(0xD8D4FAF0CBB267F9), UINT64_C(0xC2770DBE703F4011),
4011           UINT64_C(0x13739F020D651402), UINT64_C(0x7DE4E51E72D2B3F1)},
4012          {UINT64_C(0xB10F966E1FE00C7E), UINT64_C(0x5E9A15018F42B5F8),
4013           UINT64_C(0x6AFB1AD0D00437A3), UINT64_C(0x267D15361473D5AE)}},
4014         {{UINT64_C(0x1173B5DB4CAE118F), UINT64_C(0xC3A2EAFDCA749EE6),
4015           UINT64_C(0x64F738E64ED4FFF4), UINT64_C(0x47DDECB6B07860B6)},
4016          {UINT64_C(0xF5D627FCBD47A901), UINT64_C(0x6493BC28856C6903),
4017           UINT64_C(0x90280E4BEA63B675), UINT64_C(0x211C04A2C4148666)}},
4018         {{UINT64_C(0x0A5F0C276524BC38), UINT64_C(0x4B9D95FBBB3CBDB9),
4019           UINT64_C(0x5394ADC220507C82), UINT64_C(0x4C0C9167B4DBE448)},
4020          {UINT64_C(0xAC3E87CE303A5B11), UINT64_C(0xD31FB9C53251F4DF),
4021           UINT64_C(0x86C281DFE43CE799), UINT64_C(0x84E644D729FE09E4)}},
4022         {{UINT64_C(0x6D7B61DC43166C20), UINT64_C(0x54D6C035BD34F981),
4023           UINT64_C(0xB166769DC991096D), UINT64_C(0x51A47E3A3A4CF05C)},
4024          {UINT64_C(0x57CF9EFF14F5E7F1), UINT64_C(0xED3D4E9DE39FDA0D),
4025           UINT64_C(0xDF0176ECBAA7E93B), UINT64_C(0x6B2FEA1470935B9F)}},
4026         {{UINT64_C(0x19F9D59E709B70AE), UINT64_C(0xD850CA3270472149),
4027           UINT64_C(0x292CADD929EE6104), UINT64_C(0x870F7C998FD499F2)},
4028          {UINT64_C(0x200ECB1C415C6FFD), UINT64_C(0xEEA6107D35CB841B),
4029           UINT64_C(0x1CB06F8AF95DD333), UINT64_C(0x245712FDE498AA7B)}},
4030         {{UINT64_C(0x101665EAED4FBD78), UINT64_C(0xC6DDE1BB0E32D1B4),
4031           UINT64_C(0x3E79185E40150A9C), UINT64_C(0x49E2AE6B7DEF3607)},
4032          {UINT64_C(0xCCC9B0F6308B7F59), UINT64_C(0xB267008FCE922087),
4033           UINT64_C(0x46CF7F07CF2AABA6), UINT64_C(0x5A74C8A09954091F)}},
4034         {{UINT64_C(0x8F2871955240B5A0), UINT64_C(0x7AC7720F1845373D),
4035           UINT64_C(0xCF276B594E592274), UINT64_C(0x6BEBC284694C30B8)},
4036          {UINT64_C(0xDA0113D6677B16CD), UINT64_C(0xA221344645C9FA76),
4037           UINT64_C(0x2DEAF2ED66964ADB), UINT64_C(0x1977A8B3BC062240)}},
4038         {{UINT64_C(0xEEA2912680303DFD), UINT64_C(0x3E4A33ACE95BF6A1),
4039           UINT64_C(0x6BFE2D5D15DE0457), UINT64_C(0x407BF7E3AD0976D1)},
4040          {UINT64_C(0x04C1F61F306B415B), UINT64_C(0xC86A75D25F790D5F),
4041           UINT64_C(0x7B799EDEB7EAE07B), UINT64_C(0x9155A9A0B4A66839)}},
4042     },
4043     {
4044         {{UINT64_C(0x9745C6BB0DCE586B), UINT64_C(0x554C8313BE77B502),
4045           UINT64_C(0xF0F842A9A93962CF), UINT64_C(0x40862273AAA141BC)},
4046          {UINT64_C(0x926FFA4ABD62237B), UINT64_C(0xD4F1E4A17B942F48),
4047           UINT64_C(0x3A841EB7075684FD), UINT64_C(0x21F6EB39DD1807E1)}},
4048         {{UINT64_C(0x155DFD66BEDA4365), UINT64_C(0xDD575C8327F33BF9),
4049           UINT64_C(0x5907B08D3DFF83A1), UINT64_C(0x7E325357D6788D63)},
4050          {UINT64_C(0xF90BF447BAC74ED7), UINT64_C(0x2DE6C957EDA226CD),
4051           UINT64_C(0x678323021CA44607), UINT64_C(0x22ECBC1F56011C38)}},
4052         {{UINT64_C(0xF01279A9B663A46C), UINT64_C(0x07D74C5F7E3AAB83),
4053           UINT64_C(0xF20940B68C0DA43E), UINT64_C(0x57C6A735368AD991)},
4054          {UINT64_C(0x01E9B3665007E059), UINT64_C(0xFC38FC999614D480),
4055           UINT64_C(0x4A3AAA18FF7DA757), UINT64_C(0x4481B669B0CE1B03)}},
4056         {{UINT64_C(0x9CAA37A0B4A807FF), UINT64_C(0xBDEDEB49F9B269F3),
4057           UINT64_C(0xC5B76E57CB607AC3), UINT64_C(0x08AEFE669A322F48)},
4058          {UINT64_C(0x6919E40DD9261469), UINT64_C(0x1F0ADA81849718FA),
4059           UINT64_C(0xCD251B549D81628E), UINT64_C(0x6519C3C65505F9E1)}},
4060         {{UINT64_C(0x277591DC2F81C037), UINT64_C(0xD63AD35A76E0D41E),
4061           UINT64_C(0x682662B56EC063D3), UINT64_C(0x8210978B6762A0DB)},
4062          {UINT64_C(0x05085F68FE164B90), UINT64_C(0x50026ADC3D6FD0D1),
4063           UINT64_C(0x38CC9FA7B01A3791), UINT64_C(0x1E286652B376F83E)}},
4064         {{UINT64_C(0x8DFFDA1609759892), UINT64_C(0xE011DDDB9AC2CE5D),
4065           UINT64_C(0xDDC7670FBD71426B), UINT64_C(0x9722A23B19742F7C)},
4066          {UINT64_C(0x2EA99893DC4767D3), UINT64_C(0xCB68D6C211125BAE),
4067           UINT64_C(0xAC76953E307ED3B9), UINT64_C(0x0EDD0C17C366E9A2)}},
4068         {{UINT64_C(0x88B3DEC9484B5272), UINT64_C(0x0C848EA190380294),
4069           UINT64_C(0xDE187E83A01AC92C), UINT64_C(0x2A8801827A5D4D65)},
4070          {UINT64_C(0xD3C22C2BB3C3C7BB), UINT64_C(0xC485CE02DE7ECE33),
4071           UINT64_C(0xF22138C4A437071A), UINT64_C(0x23A55C890716DA53)}},
4072         {{UINT64_C(0x9533C4A3F6FE058E), UINT64_C(0x28753F87748E4A4F),
4073           UINT64_C(0x7814C50AEA404C70), UINT64_C(0x908D1C81E91B5EF3)},
4074          {UINT64_C(0xD827D3CE04094766), UINT64_C(0x7AE2FD260CE5C727),
4075           UINT64_C(0x016AC86FCDAD2BDD), UINT64_C(0x37C088B07A77C252)}},
4076         {{UINT64_C(0xABF4C1EF18A35CD3), UINT64_C(0x1F721491698A5A01),
4077           UINT64_C(0x79284A121A9E9A1F), UINT64_C(0x0457FF704D50DF40)},
4078          {UINT64_C(0x1D235814EC46ED07), UINT64_C(0xBD013752AE5E97C8),
4079           UINT64_C(0x0E085C88D9B100D4), UINT64_C(0x8AFA070A8858F9F3)}},
4080         {{UINT64_C(0x0F548BE3698D6A59), UINT64_C(0x5D7818A5BF2D0D94),
4081           UINT64_C(0x8E150DF1D80E620D), UINT64_C(0x4C3A5E64F857F167)},
4082          {UINT64_C(0x837D9A9861BD9152), UINT64_C(0x242CE5898D10687F),
4083           UINT64_C(0x9863EA4CB6B52BB7), UINT64_C(0x23665B46B7DD35FF)}},
4084         {{UINT64_C(0x3AA5432A73942AAF), UINT64_C(0xB0185DB40CEE83A9),
4085           UINT64_C(0x145372EEA83B907B), UINT64_C(0x609F1AD9BB6D341A)},
4086          {UINT64_C(0x28C2B37A864C92EE), UINT64_C(0xDD847239D4CC1158),
4087           UINT64_C(0xE5BD4FD28F2EAF0A), UINT64_C(0x04F43BC0D24950AB)}},
4088         {{UINT64_C(0x11DEFCED88DA3F20), UINT64_C(0xCA4CE370A407C4A2),
4089           UINT64_C(0xEA70BEDF2F8C5CFC), UINT64_C(0x08AC147D8214B7F7)},
4090          {UINT64_C(0xECAD0F77E260AA96), UINT64_C(0xA868AC63B56C30F7),
4091           UINT64_C(0xF0ACDE5A396F4815), UINT64_C(0x302F75B9ACDE6CD8)}},
4092         {{UINT64_C(0x2125D07DC5D14866), UINT64_C(0xFE563DE44AE3212D),
4093           UINT64_C(0x0FE787CBEE9CAA2B), UINT64_C(0x7D9B56A253802482)},
4094          {UINT64_C(0x128B4D378040D1A7), UINT64_C(0x5737129930ACA2F4),
4095           UINT64_C(0x5C443E357623D14A), UINT64_C(0x6436D3285FDB6310)}},
4096         {{UINT64_C(0x531486A4A8557B64), UINT64_C(0x3FAB4F219C5DE310),
4097           UINT64_C(0xD872282E260468D0), UINT64_C(0x04CD45682542CBA4)},
4098          {UINT64_C(0xACA0975A555B6E0C), UINT64_C(0xEE8C43B28B85132F),
4099           UINT64_C(0xC768808BB9DECE9D), UINT64_C(0x59EDEC60431AF98C)}},
4100         {{UINT64_C(0xC365E13331992E22), UINT64_C(0xB96C5FA00DC3A4C8),
4101           UINT64_C(0xDEB1C1DAA65761B0), UINT64_C(0x457676EEF4ACAB4C)},
4102          {UINT64_C(0xA0F95894E674FFAF), UINT64_C(0xFD099172D65CDAB7),
4103           UINT64_C(0x9383C2F854DA58A2), UINT64_C(0x0A4F4C110F24A07B)}},
4104         {{UINT64_C(0x9D7A80B3E380ABF3), UINT64_C(0xF0C6AC5A9E469F9F),
4105           UINT64_C(0xC87D57276BD0A324), UINT64_C(0x28138E377692B063)},
4106          {UINT64_C(0xE18C1F7DD67862CA), UINT64_C(0x4B6B723E1E07F928),
4107           UINT64_C(0xAAFE3FB0BBCF4125), UINT64_C(0x254003223B3AE714)}},
4108     },
4109     {
4110         {{UINT64_C(0xB89A2DCA63C295D8), UINT64_C(0x5CC03C6585041AA1),
4111           UINT64_C(0xFA9B4C5CC6514781), UINT64_C(0x578031A0D92388FF)},
4112          {UINT64_C(0xB0D5AE0AF92C2D77), UINT64_C(0x945A677E793D588A),
4113           UINT64_C(0x3722DE4434A190E0), UINT64_C(0x6EA90DB80C2B9975)}},
4114         {{UINT64_C(0xE987AA8584BA4F9B), UINT64_C(0xB2A77B9C0AB43BE6),
4115           UINT64_C(0xC4AD2AF6474D8841), UINT64_C(0x4ED7A82B5D4FA590)},
4116          {UINT64_C(0x9F39335E9977AC2B), UINT64_C(0x3CCD406D52E87607),
4117           UINT64_C(0x9D18CB3F71456060), UINT64_C(0x0FE4D8886A45D7D0)}},
4118         {{UINT64_C(0xAEA8A911F42D501A), UINT64_C(0x303E25D588F66FBA),
4119           UINT64_C(0x54213F2961740B85), UINT64_C(0x5BC13A30C0B4D835)},
4120          {UINT64_C(0x569AB9B84758EA28), UINT64_C(0xE2E49B28B796A794),
4121           UINT64_C(0x17787125320D54E2), UINT64_C(0x5A6A8EDEC54B4465)}},
4122         {{UINT64_C(0xC76C73D9870619DD), UINT64_C(0xF541440E84FE1078),
4123           UINT64_C(0x2082FE363B26A3DC), UINT64_C(0x3B896B29CC329B14)},
4124          {UINT64_C(0xB45028A9CAFCDC20), UINT64_C(0xA1B77C6F9C56757E),
4125           UINT64_C(0xDE50D86584802E47), UINT64_C(0x7DFBC0E8BA0892B0)}},
4126         {{UINT64_C(0xEBC505A947E702BB), UINT64_C(0x2329A41CDACFACFE),
4127           UINT64_C(0xEA11560351DDCE2F), UINT64_C(0x95BBC8072E9D855A)},
4128          {UINT64_C(0x454C6B88CFD33E9F), UINT64_C(0x993CF6DE4FFBB24A),
4129           UINT64_C(0xA8E22FF89B2144CD), UINT64_C(0x741066EE84943294)}},
4130         {{UINT64_C(0x2CEE0CFFF067E5B2), UINT64_C(0x1C1FD5A3CA95F1C5),
4131           UINT64_C(0xA0EB8E7DC07B97F1), UINT64_C(0x0F2A5D777457415E)},
4132          {UINT64_C(0xDFF92C5845D06291), UINT64_C(0x709EA0AC48ABABE8),
4133           UINT64_C(0xB3058FEB2FDC92F0), UINT64_C(0x55E9F86E5E5B169E)}},
4134         {{UINT64_C(0xEE5DF132EBF6AF2B), UINT64_C(0xC30DC3F1F642A206),
4135           UINT64_C(0xD7D8EC3E02C60CB6), UINT64_C(0x7C98946B3178F1BF)},
4136          {UINT64_C(0x816C2AA1A68799EB), UINT64_C(0x507FD5E92430F06B),
4137           UINT64_C(0x021FFF1CB9EBD4B7), UINT64_C(0x044365E68AECFEA4)}},
4138         {{UINT64_C(0xDC5F5EA621339693), UINT64_C(0x5BFD267690A448AD),
4139           UINT64_C(0xF712BA95A12A9D77), UINT64_C(0x7104735ABD8A6B5B)},
4140          {UINT64_C(0xD2ED8304A763BB99), UINT64_C(0x7AF040F011B91A05),
4141           UINT64_C(0xC545E8AEB61F3789), UINT64_C(0x582E9EEDBB386760)}},
4142         {{UINT64_C(0x0FCE5877CC099185), UINT64_C(0x0E148BB5CD681E67),
4143           UINT64_C(0xE9F9013EECB24ECE), UINT64_C(0x0090654B2A386485)},
4144          {UINT64_C(0x11BA700B0520BAE8), UINT64_C(0xFC93BE31D8E53123),
4145           UINT64_C(0x7DD7CB36E37948EE), UINT64_C(0x8689AE8F3FC23444)}},
4146         {{UINT64_C(0x2060F7DEAAC6616B), UINT64_C(0x372952C5DEAB3CC7),
4147           UINT64_C(0x715C4D27C2424ACD), UINT64_C(0x058468560308A009)},
4148          {UINT64_C(0x887BBD550B8B34E8), UINT64_C(0x949ACBD1B688C987),
4149           UINT64_C(0x3E774D49784C4C0E), UINT64_C(0x7AEA2D11B0F5F545)}},
4150         {{UINT64_C(0x5335BA6BE831E509), UINT64_C(0x8FC4B4AF739F332E),
4151           UINT64_C(0xB050246295993EAF), UINT64_C(0x7DA49F36A7CEB88B)},
4152          {UINT64_C(0x3BE0B74B029D0C8F), UINT64_C(0xBC07F18055611A8B),
4153           UINT64_C(0xC168CF416583F53F), UINT64_C(0x4256E8D2C34ADBC1)}},
4154         {{UINT64_C(0x313AFC75CE2FCD89), UINT64_C(0xEA27FDA4D3DA44F2),
4155           UINT64_C(0x9FABEA799063B0DC), UINT64_C(0x2DF7D966B3418884)},
4156          {UINT64_C(0x4329FD2480AF2EBD), UINT64_C(0x36F27FF79F095D30),
4157           UINT64_C(0x88FFB18FCC84C068), UINT64_C(0x976427A87B0A9906)}},
4158         {{UINT64_C(0xCFF828CCFAC21087), UINT64_C(0x6B6D348456863CB5),
4159           UINT64_C(0x14163A70C30879F3), UINT64_C(0x30E2A6338CA6FD5D)},
4160          {UINT64_C(0xC7FCEAD628A58783), UINT64_C(0x945F7B09EEFA1EAA),
4161           UINT64_C(0x98A503DB5CC66267), UINT64_C(0x83EE750E3780061B)}},
4162         {{UINT64_C(0x7061409AB8477D6B), UINT64_C(0xE47C779D2B7B54FA),
4163           UINT64_C(0x42F5EDF5F293166C), UINT64_C(0x73C3AC1B115D830F)},
4164          {UINT64_C(0xC30D346E4DEE0980), UINT64_C(0xEE0D9A29A62F0D09),
4165           UINT64_C(0xBBE8DC9EABCB7DAE), UINT64_C(0x4F0E78C068B78925)}},
4166         {{UINT64_C(0x25A0D4FFB4B14003), UINT64_C(0xA4C3AC55B8AB649C),
4167           UINT64_C(0x7D7EDE7227F9FDF5), UINT64_C(0x507EC83FBC2A46D4)},
4168          {UINT64_C(0x344577D9FAAFC26F), UINT64_C(0x77CBB7833EB30156),
4169           UINT64_C(0x3A846FFD1D5C9367), UINT64_C(0x5F0D280C9DF9F7BE)}},
4170         {{UINT64_C(0xCC8EAC0A77DF7F9F), UINT64_C(0x195BC6FFF33A62D4),
4171           UINT64_C(0x18A33FFA524D78FE), UINT64_C(0x10E589746603F9C0)},
4172          {UINT64_C(0x31AF4B460CDA2C3F), UINT64_C(0xDDBF00C8ADE169C3),
4173           UINT64_C(0xA169C3E371A7BC38), UINT64_C(0x3FC352FFA64B342E)}},
4174     },
4175     {
4176         {{UINT64_C(0x58848315EE73C673), UINT64_C(0x67D2F7C08ADB897E),
4177           UINT64_C(0xE8CD786DF0658115), UINT64_C(0x023D515AAC54D2AB)},
4178          {UINT64_C(0x0EDE61D867559911), UINT64_C(0xBC12B1063C2B78B5),
4179           UINT64_C(0xB5661A289E4707D8), UINT64_C(0x93FB4096ADC095A4)}},
4180         {{UINT64_C(0xEEB3810F33D5FA08), UINT64_C(0x8D8FC35433F4CAAF),
4181           UINT64_C(0xED87051629EB08A3), UINT64_C(0x89FD91CAD1D31EBC)},
4182          {UINT64_C(0xD2F1F832EDE2494B), UINT64_C(0xCFEE1D77FA8EEA95),
4183           UINT64_C(0x13603C4A3B0F005C), UINT64_C(0x6DF97F85D9EF68F4)}},
4184         {{UINT64_C(0x578FBC0A55410512), UINT64_C(0x1FA404F2DEC79EEE),
4185           UINT64_C(0x201FE21592B60820), UINT64_C(0x9A9B3CE80A56193A)},
4186          {UINT64_C(0x8A5ECCB910B49800), UINT64_C(0xA7373AEBBFDB1D8E),
4187           UINT64_C(0x8996BEFA4944B5DF), UINT64_C(0x3102D3C07B44246C)}},
4188         {{UINT64_C(0xD4A853B7449C09BE), UINT64_C(0x1F7080A451DDB7FE),
4189           UINT64_C(0x8A9DE52CE1C27FC1), UINT64_C(0x6585B54F0C58B99D)},
4190          {UINT64_C(0x8EEB0601B5A4AB53), UINT64_C(0x977D658D48C73AC6),
4191           UINT64_C(0xD5DA09033D9BD223), UINT64_C(0x881A5838BE115965)}},
4192         {{UINT64_C(0x8EB70B77EB3FC303), UINT64_C(0xED1C4DEF98BDB841),
4193           UINT64_C(0x13E6BE06997DE9E4), UINT64_C(0x4A94C0A19334D46D)},
4194          {UINT64_C(0x184C17C80F867DAF), UINT64_C(0x4A65802633A64148),
4195           UINT64_C(0xD177F0090AE3D4AA), UINT64_C(0x8134AC8F98ED12C0)}},
4196         {{UINT64_C(0x7A308A007A58DDEC), UINT64_C(0x74A15C5FFDF92DF2),
4197           UINT64_C(0x210D260E21B4E345), UINT64_C(0x6446715BC651E31E)},
4198          {UINT64_C(0xB1AF1F8410B905B6), UINT64_C(0xEF6CD0F2A62D366F),
4199           UINT64_C(0x77E47B01D1F6B7E3), UINT64_C(0x0F38B2802B95BD12)}},
4200         {{UINT64_C(0x52DA30E18CCCDAE6), UINT64_C(0x9F3D6636BD86A13A),
4201           UINT64_C(0xADFA00C5F4EA6151), UINT64_C(0x6B93BFA01EC37639)},
4202          {UINT64_C(0x443F0023F8FE22FC), UINT64_C(0xCB7848A4A81FEACC),
4203           UINT64_C(0xCE5E650A517E9E61), UINT64_C(0x5842DB7DA1968E3D)}},
4204         {{UINT64_C(0x61DDC69498C06F78), UINT64_C(0x680FEDE97985B1A2),
4205           UINT64_C(0x214CD2B8FB53A327), UINT64_C(0x98EAC0B3E425132B)},
4206          {UINT64_C(0x5EEDD76D33E5766D), UINT64_C(0x5B280618540000A3),
4207           UINT64_C(0x915D55CB65C894AE), UINT64_C(0x7B088A36D20D9523)}},
4208         {{UINT64_C(0x51A47312C28DA278), UINT64_C(0xE315CBA4EFE64521),
4209           UINT64_C(0x3EF70A1849D8D0FF), UINT64_C(0x0990CB92CABD48C5)},
4210          {UINT64_C(0x22ED6302A7C2FC76), UINT64_C(0xB50370EA2CB98186),
4211           UINT64_C(0xDEA88C65F3F2BA8B), UINT64_C(0x0906245109FEDEEA)}},
4212         {{UINT64_C(0x742F9A2EDAC0F222), UINT64_C(0xE2A8842B95C88A8E),
4213           UINT64_C(0x80C057659D817B14), UINT64_C(0x7ED0521A982D49AE)},
4214          {UINT64_C(0x047E49D4907B10F7), UINT64_C(0x8A3E23A7DE8AD4CD),
4215           UINT64_C(0xEBE8C13FEB5292B1), UINT64_C(0x048A6209A7EB70BD)}},
4216         {{UINT64_C(0xB51665A09AA34851), UINT64_C(0x4DD5AC1B7C4AFCEE),
4217           UINT64_C(0x00DEE7AB25A21937), UINT64_C(0x88E2681E80FAF232)},
4218          {UINT64_C(0x79ECD66AB5411EE2), UINT64_C(0x06008CE3F370BF53),
4219           UINT64_C(0xCFB1850EC9BBB64C), UINT64_C(0x5FBACB277149B14E)}},
4220         {{UINT64_C(0xA1F0EE079938AA0C), UINT64_C(0x6945E2BA74CCE9C4),
4221           UINT64_C(0x16689FCE46A98BEA), UINT64_C(0x8D71F405CF67DF91)},
4222          {UINT64_C(0x71E4CAC869621150), UINT64_C(0x518FA20089B380D8),
4223           UINT64_C(0x3B3B85F153F9E660), UINT64_C(0x02643303C6D9B022)}},
4224         {{UINT64_C(0xE8C478EC07660C3E), UINT64_C(0xA906C3A1EF41F1DA),
4225           UINT64_C(0xE918F16046699B71), UINT64_C(0x2B8A0B0EE5BE7B36)},
4226          {UINT64_C(0xC663F0EC889F50A0), UINT64_C(0x7413264BF9214F81),
4227           UINT64_C(0x2E9FA9A0421A9087), UINT64_C(0x85C59B7C83546DCD)}},
4228         {{UINT64_C(0xB4A6CF398D920A29), UINT64_C(0xC857AF481B3956A1),
4229           UINT64_C(0x519C7371DD794B23), UINT64_C(0x478462208EFBF8F9)},
4230          {UINT64_C(0x184C25E5617E4C6C), UINT64_C(0x218FCC23D2E51A5E),
4231           UINT64_C(0xB421971928FA0FFC), UINT64_C(0x6C0BCD71781A61D9)}},
4232         {{UINT64_C(0x440D6DDFDC7B5568), UINT64_C(0x64C7CC310DBBEC7C),
4233           UINT64_C(0x63D16D4EA2DC0CBA), UINT64_C(0x7BD9E0CC4504BE2C)},
4234          {UINT64_C(0x9C8828952DE780A8), UINT64_C(0x7C6685C2EF2B2486),
4235           UINT64_C(0xF1FB09E9957FA7D8), UINT64_C(0x20C6B5A546A77A98)}},
4236         {{UINT64_C(0x60C7757333C0F0C1), UINT64_C(0x40C93227CADDA5FE),
4237           UINT64_C(0xA48EBAA29DD41D5F), UINT64_C(0x4AAFBF3CEA9FD5AD)},
4238          {UINT64_C(0x7EB61836C5A287BA), UINT64_C(0x1D6A1BA2B31BA25E),
4239           UINT64_C(0x60507257AD186E52), UINT64_C(0x7FEC8EB02BAB7451)}},
4240     },
4241     {
4242         {{UINT64_C(0x500E2FDBB8DA5FFE), UINT64_C(0x6AE2D4EA8CDD1B39),
4243           UINT64_C(0x38D120251A5840CD), UINT64_C(0x8D3B20CBC214D26D)},
4244          {UINT64_C(0xEF6BB36CC041E874), UINT64_C(0x67660393450F2218),
4245           UINT64_C(0x1E1B7782A892BDFD), UINT64_C(0x2D69514C8D962E62)}},
4246         {{UINT64_C(0x9EDF5F789631B095), UINT64_C(0xAC7DD68745BF8F20),
4247           UINT64_C(0x257CCE28E3262EBC), UINT64_C(0x5D32EFCBE0E480A6)},
4248          {UINT64_C(0xED48E34C6FBB99E8), UINT64_C(0x50B1D58C23FDE9B7),
4249           UINT64_C(0xC5164C2A6B6927C8), UINT64_C(0x8A0BC6068906B705)}},
4250         {{UINT64_C(0x3FA3C7C92F747DA8), UINT64_C(0x2E8D2C2E14938E08),
4251           UINT64_C(0x155A8A5BB6A1C720), UINT64_C(0x6B4D8C9EB3133FD0)},
4252          {UINT64_C(0x079AC7F1CE131C1D), UINT64_C(0x9CF419AF815B7D2B),
4253           UINT64_C(0x569EB7BAE60B6245), UINT64_C(0x03C79E609A3DD94E)}},
4254         {{UINT64_C(0x328F5296B9CE9502), UINT64_C(0xCA44ADBDE45C3576),
4255           UINT64_C(0x669879526194AE2C), UINT64_C(0x5875F8EFBF9B8C49)},
4256          {UINT64_C(0x525A4D53DA51CAB8), UINT64_C(0x91A592DD9DC268B2),
4257           UINT64_C(0xD7EA7958E1E3C168), UINT64_C(0x0D1E20E0A999ED30)}},
4258         {{UINT64_C(0x55DA34E5FE8AD270), UINT64_C(0xB041289561EC55F6),
4259           UINT64_C(0x0D45670F534569C9), UINT64_C(0x5A7E6764E23F69FB)},
4260          {UINT64_C(0xBB6BBEC9A8B28676), UINT64_C(0x4F924558093B0D1D),
4261           UINT64_C(0xD4E4BF120C29D841), UINT64_C(0x67D2B4C8578A237A)}},
4262         {{UINT64_C(0x0BDF32D663EF2D73), UINT64_C(0x7248DD2D4AE4303C),
4263           UINT64_C(0xBB61BAB56CE1E92A), UINT64_C(0x126166E91D7B9A6C)},
4264          {UINT64_C(0x4CE7086A11CEBC3C), UINT64_C(0xE7ACB25E1C71426F),
4265           UINT64_C(0xBFB65EDC432CC4AF), UINT64_C(0x3BCA5202CB018CF7)}},
4266         {{UINT64_C(0xACF034F276430A87), UINT64_C(0xBFDF19B3534C42ED),
4267           UINT64_C(0x05654FE67946CB1A), UINT64_C(0x0DB07E7980F17880)},
4268          {UINT64_C(0xE6E93101FDCF8BC9), UINT64_C(0xF3198B87F798A8CD),
4269           UINT64_C(0xC05444EFC9683420), UINT64_C(0x56E9AA68915D1BF1)}},
4270         {{UINT64_C(0xF27B298B34000B11), UINT64_C(0x70ED8C95F4196E50),
4271           UINT64_C(0xF3E16608233C8764), UINT64_C(0x5B97655A41881557)},
4272          {UINT64_C(0x5BF11C1A128C195B), UINT64_C(0xFFB64333372C286D),
4273           UINT64_C(0x084D3EF77C83BB31), UINT64_C(0x8ECF6C01745B7D75)}},
4274         {{UINT64_C(0x3D6052B9C6F4FF82), UINT64_C(0x9305FE456607892F),
4275           UINT64_C(0x232FD87E5879425F), UINT64_C(0x4CAEDF73D6F47350)},
4276          {UINT64_C(0x889243D2032FC50D), UINT64_C(0xA6AF69D70C9C11AC),
4277           UINT64_C(0x43B5429D802E8E06), UINT64_C(0x38F1DEA8D70FC802)}},
4278         {{UINT64_C(0x54F24344C9595C08), UINT64_C(0x95A2E8FB0240AAB3),
4279           UINT64_C(0x07A5109DC3544985), UINT64_C(0x96F44213B5D30899)},
4280          {UINT64_C(0x03FAB192AA347497), UINT64_C(0x47FFD3DEC9CFC073),
4281           UINT64_C(0x283AD765D2C1D57F), UINT64_C(0x1FDFFBAC62DC271A)}},
4282         {{UINT64_C(0x2355C62995F80CA6), UINT64_C(0x90AE1DBBCD8D880A),
4283           UINT64_C(0x563CC122C54117E0), UINT64_C(0x1EF4991B813D7481)},
4284          {UINT64_C(0x8A310D77CCE9AEDE), UINT64_C(0xA401FAEF9318642E),
4285           UINT64_C(0xC1712A67CF9AFDCB), UINT64_C(0x8D97374CBE499DE5)}},
4286         {{UINT64_C(0x7437AA3B55A0BC07), UINT64_C(0x004946D0F726DD81),
4287           UINT64_C(0x33D41D1B0F341860), UINT64_C(0x2A009EB517840F0D)},
4288          {UINT64_C(0x158F59AEAA0DCDCF), UINT64_C(0xF686EF2DEAB42135),
4289           UINT64_C(0xFF6B8E827A80C670), UINT64_C(0x38646963A04DF944)}},
4290         {{UINT64_C(0x6BB2705E4B987E90), UINT64_C(0x2F5E2C4DD3C36316),
4291           UINT64_C(0x41B38905E5A9ECEC), UINT64_C(0x2C6BA68155BF8D1A)},
4292          {UINT64_C(0x1121B3B23C92B20B), UINT64_C(0x6DE41B12904305D5),
4293           UINT64_C(0xA0496CF4D569EAC4), UINT64_C(0x5C64A06C11E5CF90)}},
4294         {{UINT64_C(0xA65F12ABE28783DF), UINT64_C(0x2A891B0F37322285),
4295           UINT64_C(0xD6FF46049811C4EB), UINT64_C(0x7C960ED5A8505AC0)},
4296          {UINT64_C(0xE86893772FCA110D), UINT64_C(0x71AAE29260FD893E),
4297           UINT64_C(0x8ADE53177505671D), UINT64_C(0x721A07A58C508791)}},
4298         {{UINT64_C(0xC1AE9A50E5ECCA8C), UINT64_C(0x7528AEF507EB4329),
4299           UINT64_C(0x8F0D0E03D1297D88), UINT64_C(0x27C7BF76244BBC0C)},
4300          {UINT64_C(0x96EEDA7CC7E7E9BB), UINT64_C(0xC9749BF7F96C99B3),
4301           UINT64_C(0x44C852D2467B4D43), UINT64_C(0x1691D71D937FA21D)}},
4302         {{UINT64_C(0x8CAC092FF8058A68), UINT64_C(0x6B892BCFDAE38445),
4303           UINT64_C(0x82CBECE597D76059), UINT64_C(0x5AEB66463518F9E2)},
4304          {UINT64_C(0xA39C710C392080B4), UINT64_C(0x575DC5F41502DE54),
4305           UINT64_C(0xA465DD5E3A3D2B4D), UINT64_C(0x281AAE47638EAF45)}},
4306     },
4307     {
4308         {{UINT64_C(0xBE40C92BE955A145), UINT64_C(0xD464D6BC324234B5),
4309           UINT64_C(0xE8084747B09D4AF8), UINT64_C(0x939C70BF5268D6C3)},
4310          {UINT64_C(0x9C9C9D25D1DDBB48), UINT64_C(0x30D9EA7F790B5B42),
4311           UINT64_C(0x367FD79B4E3914B4), UINT64_C(0x27615F29826EE4D7)}},
4312         {{UINT64_C(0x09BB6F1650A41246), UINT64_C(0xC72BFF7AE5459A13),
4313           UINT64_C(0x0FC15846FF09B2F7), UINT64_C(0x6D90406209CB693A)},
4314          {UINT64_C(0x98A132F8F40FC67D), UINT64_C(0xC8B6573BDF37CBFA),
4315           UINT64_C(0xC9CF994899D7FC36), UINT64_C(0x0DD66ABAA7235DDB)}},
4316         {{UINT64_C(0x0180B525F96048BD), UINT64_C(0xEB566786544F1E70),
4317           UINT64_C(0x8BABBF9B8EF4373C), UINT64_C(0x509BA431D9E49178)},
4318          {UINT64_C(0xF961A6F565A4A201), UINT64_C(0xB6621DF98D44ED2D),
4319           UINT64_C(0xEADD3C0CD7B4D744), UINT64_C(0x75D27E990EAAB110)}},
4320         {{UINT64_C(0xEAC7AC7685DF5695), UINT64_C(0x02C26274DA7540A3),
4321           UINT64_C(0xDEC1BBC4C659B610), UINT64_C(0x54483C1B3AC61EEB)},
4322          {UINT64_C(0x8B91209A217E0283), UINT64_C(0x939FBDAF3A17DDFE),
4323           UINT64_C(0xA82C66D65BF98726), UINT64_C(0x2BA82FA0915AAC76)}},
4324         {{UINT64_C(0x99B324C1AF4542E8), UINT64_C(0x16EBC66FC0F225E0),
4325           UINT64_C(0xEAE6956327FEF57B), UINT64_C(0x2996FE3C961B03FA)},
4326          {UINT64_C(0x0835212E4F967A68), UINT64_C(0x0AAABD99F44352DC),
4327           UINT64_C(0x1874255F4B3A6B8D), UINT64_C(0x45F5D8B26D10B369)}},
4328         {{UINT64_C(0x603DD497F7B7644B), UINT64_C(0x369BE6762D1386AA),
4329           UINT64_C(0x08C1B76314C9FA94), UINT64_C(0x734921D9384AF696)},
4330          {UINT64_C(0xA1B5AF5BD76E8EEB), UINT64_C(0xB0EAE7A342F990E8),
4331           UINT64_C(0x59E7C515069ED81D), UINT64_C(0x2D1B5E62B5A50610)}},
4332         {{UINT64_C(0xDC32281085995BD3), UINT64_C(0x35A47B05873E7A09),
4333           UINT64_C(0x0CDFE9BBA70DE932), UINT64_C(0x049B899DD62FBC89)},
4334          {UINT64_C(0xF6BAA860652291DB), UINT64_C(0x58123B259AF7478F),
4335           UINT64_C(0xA05CCBC247B9F204), UINT64_C(0x8A0B479D82D999A7)}},
4336         {{UINT64_C(0xA72B9B522D0F619A), UINT64_C(0xE73B66F75919C420),
4337           UINT64_C(0x92319C86D21CFEFE), UINT64_C(0x58EEFC71F1635F0E)},
4338          {UINT64_C(0xDC481783DA909290), UINT64_C(0x144E7A9866316584),
4339           UINT64_C(0xBD7E657F45E1E3C8), UINT64_C(0x5C9FCD1CBD93938C)}},
4340         {{UINT64_C(0x2339E2FA436C1AB3), UINT64_C(0x69C22269C26768AA),
4341           UINT64_C(0x94DFCAF440FCBD90), UINT64_C(0x56235739C41D4F61)},
4342          {UINT64_C(0x6E50D4DB718468D3), UINT64_C(0xDEA80730CADCEC6C),
4343           UINT64_C(0x924FF97E63DC3C43), UINT64_C(0x1B6528256752EA6A)}},
4344         {{UINT64_C(0xAC2BDCDDF07BE4BB), UINT64_C(0xB46D8E968DB0A32D),
4345           UINT64_C(0xDD661C68B618488D), UINT64_C(0x8ED22D4B75E1E4BF)},
4346          {UINT64_C(0x5DD2E5DF3C177D80), UINT64_C(0x5049C01282803711),
4347           UINT64_C(0xFB243B3F73E0BA27), UINT64_C(0x0C756BA08C7810D5)}},
4348         {{UINT64_C(0xFC58F0BD6F16FBCA), UINT64_C(0xA855BB8CA5E33B36),
4349           UINT64_C(0xB9239EB499D08247), UINT64_C(0x27ABC78D49CAF40D)},
4350          {UINT64_C(0x88BE1595A1285278), UINT64_C(0x9D5AEE5B60F16638),
4351           UINT64_C(0x3F3815291FCE4327), UINT64_C(0x17206899F19CAA04)}},
4352         {{UINT64_C(0x586163489E047F55), UINT64_C(0x0D6098A5E991FC4C),
4353           UINT64_C(0x47760F9899A33914), UINT64_C(0x70C8F5D45608C80E)},
4354          {UINT64_C(0x405F119106036DBE), UINT64_C(0xBF62589580CC0A27),
4355           UINT64_C(0xFB8A0330389FA7BF), UINT64_C(0x22B0B9461FA0CBB4)}},
4356         {{UINT64_C(0x84AE19811B1E2ACD), UINT64_C(0xFA23C20563961891),
4357           UINT64_C(0xCF4C685E742C1653), UINT64_C(0x55BFC7444D303078)},
4358          {UINT64_C(0xEB131CBBBA03AAE4), UINT64_C(0xF338C0DB2C5B9EAB),
4359           UINT64_C(0xC1006396B7495209), UINT64_C(0x0FD928CFF7E6A4E6)}},
4360         {{UINT64_C(0xA6BAC9948633AB84), UINT64_C(0xC165BF5A75364642),
4361           UINT64_C(0xB70BEB478C57070D), UINT64_C(0x838158A0D416322E)},
4362          {UINT64_C(0x501D2BFDD4957751), UINT64_C(0xF1CDDF32C23AA730),
4363           UINT64_C(0xF64558A85458F1C6), UINT64_C(0x51B6DDE306E1209C)}},
4364         {{UINT64_C(0x0712C186CC31D6BE), UINT64_C(0x91C4064A33CD1D3F),
4365           UINT64_C(0xCADAE5B0C7C91F53), UINT64_C(0x52AA408FDEB2A2EE)},
4366          {UINT64_C(0x058675CC202719D5), UINT64_C(0x444F99F51D087D07),
4367           UINT64_C(0x4DB587E89D7A8AF4), UINT64_C(0x389376F5DA17095A)}},
4368         {{UINT64_C(0x8262D37048FED385), UINT64_C(0x3B1FB4661AE92689),
4369           UINT64_C(0xDA6F570F24242CF4), UINT64_C(0x0532FC9E0DEAC5E9)},
4370          {UINT64_C(0x5E8FB74020C5BD7B), UINT64_C(0x5AE99925002624B3),
4371           UINT64_C(0xAD44A4D57AFADC15), UINT64_C(0x6AECBC80DF409330)}},
4372     }};
4373
4374 /*-
4375  * Q := 2P, both projective, Q and P same pointers OK
4376  * Autogenerated: op3/dbl_proj.op3
4377  * https://eprint.iacr.org/2015/1060 Alg 6
4378  * ASSERT: a = -3
4379  */
4380 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
4381     /* temporary variables */
4382     fe_t t0, t1, t2, t3, t4;
4383     /* constants */
4384     const limb_t *b = const_b;
4385     /* set pointers for legacy curve arith */
4386     const limb_t *X = P->X;
4387     const limb_t *Y = P->Y;
4388     const limb_t *Z = P->Z;
4389     limb_t *X3 = Q->X;
4390     limb_t *Y3 = Q->Y;
4391     limb_t *Z3 = Q->Z;
4392
4393     /* the curve arith formula */
4394     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t0, X);
4395     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t1, Y);
4396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t2, Z);
4397     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, X, Y);
4398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t3, t3);
4399     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y, Z);
4400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, X, Z);
4401     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
4402     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, t2);
4403     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, Z3);
4404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, Y3, Y3);
4405     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X3, Y3);
4406     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, t1, Y3);
4407     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
4408     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Y3);
4409     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, t3);
4410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t2, t2);
4411     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t2, t3);
4412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z3);
4413     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t2);
4414     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t0);
4415     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, Z3, Z3);
4416     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t3);
4417     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t0, t0);
4418     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t3, t0);
4419     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
4420     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, t0, Z3);
4421     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t0);
4422     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t4, t4);
4423     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, Z3);
4424     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, Z3);
4425     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, t1);
4426     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
4427     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
4428 }
4429
4430 /*-
4431  * R := Q + P where R and Q are projective, P affine.
4432  * R and Q same pointers OK
4433  * R and P same pointers not OK
4434  * Autogenerated: op3/add_mixed.op3
4435  * https://eprint.iacr.org/2015/1060 Alg 5
4436  * ASSERT: a = -3
4437  */
4438 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
4439     /* temporary variables */
4440     fe_t t0, t1, t2, t3, t4;
4441     /* constants */
4442     const limb_t *b = const_b;
4443     /* set pointers for legacy curve arith */
4444     const limb_t *X1 = Q->X;
4445     const limb_t *Y1 = Q->Y;
4446     const limb_t *Z1 = Q->Z;
4447     const limb_t *X2 = P->X;
4448     const limb_t *Y2 = P->Y;
4449     fe_t X3;
4450     fe_t Y3;
4451     fe_t Z3;
4452     limb_t nz;
4453
4454     /* check P for affine inf */
4455     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(&nz, P->Y);
4456
4457     /* the curve arith formula */
4458     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
4459     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
4460     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X2, Y2);
4461     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X1, Y1);
4462     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
4463     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
4464     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
4465     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y2, Z1);
4466     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t4, Y1);
4467     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X2, Z1);
4468     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, X1);
4469     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z1);
4470     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
4471     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
4472     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
4473     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
4474     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
4475     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
4476     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Z1, Z1);
4477     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, Z1);
4478     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
4479     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
4480     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
4481     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
4482     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
4483     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
4484     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
4485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
4486     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
4487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
4488     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
4489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
4490     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
4491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
4492     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
4493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
4494
4495     /* if P is inf, throw all that away and take Q */
4496     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->X, nz, Q->X, X3);
4497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Y, nz, Q->Y, Y3);
4498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Z, nz, Q->Z, Z3);
4499 }
4500
4501 /*-
4502  * R := Q + P all projective.
4503  * R and Q same pointers OK
4504  * R and P same pointers not OK
4505  * Autogenerated: op3/add_proj.op3
4506  * https://eprint.iacr.org/2015/1060 Alg 4
4507  * ASSERT: a = -3
4508  */
4509 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
4510     /* temporary variables */
4511     fe_t t0, t1, t2, t3, t4, t5;
4512     /* constants */
4513     const limb_t *b = const_b;
4514     /* set pointers for legacy curve arith */
4515     const limb_t *X1 = Q->X;
4516     const limb_t *Y1 = Q->Y;
4517     const limb_t *Z1 = Q->Z;
4518     const limb_t *X2 = P->X;
4519     const limb_t *Y2 = P->Y;
4520     const limb_t *Z2 = P->Z;
4521     limb_t *X3 = R->X;
4522     limb_t *Y3 = R->Y;
4523     limb_t *Z3 = R->Z;
4524
4525     /* the curve arith formula */
4526     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
4527     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
4528     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, Z1, Z2);
4529     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X1, Y1);
4530     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X2, Y2);
4531     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
4532     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
4533     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
4534     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, Y1, Z1);
4535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, Y2, Z2);
4536     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, t4, t5);
4537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, t1, t2);
4538     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t4, t4, t5);
4539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X1, Z1);
4540     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X2, Z2);
4541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, Y3);
4542     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t0, t2);
4543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, X3, Y3);
4544     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, t2);
4545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
4546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
4547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
4548     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
4549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
4550     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
4551     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t2, t2);
4552     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, t2);
4553     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
4554     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
4555     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
4556     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
4557     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
4558     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
4559     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
4560     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
4561     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
4562     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
4563     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
4564     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
4565     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
4566     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
4567     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
4568     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
4569 }
4570
4571 /* constants */
4572 #define RADIX 5
4573 #define DRADIX (1 << RADIX)
4574 #define DRADIX_WNAF ((DRADIX) << 1)
4575
4576 /*-
4577  * precomp for wnaf scalar multiplication:
4578  * precomp[0] = 1P
4579  * precomp[1] = 3P
4580  * precomp[2] = 5P
4581  * precomp[3] = 7P
4582  * precomp[4] = 9P
4583  * ...
4584  */
4585 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
4586     int i;
4587
4588     fe_copy(precomp[0].X, P->X);
4589     fe_copy(precomp[0].Y, P->Y);
4590     fe_copy(precomp[0].Z, const_one);
4591     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
4592
4593     for (i = 1; i < DRADIX / 2; i++)
4594         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
4595 }
4596
4597 /* fetch a scalar bit */
4598 static int scalar_get_bit(const unsigned char in[32], int idx) {
4599     int widx, rshift;
4600
4601     widx = idx >> 3;
4602     rshift = idx & 0x7;
4603
4604     if (idx < 0 || widx >= 32) return 0;
4605
4606     return (in[widx] >> rshift) & 0x1;
4607 }
4608
4609 /*-
4610  * Compute "regular" wnaf representation of a scalar.
4611  * See "Exponent Recoding and Regular Exponentiation Algorithms",
4612  * Tunstall et al., AfricaCrypt 2009, Alg 6.
4613  * It forces an odd scalar and outputs digits in
4614  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
4615  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
4616  */
4617 static void scalar_rwnaf(int8_t out[52], const unsigned char in[32]) {
4618     int i;
4619     int8_t window, d;
4620
4621     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
4622     for (i = 0; i < 51; i++) {
4623         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
4624         out[i] = d;
4625         window = (window - d) >> RADIX;
4626         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
4627         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
4628         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
4629         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
4630         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
4631     }
4632     out[i] = window;
4633 }
4634
4635 /*-
4636  * Compute "textbook" wnaf representation of a scalar.
4637  * NB: not constant time
4638  */
4639 static void scalar_wnaf(int8_t out[257], const unsigned char in[32]) {
4640     int i;
4641     int8_t window, d;
4642
4643     window = in[0] & (DRADIX_WNAF - 1);
4644     for (i = 0; i < 257; i++) {
4645         d = 0;
4646         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
4647             d -= DRADIX_WNAF;
4648         out[i] = d;
4649         window = (window - d) >> 1;
4650         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
4651     }
4652 }
4653
4654 /*-
4655  * Simultaneous scalar multiplication: interleaved "textbook" wnaf.
4656  * NB: not constant time
4657  */
4658 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
4659                               const unsigned char b[32], const pt_aff_t *P) {
4660     int i, d, is_neg, is_inf = 1, flipped = 0;
4661     int8_t anaf[257] = {0};
4662     int8_t bnaf[257] = {0};
4663     pt_prj_t Q = {0};
4664     pt_prj_t precomp[DRADIX / 2];
4665
4666     precomp_wnaf(precomp, P);
4667     scalar_wnaf(anaf, a);
4668     scalar_wnaf(bnaf, b);
4669
4670     for (i = 256; i >= 0; i--) {
4671         if (!is_inf) point_double(&Q, &Q);
4672         if ((d = bnaf[i])) {
4673             if ((is_neg = d < 0) != flipped) {
4674                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
4675                 flipped ^= 1;
4676             }
4677             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
4678             if (is_inf) {
4679                 /* initialize accumulator */
4680                 fe_copy(Q.X, &precomp[d].X);
4681                 fe_copy(Q.Y, &precomp[d].Y);
4682                 fe_copy(Q.Z, &precomp[d].Z);
4683                 is_inf = 0;
4684             } else
4685                 point_add_proj(&Q, &Q, &precomp[d]);
4686         }
4687         if ((d = anaf[i])) {
4688             if ((is_neg = d < 0) != flipped) {
4689                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
4690                 flipped ^= 1;
4691             }
4692             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
4693             if (is_inf) {
4694                 /* initialize accumulator */
4695                 fe_copy(Q.X, &lut_cmb[0][d].X);
4696                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
4697                 fe_copy(Q.Z, const_one);
4698                 is_inf = 0;
4699             } else
4700                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
4701         }
4702     }
4703
4704     if (is_inf) {
4705         /* initialize accumulator to inf: all-zero scalars */
4706         fe_set_zero(Q.X);
4707         fe_copy(Q.Y, const_one);
4708         fe_set_zero(Q.Z);
4709     }
4710
4711     if (flipped) {
4712         /* correct sign */
4713         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
4714     }
4715
4716     /* convert to affine -- NB depends on coordinate system */
4717     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
4718     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
4719     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
4720 }
4721
4722 /*-
4723  * Variable point scalar multiplication with "regular" wnaf.
4724  */
4725 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
4726                            const pt_aff_t *P) {
4727     int i, j, d, diff, is_neg;
4728     int8_t rnaf[52] = {0};
4729     pt_prj_t Q = {0}, lut = {0};
4730     pt_prj_t precomp[DRADIX / 2];
4731
4732     precomp_wnaf(precomp, P);
4733     scalar_rwnaf(rnaf, scalar);
4734
4735 #if defined(_MSC_VER)
4736     /* result still unsigned: yes we know */
4737 #pragma warning(push)
4738 #pragma warning(disable : 4146)
4739 #endif
4740
4741     /* initialize accumulator to high digit */
4742     d = (rnaf[51] - 1) >> 1;
4743     for (j = 0; j < DRADIX / 2; j++) {
4744         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
4745         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, diff, Q.X,
4746                                                               precomp[j].X);
4747         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, diff, Q.Y,
4748                                                               precomp[j].Y);
4749         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, diff, Q.Z,
4750                                                               precomp[j].Z);
4751     }
4752
4753     for (i = 50; i >= 0; i--) {
4754         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
4755         d = rnaf[i];
4756         /* is_neg = (d < 0) ? 1 : 0 */
4757         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
4758         /* d = abs(d) */
4759         d = (d ^ -is_neg) + is_neg;
4760         d = (d - 1) >> 1;
4761         for (j = 0; j < DRADIX / 2; j++) {
4762             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
4763             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
4764                 lut.X, diff, lut.X, precomp[j].X);
4765             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
4766                 lut.Y, diff, lut.Y, precomp[j].Y);
4767             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
4768                 lut.Z, diff, lut.Z, precomp[j].Z);
4769         }
4770         /* negate lut point if digit is negative */
4771         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
4772         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(lut.Y, is_neg,
4773                                                               lut.Y, out->Y);
4774         point_add_proj(&Q, &Q, &lut);
4775     }
4776
4777 #if defined(_MSC_VER)
4778 #pragma warning(pop)
4779 #endif
4780
4781     /* conditionally subtract P if the scalar was even */
4782     fe_copy(lut.X, precomp[0].X);
4783     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, precomp[0].Y);
4784     fe_copy(lut.Z, precomp[0].Z);
4785     point_add_proj(&lut, &lut, &Q);
4786     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
4787                                                           lut.X, Q.X);
4788     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
4789                                                           lut.Y, Q.Y);
4790     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
4791                                                           lut.Z, Q.Z);
4792
4793     /* convert to affine -- NB depends on coordinate system */
4794     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
4795     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
4796     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
4797 }
4798
4799 /*-
4800  * Fixed scalar multiplication: comb with interleaving.
4801  */
4802 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
4803     int i, j, k, d, diff, is_neg = 0;
4804     int8_t rnaf[52] = {0};
4805     pt_prj_t Q = {0}, R = {0};
4806     pt_aff_t lut = {0};
4807
4808     scalar_rwnaf(rnaf, scalar);
4809
4810     /* initalize accumulator to inf */
4811     fe_set_zero(Q.X);
4812     fe_copy(Q.Y, const_one);
4813     fe_set_zero(Q.Z);
4814
4815 #if defined(_MSC_VER)
4816     /* result still unsigned: yes we know */
4817 #pragma warning(push)
4818 #pragma warning(disable : 4146)
4819 #endif
4820
4821     for (i = 1; i >= 0; i--) {
4822         for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
4823         for (j = 0; j < 27; j++) {
4824             if (j * 2 + i > 51) continue;
4825             d = rnaf[j * 2 + i];
4826             /* is_neg = (d < 0) ? 1 : 0 */
4827             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
4828             /* d = abs(d) */
4829             d = (d ^ -is_neg) + is_neg;
4830             d = (d - 1) >> 1;
4831             for (k = 0; k < DRADIX / 2; k++) {
4832                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
4833                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
4834                     lut.X, diff, lut.X, lut_cmb[j][k].X);
4835                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
4836                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
4837             }
4838             /* negate lut point if digit is negative */
4839             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
4840             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
4841                 lut.Y, is_neg, lut.Y, out->Y);
4842             point_add_mixed(&Q, &Q, &lut);
4843         }
4844     }
4845
4846 #if defined(_MSC_VER)
4847 #pragma warning(pop)
4848 #endif
4849
4850     /* conditionally subtract P if the scalar was even */
4851     fe_copy(lut.X, lut_cmb[0][0].X);
4852     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, lut_cmb[0][0].Y);
4853     point_add_mixed(&R, &Q, &lut);
4854     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
4855                                                           R.X, Q.X);
4856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
4857                                                           R.Y, Q.Y);
4858     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
4859                                                           R.Z, Q.Z);
4860
4861     /* convert to affine -- NB depends on coordinate system */
4862     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
4863     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
4864     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
4865 }
4866
4867 /*-
4868  * Wrapper: simultaneous scalar mutiplication.
4869  * outx, outy := a * G + b * P
4870  * where P = (inx, iny).
4871  * Everything is LE byte ordering.
4872  */
4873 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
4874                           const unsigned char a[32], const unsigned char b[32],
4875                           const unsigned char inx[32],
4876                           const unsigned char iny[32]) {
4877     pt_aff_t P;
4878
4879     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
4880     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
4881     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
4882     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
4883     /* simultaneous scalar multiplication */
4884     var_smul_wnaf_two(&P, a, b, &P);
4885
4886     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
4887     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
4888     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
4889     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
4890 }
4891
4892 /*-
4893  * Wrapper: fixed scalar mutiplication.
4894  * outx, outy := scalar * G
4895  * Everything is LE byte ordering.
4896  */
4897 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
4898                         const unsigned char scalar[32]) {
4899     pt_aff_t P;
4900
4901     /* fixed scmul function */
4902     fixed_smul_cmb(&P, scalar);
4903     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
4904     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
4905     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
4906     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
4907 }
4908
4909 /*-
4910  * Wrapper: variable point scalar mutiplication.
4911  * outx, outy := scalar * P
4912  * where P = (inx, iny).
4913  * Everything is LE byte ordering.
4914  */
4915 static void point_mul(unsigned char outx[32], unsigned char outy[32],
4916                       const unsigned char scalar[32],
4917                       const unsigned char inx[32],
4918                       const unsigned char iny[32]) {
4919     pt_aff_t P;
4920
4921     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
4922     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
4923     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
4924     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
4925     /* var scmul function */
4926     var_smul_rwnaf(&P, scalar, &P);
4927     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
4928     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
4929     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
4930     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
4931 }
4932
4933
4934 #include <openssl/ec.h>
4935
4936 /* the zero field element */
4937 static const unsigned char const_zb[32] = {0};
4938
4939 /*-
4940  * An OpenSSL wrapper for simultaneous scalar multiplication.
4941  * r := n * G + m * q
4942  */
4943     int
4944     point_mul_two_id_GostR3410_2001_CryptoPro_C_ParamSet(
4945         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
4946         const BIGNUM *m, BN_CTX *ctx) {
4947     int ret = 0;
4948     unsigned char b_x[32];
4949     unsigned char b_y[32];
4950     unsigned char b_n[32];
4951     unsigned char b_m[32];
4952     BIGNUM *x = NULL, *y = NULL;
4953
4954     BN_CTX_start(ctx);
4955     x = BN_CTX_get(ctx);
4956     if ((y = BN_CTX_get(ctx)) == NULL
4957         /* pull out coords as bytes */
4958         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4959         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
4960         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
4961         goto err;
4962     /* do the simultaneous scalar multiplication */
4963     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
4964     /* check for infinity */
4965     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4966         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4967         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4968     } else {
4969         /* otherwise, pack the bytes into the result */
4970         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4971             BN_lebin2bn(b_y, 32, y) == NULL ||
4972             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4973             goto err;
4974     }
4975     ret = 1;
4976 err:
4977     BN_CTX_end(ctx);
4978     return ret;
4979 }
4980
4981 /*-
4982  * An OpenSSL wrapper for variable point scalar multiplication.
4983  * r := m * q
4984  */
4985     int
4986     point_mul_id_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
4987                                                      EC_POINT *r,
4988                                                      const EC_POINT *q,
4989                                                      const BIGNUM *m,
4990                                                      BN_CTX *ctx) {
4991     int ret = 0;
4992     unsigned char b_x[32];
4993     unsigned char b_y[32];
4994     unsigned char b_m[32];
4995     BIGNUM *x = NULL, *y = NULL;
4996
4997     BN_CTX_start(ctx);
4998     x = BN_CTX_get(ctx);
4999     if ((y = BN_CTX_get(ctx)) == NULL
5000         /* pull out coords as bytes */
5001         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
5002         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
5003         BN_bn2lebinpad(m, b_m, 32) != 32)
5004         goto err;
5005     /* do the variable scalar multiplication */
5006     point_mul(b_x, b_y, b_m, b_x, b_y);
5007     /* check for infinity */
5008     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
5009         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
5010         if (!EC_POINT_set_to_infinity(group, r)) goto err;
5011     } else {
5012         /* otherwise, pack the bytes into the result */
5013         if (BN_lebin2bn(b_x, 32, x) == NULL ||
5014             BN_lebin2bn(b_y, 32, y) == NULL ||
5015             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
5016             goto err;
5017     }
5018     ret = 1;
5019 err:
5020     BN_CTX_end(ctx);
5021     return ret;
5022 }
5023
5024 /*-
5025  * An OpenSSL wrapper for fixed scalar multiplication.
5026  * r := n * G
5027  */
5028     int
5029     point_mul_g_id_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
5030                                                        EC_POINT *r,
5031                                                        const BIGNUM *n,
5032                                                        BN_CTX *ctx) {
5033     int ret = 0;
5034     unsigned char b_x[32];
5035     unsigned char b_y[32];
5036     unsigned char b_n[32];
5037     BIGNUM *x = NULL, *y = NULL;
5038
5039     BN_CTX_start(ctx);
5040     x = BN_CTX_get(ctx);
5041     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
5042         goto err;
5043     /* do the fixed scalar multiplication */
5044     point_mul_g(b_x, b_y, b_n);
5045     /* check for infinity */
5046     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
5047         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
5048         if (!EC_POINT_set_to_infinity(group, r)) goto err;
5049     } else {
5050         /* otherwise, pack the bytes into the result */
5051         if (BN_lebin2bn(b_x, 32, x) == NULL ||
5052             BN_lebin2bn(b_y, 32, y) == NULL ||
5053             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
5054             goto err;
5055     }
5056     ret = 1;
5057 err:
5058     BN_CTX_end(ctx);
5059     return ret;
5060 }
5061
5062
5063
5064 #else /* __SIZEOF_INT128__ */
5065
5066 #include <stdint.h>
5067 #include <string.h>
5068 #define LIMB_BITS 32
5069 #define LIMB_CNT 8
5070 /* Field elements */
5071 typedef uint32_t fe_t[LIMB_CNT];
5072 typedef uint32_t limb_t;
5073
5074 #ifdef OPENSSL_NO_ASM
5075 #define FIAT_ID_GOSTR3410_2001_CRYPTOPRO_C_PARAMSET_NO_ASM
5076 #endif
5077
5078 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
5079 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
5080
5081 /* Projective points */
5082 typedef struct {
5083     fe_t X;
5084     fe_t Y;
5085     fe_t Z;
5086 } pt_prj_t;
5087
5088 /* Affine points */
5089 typedef struct {
5090     fe_t X;
5091     fe_t Y;
5092 } pt_aff_t;
5093
5094 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
5095 /*-
5096  * MIT License
5097  *
5098  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
5099  *
5100  * Permission is hereby granted, free of charge, to any person obtaining a copy
5101  * of this software and associated documentation files (the "Software"), to deal
5102  * in the Software without restriction, including without limitation the rights
5103  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5104  * copies of the Software, and to permit persons to whom the Software is
5105  * furnished to do so, subject to the following conditions:
5106  *
5107  * The above copyright notice and this permission notice shall be included in
5108  * all copies or substantial portions of the Software.
5109  *
5110  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
5111  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
5112  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
5113  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
5114  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
5115  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
5116  * SOFTWARE.
5117  */
5118
5119 /* Autogenerated: word_by_word_montgomery --static --use-value-barrier id_GostR3410_2001_CryptoPro_C_ParamSet 32 0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B */
5120 /* curve description: id_GostR3410_2001_CryptoPro_C_ParamSet */
5121 /* machine_wordsize = 32 (from "32") */
5122 /* requested operations: (all) */
5123 /* m = 0x9b9f605f5a858107ab1ec85e6b41c8aacf846e86789051d37998f7b9022d759b (from "0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B") */
5124 /*                                                                    */
5125 /* NOTE: In addition to the bounds specified above each function, all */
5126 /*   functions synthesized for this Montgomery arithmetic require the */
5127 /*   input to be strictly less than the prime modulus (m), and also   */
5128 /*   require the input to be in the unique saturated representation.  */
5129 /*   All functions also ensure that these two properties are true of  */
5130 /*   return values.                                                   */
5131 /*  */
5132 /* Computed values: */
5133 /* 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) */
5134 /* 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) */
5135
5136 #include <stdint.h>
5137 typedef unsigned char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1;
5138 typedef signed char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1;
5139
5140 #if (-1 & 3) != 3
5141 #error "This code only works on a two's complement system"
5142 #endif
5143
5144 #if !defined(FIAT_ID_GOSTR3410_2001_CRYPTOPRO_C_PARAMSET_NO_ASM) && \
5145     (defined(__GNUC__) || defined(__clang__))
5146 static __inline__ uint32_t
5147 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_value_barrier_u32(uint32_t a) {
5148     __asm__("" : "+r"(a) : /* no inputs */);
5149     return a;
5150 }
5151 #else
5152 #define fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_value_barrier_u32(x) (x)
5153 #endif
5154
5155 /*
5156  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32 is an addition with carry.
5157  * Postconditions:
5158  *   out1 = (arg1 + arg2 + arg3) mod 2^32
5159  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^32⌋
5160  *
5161  * Input Bounds:
5162  *   arg1: [0x0 ~> 0x1]
5163  *   arg2: [0x0 ~> 0xffffffff]
5164  *   arg3: [0x0 ~> 0xffffffff]
5165  * Output Bounds:
5166  *   out1: [0x0 ~> 0xffffffff]
5167  *   out2: [0x0 ~> 0x1]
5168  */
5169 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
5170     uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
5171     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint32_t arg2,
5172     uint32_t arg3) {
5173     uint64_t x1;
5174     uint32_t x2;
5175     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x3;
5176     x1 = ((arg1 + (uint64_t)arg2) + arg3);
5177     x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
5178     x3 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(x1 >> 32);
5179     *out1 = x2;
5180     *out2 = x3;
5181 }
5182
5183 /*
5184  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32 is a subtraction with borrow.
5185  * Postconditions:
5186  *   out1 = (-arg1 + arg2 + -arg3) mod 2^32
5187  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^32⌋
5188  *
5189  * Input Bounds:
5190  *   arg1: [0x0 ~> 0x1]
5191  *   arg2: [0x0 ~> 0xffffffff]
5192  *   arg3: [0x0 ~> 0xffffffff]
5193  * Output Bounds:
5194  *   out1: [0x0 ~> 0xffffffff]
5195  *   out2: [0x0 ~> 0x1]
5196  */
5197 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
5198     uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
5199     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint32_t arg2,
5200     uint32_t arg3) {
5201     int64_t x1;
5202     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1 x2;
5203     uint32_t x3;
5204     x1 = ((arg2 - (int64_t)arg1) - arg3);
5205     x2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(x1 >> 32);
5206     x3 = (uint32_t)(x1 & UINT32_C(0xffffffff));
5207     *out1 = x3;
5208     *out2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(0x0 - x2);
5209 }
5210
5211 /*
5212  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32 is a multiplication, returning the full double-width result.
5213  * Postconditions:
5214  *   out1 = (arg1 * arg2) mod 2^32
5215  *   out2 = ⌊arg1 * arg2 / 2^32⌋
5216  *
5217  * Input Bounds:
5218  *   arg1: [0x0 ~> 0xffffffff]
5219  *   arg2: [0x0 ~> 0xffffffff]
5220  * Output Bounds:
5221  *   out1: [0x0 ~> 0xffffffff]
5222  *   out2: [0x0 ~> 0xffffffff]
5223  */
5224 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(
5225     uint32_t *out1, uint32_t *out2, uint32_t arg1, uint32_t arg2) {
5226     uint64_t x1;
5227     uint32_t x2;
5228     uint32_t x3;
5229     x1 = ((uint64_t)arg1 * arg2);
5230     x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
5231     x3 = (uint32_t)(x1 >> 32);
5232     *out1 = x2;
5233     *out2 = x3;
5234 }
5235
5236 /*
5237  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32 is a single-word conditional move.
5238  * Postconditions:
5239  *   out1 = (if arg1 = 0 then arg2 else arg3)
5240  *
5241  * Input Bounds:
5242  *   arg1: [0x0 ~> 0x1]
5243  *   arg2: [0x0 ~> 0xffffffff]
5244  *   arg3: [0x0 ~> 0xffffffff]
5245  * Output Bounds:
5246  *   out1: [0x0 ~> 0xffffffff]
5247  */
5248 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
5249     uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
5250     uint32_t arg2, uint32_t arg3) {
5251     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x1;
5252     uint32_t x2;
5253     uint32_t x3;
5254     x1 = (!(!arg1));
5255     x2 = ((fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(0x0 - x1) &
5256           UINT32_C(0xffffffff));
5257     x3 =
5258         ((fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_value_barrier_u32(x2) &
5259           arg3) |
5260          (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_value_barrier_u32((~x2)) &
5261           arg2));
5262     *out1 = x3;
5263 }
5264
5265 /*
5266  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul multiplies two field elements in the Montgomery domain.
5267  * Preconditions:
5268  *   0 ≤ eval arg1 < m
5269  *   0 ≤ eval arg2 < m
5270  * Postconditions:
5271  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
5272  *   0 ≤ eval out1 < m
5273  *
5274  * Input Bounds:
5275  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5276  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5277  * Output Bounds:
5278  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5279  */
5280 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(
5281     uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
5282     uint32_t x1;
5283     uint32_t x2;
5284     uint32_t x3;
5285     uint32_t x4;
5286     uint32_t x5;
5287     uint32_t x6;
5288     uint32_t x7;
5289     uint32_t x8;
5290     uint32_t x9;
5291     uint32_t x10;
5292     uint32_t x11;
5293     uint32_t x12;
5294     uint32_t x13;
5295     uint32_t x14;
5296     uint32_t x15;
5297     uint32_t x16;
5298     uint32_t x17;
5299     uint32_t x18;
5300     uint32_t x19;
5301     uint32_t x20;
5302     uint32_t x21;
5303     uint32_t x22;
5304     uint32_t x23;
5305     uint32_t x24;
5306     uint32_t x25;
5307     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
5308     uint32_t x27;
5309     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
5310     uint32_t x29;
5311     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
5312     uint32_t x31;
5313     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
5314     uint32_t x33;
5315     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
5316     uint32_t x35;
5317     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
5318     uint32_t x37;
5319     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
5320     uint32_t x39;
5321     uint32_t x40;
5322     uint32_t x41;
5323     uint32_t x42;
5324     uint32_t x43;
5325     uint32_t x44;
5326     uint32_t x45;
5327     uint32_t x46;
5328     uint32_t x47;
5329     uint32_t x48;
5330     uint32_t x49;
5331     uint32_t x50;
5332     uint32_t x51;
5333     uint32_t x52;
5334     uint32_t x53;
5335     uint32_t x54;
5336     uint32_t x55;
5337     uint32_t x56;
5338     uint32_t x57;
5339     uint32_t x58;
5340     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
5341     uint32_t x60;
5342     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
5343     uint32_t x62;
5344     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
5345     uint32_t x64;
5346     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
5347     uint32_t x66;
5348     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
5349     uint32_t x68;
5350     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
5351     uint32_t x70;
5352     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x71;
5353     uint32_t x72;
5354     uint32_t x73;
5355     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x74;
5356     uint32_t x75;
5357     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x76;
5358     uint32_t x77;
5359     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
5360     uint32_t x79;
5361     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
5362     uint32_t x81;
5363     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
5364     uint32_t x83;
5365     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
5366     uint32_t x85;
5367     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
5368     uint32_t x87;
5369     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
5370     uint32_t x89;
5371     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
5372     uint32_t x91;
5373     uint32_t x92;
5374     uint32_t x93;
5375     uint32_t x94;
5376     uint32_t x95;
5377     uint32_t x96;
5378     uint32_t x97;
5379     uint32_t x98;
5380     uint32_t x99;
5381     uint32_t x100;
5382     uint32_t x101;
5383     uint32_t x102;
5384     uint32_t x103;
5385     uint32_t x104;
5386     uint32_t x105;
5387     uint32_t x106;
5388     uint32_t x107;
5389     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
5390     uint32_t x109;
5391     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
5392     uint32_t x111;
5393     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
5394     uint32_t x113;
5395     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
5396     uint32_t x115;
5397     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
5398     uint32_t x117;
5399     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
5400     uint32_t x119;
5401     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
5402     uint32_t x121;
5403     uint32_t x122;
5404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x123;
5405     uint32_t x124;
5406     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x125;
5407     uint32_t x126;
5408     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x127;
5409     uint32_t x128;
5410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x129;
5411     uint32_t x130;
5412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x131;
5413     uint32_t x132;
5414     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x133;
5415     uint32_t x134;
5416     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x135;
5417     uint32_t x136;
5418     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x137;
5419     uint32_t x138;
5420     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x139;
5421     uint32_t x140;
5422     uint32_t x141;
5423     uint32_t x142;
5424     uint32_t x143;
5425     uint32_t x144;
5426     uint32_t x145;
5427     uint32_t x146;
5428     uint32_t x147;
5429     uint32_t x148;
5430     uint32_t x149;
5431     uint32_t x150;
5432     uint32_t x151;
5433     uint32_t x152;
5434     uint32_t x153;
5435     uint32_t x154;
5436     uint32_t x155;
5437     uint32_t x156;
5438     uint32_t x157;
5439     uint32_t x158;
5440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x159;
5441     uint32_t x160;
5442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x161;
5443     uint32_t x162;
5444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x163;
5445     uint32_t x164;
5446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x165;
5447     uint32_t x166;
5448     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x167;
5449     uint32_t x168;
5450     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
5451     uint32_t x170;
5452     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
5453     uint32_t x172;
5454     uint32_t x173;
5455     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
5456     uint32_t x175;
5457     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
5458     uint32_t x177;
5459     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
5460     uint32_t x179;
5461     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
5462     uint32_t x181;
5463     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
5464     uint32_t x183;
5465     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
5466     uint32_t x185;
5467     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x186;
5468     uint32_t x187;
5469     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x188;
5470     uint32_t x189;
5471     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x190;
5472     uint32_t x191;
5473     uint32_t x192;
5474     uint32_t x193;
5475     uint32_t x194;
5476     uint32_t x195;
5477     uint32_t x196;
5478     uint32_t x197;
5479     uint32_t x198;
5480     uint32_t x199;
5481     uint32_t x200;
5482     uint32_t x201;
5483     uint32_t x202;
5484     uint32_t x203;
5485     uint32_t x204;
5486     uint32_t x205;
5487     uint32_t x206;
5488     uint32_t x207;
5489     uint32_t x208;
5490     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
5491     uint32_t x210;
5492     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
5493     uint32_t x212;
5494     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
5495     uint32_t x214;
5496     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
5497     uint32_t x216;
5498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x217;
5499     uint32_t x218;
5500     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x219;
5501     uint32_t x220;
5502     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x221;
5503     uint32_t x222;
5504     uint32_t x223;
5505     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x224;
5506     uint32_t x225;
5507     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x226;
5508     uint32_t x227;
5509     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x228;
5510     uint32_t x229;
5511     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x230;
5512     uint32_t x231;
5513     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x232;
5514     uint32_t x233;
5515     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x234;
5516     uint32_t x235;
5517     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x236;
5518     uint32_t x237;
5519     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x238;
5520     uint32_t x239;
5521     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x240;
5522     uint32_t x241;
5523     uint32_t x242;
5524     uint32_t x243;
5525     uint32_t x244;
5526     uint32_t x245;
5527     uint32_t x246;
5528     uint32_t x247;
5529     uint32_t x248;
5530     uint32_t x249;
5531     uint32_t x250;
5532     uint32_t x251;
5533     uint32_t x252;
5534     uint32_t x253;
5535     uint32_t x254;
5536     uint32_t x255;
5537     uint32_t x256;
5538     uint32_t x257;
5539     uint32_t x258;
5540     uint32_t x259;
5541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x260;
5542     uint32_t x261;
5543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x262;
5544     uint32_t x263;
5545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x264;
5546     uint32_t x265;
5547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x266;
5548     uint32_t x267;
5549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x268;
5550     uint32_t x269;
5551     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x270;
5552     uint32_t x271;
5553     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x272;
5554     uint32_t x273;
5555     uint32_t x274;
5556     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x275;
5557     uint32_t x276;
5558     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x277;
5559     uint32_t x278;
5560     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x279;
5561     uint32_t x280;
5562     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x281;
5563     uint32_t x282;
5564     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x283;
5565     uint32_t x284;
5566     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x285;
5567     uint32_t x286;
5568     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x287;
5569     uint32_t x288;
5570     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x289;
5571     uint32_t x290;
5572     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x291;
5573     uint32_t x292;
5574     uint32_t x293;
5575     uint32_t x294;
5576     uint32_t x295;
5577     uint32_t x296;
5578     uint32_t x297;
5579     uint32_t x298;
5580     uint32_t x299;
5581     uint32_t x300;
5582     uint32_t x301;
5583     uint32_t x302;
5584     uint32_t x303;
5585     uint32_t x304;
5586     uint32_t x305;
5587     uint32_t x306;
5588     uint32_t x307;
5589     uint32_t x308;
5590     uint32_t x309;
5591     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x310;
5592     uint32_t x311;
5593     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x312;
5594     uint32_t x313;
5595     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x314;
5596     uint32_t x315;
5597     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x316;
5598     uint32_t x317;
5599     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x318;
5600     uint32_t x319;
5601     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x320;
5602     uint32_t x321;
5603     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x322;
5604     uint32_t x323;
5605     uint32_t x324;
5606     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x325;
5607     uint32_t x326;
5608     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x327;
5609     uint32_t x328;
5610     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x329;
5611     uint32_t x330;
5612     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x331;
5613     uint32_t x332;
5614     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x333;
5615     uint32_t x334;
5616     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x335;
5617     uint32_t x336;
5618     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x337;
5619     uint32_t x338;
5620     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x339;
5621     uint32_t x340;
5622     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x341;
5623     uint32_t x342;
5624     uint32_t x343;
5625     uint32_t x344;
5626     uint32_t x345;
5627     uint32_t x346;
5628     uint32_t x347;
5629     uint32_t x348;
5630     uint32_t x349;
5631     uint32_t x350;
5632     uint32_t x351;
5633     uint32_t x352;
5634     uint32_t x353;
5635     uint32_t x354;
5636     uint32_t x355;
5637     uint32_t x356;
5638     uint32_t x357;
5639     uint32_t x358;
5640     uint32_t x359;
5641     uint32_t x360;
5642     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x361;
5643     uint32_t x362;
5644     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x363;
5645     uint32_t x364;
5646     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x365;
5647     uint32_t x366;
5648     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x367;
5649     uint32_t x368;
5650     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x369;
5651     uint32_t x370;
5652     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x371;
5653     uint32_t x372;
5654     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x373;
5655     uint32_t x374;
5656     uint32_t x375;
5657     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x376;
5658     uint32_t x377;
5659     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x378;
5660     uint32_t x379;
5661     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x380;
5662     uint32_t x381;
5663     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x382;
5664     uint32_t x383;
5665     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x384;
5666     uint32_t x385;
5667     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x386;
5668     uint32_t x387;
5669     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x388;
5670     uint32_t x389;
5671     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x390;
5672     uint32_t x391;
5673     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x392;
5674     uint32_t x393;
5675     uint32_t x394;
5676     uint32_t x395;
5677     uint32_t x396;
5678     uint32_t x397;
5679     uint32_t x398;
5680     uint32_t x399;
5681     uint32_t x400;
5682     uint32_t x401;
5683     uint32_t x402;
5684     uint32_t x403;
5685     uint32_t x404;
5686     uint32_t x405;
5687     uint32_t x406;
5688     uint32_t x407;
5689     uint32_t x408;
5690     uint32_t x409;
5691     uint32_t x410;
5692     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x411;
5693     uint32_t x412;
5694     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x413;
5695     uint32_t x414;
5696     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x415;
5697     uint32_t x416;
5698     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x417;
5699     uint32_t x418;
5700     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x419;
5701     uint32_t x420;
5702     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x421;
5703     uint32_t x422;
5704     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x423;
5705     uint32_t x424;
5706     uint32_t x425;
5707     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x426;
5708     uint32_t x427;
5709     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x428;
5710     uint32_t x429;
5711     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x430;
5712     uint32_t x431;
5713     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x432;
5714     uint32_t x433;
5715     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x434;
5716     uint32_t x435;
5717     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x436;
5718     uint32_t x437;
5719     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x438;
5720     uint32_t x439;
5721     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x440;
5722     uint32_t x441;
5723     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x442;
5724     uint32_t x443;
5725     uint32_t x444;
5726     uint32_t x445;
5727     uint32_t x446;
5728     uint32_t x447;
5729     uint32_t x448;
5730     uint32_t x449;
5731     uint32_t x450;
5732     uint32_t x451;
5733     uint32_t x452;
5734     uint32_t x453;
5735     uint32_t x454;
5736     uint32_t x455;
5737     uint32_t x456;
5738     uint32_t x457;
5739     uint32_t x458;
5740     uint32_t x459;
5741     uint32_t x460;
5742     uint32_t x461;
5743     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x462;
5744     uint32_t x463;
5745     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x464;
5746     uint32_t x465;
5747     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x466;
5748     uint32_t x467;
5749     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x468;
5750     uint32_t x469;
5751     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x470;
5752     uint32_t x471;
5753     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x472;
5754     uint32_t x473;
5755     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x474;
5756     uint32_t x475;
5757     uint32_t x476;
5758     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x477;
5759     uint32_t x478;
5760     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x479;
5761     uint32_t x480;
5762     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x481;
5763     uint32_t x482;
5764     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x483;
5765     uint32_t x484;
5766     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x485;
5767     uint32_t x486;
5768     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x487;
5769     uint32_t x488;
5770     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x489;
5771     uint32_t x490;
5772     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x491;
5773     uint32_t x492;
5774     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x493;
5775     uint32_t x494;
5776     uint32_t x495;
5777     uint32_t x496;
5778     uint32_t x497;
5779     uint32_t x498;
5780     uint32_t x499;
5781     uint32_t x500;
5782     uint32_t x501;
5783     uint32_t x502;
5784     uint32_t x503;
5785     uint32_t x504;
5786     uint32_t x505;
5787     uint32_t x506;
5788     uint32_t x507;
5789     uint32_t x508;
5790     uint32_t x509;
5791     uint32_t x510;
5792     uint32_t x511;
5793     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x512;
5794     uint32_t x513;
5795     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x514;
5796     uint32_t x515;
5797     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x516;
5798     uint32_t x517;
5799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x518;
5800     uint32_t x519;
5801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x520;
5802     uint32_t x521;
5803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x522;
5804     uint32_t x523;
5805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x524;
5806     uint32_t x525;
5807     uint32_t x526;
5808     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x527;
5809     uint32_t x528;
5810     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x529;
5811     uint32_t x530;
5812     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x531;
5813     uint32_t x532;
5814     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x533;
5815     uint32_t x534;
5816     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x535;
5817     uint32_t x536;
5818     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x537;
5819     uint32_t x538;
5820     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x539;
5821     uint32_t x540;
5822     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x541;
5823     uint32_t x542;
5824     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x543;
5825     uint32_t x544;
5826     uint32_t x545;
5827     uint32_t x546;
5828     uint32_t x547;
5829     uint32_t x548;
5830     uint32_t x549;
5831     uint32_t x550;
5832     uint32_t x551;
5833     uint32_t x552;
5834     uint32_t x553;
5835     uint32_t x554;
5836     uint32_t x555;
5837     uint32_t x556;
5838     uint32_t x557;
5839     uint32_t x558;
5840     uint32_t x559;
5841     uint32_t x560;
5842     uint32_t x561;
5843     uint32_t x562;
5844     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x563;
5845     uint32_t x564;
5846     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x565;
5847     uint32_t x566;
5848     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x567;
5849     uint32_t x568;
5850     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x569;
5851     uint32_t x570;
5852     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x571;
5853     uint32_t x572;
5854     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x573;
5855     uint32_t x574;
5856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x575;
5857     uint32_t x576;
5858     uint32_t x577;
5859     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x578;
5860     uint32_t x579;
5861     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x580;
5862     uint32_t x581;
5863     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x582;
5864     uint32_t x583;
5865     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x584;
5866     uint32_t x585;
5867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x586;
5868     uint32_t x587;
5869     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x588;
5870     uint32_t x589;
5871     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x590;
5872     uint32_t x591;
5873     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x592;
5874     uint32_t x593;
5875     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x594;
5876     uint32_t x595;
5877     uint32_t x596;
5878     uint32_t x597;
5879     uint32_t x598;
5880     uint32_t x599;
5881     uint32_t x600;
5882     uint32_t x601;
5883     uint32_t x602;
5884     uint32_t x603;
5885     uint32_t x604;
5886     uint32_t x605;
5887     uint32_t x606;
5888     uint32_t x607;
5889     uint32_t x608;
5890     uint32_t x609;
5891     uint32_t x610;
5892     uint32_t x611;
5893     uint32_t x612;
5894     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x613;
5895     uint32_t x614;
5896     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x615;
5897     uint32_t x616;
5898     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x617;
5899     uint32_t x618;
5900     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x619;
5901     uint32_t x620;
5902     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x621;
5903     uint32_t x622;
5904     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x623;
5905     uint32_t x624;
5906     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x625;
5907     uint32_t x626;
5908     uint32_t x627;
5909     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x628;
5910     uint32_t x629;
5911     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x630;
5912     uint32_t x631;
5913     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x632;
5914     uint32_t x633;
5915     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x634;
5916     uint32_t x635;
5917     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x636;
5918     uint32_t x637;
5919     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x638;
5920     uint32_t x639;
5921     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x640;
5922     uint32_t x641;
5923     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x642;
5924     uint32_t x643;
5925     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x644;
5926     uint32_t x645;
5927     uint32_t x646;
5928     uint32_t x647;
5929     uint32_t x648;
5930     uint32_t x649;
5931     uint32_t x650;
5932     uint32_t x651;
5933     uint32_t x652;
5934     uint32_t x653;
5935     uint32_t x654;
5936     uint32_t x655;
5937     uint32_t x656;
5938     uint32_t x657;
5939     uint32_t x658;
5940     uint32_t x659;
5941     uint32_t x660;
5942     uint32_t x661;
5943     uint32_t x662;
5944     uint32_t x663;
5945     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x664;
5946     uint32_t x665;
5947     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x666;
5948     uint32_t x667;
5949     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x668;
5950     uint32_t x669;
5951     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x670;
5952     uint32_t x671;
5953     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x672;
5954     uint32_t x673;
5955     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x674;
5956     uint32_t x675;
5957     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x676;
5958     uint32_t x677;
5959     uint32_t x678;
5960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x679;
5961     uint32_t x680;
5962     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x681;
5963     uint32_t x682;
5964     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x683;
5965     uint32_t x684;
5966     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x685;
5967     uint32_t x686;
5968     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x687;
5969     uint32_t x688;
5970     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x689;
5971     uint32_t x690;
5972     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x691;
5973     uint32_t x692;
5974     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x693;
5975     uint32_t x694;
5976     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x695;
5977     uint32_t x696;
5978     uint32_t x697;
5979     uint32_t x698;
5980     uint32_t x699;
5981     uint32_t x700;
5982     uint32_t x701;
5983     uint32_t x702;
5984     uint32_t x703;
5985     uint32_t x704;
5986     uint32_t x705;
5987     uint32_t x706;
5988     uint32_t x707;
5989     uint32_t x708;
5990     uint32_t x709;
5991     uint32_t x710;
5992     uint32_t x711;
5993     uint32_t x712;
5994     uint32_t x713;
5995     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x714;
5996     uint32_t x715;
5997     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x716;
5998     uint32_t x717;
5999     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x718;
6000     uint32_t x719;
6001     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x720;
6002     uint32_t x721;
6003     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x722;
6004     uint32_t x723;
6005     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x724;
6006     uint32_t x725;
6007     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x726;
6008     uint32_t x727;
6009     uint32_t x728;
6010     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x729;
6011     uint32_t x730;
6012     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x731;
6013     uint32_t x732;
6014     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x733;
6015     uint32_t x734;
6016     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x735;
6017     uint32_t x736;
6018     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x737;
6019     uint32_t x738;
6020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x739;
6021     uint32_t x740;
6022     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x741;
6023     uint32_t x742;
6024     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x743;
6025     uint32_t x744;
6026     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x745;
6027     uint32_t x746;
6028     uint32_t x747;
6029     uint32_t x748;
6030     uint32_t x749;
6031     uint32_t x750;
6032     uint32_t x751;
6033     uint32_t x752;
6034     uint32_t x753;
6035     uint32_t x754;
6036     uint32_t x755;
6037     uint32_t x756;
6038     uint32_t x757;
6039     uint32_t x758;
6040     uint32_t x759;
6041     uint32_t x760;
6042     uint32_t x761;
6043     uint32_t x762;
6044     uint32_t x763;
6045     uint32_t x764;
6046     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x765;
6047     uint32_t x766;
6048     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x767;
6049     uint32_t x768;
6050     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x769;
6051     uint32_t x770;
6052     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x771;
6053     uint32_t x772;
6054     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x773;
6055     uint32_t x774;
6056     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x775;
6057     uint32_t x776;
6058     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x777;
6059     uint32_t x778;
6060     uint32_t x779;
6061     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x780;
6062     uint32_t x781;
6063     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x782;
6064     uint32_t x783;
6065     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x784;
6066     uint32_t x785;
6067     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x786;
6068     uint32_t x787;
6069     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x788;
6070     uint32_t x789;
6071     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x790;
6072     uint32_t x791;
6073     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x792;
6074     uint32_t x793;
6075     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x794;
6076     uint32_t x795;
6077     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x796;
6078     uint32_t x797;
6079     uint32_t x798;
6080     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x799;
6081     uint32_t x800;
6082     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x801;
6083     uint32_t x802;
6084     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x803;
6085     uint32_t x804;
6086     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x805;
6087     uint32_t x806;
6088     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x807;
6089     uint32_t x808;
6090     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x809;
6091     uint32_t x810;
6092     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x811;
6093     uint32_t x812;
6094     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x813;
6095     uint32_t x814;
6096     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x815;
6097     uint32_t x816;
6098     uint32_t x817;
6099     uint32_t x818;
6100     uint32_t x819;
6101     uint32_t x820;
6102     uint32_t x821;
6103     uint32_t x822;
6104     uint32_t x823;
6105     x1 = (arg1[1]);
6106     x2 = (arg1[2]);
6107     x3 = (arg1[3]);
6108     x4 = (arg1[4]);
6109     x5 = (arg1[5]);
6110     x6 = (arg1[6]);
6111     x7 = (arg1[7]);
6112     x8 = (arg1[0]);
6113     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x9, &x10, x8,
6114                                                          (arg2[7]));
6115     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x11, &x12, x8,
6116                                                          (arg2[6]));
6117     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x13, &x14, x8,
6118                                                          (arg2[5]));
6119     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x15, &x16, x8,
6120                                                          (arg2[4]));
6121     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x17, &x18, x8,
6122                                                          (arg2[3]));
6123     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x19, &x20, x8,
6124                                                          (arg2[2]));
6125     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x21, &x22, x8,
6126                                                          (arg2[1]));
6127     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x23, &x24, x8,
6128                                                          (arg2[0]));
6129     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
6130                                                               x24, x21);
6131     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x27, &x28, x26,
6132                                                               x22, x19);
6133     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x29, &x30, x28,
6134                                                               x20, x17);
6135     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x31, &x32, x30,
6136                                                               x18, x15);
6137     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x33, &x34, x32,
6138                                                               x16, x13);
6139     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x35, &x36, x34,
6140                                                               x14, x11);
6141     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x37, &x38, x36,
6142                                                               x12, x9);
6143     x39 = (x38 + x10);
6144     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x40, &x41, x23,
6145                                                          UINT32_C(0x727c176d));
6146     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x42, &x43, x40,
6147                                                          UINT32_C(0x9b9f605f));
6148     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x44, &x45, x40,
6149                                                          UINT32_C(0x5a858107));
6150     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x46, &x47, x40,
6151                                                          UINT32_C(0xab1ec85e));
6152     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x48, &x49, x40,
6153                                                          UINT32_C(0x6b41c8aa));
6154     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x50, &x51, x40,
6155                                                          UINT32_C(0xcf846e86));
6156     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x52, &x53, x40,
6157                                                          UINT32_C(0x789051d3));
6158     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x54, &x55, x40,
6159                                                          UINT32_C(0x7998f7b9));
6160     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x56, &x57, x40,
6161                                                          UINT32_C(0x22d759b));
6162     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x58, &x59, 0x0,
6163                                                               x57, x54);
6164     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x60, &x61, x59,
6165                                                               x55, x52);
6166     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x62, &x63, x61,
6167                                                               x53, x50);
6168     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x64, &x65, x63,
6169                                                               x51, x48);
6170     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x66, &x67, x65,
6171                                                               x49, x46);
6172     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x68, &x69, x67,
6173                                                               x47, x44);
6174     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x70, &x71, x69,
6175                                                               x45, x42);
6176     x72 = (x71 + x43);
6177     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x73, &x74, 0x0,
6178                                                               x23, x56);
6179     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x75, &x76, x74,
6180                                                               x25, x58);
6181     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x77, &x78, x76,
6182                                                               x27, x60);
6183     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x79, &x80, x78,
6184                                                               x29, x62);
6185     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x81, &x82, x80,
6186                                                               x31, x64);
6187     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x83, &x84, x82,
6188                                                               x33, x66);
6189     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x85, &x86, x84,
6190                                                               x35, x68);
6191     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x87, &x88, x86,
6192                                                               x37, x70);
6193     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x89, &x90, x88,
6194                                                               x39, x72);
6195     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x91, &x92, x1,
6196                                                          (arg2[7]));
6197     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x93, &x94, x1,
6198                                                          (arg2[6]));
6199     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x95, &x96, x1,
6200                                                          (arg2[5]));
6201     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x97, &x98, x1,
6202                                                          (arg2[4]));
6203     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x99, &x100, x1,
6204                                                          (arg2[3]));
6205     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x101, &x102, x1,
6206                                                          (arg2[2]));
6207     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x103, &x104, x1,
6208                                                          (arg2[1]));
6209     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x105, &x106, x1,
6210                                                          (arg2[0]));
6211     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x107, &x108, 0x0,
6212                                                               x106, x103);
6213     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x109, &x110,
6214                                                               x108, x104, x101);
6215     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x111, &x112,
6216                                                               x110, x102, x99);
6217     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x113, &x114,
6218                                                               x112, x100, x97);
6219     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x115, &x116,
6220                                                               x114, x98, x95);
6221     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x117, &x118,
6222                                                               x116, x96, x93);
6223     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x119, &x120,
6224                                                               x118, x94, x91);
6225     x121 = (x120 + x92);
6226     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x122, &x123, 0x0,
6227                                                               x75, x105);
6228     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x124, &x125,
6229                                                               x123, x77, x107);
6230     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x126, &x127,
6231                                                               x125, x79, x109);
6232     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x128, &x129,
6233                                                               x127, x81, x111);
6234     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x130, &x131,
6235                                                               x129, x83, x113);
6236     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x132, &x133,
6237                                                               x131, x85, x115);
6238     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x134, &x135,
6239                                                               x133, x87, x117);
6240     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x136, &x137,
6241                                                               x135, x89, x119);
6242     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x138, &x139,
6243                                                               x137, x90, x121);
6244     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x140, &x141, x122,
6245                                                          UINT32_C(0x727c176d));
6246     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x142, &x143, x140,
6247                                                          UINT32_C(0x9b9f605f));
6248     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x144, &x145, x140,
6249                                                          UINT32_C(0x5a858107));
6250     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x146, &x147, x140,
6251                                                          UINT32_C(0xab1ec85e));
6252     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x148, &x149, x140,
6253                                                          UINT32_C(0x6b41c8aa));
6254     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x150, &x151, x140,
6255                                                          UINT32_C(0xcf846e86));
6256     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x152, &x153, x140,
6257                                                          UINT32_C(0x789051d3));
6258     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x154, &x155, x140,
6259                                                          UINT32_C(0x7998f7b9));
6260     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x156, &x157, x140,
6261                                                          UINT32_C(0x22d759b));
6262     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x158, &x159, 0x0,
6263                                                               x157, x154);
6264     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x160, &x161,
6265                                                               x159, x155, x152);
6266     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x162, &x163,
6267                                                               x161, x153, x150);
6268     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x164, &x165,
6269                                                               x163, x151, x148);
6270     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x166, &x167,
6271                                                               x165, x149, x146);
6272     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x168, &x169,
6273                                                               x167, x147, x144);
6274     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x170, &x171,
6275                                                               x169, x145, x142);
6276     x172 = (x171 + x143);
6277     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x173, &x174, 0x0,
6278                                                               x122, x156);
6279     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x175, &x176,
6280                                                               x174, x124, x158);
6281     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x177, &x178,
6282                                                               x176, x126, x160);
6283     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x179, &x180,
6284                                                               x178, x128, x162);
6285     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x181, &x182,
6286                                                               x180, x130, x164);
6287     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x183, &x184,
6288                                                               x182, x132, x166);
6289     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x185, &x186,
6290                                                               x184, x134, x168);
6291     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x187, &x188,
6292                                                               x186, x136, x170);
6293     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x189, &x190,
6294                                                               x188, x138, x172);
6295     x191 = ((uint32_t)x190 + x139);
6296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x192, &x193, x2,
6297                                                          (arg2[7]));
6298     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x194, &x195, x2,
6299                                                          (arg2[6]));
6300     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x196, &x197, x2,
6301                                                          (arg2[5]));
6302     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x198, &x199, x2,
6303                                                          (arg2[4]));
6304     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x200, &x201, x2,
6305                                                          (arg2[3]));
6306     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x202, &x203, x2,
6307                                                          (arg2[2]));
6308     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x204, &x205, x2,
6309                                                          (arg2[1]));
6310     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x206, &x207, x2,
6311                                                          (arg2[0]));
6312     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x208, &x209, 0x0,
6313                                                               x207, x204);
6314     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x210, &x211,
6315                                                               x209, x205, x202);
6316     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x212, &x213,
6317                                                               x211, x203, x200);
6318     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x214, &x215,
6319                                                               x213, x201, x198);
6320     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x216, &x217,
6321                                                               x215, x199, x196);
6322     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x218, &x219,
6323                                                               x217, x197, x194);
6324     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x220, &x221,
6325                                                               x219, x195, x192);
6326     x222 = (x221 + x193);
6327     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x223, &x224, 0x0,
6328                                                               x175, x206);
6329     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x225, &x226,
6330                                                               x224, x177, x208);
6331     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x227, &x228,
6332                                                               x226, x179, x210);
6333     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x229, &x230,
6334                                                               x228, x181, x212);
6335     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x231, &x232,
6336                                                               x230, x183, x214);
6337     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x233, &x234,
6338                                                               x232, x185, x216);
6339     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x235, &x236,
6340                                                               x234, x187, x218);
6341     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x237, &x238,
6342                                                               x236, x189, x220);
6343     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x239, &x240,
6344                                                               x238, x191, x222);
6345     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x241, &x242, x223,
6346                                                          UINT32_C(0x727c176d));
6347     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x243, &x244, x241,
6348                                                          UINT32_C(0x9b9f605f));
6349     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x245, &x246, x241,
6350                                                          UINT32_C(0x5a858107));
6351     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x247, &x248, x241,
6352                                                          UINT32_C(0xab1ec85e));
6353     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x249, &x250, x241,
6354                                                          UINT32_C(0x6b41c8aa));
6355     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x251, &x252, x241,
6356                                                          UINT32_C(0xcf846e86));
6357     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x253, &x254, x241,
6358                                                          UINT32_C(0x789051d3));
6359     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x255, &x256, x241,
6360                                                          UINT32_C(0x7998f7b9));
6361     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x257, &x258, x241,
6362                                                          UINT32_C(0x22d759b));
6363     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x259, &x260, 0x0,
6364                                                               x258, x255);
6365     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x261, &x262,
6366                                                               x260, x256, x253);
6367     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x263, &x264,
6368                                                               x262, x254, x251);
6369     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x265, &x266,
6370                                                               x264, x252, x249);
6371     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x267, &x268,
6372                                                               x266, x250, x247);
6373     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x269, &x270,
6374                                                               x268, x248, x245);
6375     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x271, &x272,
6376                                                               x270, x246, x243);
6377     x273 = (x272 + x244);
6378     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x274, &x275, 0x0,
6379                                                               x223, x257);
6380     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x276, &x277,
6381                                                               x275, x225, x259);
6382     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x278, &x279,
6383                                                               x277, x227, x261);
6384     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x280, &x281,
6385                                                               x279, x229, x263);
6386     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x282, &x283,
6387                                                               x281, x231, x265);
6388     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x284, &x285,
6389                                                               x283, x233, x267);
6390     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x286, &x287,
6391                                                               x285, x235, x269);
6392     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x288, &x289,
6393                                                               x287, x237, x271);
6394     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x290, &x291,
6395                                                               x289, x239, x273);
6396     x292 = ((uint32_t)x291 + x240);
6397     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x293, &x294, x3,
6398                                                          (arg2[7]));
6399     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x295, &x296, x3,
6400                                                          (arg2[6]));
6401     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x297, &x298, x3,
6402                                                          (arg2[5]));
6403     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x299, &x300, x3,
6404                                                          (arg2[4]));
6405     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x301, &x302, x3,
6406                                                          (arg2[3]));
6407     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x303, &x304, x3,
6408                                                          (arg2[2]));
6409     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x305, &x306, x3,
6410                                                          (arg2[1]));
6411     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x307, &x308, x3,
6412                                                          (arg2[0]));
6413     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x309, &x310, 0x0,
6414                                                               x308, x305);
6415     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x311, &x312,
6416                                                               x310, x306, x303);
6417     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x313, &x314,
6418                                                               x312, x304, x301);
6419     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x315, &x316,
6420                                                               x314, x302, x299);
6421     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x317, &x318,
6422                                                               x316, x300, x297);
6423     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x319, &x320,
6424                                                               x318, x298, x295);
6425     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x321, &x322,
6426                                                               x320, x296, x293);
6427     x323 = (x322 + x294);
6428     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x324, &x325, 0x0,
6429                                                               x276, x307);
6430     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x326, &x327,
6431                                                               x325, x278, x309);
6432     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x328, &x329,
6433                                                               x327, x280, x311);
6434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x330, &x331,
6435                                                               x329, x282, x313);
6436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x332, &x333,
6437                                                               x331, x284, x315);
6438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x334, &x335,
6439                                                               x333, x286, x317);
6440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x336, &x337,
6441                                                               x335, x288, x319);
6442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x338, &x339,
6443                                                               x337, x290, x321);
6444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x340, &x341,
6445                                                               x339, x292, x323);
6446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x342, &x343, x324,
6447                                                          UINT32_C(0x727c176d));
6448     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x344, &x345, x342,
6449                                                          UINT32_C(0x9b9f605f));
6450     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x346, &x347, x342,
6451                                                          UINT32_C(0x5a858107));
6452     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x348, &x349, x342,
6453                                                          UINT32_C(0xab1ec85e));
6454     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x350, &x351, x342,
6455                                                          UINT32_C(0x6b41c8aa));
6456     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x352, &x353, x342,
6457                                                          UINT32_C(0xcf846e86));
6458     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x354, &x355, x342,
6459                                                          UINT32_C(0x789051d3));
6460     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x356, &x357, x342,
6461                                                          UINT32_C(0x7998f7b9));
6462     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x358, &x359, x342,
6463                                                          UINT32_C(0x22d759b));
6464     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x360, &x361, 0x0,
6465                                                               x359, x356);
6466     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x362, &x363,
6467                                                               x361, x357, x354);
6468     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x364, &x365,
6469                                                               x363, x355, x352);
6470     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x366, &x367,
6471                                                               x365, x353, x350);
6472     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x368, &x369,
6473                                                               x367, x351, x348);
6474     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x370, &x371,
6475                                                               x369, x349, x346);
6476     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x372, &x373,
6477                                                               x371, x347, x344);
6478     x374 = (x373 + x345);
6479     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x375, &x376, 0x0,
6480                                                               x324, x358);
6481     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x377, &x378,
6482                                                               x376, x326, x360);
6483     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x379, &x380,
6484                                                               x378, x328, x362);
6485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x381, &x382,
6486                                                               x380, x330, x364);
6487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x383, &x384,
6488                                                               x382, x332, x366);
6489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x385, &x386,
6490                                                               x384, x334, x368);
6491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x387, &x388,
6492                                                               x386, x336, x370);
6493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x389, &x390,
6494                                                               x388, x338, x372);
6495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x391, &x392,
6496                                                               x390, x340, x374);
6497     x393 = ((uint32_t)x392 + x341);
6498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x394, &x395, x4,
6499                                                          (arg2[7]));
6500     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x396, &x397, x4,
6501                                                          (arg2[6]));
6502     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x398, &x399, x4,
6503                                                          (arg2[5]));
6504     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x400, &x401, x4,
6505                                                          (arg2[4]));
6506     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x402, &x403, x4,
6507                                                          (arg2[3]));
6508     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x404, &x405, x4,
6509                                                          (arg2[2]));
6510     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x406, &x407, x4,
6511                                                          (arg2[1]));
6512     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x408, &x409, x4,
6513                                                          (arg2[0]));
6514     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x410, &x411, 0x0,
6515                                                               x409, x406);
6516     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x412, &x413,
6517                                                               x411, x407, x404);
6518     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x414, &x415,
6519                                                               x413, x405, x402);
6520     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x416, &x417,
6521                                                               x415, x403, x400);
6522     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x418, &x419,
6523                                                               x417, x401, x398);
6524     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x420, &x421,
6525                                                               x419, x399, x396);
6526     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x422, &x423,
6527                                                               x421, x397, x394);
6528     x424 = (x423 + x395);
6529     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x425, &x426, 0x0,
6530                                                               x377, x408);
6531     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x427, &x428,
6532                                                               x426, x379, x410);
6533     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x429, &x430,
6534                                                               x428, x381, x412);
6535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x431, &x432,
6536                                                               x430, x383, x414);
6537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x433, &x434,
6538                                                               x432, x385, x416);
6539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x435, &x436,
6540                                                               x434, x387, x418);
6541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x437, &x438,
6542                                                               x436, x389, x420);
6543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x439, &x440,
6544                                                               x438, x391, x422);
6545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x441, &x442,
6546                                                               x440, x393, x424);
6547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x443, &x444, x425,
6548                                                          UINT32_C(0x727c176d));
6549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x445, &x446, x443,
6550                                                          UINT32_C(0x9b9f605f));
6551     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x447, &x448, x443,
6552                                                          UINT32_C(0x5a858107));
6553     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x449, &x450, x443,
6554                                                          UINT32_C(0xab1ec85e));
6555     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x451, &x452, x443,
6556                                                          UINT32_C(0x6b41c8aa));
6557     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x453, &x454, x443,
6558                                                          UINT32_C(0xcf846e86));
6559     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x455, &x456, x443,
6560                                                          UINT32_C(0x789051d3));
6561     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x457, &x458, x443,
6562                                                          UINT32_C(0x7998f7b9));
6563     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x459, &x460, x443,
6564                                                          UINT32_C(0x22d759b));
6565     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x461, &x462, 0x0,
6566                                                               x460, x457);
6567     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x463, &x464,
6568                                                               x462, x458, x455);
6569     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x465, &x466,
6570                                                               x464, x456, x453);
6571     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x467, &x468,
6572                                                               x466, x454, x451);
6573     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x469, &x470,
6574                                                               x468, x452, x449);
6575     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x471, &x472,
6576                                                               x470, x450, x447);
6577     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x473, &x474,
6578                                                               x472, x448, x445);
6579     x475 = (x474 + x446);
6580     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x476, &x477, 0x0,
6581                                                               x425, x459);
6582     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x478, &x479,
6583                                                               x477, x427, x461);
6584     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x480, &x481,
6585                                                               x479, x429, x463);
6586     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x482, &x483,
6587                                                               x481, x431, x465);
6588     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x484, &x485,
6589                                                               x483, x433, x467);
6590     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x486, &x487,
6591                                                               x485, x435, x469);
6592     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x488, &x489,
6593                                                               x487, x437, x471);
6594     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x490, &x491,
6595                                                               x489, x439, x473);
6596     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x492, &x493,
6597                                                               x491, x441, x475);
6598     x494 = ((uint32_t)x493 + x442);
6599     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x495, &x496, x5,
6600                                                          (arg2[7]));
6601     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x497, &x498, x5,
6602                                                          (arg2[6]));
6603     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x499, &x500, x5,
6604                                                          (arg2[5]));
6605     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x501, &x502, x5,
6606                                                          (arg2[4]));
6607     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x503, &x504, x5,
6608                                                          (arg2[3]));
6609     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x505, &x506, x5,
6610                                                          (arg2[2]));
6611     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x507, &x508, x5,
6612                                                          (arg2[1]));
6613     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x509, &x510, x5,
6614                                                          (arg2[0]));
6615     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x511, &x512, 0x0,
6616                                                               x510, x507);
6617     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x513, &x514,
6618                                                               x512, x508, x505);
6619     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x515, &x516,
6620                                                               x514, x506, x503);
6621     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x517, &x518,
6622                                                               x516, x504, x501);
6623     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x519, &x520,
6624                                                               x518, x502, x499);
6625     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x521, &x522,
6626                                                               x520, x500, x497);
6627     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x523, &x524,
6628                                                               x522, x498, x495);
6629     x525 = (x524 + x496);
6630     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x526, &x527, 0x0,
6631                                                               x478, x509);
6632     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x528, &x529,
6633                                                               x527, x480, x511);
6634     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x530, &x531,
6635                                                               x529, x482, x513);
6636     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x532, &x533,
6637                                                               x531, x484, x515);
6638     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x534, &x535,
6639                                                               x533, x486, x517);
6640     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x536, &x537,
6641                                                               x535, x488, x519);
6642     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x538, &x539,
6643                                                               x537, x490, x521);
6644     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x540, &x541,
6645                                                               x539, x492, x523);
6646     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x542, &x543,
6647                                                               x541, x494, x525);
6648     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x544, &x545, x526,
6649                                                          UINT32_C(0x727c176d));
6650     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x546, &x547, x544,
6651                                                          UINT32_C(0x9b9f605f));
6652     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x548, &x549, x544,
6653                                                          UINT32_C(0x5a858107));
6654     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x550, &x551, x544,
6655                                                          UINT32_C(0xab1ec85e));
6656     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x552, &x553, x544,
6657                                                          UINT32_C(0x6b41c8aa));
6658     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x554, &x555, x544,
6659                                                          UINT32_C(0xcf846e86));
6660     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x556, &x557, x544,
6661                                                          UINT32_C(0x789051d3));
6662     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x558, &x559, x544,
6663                                                          UINT32_C(0x7998f7b9));
6664     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x560, &x561, x544,
6665                                                          UINT32_C(0x22d759b));
6666     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x562, &x563, 0x0,
6667                                                               x561, x558);
6668     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x564, &x565,
6669                                                               x563, x559, x556);
6670     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x566, &x567,
6671                                                               x565, x557, x554);
6672     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x568, &x569,
6673                                                               x567, x555, x552);
6674     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x570, &x571,
6675                                                               x569, x553, x550);
6676     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x572, &x573,
6677                                                               x571, x551, x548);
6678     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x574, &x575,
6679                                                               x573, x549, x546);
6680     x576 = (x575 + x547);
6681     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x577, &x578, 0x0,
6682                                                               x526, x560);
6683     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x579, &x580,
6684                                                               x578, x528, x562);
6685     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x581, &x582,
6686                                                               x580, x530, x564);
6687     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x583, &x584,
6688                                                               x582, x532, x566);
6689     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x585, &x586,
6690                                                               x584, x534, x568);
6691     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x587, &x588,
6692                                                               x586, x536, x570);
6693     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x589, &x590,
6694                                                               x588, x538, x572);
6695     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x591, &x592,
6696                                                               x590, x540, x574);
6697     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x593, &x594,
6698                                                               x592, x542, x576);
6699     x595 = ((uint32_t)x594 + x543);
6700     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x596, &x597, x6,
6701                                                          (arg2[7]));
6702     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x598, &x599, x6,
6703                                                          (arg2[6]));
6704     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x600, &x601, x6,
6705                                                          (arg2[5]));
6706     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x602, &x603, x6,
6707                                                          (arg2[4]));
6708     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x604, &x605, x6,
6709                                                          (arg2[3]));
6710     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x606, &x607, x6,
6711                                                          (arg2[2]));
6712     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x608, &x609, x6,
6713                                                          (arg2[1]));
6714     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x610, &x611, x6,
6715                                                          (arg2[0]));
6716     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x612, &x613, 0x0,
6717                                                               x611, x608);
6718     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x614, &x615,
6719                                                               x613, x609, x606);
6720     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x616, &x617,
6721                                                               x615, x607, x604);
6722     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x618, &x619,
6723                                                               x617, x605, x602);
6724     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x620, &x621,
6725                                                               x619, x603, x600);
6726     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x622, &x623,
6727                                                               x621, x601, x598);
6728     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x624, &x625,
6729                                                               x623, x599, x596);
6730     x626 = (x625 + x597);
6731     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x627, &x628, 0x0,
6732                                                               x579, x610);
6733     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x629, &x630,
6734                                                               x628, x581, x612);
6735     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x631, &x632,
6736                                                               x630, x583, x614);
6737     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x633, &x634,
6738                                                               x632, x585, x616);
6739     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x635, &x636,
6740                                                               x634, x587, x618);
6741     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x637, &x638,
6742                                                               x636, x589, x620);
6743     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x639, &x640,
6744                                                               x638, x591, x622);
6745     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x641, &x642,
6746                                                               x640, x593, x624);
6747     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x643, &x644,
6748                                                               x642, x595, x626);
6749     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x645, &x646, x627,
6750                                                          UINT32_C(0x727c176d));
6751     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x647, &x648, x645,
6752                                                          UINT32_C(0x9b9f605f));
6753     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x649, &x650, x645,
6754                                                          UINT32_C(0x5a858107));
6755     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x651, &x652, x645,
6756                                                          UINT32_C(0xab1ec85e));
6757     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x653, &x654, x645,
6758                                                          UINT32_C(0x6b41c8aa));
6759     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x655, &x656, x645,
6760                                                          UINT32_C(0xcf846e86));
6761     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x657, &x658, x645,
6762                                                          UINT32_C(0x789051d3));
6763     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x659, &x660, x645,
6764                                                          UINT32_C(0x7998f7b9));
6765     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x661, &x662, x645,
6766                                                          UINT32_C(0x22d759b));
6767     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x663, &x664, 0x0,
6768                                                               x662, x659);
6769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x665, &x666,
6770                                                               x664, x660, x657);
6771     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x667, &x668,
6772                                                               x666, x658, x655);
6773     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x669, &x670,
6774                                                               x668, x656, x653);
6775     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x671, &x672,
6776                                                               x670, x654, x651);
6777     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x673, &x674,
6778                                                               x672, x652, x649);
6779     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x675, &x676,
6780                                                               x674, x650, x647);
6781     x677 = (x676 + x648);
6782     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x678, &x679, 0x0,
6783                                                               x627, x661);
6784     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x680, &x681,
6785                                                               x679, x629, x663);
6786     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x682, &x683,
6787                                                               x681, x631, x665);
6788     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x684, &x685,
6789                                                               x683, x633, x667);
6790     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x686, &x687,
6791                                                               x685, x635, x669);
6792     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x688, &x689,
6793                                                               x687, x637, x671);
6794     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x690, &x691,
6795                                                               x689, x639, x673);
6796     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x692, &x693,
6797                                                               x691, x641, x675);
6798     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x694, &x695,
6799                                                               x693, x643, x677);
6800     x696 = ((uint32_t)x695 + x644);
6801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x697, &x698, x7,
6802                                                          (arg2[7]));
6803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x699, &x700, x7,
6804                                                          (arg2[6]));
6805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x701, &x702, x7,
6806                                                          (arg2[5]));
6807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x703, &x704, x7,
6808                                                          (arg2[4]));
6809     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x705, &x706, x7,
6810                                                          (arg2[3]));
6811     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x707, &x708, x7,
6812                                                          (arg2[2]));
6813     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x709, &x710, x7,
6814                                                          (arg2[1]));
6815     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x711, &x712, x7,
6816                                                          (arg2[0]));
6817     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x713, &x714, 0x0,
6818                                                               x712, x709);
6819     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x715, &x716,
6820                                                               x714, x710, x707);
6821     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x717, &x718,
6822                                                               x716, x708, x705);
6823     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x719, &x720,
6824                                                               x718, x706, x703);
6825     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x721, &x722,
6826                                                               x720, x704, x701);
6827     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x723, &x724,
6828                                                               x722, x702, x699);
6829     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x725, &x726,
6830                                                               x724, x700, x697);
6831     x727 = (x726 + x698);
6832     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x728, &x729, 0x0,
6833                                                               x680, x711);
6834     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x730, &x731,
6835                                                               x729, x682, x713);
6836     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x732, &x733,
6837                                                               x731, x684, x715);
6838     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x734, &x735,
6839                                                               x733, x686, x717);
6840     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x736, &x737,
6841                                                               x735, x688, x719);
6842     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x738, &x739,
6843                                                               x737, x690, x721);
6844     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x740, &x741,
6845                                                               x739, x692, x723);
6846     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x742, &x743,
6847                                                               x741, x694, x725);
6848     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x744, &x745,
6849                                                               x743, x696, x727);
6850     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x746, &x747, x728,
6851                                                          UINT32_C(0x727c176d));
6852     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x748, &x749, x746,
6853                                                          UINT32_C(0x9b9f605f));
6854     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x750, &x751, x746,
6855                                                          UINT32_C(0x5a858107));
6856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x752, &x753, x746,
6857                                                          UINT32_C(0xab1ec85e));
6858     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x754, &x755, x746,
6859                                                          UINT32_C(0x6b41c8aa));
6860     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x756, &x757, x746,
6861                                                          UINT32_C(0xcf846e86));
6862     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x758, &x759, x746,
6863                                                          UINT32_C(0x789051d3));
6864     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x760, &x761, x746,
6865                                                          UINT32_C(0x7998f7b9));
6866     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x762, &x763, x746,
6867                                                          UINT32_C(0x22d759b));
6868     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x764, &x765, 0x0,
6869                                                               x763, x760);
6870     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x766, &x767,
6871                                                               x765, x761, x758);
6872     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x768, &x769,
6873                                                               x767, x759, x756);
6874     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x770, &x771,
6875                                                               x769, x757, x754);
6876     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x772, &x773,
6877                                                               x771, x755, x752);
6878     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x774, &x775,
6879                                                               x773, x753, x750);
6880     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x776, &x777,
6881                                                               x775, x751, x748);
6882     x778 = (x777 + x749);
6883     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x779, &x780, 0x0,
6884                                                               x728, x762);
6885     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x781, &x782,
6886                                                               x780, x730, x764);
6887     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x783, &x784,
6888                                                               x782, x732, x766);
6889     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x785, &x786,
6890                                                               x784, x734, x768);
6891     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x787, &x788,
6892                                                               x786, x736, x770);
6893     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x789, &x790,
6894                                                               x788, x738, x772);
6895     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x791, &x792,
6896                                                               x790, x740, x774);
6897     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x793, &x794,
6898                                                               x792, x742, x776);
6899     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x795, &x796,
6900                                                               x794, x744, x778);
6901     x797 = ((uint32_t)x796 + x745);
6902     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6903         &x798, &x799, 0x0, x781, UINT32_C(0x22d759b));
6904     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6905         &x800, &x801, x799, x783, UINT32_C(0x7998f7b9));
6906     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6907         &x802, &x803, x801, x785, UINT32_C(0x789051d3));
6908     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6909         &x804, &x805, x803, x787, UINT32_C(0xcf846e86));
6910     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6911         &x806, &x807, x805, x789, UINT32_C(0x6b41c8aa));
6912     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6913         &x808, &x809, x807, x791, UINT32_C(0xab1ec85e));
6914     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6915         &x810, &x811, x809, x793, UINT32_C(0x5a858107));
6916     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6917         &x812, &x813, x811, x795, UINT32_C(0x9b9f605f));
6918     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x814, &x815,
6919                                                                x813, x797, 0x0);
6920     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x816, x815, x798,
6921                                                             x781);
6922     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x817, x815, x800,
6923                                                             x783);
6924     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x818, x815, x802,
6925                                                             x785);
6926     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x819, x815, x804,
6927                                                             x787);
6928     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x820, x815, x806,
6929                                                             x789);
6930     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x821, x815, x808,
6931                                                             x791);
6932     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x822, x815, x810,
6933                                                             x793);
6934     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x823, x815, x812,
6935                                                             x795);
6936     out1[0] = x816;
6937     out1[1] = x817;
6938     out1[2] = x818;
6939     out1[3] = x819;
6940     out1[4] = x820;
6941     out1[5] = x821;
6942     out1[6] = x822;
6943     out1[7] = x823;
6944 }
6945
6946 /*
6947  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square squares a field element in the Montgomery domain.
6948  * Preconditions:
6949  *   0 ≤ eval arg1 < m
6950  * Postconditions:
6951  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
6952  *   0 ≤ eval out1 < m
6953  *
6954  * Input Bounds:
6955  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6956  * Output Bounds:
6957  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6958  */
6959 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(
6960     uint32_t out1[8], const uint32_t arg1[8]) {
6961     uint32_t x1;
6962     uint32_t x2;
6963     uint32_t x3;
6964     uint32_t x4;
6965     uint32_t x5;
6966     uint32_t x6;
6967     uint32_t x7;
6968     uint32_t x8;
6969     uint32_t x9;
6970     uint32_t x10;
6971     uint32_t x11;
6972     uint32_t x12;
6973     uint32_t x13;
6974     uint32_t x14;
6975     uint32_t x15;
6976     uint32_t x16;
6977     uint32_t x17;
6978     uint32_t x18;
6979     uint32_t x19;
6980     uint32_t x20;
6981     uint32_t x21;
6982     uint32_t x22;
6983     uint32_t x23;
6984     uint32_t x24;
6985     uint32_t x25;
6986     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
6987     uint32_t x27;
6988     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
6989     uint32_t x29;
6990     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
6991     uint32_t x31;
6992     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
6993     uint32_t x33;
6994     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
6995     uint32_t x35;
6996     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
6997     uint32_t x37;
6998     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
6999     uint32_t x39;
7000     uint32_t x40;
7001     uint32_t x41;
7002     uint32_t x42;
7003     uint32_t x43;
7004     uint32_t x44;
7005     uint32_t x45;
7006     uint32_t x46;
7007     uint32_t x47;
7008     uint32_t x48;
7009     uint32_t x49;
7010     uint32_t x50;
7011     uint32_t x51;
7012     uint32_t x52;
7013     uint32_t x53;
7014     uint32_t x54;
7015     uint32_t x55;
7016     uint32_t x56;
7017     uint32_t x57;
7018     uint32_t x58;
7019     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
7020     uint32_t x60;
7021     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
7022     uint32_t x62;
7023     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
7024     uint32_t x64;
7025     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
7026     uint32_t x66;
7027     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
7028     uint32_t x68;
7029     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
7030     uint32_t x70;
7031     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x71;
7032     uint32_t x72;
7033     uint32_t x73;
7034     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x74;
7035     uint32_t x75;
7036     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x76;
7037     uint32_t x77;
7038     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
7039     uint32_t x79;
7040     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
7041     uint32_t x81;
7042     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
7043     uint32_t x83;
7044     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
7045     uint32_t x85;
7046     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
7047     uint32_t x87;
7048     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
7049     uint32_t x89;
7050     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
7051     uint32_t x91;
7052     uint32_t x92;
7053     uint32_t x93;
7054     uint32_t x94;
7055     uint32_t x95;
7056     uint32_t x96;
7057     uint32_t x97;
7058     uint32_t x98;
7059     uint32_t x99;
7060     uint32_t x100;
7061     uint32_t x101;
7062     uint32_t x102;
7063     uint32_t x103;
7064     uint32_t x104;
7065     uint32_t x105;
7066     uint32_t x106;
7067     uint32_t x107;
7068     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
7069     uint32_t x109;
7070     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
7071     uint32_t x111;
7072     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
7073     uint32_t x113;
7074     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
7075     uint32_t x115;
7076     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
7077     uint32_t x117;
7078     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
7079     uint32_t x119;
7080     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
7081     uint32_t x121;
7082     uint32_t x122;
7083     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x123;
7084     uint32_t x124;
7085     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x125;
7086     uint32_t x126;
7087     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x127;
7088     uint32_t x128;
7089     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x129;
7090     uint32_t x130;
7091     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x131;
7092     uint32_t x132;
7093     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x133;
7094     uint32_t x134;
7095     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x135;
7096     uint32_t x136;
7097     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x137;
7098     uint32_t x138;
7099     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x139;
7100     uint32_t x140;
7101     uint32_t x141;
7102     uint32_t x142;
7103     uint32_t x143;
7104     uint32_t x144;
7105     uint32_t x145;
7106     uint32_t x146;
7107     uint32_t x147;
7108     uint32_t x148;
7109     uint32_t x149;
7110     uint32_t x150;
7111     uint32_t x151;
7112     uint32_t x152;
7113     uint32_t x153;
7114     uint32_t x154;
7115     uint32_t x155;
7116     uint32_t x156;
7117     uint32_t x157;
7118     uint32_t x158;
7119     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x159;
7120     uint32_t x160;
7121     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x161;
7122     uint32_t x162;
7123     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x163;
7124     uint32_t x164;
7125     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x165;
7126     uint32_t x166;
7127     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x167;
7128     uint32_t x168;
7129     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
7130     uint32_t x170;
7131     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
7132     uint32_t x172;
7133     uint32_t x173;
7134     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
7135     uint32_t x175;
7136     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
7137     uint32_t x177;
7138     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
7139     uint32_t x179;
7140     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
7141     uint32_t x181;
7142     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
7143     uint32_t x183;
7144     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
7145     uint32_t x185;
7146     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x186;
7147     uint32_t x187;
7148     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x188;
7149     uint32_t x189;
7150     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x190;
7151     uint32_t x191;
7152     uint32_t x192;
7153     uint32_t x193;
7154     uint32_t x194;
7155     uint32_t x195;
7156     uint32_t x196;
7157     uint32_t x197;
7158     uint32_t x198;
7159     uint32_t x199;
7160     uint32_t x200;
7161     uint32_t x201;
7162     uint32_t x202;
7163     uint32_t x203;
7164     uint32_t x204;
7165     uint32_t x205;
7166     uint32_t x206;
7167     uint32_t x207;
7168     uint32_t x208;
7169     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
7170     uint32_t x210;
7171     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
7172     uint32_t x212;
7173     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
7174     uint32_t x214;
7175     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
7176     uint32_t x216;
7177     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x217;
7178     uint32_t x218;
7179     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x219;
7180     uint32_t x220;
7181     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x221;
7182     uint32_t x222;
7183     uint32_t x223;
7184     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x224;
7185     uint32_t x225;
7186     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x226;
7187     uint32_t x227;
7188     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x228;
7189     uint32_t x229;
7190     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x230;
7191     uint32_t x231;
7192     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x232;
7193     uint32_t x233;
7194     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x234;
7195     uint32_t x235;
7196     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x236;
7197     uint32_t x237;
7198     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x238;
7199     uint32_t x239;
7200     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x240;
7201     uint32_t x241;
7202     uint32_t x242;
7203     uint32_t x243;
7204     uint32_t x244;
7205     uint32_t x245;
7206     uint32_t x246;
7207     uint32_t x247;
7208     uint32_t x248;
7209     uint32_t x249;
7210     uint32_t x250;
7211     uint32_t x251;
7212     uint32_t x252;
7213     uint32_t x253;
7214     uint32_t x254;
7215     uint32_t x255;
7216     uint32_t x256;
7217     uint32_t x257;
7218     uint32_t x258;
7219     uint32_t x259;
7220     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x260;
7221     uint32_t x261;
7222     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x262;
7223     uint32_t x263;
7224     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x264;
7225     uint32_t x265;
7226     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x266;
7227     uint32_t x267;
7228     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x268;
7229     uint32_t x269;
7230     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x270;
7231     uint32_t x271;
7232     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x272;
7233     uint32_t x273;
7234     uint32_t x274;
7235     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x275;
7236     uint32_t x276;
7237     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x277;
7238     uint32_t x278;
7239     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x279;
7240     uint32_t x280;
7241     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x281;
7242     uint32_t x282;
7243     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x283;
7244     uint32_t x284;
7245     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x285;
7246     uint32_t x286;
7247     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x287;
7248     uint32_t x288;
7249     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x289;
7250     uint32_t x290;
7251     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x291;
7252     uint32_t x292;
7253     uint32_t x293;
7254     uint32_t x294;
7255     uint32_t x295;
7256     uint32_t x296;
7257     uint32_t x297;
7258     uint32_t x298;
7259     uint32_t x299;
7260     uint32_t x300;
7261     uint32_t x301;
7262     uint32_t x302;
7263     uint32_t x303;
7264     uint32_t x304;
7265     uint32_t x305;
7266     uint32_t x306;
7267     uint32_t x307;
7268     uint32_t x308;
7269     uint32_t x309;
7270     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x310;
7271     uint32_t x311;
7272     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x312;
7273     uint32_t x313;
7274     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x314;
7275     uint32_t x315;
7276     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x316;
7277     uint32_t x317;
7278     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x318;
7279     uint32_t x319;
7280     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x320;
7281     uint32_t x321;
7282     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x322;
7283     uint32_t x323;
7284     uint32_t x324;
7285     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x325;
7286     uint32_t x326;
7287     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x327;
7288     uint32_t x328;
7289     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x329;
7290     uint32_t x330;
7291     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x331;
7292     uint32_t x332;
7293     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x333;
7294     uint32_t x334;
7295     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x335;
7296     uint32_t x336;
7297     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x337;
7298     uint32_t x338;
7299     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x339;
7300     uint32_t x340;
7301     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x341;
7302     uint32_t x342;
7303     uint32_t x343;
7304     uint32_t x344;
7305     uint32_t x345;
7306     uint32_t x346;
7307     uint32_t x347;
7308     uint32_t x348;
7309     uint32_t x349;
7310     uint32_t x350;
7311     uint32_t x351;
7312     uint32_t x352;
7313     uint32_t x353;
7314     uint32_t x354;
7315     uint32_t x355;
7316     uint32_t x356;
7317     uint32_t x357;
7318     uint32_t x358;
7319     uint32_t x359;
7320     uint32_t x360;
7321     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x361;
7322     uint32_t x362;
7323     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x363;
7324     uint32_t x364;
7325     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x365;
7326     uint32_t x366;
7327     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x367;
7328     uint32_t x368;
7329     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x369;
7330     uint32_t x370;
7331     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x371;
7332     uint32_t x372;
7333     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x373;
7334     uint32_t x374;
7335     uint32_t x375;
7336     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x376;
7337     uint32_t x377;
7338     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x378;
7339     uint32_t x379;
7340     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x380;
7341     uint32_t x381;
7342     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x382;
7343     uint32_t x383;
7344     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x384;
7345     uint32_t x385;
7346     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x386;
7347     uint32_t x387;
7348     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x388;
7349     uint32_t x389;
7350     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x390;
7351     uint32_t x391;
7352     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x392;
7353     uint32_t x393;
7354     uint32_t x394;
7355     uint32_t x395;
7356     uint32_t x396;
7357     uint32_t x397;
7358     uint32_t x398;
7359     uint32_t x399;
7360     uint32_t x400;
7361     uint32_t x401;
7362     uint32_t x402;
7363     uint32_t x403;
7364     uint32_t x404;
7365     uint32_t x405;
7366     uint32_t x406;
7367     uint32_t x407;
7368     uint32_t x408;
7369     uint32_t x409;
7370     uint32_t x410;
7371     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x411;
7372     uint32_t x412;
7373     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x413;
7374     uint32_t x414;
7375     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x415;
7376     uint32_t x416;
7377     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x417;
7378     uint32_t x418;
7379     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x419;
7380     uint32_t x420;
7381     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x421;
7382     uint32_t x422;
7383     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x423;
7384     uint32_t x424;
7385     uint32_t x425;
7386     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x426;
7387     uint32_t x427;
7388     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x428;
7389     uint32_t x429;
7390     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x430;
7391     uint32_t x431;
7392     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x432;
7393     uint32_t x433;
7394     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x434;
7395     uint32_t x435;
7396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x436;
7397     uint32_t x437;
7398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x438;
7399     uint32_t x439;
7400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x440;
7401     uint32_t x441;
7402     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x442;
7403     uint32_t x443;
7404     uint32_t x444;
7405     uint32_t x445;
7406     uint32_t x446;
7407     uint32_t x447;
7408     uint32_t x448;
7409     uint32_t x449;
7410     uint32_t x450;
7411     uint32_t x451;
7412     uint32_t x452;
7413     uint32_t x453;
7414     uint32_t x454;
7415     uint32_t x455;
7416     uint32_t x456;
7417     uint32_t x457;
7418     uint32_t x458;
7419     uint32_t x459;
7420     uint32_t x460;
7421     uint32_t x461;
7422     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x462;
7423     uint32_t x463;
7424     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x464;
7425     uint32_t x465;
7426     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x466;
7427     uint32_t x467;
7428     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x468;
7429     uint32_t x469;
7430     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x470;
7431     uint32_t x471;
7432     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x472;
7433     uint32_t x473;
7434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x474;
7435     uint32_t x475;
7436     uint32_t x476;
7437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x477;
7438     uint32_t x478;
7439     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x479;
7440     uint32_t x480;
7441     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x481;
7442     uint32_t x482;
7443     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x483;
7444     uint32_t x484;
7445     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x485;
7446     uint32_t x486;
7447     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x487;
7448     uint32_t x488;
7449     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x489;
7450     uint32_t x490;
7451     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x491;
7452     uint32_t x492;
7453     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x493;
7454     uint32_t x494;
7455     uint32_t x495;
7456     uint32_t x496;
7457     uint32_t x497;
7458     uint32_t x498;
7459     uint32_t x499;
7460     uint32_t x500;
7461     uint32_t x501;
7462     uint32_t x502;
7463     uint32_t x503;
7464     uint32_t x504;
7465     uint32_t x505;
7466     uint32_t x506;
7467     uint32_t x507;
7468     uint32_t x508;
7469     uint32_t x509;
7470     uint32_t x510;
7471     uint32_t x511;
7472     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x512;
7473     uint32_t x513;
7474     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x514;
7475     uint32_t x515;
7476     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x516;
7477     uint32_t x517;
7478     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x518;
7479     uint32_t x519;
7480     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x520;
7481     uint32_t x521;
7482     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x522;
7483     uint32_t x523;
7484     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x524;
7485     uint32_t x525;
7486     uint32_t x526;
7487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x527;
7488     uint32_t x528;
7489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x529;
7490     uint32_t x530;
7491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x531;
7492     uint32_t x532;
7493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x533;
7494     uint32_t x534;
7495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x535;
7496     uint32_t x536;
7497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x537;
7498     uint32_t x538;
7499     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x539;
7500     uint32_t x540;
7501     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x541;
7502     uint32_t x542;
7503     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x543;
7504     uint32_t x544;
7505     uint32_t x545;
7506     uint32_t x546;
7507     uint32_t x547;
7508     uint32_t x548;
7509     uint32_t x549;
7510     uint32_t x550;
7511     uint32_t x551;
7512     uint32_t x552;
7513     uint32_t x553;
7514     uint32_t x554;
7515     uint32_t x555;
7516     uint32_t x556;
7517     uint32_t x557;
7518     uint32_t x558;
7519     uint32_t x559;
7520     uint32_t x560;
7521     uint32_t x561;
7522     uint32_t x562;
7523     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x563;
7524     uint32_t x564;
7525     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x565;
7526     uint32_t x566;
7527     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x567;
7528     uint32_t x568;
7529     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x569;
7530     uint32_t x570;
7531     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x571;
7532     uint32_t x572;
7533     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x573;
7534     uint32_t x574;
7535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x575;
7536     uint32_t x576;
7537     uint32_t x577;
7538     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x578;
7539     uint32_t x579;
7540     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x580;
7541     uint32_t x581;
7542     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x582;
7543     uint32_t x583;
7544     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x584;
7545     uint32_t x585;
7546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x586;
7547     uint32_t x587;
7548     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x588;
7549     uint32_t x589;
7550     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x590;
7551     uint32_t x591;
7552     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x592;
7553     uint32_t x593;
7554     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x594;
7555     uint32_t x595;
7556     uint32_t x596;
7557     uint32_t x597;
7558     uint32_t x598;
7559     uint32_t x599;
7560     uint32_t x600;
7561     uint32_t x601;
7562     uint32_t x602;
7563     uint32_t x603;
7564     uint32_t x604;
7565     uint32_t x605;
7566     uint32_t x606;
7567     uint32_t x607;
7568     uint32_t x608;
7569     uint32_t x609;
7570     uint32_t x610;
7571     uint32_t x611;
7572     uint32_t x612;
7573     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x613;
7574     uint32_t x614;
7575     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x615;
7576     uint32_t x616;
7577     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x617;
7578     uint32_t x618;
7579     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x619;
7580     uint32_t x620;
7581     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x621;
7582     uint32_t x622;
7583     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x623;
7584     uint32_t x624;
7585     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x625;
7586     uint32_t x626;
7587     uint32_t x627;
7588     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x628;
7589     uint32_t x629;
7590     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x630;
7591     uint32_t x631;
7592     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x632;
7593     uint32_t x633;
7594     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x634;
7595     uint32_t x635;
7596     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x636;
7597     uint32_t x637;
7598     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x638;
7599     uint32_t x639;
7600     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x640;
7601     uint32_t x641;
7602     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x642;
7603     uint32_t x643;
7604     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x644;
7605     uint32_t x645;
7606     uint32_t x646;
7607     uint32_t x647;
7608     uint32_t x648;
7609     uint32_t x649;
7610     uint32_t x650;
7611     uint32_t x651;
7612     uint32_t x652;
7613     uint32_t x653;
7614     uint32_t x654;
7615     uint32_t x655;
7616     uint32_t x656;
7617     uint32_t x657;
7618     uint32_t x658;
7619     uint32_t x659;
7620     uint32_t x660;
7621     uint32_t x661;
7622     uint32_t x662;
7623     uint32_t x663;
7624     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x664;
7625     uint32_t x665;
7626     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x666;
7627     uint32_t x667;
7628     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x668;
7629     uint32_t x669;
7630     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x670;
7631     uint32_t x671;
7632     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x672;
7633     uint32_t x673;
7634     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x674;
7635     uint32_t x675;
7636     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x676;
7637     uint32_t x677;
7638     uint32_t x678;
7639     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x679;
7640     uint32_t x680;
7641     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x681;
7642     uint32_t x682;
7643     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x683;
7644     uint32_t x684;
7645     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x685;
7646     uint32_t x686;
7647     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x687;
7648     uint32_t x688;
7649     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x689;
7650     uint32_t x690;
7651     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x691;
7652     uint32_t x692;
7653     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x693;
7654     uint32_t x694;
7655     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x695;
7656     uint32_t x696;
7657     uint32_t x697;
7658     uint32_t x698;
7659     uint32_t x699;
7660     uint32_t x700;
7661     uint32_t x701;
7662     uint32_t x702;
7663     uint32_t x703;
7664     uint32_t x704;
7665     uint32_t x705;
7666     uint32_t x706;
7667     uint32_t x707;
7668     uint32_t x708;
7669     uint32_t x709;
7670     uint32_t x710;
7671     uint32_t x711;
7672     uint32_t x712;
7673     uint32_t x713;
7674     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x714;
7675     uint32_t x715;
7676     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x716;
7677     uint32_t x717;
7678     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x718;
7679     uint32_t x719;
7680     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x720;
7681     uint32_t x721;
7682     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x722;
7683     uint32_t x723;
7684     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x724;
7685     uint32_t x725;
7686     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x726;
7687     uint32_t x727;
7688     uint32_t x728;
7689     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x729;
7690     uint32_t x730;
7691     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x731;
7692     uint32_t x732;
7693     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x733;
7694     uint32_t x734;
7695     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x735;
7696     uint32_t x736;
7697     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x737;
7698     uint32_t x738;
7699     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x739;
7700     uint32_t x740;
7701     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x741;
7702     uint32_t x742;
7703     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x743;
7704     uint32_t x744;
7705     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x745;
7706     uint32_t x746;
7707     uint32_t x747;
7708     uint32_t x748;
7709     uint32_t x749;
7710     uint32_t x750;
7711     uint32_t x751;
7712     uint32_t x752;
7713     uint32_t x753;
7714     uint32_t x754;
7715     uint32_t x755;
7716     uint32_t x756;
7717     uint32_t x757;
7718     uint32_t x758;
7719     uint32_t x759;
7720     uint32_t x760;
7721     uint32_t x761;
7722     uint32_t x762;
7723     uint32_t x763;
7724     uint32_t x764;
7725     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x765;
7726     uint32_t x766;
7727     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x767;
7728     uint32_t x768;
7729     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x769;
7730     uint32_t x770;
7731     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x771;
7732     uint32_t x772;
7733     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x773;
7734     uint32_t x774;
7735     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x775;
7736     uint32_t x776;
7737     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x777;
7738     uint32_t x778;
7739     uint32_t x779;
7740     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x780;
7741     uint32_t x781;
7742     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x782;
7743     uint32_t x783;
7744     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x784;
7745     uint32_t x785;
7746     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x786;
7747     uint32_t x787;
7748     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x788;
7749     uint32_t x789;
7750     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x790;
7751     uint32_t x791;
7752     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x792;
7753     uint32_t x793;
7754     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x794;
7755     uint32_t x795;
7756     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x796;
7757     uint32_t x797;
7758     uint32_t x798;
7759     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x799;
7760     uint32_t x800;
7761     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x801;
7762     uint32_t x802;
7763     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x803;
7764     uint32_t x804;
7765     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x805;
7766     uint32_t x806;
7767     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x807;
7768     uint32_t x808;
7769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x809;
7770     uint32_t x810;
7771     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x811;
7772     uint32_t x812;
7773     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x813;
7774     uint32_t x814;
7775     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x815;
7776     uint32_t x816;
7777     uint32_t x817;
7778     uint32_t x818;
7779     uint32_t x819;
7780     uint32_t x820;
7781     uint32_t x821;
7782     uint32_t x822;
7783     uint32_t x823;
7784     x1 = (arg1[1]);
7785     x2 = (arg1[2]);
7786     x3 = (arg1[3]);
7787     x4 = (arg1[4]);
7788     x5 = (arg1[5]);
7789     x6 = (arg1[6]);
7790     x7 = (arg1[7]);
7791     x8 = (arg1[0]);
7792     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x9, &x10, x8,
7793                                                          (arg1[7]));
7794     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x11, &x12, x8,
7795                                                          (arg1[6]));
7796     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x13, &x14, x8,
7797                                                          (arg1[5]));
7798     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x15, &x16, x8,
7799                                                          (arg1[4]));
7800     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x17, &x18, x8,
7801                                                          (arg1[3]));
7802     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x19, &x20, x8,
7803                                                          (arg1[2]));
7804     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x21, &x22, x8,
7805                                                          (arg1[1]));
7806     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x23, &x24, x8,
7807                                                          (arg1[0]));
7808     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
7809                                                               x24, x21);
7810     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x27, &x28, x26,
7811                                                               x22, x19);
7812     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x29, &x30, x28,
7813                                                               x20, x17);
7814     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x31, &x32, x30,
7815                                                               x18, x15);
7816     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x33, &x34, x32,
7817                                                               x16, x13);
7818     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x35, &x36, x34,
7819                                                               x14, x11);
7820     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x37, &x38, x36,
7821                                                               x12, x9);
7822     x39 = (x38 + x10);
7823     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x40, &x41, x23,
7824                                                          UINT32_C(0x727c176d));
7825     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x42, &x43, x40,
7826                                                          UINT32_C(0x9b9f605f));
7827     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x44, &x45, x40,
7828                                                          UINT32_C(0x5a858107));
7829     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x46, &x47, x40,
7830                                                          UINT32_C(0xab1ec85e));
7831     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x48, &x49, x40,
7832                                                          UINT32_C(0x6b41c8aa));
7833     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x50, &x51, x40,
7834                                                          UINT32_C(0xcf846e86));
7835     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x52, &x53, x40,
7836                                                          UINT32_C(0x789051d3));
7837     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x54, &x55, x40,
7838                                                          UINT32_C(0x7998f7b9));
7839     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x56, &x57, x40,
7840                                                          UINT32_C(0x22d759b));
7841     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x58, &x59, 0x0,
7842                                                               x57, x54);
7843     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x60, &x61, x59,
7844                                                               x55, x52);
7845     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x62, &x63, x61,
7846                                                               x53, x50);
7847     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x64, &x65, x63,
7848                                                               x51, x48);
7849     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x66, &x67, x65,
7850                                                               x49, x46);
7851     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x68, &x69, x67,
7852                                                               x47, x44);
7853     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x70, &x71, x69,
7854                                                               x45, x42);
7855     x72 = (x71 + x43);
7856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x73, &x74, 0x0,
7857                                                               x23, x56);
7858     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x75, &x76, x74,
7859                                                               x25, x58);
7860     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x77, &x78, x76,
7861                                                               x27, x60);
7862     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x79, &x80, x78,
7863                                                               x29, x62);
7864     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x81, &x82, x80,
7865                                                               x31, x64);
7866     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x83, &x84, x82,
7867                                                               x33, x66);
7868     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x85, &x86, x84,
7869                                                               x35, x68);
7870     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x87, &x88, x86,
7871                                                               x37, x70);
7872     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x89, &x90, x88,
7873                                                               x39, x72);
7874     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x91, &x92, x1,
7875                                                          (arg1[7]));
7876     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x93, &x94, x1,
7877                                                          (arg1[6]));
7878     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x95, &x96, x1,
7879                                                          (arg1[5]));
7880     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x97, &x98, x1,
7881                                                          (arg1[4]));
7882     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x99, &x100, x1,
7883                                                          (arg1[3]));
7884     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x101, &x102, x1,
7885                                                          (arg1[2]));
7886     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x103, &x104, x1,
7887                                                          (arg1[1]));
7888     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x105, &x106, x1,
7889                                                          (arg1[0]));
7890     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x107, &x108, 0x0,
7891                                                               x106, x103);
7892     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x109, &x110,
7893                                                               x108, x104, x101);
7894     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x111, &x112,
7895                                                               x110, x102, x99);
7896     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x113, &x114,
7897                                                               x112, x100, x97);
7898     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x115, &x116,
7899                                                               x114, x98, x95);
7900     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x117, &x118,
7901                                                               x116, x96, x93);
7902     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x119, &x120,
7903                                                               x118, x94, x91);
7904     x121 = (x120 + x92);
7905     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x122, &x123, 0x0,
7906                                                               x75, x105);
7907     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x124, &x125,
7908                                                               x123, x77, x107);
7909     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x126, &x127,
7910                                                               x125, x79, x109);
7911     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x128, &x129,
7912                                                               x127, x81, x111);
7913     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x130, &x131,
7914                                                               x129, x83, x113);
7915     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x132, &x133,
7916                                                               x131, x85, x115);
7917     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x134, &x135,
7918                                                               x133, x87, x117);
7919     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x136, &x137,
7920                                                               x135, x89, x119);
7921     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x138, &x139,
7922                                                               x137, x90, x121);
7923     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x140, &x141, x122,
7924                                                          UINT32_C(0x727c176d));
7925     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x142, &x143, x140,
7926                                                          UINT32_C(0x9b9f605f));
7927     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x144, &x145, x140,
7928                                                          UINT32_C(0x5a858107));
7929     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x146, &x147, x140,
7930                                                          UINT32_C(0xab1ec85e));
7931     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x148, &x149, x140,
7932                                                          UINT32_C(0x6b41c8aa));
7933     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x150, &x151, x140,
7934                                                          UINT32_C(0xcf846e86));
7935     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x152, &x153, x140,
7936                                                          UINT32_C(0x789051d3));
7937     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x154, &x155, x140,
7938                                                          UINT32_C(0x7998f7b9));
7939     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x156, &x157, x140,
7940                                                          UINT32_C(0x22d759b));
7941     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x158, &x159, 0x0,
7942                                                               x157, x154);
7943     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x160, &x161,
7944                                                               x159, x155, x152);
7945     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x162, &x163,
7946                                                               x161, x153, x150);
7947     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x164, &x165,
7948                                                               x163, x151, x148);
7949     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x166, &x167,
7950                                                               x165, x149, x146);
7951     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x168, &x169,
7952                                                               x167, x147, x144);
7953     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x170, &x171,
7954                                                               x169, x145, x142);
7955     x172 = (x171 + x143);
7956     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x173, &x174, 0x0,
7957                                                               x122, x156);
7958     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x175, &x176,
7959                                                               x174, x124, x158);
7960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x177, &x178,
7961                                                               x176, x126, x160);
7962     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x179, &x180,
7963                                                               x178, x128, x162);
7964     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x181, &x182,
7965                                                               x180, x130, x164);
7966     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x183, &x184,
7967                                                               x182, x132, x166);
7968     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x185, &x186,
7969                                                               x184, x134, x168);
7970     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x187, &x188,
7971                                                               x186, x136, x170);
7972     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x189, &x190,
7973                                                               x188, x138, x172);
7974     x191 = ((uint32_t)x190 + x139);
7975     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x192, &x193, x2,
7976                                                          (arg1[7]));
7977     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x194, &x195, x2,
7978                                                          (arg1[6]));
7979     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x196, &x197, x2,
7980                                                          (arg1[5]));
7981     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x198, &x199, x2,
7982                                                          (arg1[4]));
7983     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x200, &x201, x2,
7984                                                          (arg1[3]));
7985     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x202, &x203, x2,
7986                                                          (arg1[2]));
7987     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x204, &x205, x2,
7988                                                          (arg1[1]));
7989     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x206, &x207, x2,
7990                                                          (arg1[0]));
7991     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x208, &x209, 0x0,
7992                                                               x207, x204);
7993     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x210, &x211,
7994                                                               x209, x205, x202);
7995     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x212, &x213,
7996                                                               x211, x203, x200);
7997     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x214, &x215,
7998                                                               x213, x201, x198);
7999     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x216, &x217,
8000                                                               x215, x199, x196);
8001     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x218, &x219,
8002                                                               x217, x197, x194);
8003     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x220, &x221,
8004                                                               x219, x195, x192);
8005     x222 = (x221 + x193);
8006     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x223, &x224, 0x0,
8007                                                               x175, x206);
8008     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x225, &x226,
8009                                                               x224, x177, x208);
8010     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x227, &x228,
8011                                                               x226, x179, x210);
8012     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x229, &x230,
8013                                                               x228, x181, x212);
8014     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x231, &x232,
8015                                                               x230, x183, x214);
8016     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x233, &x234,
8017                                                               x232, x185, x216);
8018     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x235, &x236,
8019                                                               x234, x187, x218);
8020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x237, &x238,
8021                                                               x236, x189, x220);
8022     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x239, &x240,
8023                                                               x238, x191, x222);
8024     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x241, &x242, x223,
8025                                                          UINT32_C(0x727c176d));
8026     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x243, &x244, x241,
8027                                                          UINT32_C(0x9b9f605f));
8028     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x245, &x246, x241,
8029                                                          UINT32_C(0x5a858107));
8030     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x247, &x248, x241,
8031                                                          UINT32_C(0xab1ec85e));
8032     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x249, &x250, x241,
8033                                                          UINT32_C(0x6b41c8aa));
8034     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x251, &x252, x241,
8035                                                          UINT32_C(0xcf846e86));
8036     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x253, &x254, x241,
8037                                                          UINT32_C(0x789051d3));
8038     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x255, &x256, x241,
8039                                                          UINT32_C(0x7998f7b9));
8040     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x257, &x258, x241,
8041                                                          UINT32_C(0x22d759b));
8042     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x259, &x260, 0x0,
8043                                                               x258, x255);
8044     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x261, &x262,
8045                                                               x260, x256, x253);
8046     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x263, &x264,
8047                                                               x262, x254, x251);
8048     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x265, &x266,
8049                                                               x264, x252, x249);
8050     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x267, &x268,
8051                                                               x266, x250, x247);
8052     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x269, &x270,
8053                                                               x268, x248, x245);
8054     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x271, &x272,
8055                                                               x270, x246, x243);
8056     x273 = (x272 + x244);
8057     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x274, &x275, 0x0,
8058                                                               x223, x257);
8059     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x276, &x277,
8060                                                               x275, x225, x259);
8061     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x278, &x279,
8062                                                               x277, x227, x261);
8063     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x280, &x281,
8064                                                               x279, x229, x263);
8065     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x282, &x283,
8066                                                               x281, x231, x265);
8067     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x284, &x285,
8068                                                               x283, x233, x267);
8069     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x286, &x287,
8070                                                               x285, x235, x269);
8071     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x288, &x289,
8072                                                               x287, x237, x271);
8073     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x290, &x291,
8074                                                               x289, x239, x273);
8075     x292 = ((uint32_t)x291 + x240);
8076     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x293, &x294, x3,
8077                                                          (arg1[7]));
8078     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x295, &x296, x3,
8079                                                          (arg1[6]));
8080     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x297, &x298, x3,
8081                                                          (arg1[5]));
8082     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x299, &x300, x3,
8083                                                          (arg1[4]));
8084     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x301, &x302, x3,
8085                                                          (arg1[3]));
8086     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x303, &x304, x3,
8087                                                          (arg1[2]));
8088     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x305, &x306, x3,
8089                                                          (arg1[1]));
8090     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x307, &x308, x3,
8091                                                          (arg1[0]));
8092     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x309, &x310, 0x0,
8093                                                               x308, x305);
8094     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x311, &x312,
8095                                                               x310, x306, x303);
8096     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x313, &x314,
8097                                                               x312, x304, x301);
8098     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x315, &x316,
8099                                                               x314, x302, x299);
8100     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x317, &x318,
8101                                                               x316, x300, x297);
8102     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x319, &x320,
8103                                                               x318, x298, x295);
8104     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x321, &x322,
8105                                                               x320, x296, x293);
8106     x323 = (x322 + x294);
8107     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x324, &x325, 0x0,
8108                                                               x276, x307);
8109     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x326, &x327,
8110                                                               x325, x278, x309);
8111     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x328, &x329,
8112                                                               x327, x280, x311);
8113     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x330, &x331,
8114                                                               x329, x282, x313);
8115     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x332, &x333,
8116                                                               x331, x284, x315);
8117     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x334, &x335,
8118                                                               x333, x286, x317);
8119     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x336, &x337,
8120                                                               x335, x288, x319);
8121     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x338, &x339,
8122                                                               x337, x290, x321);
8123     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x340, &x341,
8124                                                               x339, x292, x323);
8125     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x342, &x343, x324,
8126                                                          UINT32_C(0x727c176d));
8127     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x344, &x345, x342,
8128                                                          UINT32_C(0x9b9f605f));
8129     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x346, &x347, x342,
8130                                                          UINT32_C(0x5a858107));
8131     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x348, &x349, x342,
8132                                                          UINT32_C(0xab1ec85e));
8133     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x350, &x351, x342,
8134                                                          UINT32_C(0x6b41c8aa));
8135     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x352, &x353, x342,
8136                                                          UINT32_C(0xcf846e86));
8137     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x354, &x355, x342,
8138                                                          UINT32_C(0x789051d3));
8139     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x356, &x357, x342,
8140                                                          UINT32_C(0x7998f7b9));
8141     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x358, &x359, x342,
8142                                                          UINT32_C(0x22d759b));
8143     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x360, &x361, 0x0,
8144                                                               x359, x356);
8145     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x362, &x363,
8146                                                               x361, x357, x354);
8147     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x364, &x365,
8148                                                               x363, x355, x352);
8149     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x366, &x367,
8150                                                               x365, x353, x350);
8151     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x368, &x369,
8152                                                               x367, x351, x348);
8153     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x370, &x371,
8154                                                               x369, x349, x346);
8155     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x372, &x373,
8156                                                               x371, x347, x344);
8157     x374 = (x373 + x345);
8158     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x375, &x376, 0x0,
8159                                                               x324, x358);
8160     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x377, &x378,
8161                                                               x376, x326, x360);
8162     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x379, &x380,
8163                                                               x378, x328, x362);
8164     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x381, &x382,
8165                                                               x380, x330, x364);
8166     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x383, &x384,
8167                                                               x382, x332, x366);
8168     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x385, &x386,
8169                                                               x384, x334, x368);
8170     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x387, &x388,
8171                                                               x386, x336, x370);
8172     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x389, &x390,
8173                                                               x388, x338, x372);
8174     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x391, &x392,
8175                                                               x390, x340, x374);
8176     x393 = ((uint32_t)x392 + x341);
8177     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x394, &x395, x4,
8178                                                          (arg1[7]));
8179     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x396, &x397, x4,
8180                                                          (arg1[6]));
8181     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x398, &x399, x4,
8182                                                          (arg1[5]));
8183     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x400, &x401, x4,
8184                                                          (arg1[4]));
8185     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x402, &x403, x4,
8186                                                          (arg1[3]));
8187     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x404, &x405, x4,
8188                                                          (arg1[2]));
8189     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x406, &x407, x4,
8190                                                          (arg1[1]));
8191     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x408, &x409, x4,
8192                                                          (arg1[0]));
8193     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x410, &x411, 0x0,
8194                                                               x409, x406);
8195     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x412, &x413,
8196                                                               x411, x407, x404);
8197     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x414, &x415,
8198                                                               x413, x405, x402);
8199     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x416, &x417,
8200                                                               x415, x403, x400);
8201     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x418, &x419,
8202                                                               x417, x401, x398);
8203     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x420, &x421,
8204                                                               x419, x399, x396);
8205     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x422, &x423,
8206                                                               x421, x397, x394);
8207     x424 = (x423 + x395);
8208     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x425, &x426, 0x0,
8209                                                               x377, x408);
8210     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x427, &x428,
8211                                                               x426, x379, x410);
8212     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x429, &x430,
8213                                                               x428, x381, x412);
8214     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x431, &x432,
8215                                                               x430, x383, x414);
8216     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x433, &x434,
8217                                                               x432, x385, x416);
8218     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x435, &x436,
8219                                                               x434, x387, x418);
8220     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x437, &x438,
8221                                                               x436, x389, x420);
8222     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x439, &x440,
8223                                                               x438, x391, x422);
8224     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x441, &x442,
8225                                                               x440, x393, x424);
8226     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x443, &x444, x425,
8227                                                          UINT32_C(0x727c176d));
8228     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x445, &x446, x443,
8229                                                          UINT32_C(0x9b9f605f));
8230     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x447, &x448, x443,
8231                                                          UINT32_C(0x5a858107));
8232     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x449, &x450, x443,
8233                                                          UINT32_C(0xab1ec85e));
8234     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x451, &x452, x443,
8235                                                          UINT32_C(0x6b41c8aa));
8236     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x453, &x454, x443,
8237                                                          UINT32_C(0xcf846e86));
8238     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x455, &x456, x443,
8239                                                          UINT32_C(0x789051d3));
8240     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x457, &x458, x443,
8241                                                          UINT32_C(0x7998f7b9));
8242     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x459, &x460, x443,
8243                                                          UINT32_C(0x22d759b));
8244     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x461, &x462, 0x0,
8245                                                               x460, x457);
8246     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x463, &x464,
8247                                                               x462, x458, x455);
8248     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x465, &x466,
8249                                                               x464, x456, x453);
8250     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x467, &x468,
8251                                                               x466, x454, x451);
8252     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x469, &x470,
8253                                                               x468, x452, x449);
8254     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x471, &x472,
8255                                                               x470, x450, x447);
8256     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x473, &x474,
8257                                                               x472, x448, x445);
8258     x475 = (x474 + x446);
8259     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x476, &x477, 0x0,
8260                                                               x425, x459);
8261     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x478, &x479,
8262                                                               x477, x427, x461);
8263     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x480, &x481,
8264                                                               x479, x429, x463);
8265     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x482, &x483,
8266                                                               x481, x431, x465);
8267     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x484, &x485,
8268                                                               x483, x433, x467);
8269     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x486, &x487,
8270                                                               x485, x435, x469);
8271     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x488, &x489,
8272                                                               x487, x437, x471);
8273     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x490, &x491,
8274                                                               x489, x439, x473);
8275     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x492, &x493,
8276                                                               x491, x441, x475);
8277     x494 = ((uint32_t)x493 + x442);
8278     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x495, &x496, x5,
8279                                                          (arg1[7]));
8280     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x497, &x498, x5,
8281                                                          (arg1[6]));
8282     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x499, &x500, x5,
8283                                                          (arg1[5]));
8284     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x501, &x502, x5,
8285                                                          (arg1[4]));
8286     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x503, &x504, x5,
8287                                                          (arg1[3]));
8288     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x505, &x506, x5,
8289                                                          (arg1[2]));
8290     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x507, &x508, x5,
8291                                                          (arg1[1]));
8292     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x509, &x510, x5,
8293                                                          (arg1[0]));
8294     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x511, &x512, 0x0,
8295                                                               x510, x507);
8296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x513, &x514,
8297                                                               x512, x508, x505);
8298     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x515, &x516,
8299                                                               x514, x506, x503);
8300     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x517, &x518,
8301                                                               x516, x504, x501);
8302     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x519, &x520,
8303                                                               x518, x502, x499);
8304     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x521, &x522,
8305                                                               x520, x500, x497);
8306     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x523, &x524,
8307                                                               x522, x498, x495);
8308     x525 = (x524 + x496);
8309     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x526, &x527, 0x0,
8310                                                               x478, x509);
8311     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x528, &x529,
8312                                                               x527, x480, x511);
8313     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x530, &x531,
8314                                                               x529, x482, x513);
8315     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x532, &x533,
8316                                                               x531, x484, x515);
8317     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x534, &x535,
8318                                                               x533, x486, x517);
8319     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x536, &x537,
8320                                                               x535, x488, x519);
8321     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x538, &x539,
8322                                                               x537, x490, x521);
8323     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x540, &x541,
8324                                                               x539, x492, x523);
8325     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x542, &x543,
8326                                                               x541, x494, x525);
8327     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x544, &x545, x526,
8328                                                          UINT32_C(0x727c176d));
8329     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x546, &x547, x544,
8330                                                          UINT32_C(0x9b9f605f));
8331     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x548, &x549, x544,
8332                                                          UINT32_C(0x5a858107));
8333     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x550, &x551, x544,
8334                                                          UINT32_C(0xab1ec85e));
8335     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x552, &x553, x544,
8336                                                          UINT32_C(0x6b41c8aa));
8337     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x554, &x555, x544,
8338                                                          UINT32_C(0xcf846e86));
8339     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x556, &x557, x544,
8340                                                          UINT32_C(0x789051d3));
8341     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x558, &x559, x544,
8342                                                          UINT32_C(0x7998f7b9));
8343     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x560, &x561, x544,
8344                                                          UINT32_C(0x22d759b));
8345     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x562, &x563, 0x0,
8346                                                               x561, x558);
8347     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x564, &x565,
8348                                                               x563, x559, x556);
8349     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x566, &x567,
8350                                                               x565, x557, x554);
8351     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x568, &x569,
8352                                                               x567, x555, x552);
8353     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x570, &x571,
8354                                                               x569, x553, x550);
8355     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x572, &x573,
8356                                                               x571, x551, x548);
8357     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x574, &x575,
8358                                                               x573, x549, x546);
8359     x576 = (x575 + x547);
8360     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x577, &x578, 0x0,
8361                                                               x526, x560);
8362     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x579, &x580,
8363                                                               x578, x528, x562);
8364     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x581, &x582,
8365                                                               x580, x530, x564);
8366     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x583, &x584,
8367                                                               x582, x532, x566);
8368     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x585, &x586,
8369                                                               x584, x534, x568);
8370     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x587, &x588,
8371                                                               x586, x536, x570);
8372     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x589, &x590,
8373                                                               x588, x538, x572);
8374     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x591, &x592,
8375                                                               x590, x540, x574);
8376     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x593, &x594,
8377                                                               x592, x542, x576);
8378     x595 = ((uint32_t)x594 + x543);
8379     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x596, &x597, x6,
8380                                                          (arg1[7]));
8381     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x598, &x599, x6,
8382                                                          (arg1[6]));
8383     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x600, &x601, x6,
8384                                                          (arg1[5]));
8385     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x602, &x603, x6,
8386                                                          (arg1[4]));
8387     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x604, &x605, x6,
8388                                                          (arg1[3]));
8389     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x606, &x607, x6,
8390                                                          (arg1[2]));
8391     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x608, &x609, x6,
8392                                                          (arg1[1]));
8393     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x610, &x611, x6,
8394                                                          (arg1[0]));
8395     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x612, &x613, 0x0,
8396                                                               x611, x608);
8397     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x614, &x615,
8398                                                               x613, x609, x606);
8399     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x616, &x617,
8400                                                               x615, x607, x604);
8401     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x618, &x619,
8402                                                               x617, x605, x602);
8403     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x620, &x621,
8404                                                               x619, x603, x600);
8405     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x622, &x623,
8406                                                               x621, x601, x598);
8407     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x624, &x625,
8408                                                               x623, x599, x596);
8409     x626 = (x625 + x597);
8410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x627, &x628, 0x0,
8411                                                               x579, x610);
8412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x629, &x630,
8413                                                               x628, x581, x612);
8414     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x631, &x632,
8415                                                               x630, x583, x614);
8416     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x633, &x634,
8417                                                               x632, x585, x616);
8418     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x635, &x636,
8419                                                               x634, x587, x618);
8420     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x637, &x638,
8421                                                               x636, x589, x620);
8422     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x639, &x640,
8423                                                               x638, x591, x622);
8424     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x641, &x642,
8425                                                               x640, x593, x624);
8426     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x643, &x644,
8427                                                               x642, x595, x626);
8428     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x645, &x646, x627,
8429                                                          UINT32_C(0x727c176d));
8430     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x647, &x648, x645,
8431                                                          UINT32_C(0x9b9f605f));
8432     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x649, &x650, x645,
8433                                                          UINT32_C(0x5a858107));
8434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x651, &x652, x645,
8435                                                          UINT32_C(0xab1ec85e));
8436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x653, &x654, x645,
8437                                                          UINT32_C(0x6b41c8aa));
8438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x655, &x656, x645,
8439                                                          UINT32_C(0xcf846e86));
8440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x657, &x658, x645,
8441                                                          UINT32_C(0x789051d3));
8442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x659, &x660, x645,
8443                                                          UINT32_C(0x7998f7b9));
8444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x661, &x662, x645,
8445                                                          UINT32_C(0x22d759b));
8446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x663, &x664, 0x0,
8447                                                               x662, x659);
8448     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x665, &x666,
8449                                                               x664, x660, x657);
8450     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x667, &x668,
8451                                                               x666, x658, x655);
8452     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x669, &x670,
8453                                                               x668, x656, x653);
8454     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x671, &x672,
8455                                                               x670, x654, x651);
8456     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x673, &x674,
8457                                                               x672, x652, x649);
8458     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x675, &x676,
8459                                                               x674, x650, x647);
8460     x677 = (x676 + x648);
8461     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x678, &x679, 0x0,
8462                                                               x627, x661);
8463     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x680, &x681,
8464                                                               x679, x629, x663);
8465     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x682, &x683,
8466                                                               x681, x631, x665);
8467     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x684, &x685,
8468                                                               x683, x633, x667);
8469     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x686, &x687,
8470                                                               x685, x635, x669);
8471     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x688, &x689,
8472                                                               x687, x637, x671);
8473     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x690, &x691,
8474                                                               x689, x639, x673);
8475     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x692, &x693,
8476                                                               x691, x641, x675);
8477     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x694, &x695,
8478                                                               x693, x643, x677);
8479     x696 = ((uint32_t)x695 + x644);
8480     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x697, &x698, x7,
8481                                                          (arg1[7]));
8482     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x699, &x700, x7,
8483                                                          (arg1[6]));
8484     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x701, &x702, x7,
8485                                                          (arg1[5]));
8486     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x703, &x704, x7,
8487                                                          (arg1[4]));
8488     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x705, &x706, x7,
8489                                                          (arg1[3]));
8490     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x707, &x708, x7,
8491                                                          (arg1[2]));
8492     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x709, &x710, x7,
8493                                                          (arg1[1]));
8494     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x711, &x712, x7,
8495                                                          (arg1[0]));
8496     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x713, &x714, 0x0,
8497                                                               x712, x709);
8498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x715, &x716,
8499                                                               x714, x710, x707);
8500     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x717, &x718,
8501                                                               x716, x708, x705);
8502     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x719, &x720,
8503                                                               x718, x706, x703);
8504     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x721, &x722,
8505                                                               x720, x704, x701);
8506     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x723, &x724,
8507                                                               x722, x702, x699);
8508     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x725, &x726,
8509                                                               x724, x700, x697);
8510     x727 = (x726 + x698);
8511     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x728, &x729, 0x0,
8512                                                               x680, x711);
8513     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x730, &x731,
8514                                                               x729, x682, x713);
8515     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x732, &x733,
8516                                                               x731, x684, x715);
8517     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x734, &x735,
8518                                                               x733, x686, x717);
8519     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x736, &x737,
8520                                                               x735, x688, x719);
8521     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x738, &x739,
8522                                                               x737, x690, x721);
8523     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x740, &x741,
8524                                                               x739, x692, x723);
8525     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x742, &x743,
8526                                                               x741, x694, x725);
8527     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x744, &x745,
8528                                                               x743, x696, x727);
8529     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x746, &x747, x728,
8530                                                          UINT32_C(0x727c176d));
8531     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x748, &x749, x746,
8532                                                          UINT32_C(0x9b9f605f));
8533     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x750, &x751, x746,
8534                                                          UINT32_C(0x5a858107));
8535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x752, &x753, x746,
8536                                                          UINT32_C(0xab1ec85e));
8537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x754, &x755, x746,
8538                                                          UINT32_C(0x6b41c8aa));
8539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x756, &x757, x746,
8540                                                          UINT32_C(0xcf846e86));
8541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x758, &x759, x746,
8542                                                          UINT32_C(0x789051d3));
8543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x760, &x761, x746,
8544                                                          UINT32_C(0x7998f7b9));
8545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x762, &x763, x746,
8546                                                          UINT32_C(0x22d759b));
8547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x764, &x765, 0x0,
8548                                                               x763, x760);
8549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x766, &x767,
8550                                                               x765, x761, x758);
8551     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x768, &x769,
8552                                                               x767, x759, x756);
8553     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x770, &x771,
8554                                                               x769, x757, x754);
8555     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x772, &x773,
8556                                                               x771, x755, x752);
8557     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x774, &x775,
8558                                                               x773, x753, x750);
8559     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x776, &x777,
8560                                                               x775, x751, x748);
8561     x778 = (x777 + x749);
8562     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x779, &x780, 0x0,
8563                                                               x728, x762);
8564     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x781, &x782,
8565                                                               x780, x730, x764);
8566     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x783, &x784,
8567                                                               x782, x732, x766);
8568     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x785, &x786,
8569                                                               x784, x734, x768);
8570     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x787, &x788,
8571                                                               x786, x736, x770);
8572     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x789, &x790,
8573                                                               x788, x738, x772);
8574     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x791, &x792,
8575                                                               x790, x740, x774);
8576     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x793, &x794,
8577                                                               x792, x742, x776);
8578     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x795, &x796,
8579                                                               x794, x744, x778);
8580     x797 = ((uint32_t)x796 + x745);
8581     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8582         &x798, &x799, 0x0, x781, UINT32_C(0x22d759b));
8583     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8584         &x800, &x801, x799, x783, UINT32_C(0x7998f7b9));
8585     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8586         &x802, &x803, x801, x785, UINT32_C(0x789051d3));
8587     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8588         &x804, &x805, x803, x787, UINT32_C(0xcf846e86));
8589     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8590         &x806, &x807, x805, x789, UINT32_C(0x6b41c8aa));
8591     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8592         &x808, &x809, x807, x791, UINT32_C(0xab1ec85e));
8593     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8594         &x810, &x811, x809, x793, UINT32_C(0x5a858107));
8595     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8596         &x812, &x813, x811, x795, UINT32_C(0x9b9f605f));
8597     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x814, &x815,
8598                                                                x813, x797, 0x0);
8599     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x816, x815, x798,
8600                                                             x781);
8601     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x817, x815, x800,
8602                                                             x783);
8603     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x818, x815, x802,
8604                                                             x785);
8605     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x819, x815, x804,
8606                                                             x787);
8607     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x820, x815, x806,
8608                                                             x789);
8609     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x821, x815, x808,
8610                                                             x791);
8611     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x822, x815, x810,
8612                                                             x793);
8613     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x823, x815, x812,
8614                                                             x795);
8615     out1[0] = x816;
8616     out1[1] = x817;
8617     out1[2] = x818;
8618     out1[3] = x819;
8619     out1[4] = x820;
8620     out1[5] = x821;
8621     out1[6] = x822;
8622     out1[7] = x823;
8623 }
8624
8625 /*
8626  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add adds two field elements in the Montgomery domain.
8627  * Preconditions:
8628  *   0 ≤ eval arg1 < m
8629  *   0 ≤ eval arg2 < m
8630  * Postconditions:
8631  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
8632  *   0 ≤ eval out1 < m
8633  *
8634  * Input Bounds:
8635  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8636  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8637  * Output Bounds:
8638  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8639  */
8640 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(
8641     uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
8642     uint32_t x1;
8643     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
8644     uint32_t x3;
8645     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
8646     uint32_t x5;
8647     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
8648     uint32_t x7;
8649     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
8650     uint32_t x9;
8651     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
8652     uint32_t x11;
8653     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
8654     uint32_t x13;
8655     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
8656     uint32_t x15;
8657     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
8658     uint32_t x17;
8659     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x18;
8660     uint32_t x19;
8661     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x20;
8662     uint32_t x21;
8663     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x22;
8664     uint32_t x23;
8665     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x24;
8666     uint32_t x25;
8667     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
8668     uint32_t x27;
8669     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
8670     uint32_t x29;
8671     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
8672     uint32_t x31;
8673     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
8674     uint32_t x33;
8675     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
8676     uint32_t x35;
8677     uint32_t x36;
8678     uint32_t x37;
8679     uint32_t x38;
8680     uint32_t x39;
8681     uint32_t x40;
8682     uint32_t x41;
8683     uint32_t x42;
8684     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8685         &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
8686     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8687         &x3, &x4, x2, (arg1[1]), (arg2[1]));
8688     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8689         &x5, &x6, x4, (arg1[2]), (arg2[2]));
8690     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8691         &x7, &x8, x6, (arg1[3]), (arg2[3]));
8692     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8693         &x9, &x10, x8, (arg1[4]), (arg2[4]));
8694     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8695         &x11, &x12, x10, (arg1[5]), (arg2[5]));
8696     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8697         &x13, &x14, x12, (arg1[6]), (arg2[6]));
8698     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8699         &x15, &x16, x14, (arg1[7]), (arg2[7]));
8700     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8701         &x17, &x18, 0x0, x1, UINT32_C(0x22d759b));
8702     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8703         &x19, &x20, x18, x3, UINT32_C(0x7998f7b9));
8704     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8705         &x21, &x22, x20, x5, UINT32_C(0x789051d3));
8706     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8707         &x23, &x24, x22, x7, UINT32_C(0xcf846e86));
8708     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8709         &x25, &x26, x24, x9, UINT32_C(0x6b41c8aa));
8710     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8711         &x27, &x28, x26, x11, UINT32_C(0xab1ec85e));
8712     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8713         &x29, &x30, x28, x13, UINT32_C(0x5a858107));
8714     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8715         &x31, &x32, x30, x15, UINT32_C(0x9b9f605f));
8716     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x33, &x34, x32,
8717                                                                x16, 0x0);
8718     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x35, x34, x17, x1);
8719     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x36, x34, x19, x3);
8720     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x37, x34, x21, x5);
8721     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x38, x34, x23, x7);
8722     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x39, x34, x25, x9);
8723     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x40, x34, x27,
8724                                                             x11);
8725     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x41, x34, x29,
8726                                                             x13);
8727     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x42, x34, x31,
8728                                                             x15);
8729     out1[0] = x35;
8730     out1[1] = x36;
8731     out1[2] = x37;
8732     out1[3] = x38;
8733     out1[4] = x39;
8734     out1[5] = x40;
8735     out1[6] = x41;
8736     out1[7] = x42;
8737 }
8738
8739 /*
8740  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub subtracts two field elements in the Montgomery domain.
8741  * Preconditions:
8742  *   0 ≤ eval arg1 < m
8743  *   0 ≤ eval arg2 < m
8744  * Postconditions:
8745  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
8746  *   0 ≤ eval out1 < m
8747  *
8748  * Input Bounds:
8749  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8750  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8751  * Output Bounds:
8752  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8753  */
8754 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(
8755     uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
8756     uint32_t x1;
8757     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
8758     uint32_t x3;
8759     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
8760     uint32_t x5;
8761     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
8762     uint32_t x7;
8763     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
8764     uint32_t x9;
8765     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
8766     uint32_t x11;
8767     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
8768     uint32_t x13;
8769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
8770     uint32_t x15;
8771     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
8772     uint32_t x17;
8773     uint32_t x18;
8774     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x19;
8775     uint32_t x20;
8776     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
8777     uint32_t x22;
8778     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
8779     uint32_t x24;
8780     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
8781     uint32_t x26;
8782     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
8783     uint32_t x28;
8784     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
8785     uint32_t x30;
8786     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
8787     uint32_t x32;
8788     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
8789     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8790         &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
8791     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8792         &x3, &x4, x2, (arg1[1]), (arg2[1]));
8793     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8794         &x5, &x6, x4, (arg1[2]), (arg2[2]));
8795     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8796         &x7, &x8, x6, (arg1[3]), (arg2[3]));
8797     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8798         &x9, &x10, x8, (arg1[4]), (arg2[4]));
8799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8800         &x11, &x12, x10, (arg1[5]), (arg2[5]));
8801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8802         &x13, &x14, x12, (arg1[6]), (arg2[6]));
8803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8804         &x15, &x16, x14, (arg1[7]), (arg2[7]));
8805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
8806         &x17, x16, 0x0, UINT32_C(0xffffffff));
8807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8808         &x18, &x19, 0x0, x1, (x17 & UINT32_C(0x22d759b)));
8809     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8810         &x20, &x21, x19, x3, (x17 & UINT32_C(0x7998f7b9)));
8811     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8812         &x22, &x23, x21, x5, (x17 & UINT32_C(0x789051d3)));
8813     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8814         &x24, &x25, x23, x7, (x17 & UINT32_C(0xcf846e86)));
8815     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8816         &x26, &x27, x25, x9, (x17 & UINT32_C(0x6b41c8aa)));
8817     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8818         &x28, &x29, x27, x11, (x17 & UINT32_C(0xab1ec85e)));
8819     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8820         &x30, &x31, x29, x13, (x17 & UINT32_C(0x5a858107)));
8821     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8822         &x32, &x33, x31, x15, (x17 & UINT32_C(0x9b9f605f)));
8823     out1[0] = x18;
8824     out1[1] = x20;
8825     out1[2] = x22;
8826     out1[3] = x24;
8827     out1[4] = x26;
8828     out1[5] = x28;
8829     out1[6] = x30;
8830     out1[7] = x32;
8831 }
8832
8833 /*
8834  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp negates a field element in the Montgomery domain.
8835  * Preconditions:
8836  *   0 ≤ eval arg1 < m
8837  * Postconditions:
8838  *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
8839  *   0 ≤ eval out1 < m
8840  *
8841  * Input Bounds:
8842  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8843  * Output Bounds:
8844  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8845  */
8846 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(
8847     uint32_t out1[8], const uint32_t arg1[8]) {
8848     uint32_t x1;
8849     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
8850     uint32_t x3;
8851     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
8852     uint32_t x5;
8853     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
8854     uint32_t x7;
8855     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
8856     uint32_t x9;
8857     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
8858     uint32_t x11;
8859     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
8860     uint32_t x13;
8861     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
8862     uint32_t x15;
8863     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
8864     uint32_t x17;
8865     uint32_t x18;
8866     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x19;
8867     uint32_t x20;
8868     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
8869     uint32_t x22;
8870     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
8871     uint32_t x24;
8872     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
8873     uint32_t x26;
8874     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
8875     uint32_t x28;
8876     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
8877     uint32_t x30;
8878     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
8879     uint32_t x32;
8880     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
8881     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x1, &x2, 0x0,
8882                                                                0x0, (arg1[0]));
8883     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x3, &x4, x2,
8884                                                                0x0, (arg1[1]));
8885     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x5, &x6, x4,
8886                                                                0x0, (arg1[2]));
8887     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x7, &x8, x6,
8888                                                                0x0, (arg1[3]));
8889     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x9, &x10, x8,
8890                                                                0x0, (arg1[4]));
8891     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x11, &x12, x10,
8892                                                                0x0, (arg1[5]));
8893     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x13, &x14, x12,
8894                                                                0x0, (arg1[6]));
8895     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x15, &x16, x14,
8896                                                                0x0, (arg1[7]));
8897     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
8898         &x17, x16, 0x0, UINT32_C(0xffffffff));
8899     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8900         &x18, &x19, 0x0, x1, (x17 & UINT32_C(0x22d759b)));
8901     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8902         &x20, &x21, x19, x3, (x17 & UINT32_C(0x7998f7b9)));
8903     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8904         &x22, &x23, x21, x5, (x17 & UINT32_C(0x789051d3)));
8905     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8906         &x24, &x25, x23, x7, (x17 & UINT32_C(0xcf846e86)));
8907     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8908         &x26, &x27, x25, x9, (x17 & UINT32_C(0x6b41c8aa)));
8909     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8910         &x28, &x29, x27, x11, (x17 & UINT32_C(0xab1ec85e)));
8911     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8912         &x30, &x31, x29, x13, (x17 & UINT32_C(0x5a858107)));
8913     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8914         &x32, &x33, x31, x15, (x17 & UINT32_C(0x9b9f605f)));
8915     out1[0] = x18;
8916     out1[1] = x20;
8917     out1[2] = x22;
8918     out1[3] = x24;
8919     out1[4] = x26;
8920     out1[5] = x28;
8921     out1[6] = x30;
8922     out1[7] = x32;
8923 }
8924
8925 /*
8926  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery translates a field element out of the Montgomery domain.
8927  * Preconditions:
8928  *   0 ≤ eval arg1 < m
8929  * Postconditions:
8930  *   eval out1 mod m = (eval arg1 * ((2^32)⁻¹ mod m)^8) mod m
8931  *   0 ≤ eval out1 < m
8932  *
8933  * Input Bounds:
8934  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8935  * Output Bounds:
8936  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8937  */
8938 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(
8939     uint32_t out1[8], const uint32_t arg1[8]) {
8940     uint32_t x1;
8941     uint32_t x2;
8942     uint32_t x3;
8943     uint32_t x4;
8944     uint32_t x5;
8945     uint32_t x6;
8946     uint32_t x7;
8947     uint32_t x8;
8948     uint32_t x9;
8949     uint32_t x10;
8950     uint32_t x11;
8951     uint32_t x12;
8952     uint32_t x13;
8953     uint32_t x14;
8954     uint32_t x15;
8955     uint32_t x16;
8956     uint32_t x17;
8957     uint32_t x18;
8958     uint32_t x19;
8959     uint32_t x20;
8960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
8961     uint32_t x22;
8962     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
8963     uint32_t x24;
8964     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
8965     uint32_t x26;
8966     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
8967     uint32_t x28;
8968     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
8969     uint32_t x30;
8970     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
8971     uint32_t x32;
8972     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
8973     uint32_t x34;
8974     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x35;
8975     uint32_t x36;
8976     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x37;
8977     uint32_t x38;
8978     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x39;
8979     uint32_t x40;
8980     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x41;
8981     uint32_t x42;
8982     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x43;
8983     uint32_t x44;
8984     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x45;
8985     uint32_t x46;
8986     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x47;
8987     uint32_t x48;
8988     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x49;
8989     uint32_t x50;
8990     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x51;
8991     uint32_t x52;
8992     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x53;
8993     uint32_t x54;
8994     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x55;
8995     uint32_t x56;
8996     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x57;
8997     uint32_t x58;
8998     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
8999     uint32_t x60;
9000     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
9001     uint32_t x62;
9002     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
9003     uint32_t x64;
9004     uint32_t x65;
9005     uint32_t x66;
9006     uint32_t x67;
9007     uint32_t x68;
9008     uint32_t x69;
9009     uint32_t x70;
9010     uint32_t x71;
9011     uint32_t x72;
9012     uint32_t x73;
9013     uint32_t x74;
9014     uint32_t x75;
9015     uint32_t x76;
9016     uint32_t x77;
9017     uint32_t x78;
9018     uint32_t x79;
9019     uint32_t x80;
9020     uint32_t x81;
9021     uint32_t x82;
9022     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x83;
9023     uint32_t x84;
9024     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x85;
9025     uint32_t x86;
9026     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x87;
9027     uint32_t x88;
9028     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x89;
9029     uint32_t x90;
9030     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x91;
9031     uint32_t x92;
9032     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x93;
9033     uint32_t x94;
9034     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x95;
9035     uint32_t x96;
9036     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x97;
9037     uint32_t x98;
9038     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x99;
9039     uint32_t x100;
9040     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x101;
9041     uint32_t x102;
9042     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x103;
9043     uint32_t x104;
9044     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x105;
9045     uint32_t x106;
9046     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x107;
9047     uint32_t x108;
9048     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x109;
9049     uint32_t x110;
9050     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x111;
9051     uint32_t x112;
9052     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x113;
9053     uint32_t x114;
9054     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x115;
9055     uint32_t x116;
9056     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x117;
9057     uint32_t x118;
9058     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x119;
9059     uint32_t x120;
9060     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x121;
9061     uint32_t x122;
9062     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x123;
9063     uint32_t x124;
9064     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x125;
9065     uint32_t x126;
9066     uint32_t x127;
9067     uint32_t x128;
9068     uint32_t x129;
9069     uint32_t x130;
9070     uint32_t x131;
9071     uint32_t x132;
9072     uint32_t x133;
9073     uint32_t x134;
9074     uint32_t x135;
9075     uint32_t x136;
9076     uint32_t x137;
9077     uint32_t x138;
9078     uint32_t x139;
9079     uint32_t x140;
9080     uint32_t x141;
9081     uint32_t x142;
9082     uint32_t x143;
9083     uint32_t x144;
9084     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x145;
9085     uint32_t x146;
9086     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x147;
9087     uint32_t x148;
9088     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x149;
9089     uint32_t x150;
9090     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x151;
9091     uint32_t x152;
9092     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x153;
9093     uint32_t x154;
9094     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x155;
9095     uint32_t x156;
9096     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x157;
9097     uint32_t x158;
9098     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x159;
9099     uint32_t x160;
9100     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x161;
9101     uint32_t x162;
9102     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x163;
9103     uint32_t x164;
9104     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x165;
9105     uint32_t x166;
9106     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x167;
9107     uint32_t x168;
9108     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
9109     uint32_t x170;
9110     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
9111     uint32_t x172;
9112     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x173;
9113     uint32_t x174;
9114     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x175;
9115     uint32_t x176;
9116     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x177;
9117     uint32_t x178;
9118     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x179;
9119     uint32_t x180;
9120     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x181;
9121     uint32_t x182;
9122     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x183;
9123     uint32_t x184;
9124     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x185;
9125     uint32_t x186;
9126     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x187;
9127     uint32_t x188;
9128     uint32_t x189;
9129     uint32_t x190;
9130     uint32_t x191;
9131     uint32_t x192;
9132     uint32_t x193;
9133     uint32_t x194;
9134     uint32_t x195;
9135     uint32_t x196;
9136     uint32_t x197;
9137     uint32_t x198;
9138     uint32_t x199;
9139     uint32_t x200;
9140     uint32_t x201;
9141     uint32_t x202;
9142     uint32_t x203;
9143     uint32_t x204;
9144     uint32_t x205;
9145     uint32_t x206;
9146     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x207;
9147     uint32_t x208;
9148     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
9149     uint32_t x210;
9150     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
9151     uint32_t x212;
9152     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
9153     uint32_t x214;
9154     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
9155     uint32_t x216;
9156     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x217;
9157     uint32_t x218;
9158     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x219;
9159     uint32_t x220;
9160     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x221;
9161     uint32_t x222;
9162     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x223;
9163     uint32_t x224;
9164     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x225;
9165     uint32_t x226;
9166     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x227;
9167     uint32_t x228;
9168     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x229;
9169     uint32_t x230;
9170     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x231;
9171     uint32_t x232;
9172     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x233;
9173     uint32_t x234;
9174     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x235;
9175     uint32_t x236;
9176     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x237;
9177     uint32_t x238;
9178     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x239;
9179     uint32_t x240;
9180     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x241;
9181     uint32_t x242;
9182     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x243;
9183     uint32_t x244;
9184     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x245;
9185     uint32_t x246;
9186     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x247;
9187     uint32_t x248;
9188     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x249;
9189     uint32_t x250;
9190     uint32_t x251;
9191     uint32_t x252;
9192     uint32_t x253;
9193     uint32_t x254;
9194     uint32_t x255;
9195     uint32_t x256;
9196     uint32_t x257;
9197     uint32_t x258;
9198     uint32_t x259;
9199     uint32_t x260;
9200     uint32_t x261;
9201     uint32_t x262;
9202     uint32_t x263;
9203     uint32_t x264;
9204     uint32_t x265;
9205     uint32_t x266;
9206     uint32_t x267;
9207     uint32_t x268;
9208     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x269;
9209     uint32_t x270;
9210     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x271;
9211     uint32_t x272;
9212     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x273;
9213     uint32_t x274;
9214     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x275;
9215     uint32_t x276;
9216     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x277;
9217     uint32_t x278;
9218     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x279;
9219     uint32_t x280;
9220     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x281;
9221     uint32_t x282;
9222     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x283;
9223     uint32_t x284;
9224     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x285;
9225     uint32_t x286;
9226     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x287;
9227     uint32_t x288;
9228     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x289;
9229     uint32_t x290;
9230     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x291;
9231     uint32_t x292;
9232     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x293;
9233     uint32_t x294;
9234     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x295;
9235     uint32_t x296;
9236     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x297;
9237     uint32_t x298;
9238     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x299;
9239     uint32_t x300;
9240     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x301;
9241     uint32_t x302;
9242     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x303;
9243     uint32_t x304;
9244     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x305;
9245     uint32_t x306;
9246     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x307;
9247     uint32_t x308;
9248     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x309;
9249     uint32_t x310;
9250     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x311;
9251     uint32_t x312;
9252     uint32_t x313;
9253     uint32_t x314;
9254     uint32_t x315;
9255     uint32_t x316;
9256     uint32_t x317;
9257     uint32_t x318;
9258     uint32_t x319;
9259     uint32_t x320;
9260     uint32_t x321;
9261     uint32_t x322;
9262     uint32_t x323;
9263     uint32_t x324;
9264     uint32_t x325;
9265     uint32_t x326;
9266     uint32_t x327;
9267     uint32_t x328;
9268     uint32_t x329;
9269     uint32_t x330;
9270     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x331;
9271     uint32_t x332;
9272     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x333;
9273     uint32_t x334;
9274     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x335;
9275     uint32_t x336;
9276     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x337;
9277     uint32_t x338;
9278     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x339;
9279     uint32_t x340;
9280     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x341;
9281     uint32_t x342;
9282     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x343;
9283     uint32_t x344;
9284     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x345;
9285     uint32_t x346;
9286     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x347;
9287     uint32_t x348;
9288     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x349;
9289     uint32_t x350;
9290     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x351;
9291     uint32_t x352;
9292     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x353;
9293     uint32_t x354;
9294     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x355;
9295     uint32_t x356;
9296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x357;
9297     uint32_t x358;
9298     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x359;
9299     uint32_t x360;
9300     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x361;
9301     uint32_t x362;
9302     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x363;
9303     uint32_t x364;
9304     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x365;
9305     uint32_t x366;
9306     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x367;
9307     uint32_t x368;
9308     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x369;
9309     uint32_t x370;
9310     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x371;
9311     uint32_t x372;
9312     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x373;
9313     uint32_t x374;
9314     uint32_t x375;
9315     uint32_t x376;
9316     uint32_t x377;
9317     uint32_t x378;
9318     uint32_t x379;
9319     uint32_t x380;
9320     uint32_t x381;
9321     uint32_t x382;
9322     uint32_t x383;
9323     uint32_t x384;
9324     uint32_t x385;
9325     uint32_t x386;
9326     uint32_t x387;
9327     uint32_t x388;
9328     uint32_t x389;
9329     uint32_t x390;
9330     uint32_t x391;
9331     uint32_t x392;
9332     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x393;
9333     uint32_t x394;
9334     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x395;
9335     uint32_t x396;
9336     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x397;
9337     uint32_t x398;
9338     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x399;
9339     uint32_t x400;
9340     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x401;
9341     uint32_t x402;
9342     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x403;
9343     uint32_t x404;
9344     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x405;
9345     uint32_t x406;
9346     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x407;
9347     uint32_t x408;
9348     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x409;
9349     uint32_t x410;
9350     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x411;
9351     uint32_t x412;
9352     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x413;
9353     uint32_t x414;
9354     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x415;
9355     uint32_t x416;
9356     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x417;
9357     uint32_t x418;
9358     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x419;
9359     uint32_t x420;
9360     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x421;
9361     uint32_t x422;
9362     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x423;
9363     uint32_t x424;
9364     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x425;
9365     uint32_t x426;
9366     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x427;
9367     uint32_t x428;
9368     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x429;
9369     uint32_t x430;
9370     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x431;
9371     uint32_t x432;
9372     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x433;
9373     uint32_t x434;
9374     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x435;
9375     uint32_t x436;
9376     uint32_t x437;
9377     uint32_t x438;
9378     uint32_t x439;
9379     uint32_t x440;
9380     uint32_t x441;
9381     uint32_t x442;
9382     uint32_t x443;
9383     uint32_t x444;
9384     uint32_t x445;
9385     uint32_t x446;
9386     uint32_t x447;
9387     uint32_t x448;
9388     uint32_t x449;
9389     uint32_t x450;
9390     uint32_t x451;
9391     uint32_t x452;
9392     uint32_t x453;
9393     uint32_t x454;
9394     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x455;
9395     uint32_t x456;
9396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x457;
9397     uint32_t x458;
9398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x459;
9399     uint32_t x460;
9400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x461;
9401     uint32_t x462;
9402     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x463;
9403     uint32_t x464;
9404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x465;
9405     uint32_t x466;
9406     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x467;
9407     uint32_t x468;
9408     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x469;
9409     uint32_t x470;
9410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x471;
9411     uint32_t x472;
9412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x473;
9413     uint32_t x474;
9414     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x475;
9415     uint32_t x476;
9416     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x477;
9417     uint32_t x478;
9418     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x479;
9419     uint32_t x480;
9420     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x481;
9421     uint32_t x482;
9422     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x483;
9423     uint32_t x484;
9424     uint32_t x485;
9425     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x486;
9426     uint32_t x487;
9427     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x488;
9428     uint32_t x489;
9429     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x490;
9430     uint32_t x491;
9431     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x492;
9432     uint32_t x493;
9433     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x494;
9434     uint32_t x495;
9435     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x496;
9436     uint32_t x497;
9437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x498;
9438     uint32_t x499;
9439     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x500;
9440     uint32_t x501;
9441     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x502;
9442     uint32_t x503;
9443     uint32_t x504;
9444     uint32_t x505;
9445     uint32_t x506;
9446     uint32_t x507;
9447     uint32_t x508;
9448     uint32_t x509;
9449     uint32_t x510;
9450     x1 = (arg1[0]);
9451     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x2, &x3, x1,
9452                                                          UINT32_C(0x727c176d));
9453     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x4, &x5, x2,
9454                                                          UINT32_C(0x9b9f605f));
9455     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x6, &x7, x2,
9456                                                          UINT32_C(0x5a858107));
9457     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x8, &x9, x2,
9458                                                          UINT32_C(0xab1ec85e));
9459     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x10, &x11, x2,
9460                                                          UINT32_C(0x6b41c8aa));
9461     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x12, &x13, x2,
9462                                                          UINT32_C(0xcf846e86));
9463     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x14, &x15, x2,
9464                                                          UINT32_C(0x789051d3));
9465     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x16, &x17, x2,
9466                                                          UINT32_C(0x7998f7b9));
9467     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x18, &x19, x2,
9468                                                          UINT32_C(0x22d759b));
9469     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x20, &x21, 0x0,
9470                                                               x19, x16);
9471     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x22, &x23, x21,
9472                                                               x17, x14);
9473     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x24, &x25, x23,
9474                                                               x15, x12);
9475     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x26, &x27, x25,
9476                                                               x13, x10);
9477     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x28, &x29, x27,
9478                                                               x11, x8);
9479     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x30, &x31, x29,
9480                                                               x9, x6);
9481     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x32, &x33, x31,
9482                                                               x7, x4);
9483     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x34, &x35, 0x0,
9484                                                               x1, x18);
9485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x36, &x37, x35,
9486                                                               0x0, x20);
9487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x38, &x39, x37,
9488                                                               0x0, x22);
9489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x40, &x41, x39,
9490                                                               0x0, x24);
9491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x42, &x43, x41,
9492                                                               0x0, x26);
9493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x44, &x45, x43,
9494                                                               0x0, x28);
9495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x46, &x47, x45,
9496                                                               0x0, x30);
9497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x48, &x49, x47,
9498                                                               0x0, x32);
9499     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x50, &x51, 0x0,
9500                                                               x36, (arg1[1]));
9501     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x52, &x53, x51,
9502                                                               x38, 0x0);
9503     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x54, &x55, x53,
9504                                                               x40, 0x0);
9505     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x56, &x57, x55,
9506                                                               x42, 0x0);
9507     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x58, &x59, x57,
9508                                                               x44, 0x0);
9509     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x60, &x61, x59,
9510                                                               x46, 0x0);
9511     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x62, &x63, x61,
9512                                                               x48, 0x0);
9513     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x64, &x65, x50,
9514                                                          UINT32_C(0x727c176d));
9515     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x66, &x67, x64,
9516                                                          UINT32_C(0x9b9f605f));
9517     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x68, &x69, x64,
9518                                                          UINT32_C(0x5a858107));
9519     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x70, &x71, x64,
9520                                                          UINT32_C(0xab1ec85e));
9521     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x72, &x73, x64,
9522                                                          UINT32_C(0x6b41c8aa));
9523     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x74, &x75, x64,
9524                                                          UINT32_C(0xcf846e86));
9525     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x76, &x77, x64,
9526                                                          UINT32_C(0x789051d3));
9527     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x78, &x79, x64,
9528                                                          UINT32_C(0x7998f7b9));
9529     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x80, &x81, x64,
9530                                                          UINT32_C(0x22d759b));
9531     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x82, &x83, 0x0,
9532                                                               x81, x78);
9533     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x84, &x85, x83,
9534                                                               x79, x76);
9535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x86, &x87, x85,
9536                                                               x77, x74);
9537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x88, &x89, x87,
9538                                                               x75, x72);
9539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x90, &x91, x89,
9540                                                               x73, x70);
9541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x92, &x93, x91,
9542                                                               x71, x68);
9543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x94, &x95, x93,
9544                                                               x69, x66);
9545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x96, &x97, 0x0,
9546                                                               x50, x80);
9547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x98, &x99, x97,
9548                                                               x52, x82);
9549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x100, &x101, x99,
9550                                                               x54, x84);
9551     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x102, &x103,
9552                                                               x101, x56, x86);
9553     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x104, &x105,
9554                                                               x103, x58, x88);
9555     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x106, &x107,
9556                                                               x105, x60, x90);
9557     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x108, &x109,
9558                                                               x107, x62, x92);
9559     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9560         &x110, &x111, x109, (x63 + (x49 + (x33 + x5))), x94);
9561     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x112, &x113, 0x0,
9562                                                               x98, (arg1[2]));
9563     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x114, &x115,
9564                                                               x113, x100, 0x0);
9565     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x116, &x117,
9566                                                               x115, x102, 0x0);
9567     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x118, &x119,
9568                                                               x117, x104, 0x0);
9569     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x120, &x121,
9570                                                               x119, x106, 0x0);
9571     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x122, &x123,
9572                                                               x121, x108, 0x0);
9573     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x124, &x125,
9574                                                               x123, x110, 0x0);
9575     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x126, &x127, x112,
9576                                                          UINT32_C(0x727c176d));
9577     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x128, &x129, x126,
9578                                                          UINT32_C(0x9b9f605f));
9579     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x130, &x131, x126,
9580                                                          UINT32_C(0x5a858107));
9581     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x132, &x133, x126,
9582                                                          UINT32_C(0xab1ec85e));
9583     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x134, &x135, x126,
9584                                                          UINT32_C(0x6b41c8aa));
9585     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x136, &x137, x126,
9586                                                          UINT32_C(0xcf846e86));
9587     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x138, &x139, x126,
9588                                                          UINT32_C(0x789051d3));
9589     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x140, &x141, x126,
9590                                                          UINT32_C(0x7998f7b9));
9591     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x142, &x143, x126,
9592                                                          UINT32_C(0x22d759b));
9593     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x144, &x145, 0x0,
9594                                                               x143, x140);
9595     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x146, &x147,
9596                                                               x145, x141, x138);
9597     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x148, &x149,
9598                                                               x147, x139, x136);
9599     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x150, &x151,
9600                                                               x149, x137, x134);
9601     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x152, &x153,
9602                                                               x151, x135, x132);
9603     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x154, &x155,
9604                                                               x153, x133, x130);
9605     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x156, &x157,
9606                                                               x155, x131, x128);
9607     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x158, &x159, 0x0,
9608                                                               x112, x142);
9609     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x160, &x161,
9610                                                               x159, x114, x144);
9611     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x162, &x163,
9612                                                               x161, x116, x146);
9613     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x164, &x165,
9614                                                               x163, x118, x148);
9615     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x166, &x167,
9616                                                               x165, x120, x150);
9617     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x168, &x169,
9618                                                               x167, x122, x152);
9619     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x170, &x171,
9620                                                               x169, x124, x154);
9621     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9622         &x172, &x173, x171, (x125 + (x111 + (x95 + x67))), x156);
9623     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x174, &x175, 0x0,
9624                                                               x160, (arg1[3]));
9625     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x176, &x177,
9626                                                               x175, x162, 0x0);
9627     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x178, &x179,
9628                                                               x177, x164, 0x0);
9629     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x180, &x181,
9630                                                               x179, x166, 0x0);
9631     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x182, &x183,
9632                                                               x181, x168, 0x0);
9633     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x184, &x185,
9634                                                               x183, x170, 0x0);
9635     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x186, &x187,
9636                                                               x185, x172, 0x0);
9637     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x188, &x189, x174,
9638                                                          UINT32_C(0x727c176d));
9639     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x190, &x191, x188,
9640                                                          UINT32_C(0x9b9f605f));
9641     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x192, &x193, x188,
9642                                                          UINT32_C(0x5a858107));
9643     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x194, &x195, x188,
9644                                                          UINT32_C(0xab1ec85e));
9645     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x196, &x197, x188,
9646                                                          UINT32_C(0x6b41c8aa));
9647     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x198, &x199, x188,
9648                                                          UINT32_C(0xcf846e86));
9649     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x200, &x201, x188,
9650                                                          UINT32_C(0x789051d3));
9651     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x202, &x203, x188,
9652                                                          UINT32_C(0x7998f7b9));
9653     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x204, &x205, x188,
9654                                                          UINT32_C(0x22d759b));
9655     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x206, &x207, 0x0,
9656                                                               x205, x202);
9657     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x208, &x209,
9658                                                               x207, x203, x200);
9659     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x210, &x211,
9660                                                               x209, x201, x198);
9661     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x212, &x213,
9662                                                               x211, x199, x196);
9663     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x214, &x215,
9664                                                               x213, x197, x194);
9665     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x216, &x217,
9666                                                               x215, x195, x192);
9667     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x218, &x219,
9668                                                               x217, x193, x190);
9669     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x220, &x221, 0x0,
9670                                                               x174, x204);
9671     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x222, &x223,
9672                                                               x221, x176, x206);
9673     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x224, &x225,
9674                                                               x223, x178, x208);
9675     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x226, &x227,
9676                                                               x225, x180, x210);
9677     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x228, &x229,
9678                                                               x227, x182, x212);
9679     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x230, &x231,
9680                                                               x229, x184, x214);
9681     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x232, &x233,
9682                                                               x231, x186, x216);
9683     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9684         &x234, &x235, x233, (x187 + (x173 + (x157 + x129))), x218);
9685     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x236, &x237, 0x0,
9686                                                               x222, (arg1[4]));
9687     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x238, &x239,
9688                                                               x237, x224, 0x0);
9689     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x240, &x241,
9690                                                               x239, x226, 0x0);
9691     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x242, &x243,
9692                                                               x241, x228, 0x0);
9693     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x244, &x245,
9694                                                               x243, x230, 0x0);
9695     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x246, &x247,
9696                                                               x245, x232, 0x0);
9697     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x248, &x249,
9698                                                               x247, x234, 0x0);
9699     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x250, &x251, x236,
9700                                                          UINT32_C(0x727c176d));
9701     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x252, &x253, x250,
9702                                                          UINT32_C(0x9b9f605f));
9703     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x254, &x255, x250,
9704                                                          UINT32_C(0x5a858107));
9705     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x256, &x257, x250,
9706                                                          UINT32_C(0xab1ec85e));
9707     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x258, &x259, x250,
9708                                                          UINT32_C(0x6b41c8aa));
9709     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x260, &x261, x250,
9710                                                          UINT32_C(0xcf846e86));
9711     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x262, &x263, x250,
9712                                                          UINT32_C(0x789051d3));
9713     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x264, &x265, x250,
9714                                                          UINT32_C(0x7998f7b9));
9715     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x266, &x267, x250,
9716                                                          UINT32_C(0x22d759b));
9717     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x268, &x269, 0x0,
9718                                                               x267, x264);
9719     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x270, &x271,
9720                                                               x269, x265, x262);
9721     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x272, &x273,
9722                                                               x271, x263, x260);
9723     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x274, &x275,
9724                                                               x273, x261, x258);
9725     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x276, &x277,
9726                                                               x275, x259, x256);
9727     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x278, &x279,
9728                                                               x277, x257, x254);
9729     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x280, &x281,
9730                                                               x279, x255, x252);
9731     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x282, &x283, 0x0,
9732                                                               x236, x266);
9733     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x284, &x285,
9734                                                               x283, x238, x268);
9735     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x286, &x287,
9736                                                               x285, x240, x270);
9737     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x288, &x289,
9738                                                               x287, x242, x272);
9739     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x290, &x291,
9740                                                               x289, x244, x274);
9741     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x292, &x293,
9742                                                               x291, x246, x276);
9743     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x294, &x295,
9744                                                               x293, x248, x278);
9745     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9746         &x296, &x297, x295, (x249 + (x235 + (x219 + x191))), x280);
9747     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x298, &x299, 0x0,
9748                                                               x284, (arg1[5]));
9749     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x300, &x301,
9750                                                               x299, x286, 0x0);
9751     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x302, &x303,
9752                                                               x301, x288, 0x0);
9753     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x304, &x305,
9754                                                               x303, x290, 0x0);
9755     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x306, &x307,
9756                                                               x305, x292, 0x0);
9757     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x308, &x309,
9758                                                               x307, x294, 0x0);
9759     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x310, &x311,
9760                                                               x309, x296, 0x0);
9761     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x312, &x313, x298,
9762                                                          UINT32_C(0x727c176d));
9763     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x314, &x315, x312,
9764                                                          UINT32_C(0x9b9f605f));
9765     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x316, &x317, x312,
9766                                                          UINT32_C(0x5a858107));
9767     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x318, &x319, x312,
9768                                                          UINT32_C(0xab1ec85e));
9769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x320, &x321, x312,
9770                                                          UINT32_C(0x6b41c8aa));
9771     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x322, &x323, x312,
9772                                                          UINT32_C(0xcf846e86));
9773     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x324, &x325, x312,
9774                                                          UINT32_C(0x789051d3));
9775     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x326, &x327, x312,
9776                                                          UINT32_C(0x7998f7b9));
9777     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x328, &x329, x312,
9778                                                          UINT32_C(0x22d759b));
9779     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x330, &x331, 0x0,
9780                                                               x329, x326);
9781     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x332, &x333,
9782                                                               x331, x327, x324);
9783     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x334, &x335,
9784                                                               x333, x325, x322);
9785     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x336, &x337,
9786                                                               x335, x323, x320);
9787     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x338, &x339,
9788                                                               x337, x321, x318);
9789     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x340, &x341,
9790                                                               x339, x319, x316);
9791     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x342, &x343,
9792                                                               x341, x317, x314);
9793     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x344, &x345, 0x0,
9794                                                               x298, x328);
9795     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x346, &x347,
9796                                                               x345, x300, x330);
9797     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x348, &x349,
9798                                                               x347, x302, x332);
9799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x350, &x351,
9800                                                               x349, x304, x334);
9801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x352, &x353,
9802                                                               x351, x306, x336);
9803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x354, &x355,
9804                                                               x353, x308, x338);
9805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x356, &x357,
9806                                                               x355, x310, x340);
9807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9808         &x358, &x359, x357, (x311 + (x297 + (x281 + x253))), x342);
9809     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x360, &x361, 0x0,
9810                                                               x346, (arg1[6]));
9811     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x362, &x363,
9812                                                               x361, x348, 0x0);
9813     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x364, &x365,
9814                                                               x363, x350, 0x0);
9815     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x366, &x367,
9816                                                               x365, x352, 0x0);
9817     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x368, &x369,
9818                                                               x367, x354, 0x0);
9819     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x370, &x371,
9820                                                               x369, x356, 0x0);
9821     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x372, &x373,
9822                                                               x371, x358, 0x0);
9823     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x374, &x375, x360,
9824                                                          UINT32_C(0x727c176d));
9825     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x376, &x377, x374,
9826                                                          UINT32_C(0x9b9f605f));
9827     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x378, &x379, x374,
9828                                                          UINT32_C(0x5a858107));
9829     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x380, &x381, x374,
9830                                                          UINT32_C(0xab1ec85e));
9831     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x382, &x383, x374,
9832                                                          UINT32_C(0x6b41c8aa));
9833     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x384, &x385, x374,
9834                                                          UINT32_C(0xcf846e86));
9835     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x386, &x387, x374,
9836                                                          UINT32_C(0x789051d3));
9837     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x388, &x389, x374,
9838                                                          UINT32_C(0x7998f7b9));
9839     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x390, &x391, x374,
9840                                                          UINT32_C(0x22d759b));
9841     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x392, &x393, 0x0,
9842                                                               x391, x388);
9843     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x394, &x395,
9844                                                               x393, x389, x386);
9845     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x396, &x397,
9846                                                               x395, x387, x384);
9847     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x398, &x399,
9848                                                               x397, x385, x382);
9849     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x400, &x401,
9850                                                               x399, x383, x380);
9851     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x402, &x403,
9852                                                               x401, x381, x378);
9853     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x404, &x405,
9854                                                               x403, x379, x376);
9855     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x406, &x407, 0x0,
9856                                                               x360, x390);
9857     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x408, &x409,
9858                                                               x407, x362, x392);
9859     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x410, &x411,
9860                                                               x409, x364, x394);
9861     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x412, &x413,
9862                                                               x411, x366, x396);
9863     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x414, &x415,
9864                                                               x413, x368, x398);
9865     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x416, &x417,
9866                                                               x415, x370, x400);
9867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x418, &x419,
9868                                                               x417, x372, x402);
9869     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9870         &x420, &x421, x419, (x373 + (x359 + (x343 + x315))), x404);
9871     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x422, &x423, 0x0,
9872                                                               x408, (arg1[7]));
9873     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x424, &x425,
9874                                                               x423, x410, 0x0);
9875     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x426, &x427,
9876                                                               x425, x412, 0x0);
9877     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x428, &x429,
9878                                                               x427, x414, 0x0);
9879     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x430, &x431,
9880                                                               x429, x416, 0x0);
9881     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x432, &x433,
9882                                                               x431, x418, 0x0);
9883     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x434, &x435,
9884                                                               x433, x420, 0x0);
9885     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x436, &x437, x422,
9886                                                          UINT32_C(0x727c176d));
9887     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x438, &x439, x436,
9888                                                          UINT32_C(0x9b9f605f));
9889     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x440, &x441, x436,
9890                                                          UINT32_C(0x5a858107));
9891     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x442, &x443, x436,
9892                                                          UINT32_C(0xab1ec85e));
9893     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x444, &x445, x436,
9894                                                          UINT32_C(0x6b41c8aa));
9895     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x446, &x447, x436,
9896                                                          UINT32_C(0xcf846e86));
9897     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x448, &x449, x436,
9898                                                          UINT32_C(0x789051d3));
9899     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x450, &x451, x436,
9900                                                          UINT32_C(0x7998f7b9));
9901     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x452, &x453, x436,
9902                                                          UINT32_C(0x22d759b));
9903     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x454, &x455, 0x0,
9904                                                               x453, x450);
9905     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x456, &x457,
9906                                                               x455, x451, x448);
9907     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x458, &x459,
9908                                                               x457, x449, x446);
9909     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x460, &x461,
9910                                                               x459, x447, x444);
9911     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x462, &x463,
9912                                                               x461, x445, x442);
9913     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x464, &x465,
9914                                                               x463, x443, x440);
9915     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x466, &x467,
9916                                                               x465, x441, x438);
9917     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x468, &x469, 0x0,
9918                                                               x422, x452);
9919     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x470, &x471,
9920                                                               x469, x424, x454);
9921     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x472, &x473,
9922                                                               x471, x426, x456);
9923     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x474, &x475,
9924                                                               x473, x428, x458);
9925     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x476, &x477,
9926                                                               x475, x430, x460);
9927     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x478, &x479,
9928                                                               x477, x432, x462);
9929     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x480, &x481,
9930                                                               x479, x434, x464);
9931     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9932         &x482, &x483, x481, (x435 + (x421 + (x405 + x377))), x466);
9933     x484 = (x483 + (x467 + x439));
9934     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9935         &x485, &x486, 0x0, x470, UINT32_C(0x22d759b));
9936     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9937         &x487, &x488, x486, x472, UINT32_C(0x7998f7b9));
9938     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9939         &x489, &x490, x488, x474, UINT32_C(0x789051d3));
9940     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9941         &x491, &x492, x490, x476, UINT32_C(0xcf846e86));
9942     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9943         &x493, &x494, x492, x478, UINT32_C(0x6b41c8aa));
9944     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9945         &x495, &x496, x494, x480, UINT32_C(0xab1ec85e));
9946     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9947         &x497, &x498, x496, x482, UINT32_C(0x5a858107));
9948     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9949         &x499, &x500, x498, x484, UINT32_C(0x9b9f605f));
9950     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x501, &x502,
9951                                                                x500, 0x0, 0x0);
9952     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x503, x502, x485,
9953                                                             x470);
9954     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x504, x502, x487,
9955                                                             x472);
9956     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x505, x502, x489,
9957                                                             x474);
9958     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x506, x502, x491,
9959                                                             x476);
9960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x507, x502, x493,
9961                                                             x478);
9962     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x508, x502, x495,
9963                                                             x480);
9964     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x509, x502, x497,
9965                                                             x482);
9966     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x510, x502, x499,
9967                                                             x484);
9968     out1[0] = x503;
9969     out1[1] = x504;
9970     out1[2] = x505;
9971     out1[3] = x506;
9972     out1[4] = x507;
9973     out1[5] = x508;
9974     out1[6] = x509;
9975     out1[7] = x510;
9976 }
9977
9978 /*
9979  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery translates a field element into the Montgomery domain.
9980  * Preconditions:
9981  *   0 ≤ eval arg1 < m
9982  * Postconditions:
9983  *   eval (from_montgomery out1) mod m = eval arg1 mod m
9984  *   0 ≤ eval out1 < m
9985  *
9986  * Input Bounds:
9987  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
9988  * Output Bounds:
9989  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
9990  */
9991 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(
9992     uint32_t out1[8], const uint32_t arg1[8]) {
9993     uint32_t x1;
9994     uint32_t x2;
9995     uint32_t x3;
9996     uint32_t x4;
9997     uint32_t x5;
9998     uint32_t x6;
9999     uint32_t x7;
10000     uint32_t x8;
10001     uint32_t x9;
10002     uint32_t x10;
10003     uint32_t x11;
10004     uint32_t x12;
10005     uint32_t x13;
10006     uint32_t x14;
10007     uint32_t x15;
10008     uint32_t x16;
10009     uint32_t x17;
10010     uint32_t x18;
10011     uint32_t x19;
10012     uint32_t x20;
10013     uint32_t x21;
10014     uint32_t x22;
10015     uint32_t x23;
10016     uint32_t x24;
10017     uint32_t x25;
10018     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
10019     uint32_t x27;
10020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
10021     uint32_t x29;
10022     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
10023     uint32_t x31;
10024     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
10025     uint32_t x33;
10026     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
10027     uint32_t x35;
10028     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
10029     uint32_t x37;
10030     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
10031     uint32_t x39;
10032     uint32_t x40;
10033     uint32_t x41;
10034     uint32_t x42;
10035     uint32_t x43;
10036     uint32_t x44;
10037     uint32_t x45;
10038     uint32_t x46;
10039     uint32_t x47;
10040     uint32_t x48;
10041     uint32_t x49;
10042     uint32_t x50;
10043     uint32_t x51;
10044     uint32_t x52;
10045     uint32_t x53;
10046     uint32_t x54;
10047     uint32_t x55;
10048     uint32_t x56;
10049     uint32_t x57;
10050     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x58;
10051     uint32_t x59;
10052     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x60;
10053     uint32_t x61;
10054     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x62;
10055     uint32_t x63;
10056     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x64;
10057     uint32_t x65;
10058     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x66;
10059     uint32_t x67;
10060     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x68;
10061     uint32_t x69;
10062     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x70;
10063     uint32_t x71;
10064     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x72;
10065     uint32_t x73;
10066     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x74;
10067     uint32_t x75;
10068     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x76;
10069     uint32_t x77;
10070     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
10071     uint32_t x79;
10072     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
10073     uint32_t x81;
10074     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
10075     uint32_t x83;
10076     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
10077     uint32_t x85;
10078     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
10079     uint32_t x87;
10080     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
10081     uint32_t x89;
10082     uint32_t x90;
10083     uint32_t x91;
10084     uint32_t x92;
10085     uint32_t x93;
10086     uint32_t x94;
10087     uint32_t x95;
10088     uint32_t x96;
10089     uint32_t x97;
10090     uint32_t x98;
10091     uint32_t x99;
10092     uint32_t x100;
10093     uint32_t x101;
10094     uint32_t x102;
10095     uint32_t x103;
10096     uint32_t x104;
10097     uint32_t x105;
10098     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x106;
10099     uint32_t x107;
10100     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
10101     uint32_t x109;
10102     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
10103     uint32_t x111;
10104     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
10105     uint32_t x113;
10106     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
10107     uint32_t x115;
10108     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
10109     uint32_t x117;
10110     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
10111     uint32_t x119;
10112     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
10113     uint32_t x121;
10114     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x122;
10115     uint32_t x123;
10116     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x124;
10117     uint32_t x125;
10118     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x126;
10119     uint32_t x127;
10120     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x128;
10121     uint32_t x129;
10122     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x130;
10123     uint32_t x131;
10124     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x132;
10125     uint32_t x133;
10126     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x134;
10127     uint32_t x135;
10128     uint32_t x136;
10129     uint32_t x137;
10130     uint32_t x138;
10131     uint32_t x139;
10132     uint32_t x140;
10133     uint32_t x141;
10134     uint32_t x142;
10135     uint32_t x143;
10136     uint32_t x144;
10137     uint32_t x145;
10138     uint32_t x146;
10139     uint32_t x147;
10140     uint32_t x148;
10141     uint32_t x149;
10142     uint32_t x150;
10143     uint32_t x151;
10144     uint32_t x152;
10145     uint32_t x153;
10146     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x154;
10147     uint32_t x155;
10148     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x156;
10149     uint32_t x157;
10150     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x158;
10151     uint32_t x159;
10152     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x160;
10153     uint32_t x161;
10154     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x162;
10155     uint32_t x163;
10156     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x164;
10157     uint32_t x165;
10158     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x166;
10159     uint32_t x167;
10160     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x168;
10161     uint32_t x169;
10162     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x170;
10163     uint32_t x171;
10164     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x172;
10165     uint32_t x173;
10166     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
10167     uint32_t x175;
10168     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
10169     uint32_t x177;
10170     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
10171     uint32_t x179;
10172     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
10173     uint32_t x181;
10174     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
10175     uint32_t x183;
10176     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
10177     uint32_t x185;
10178     uint32_t x186;
10179     uint32_t x187;
10180     uint32_t x188;
10181     uint32_t x189;
10182     uint32_t x190;
10183     uint32_t x191;
10184     uint32_t x192;
10185     uint32_t x193;
10186     uint32_t x194;
10187     uint32_t x195;
10188     uint32_t x196;
10189     uint32_t x197;
10190     uint32_t x198;
10191     uint32_t x199;
10192     uint32_t x200;
10193     uint32_t x201;
10194     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x202;
10195     uint32_t x203;
10196     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x204;
10197     uint32_t x205;
10198     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x206;
10199     uint32_t x207;
10200     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x208;
10201     uint32_t x209;
10202     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x210;
10203     uint32_t x211;
10204     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x212;
10205     uint32_t x213;
10206     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x214;
10207     uint32_t x215;
10208     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x216;
10209     uint32_t x217;
10210     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x218;
10211     uint32_t x219;
10212     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x220;
10213     uint32_t x221;
10214     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x222;
10215     uint32_t x223;
10216     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x224;
10217     uint32_t x225;
10218     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x226;
10219     uint32_t x227;
10220     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x228;
10221     uint32_t x229;
10222     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x230;
10223     uint32_t x231;
10224     uint32_t x232;
10225     uint32_t x233;
10226     uint32_t x234;
10227     uint32_t x235;
10228     uint32_t x236;
10229     uint32_t x237;
10230     uint32_t x238;
10231     uint32_t x239;
10232     uint32_t x240;
10233     uint32_t x241;
10234     uint32_t x242;
10235     uint32_t x243;
10236     uint32_t x244;
10237     uint32_t x245;
10238     uint32_t x246;
10239     uint32_t x247;
10240     uint32_t x248;
10241     uint32_t x249;
10242     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x250;
10243     uint32_t x251;
10244     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x252;
10245     uint32_t x253;
10246     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x254;
10247     uint32_t x255;
10248     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x256;
10249     uint32_t x257;
10250     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x258;
10251     uint32_t x259;
10252     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x260;
10253     uint32_t x261;
10254     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x262;
10255     uint32_t x263;
10256     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x264;
10257     uint32_t x265;
10258     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x266;
10259     uint32_t x267;
10260     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x268;
10261     uint32_t x269;
10262     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x270;
10263     uint32_t x271;
10264     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x272;
10265     uint32_t x273;
10266     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x274;
10267     uint32_t x275;
10268     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x276;
10269     uint32_t x277;
10270     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x278;
10271     uint32_t x279;
10272     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x280;
10273     uint32_t x281;
10274     uint32_t x282;
10275     uint32_t x283;
10276     uint32_t x284;
10277     uint32_t x285;
10278     uint32_t x286;
10279     uint32_t x287;
10280     uint32_t x288;
10281     uint32_t x289;
10282     uint32_t x290;
10283     uint32_t x291;
10284     uint32_t x292;
10285     uint32_t x293;
10286     uint32_t x294;
10287     uint32_t x295;
10288     uint32_t x296;
10289     uint32_t x297;
10290     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x298;
10291     uint32_t x299;
10292     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x300;
10293     uint32_t x301;
10294     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x302;
10295     uint32_t x303;
10296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x304;
10297     uint32_t x305;
10298     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x306;
10299     uint32_t x307;
10300     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x308;
10301     uint32_t x309;
10302     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x310;
10303     uint32_t x311;
10304     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x312;
10305     uint32_t x313;
10306     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x314;
10307     uint32_t x315;
10308     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x316;
10309     uint32_t x317;
10310     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x318;
10311     uint32_t x319;
10312     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x320;
10313     uint32_t x321;
10314     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x322;
10315     uint32_t x323;
10316     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x324;
10317     uint32_t x325;
10318     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x326;
10319     uint32_t x327;
10320     uint32_t x328;
10321     uint32_t x329;
10322     uint32_t x330;
10323     uint32_t x331;
10324     uint32_t x332;
10325     uint32_t x333;
10326     uint32_t x334;
10327     uint32_t x335;
10328     uint32_t x336;
10329     uint32_t x337;
10330     uint32_t x338;
10331     uint32_t x339;
10332     uint32_t x340;
10333     uint32_t x341;
10334     uint32_t x342;
10335     uint32_t x343;
10336     uint32_t x344;
10337     uint32_t x345;
10338     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x346;
10339     uint32_t x347;
10340     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x348;
10341     uint32_t x349;
10342     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x350;
10343     uint32_t x351;
10344     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x352;
10345     uint32_t x353;
10346     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x354;
10347     uint32_t x355;
10348     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x356;
10349     uint32_t x357;
10350     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x358;
10351     uint32_t x359;
10352     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x360;
10353     uint32_t x361;
10354     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x362;
10355     uint32_t x363;
10356     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x364;
10357     uint32_t x365;
10358     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x366;
10359     uint32_t x367;
10360     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x368;
10361     uint32_t x369;
10362     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x370;
10363     uint32_t x371;
10364     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x372;
10365     uint32_t x373;
10366     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x374;
10367     uint32_t x375;
10368     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x376;
10369     uint32_t x377;
10370     uint32_t x378;
10371     uint32_t x379;
10372     uint32_t x380;
10373     uint32_t x381;
10374     uint32_t x382;
10375     uint32_t x383;
10376     uint32_t x384;
10377     uint32_t x385;
10378     uint32_t x386;
10379     uint32_t x387;
10380     uint32_t x388;
10381     uint32_t x389;
10382     uint32_t x390;
10383     uint32_t x391;
10384     uint32_t x392;
10385     uint32_t x393;
10386     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x394;
10387     uint32_t x395;
10388     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x396;
10389     uint32_t x397;
10390     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x398;
10391     uint32_t x399;
10392     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x400;
10393     uint32_t x401;
10394     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x402;
10395     uint32_t x403;
10396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x404;
10397     uint32_t x405;
10398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x406;
10399     uint32_t x407;
10400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x408;
10401     uint32_t x409;
10402     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x410;
10403     uint32_t x411;
10404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x412;
10405     uint32_t x413;
10406     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x414;
10407     uint32_t x415;
10408     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x416;
10409     uint32_t x417;
10410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x418;
10411     uint32_t x419;
10412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x420;
10413     uint32_t x421;
10414     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x422;
10415     uint32_t x423;
10416     uint32_t x424;
10417     uint32_t x425;
10418     uint32_t x426;
10419     uint32_t x427;
10420     uint32_t x428;
10421     uint32_t x429;
10422     uint32_t x430;
10423     uint32_t x431;
10424     uint32_t x432;
10425     uint32_t x433;
10426     uint32_t x434;
10427     uint32_t x435;
10428     uint32_t x436;
10429     uint32_t x437;
10430     uint32_t x438;
10431     uint32_t x439;
10432     uint32_t x440;
10433     uint32_t x441;
10434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x442;
10435     uint32_t x443;
10436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x444;
10437     uint32_t x445;
10438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x446;
10439     uint32_t x447;
10440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x448;
10441     uint32_t x449;
10442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x450;
10443     uint32_t x451;
10444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x452;
10445     uint32_t x453;
10446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x454;
10447     uint32_t x455;
10448     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x456;
10449     uint32_t x457;
10450     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x458;
10451     uint32_t x459;
10452     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x460;
10453     uint32_t x461;
10454     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x462;
10455     uint32_t x463;
10456     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x464;
10457     uint32_t x465;
10458     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x466;
10459     uint32_t x467;
10460     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x468;
10461     uint32_t x469;
10462     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x470;
10463     uint32_t x471;
10464     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x472;
10465     uint32_t x473;
10466     uint32_t x474;
10467     uint32_t x475;
10468     uint32_t x476;
10469     uint32_t x477;
10470     uint32_t x478;
10471     uint32_t x479;
10472     uint32_t x480;
10473     uint32_t x481;
10474     uint32_t x482;
10475     uint32_t x483;
10476     uint32_t x484;
10477     uint32_t x485;
10478     uint32_t x486;
10479     uint32_t x487;
10480     uint32_t x488;
10481     uint32_t x489;
10482     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x490;
10483     uint32_t x491;
10484     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x492;
10485     uint32_t x493;
10486     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x494;
10487     uint32_t x495;
10488     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x496;
10489     uint32_t x497;
10490     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x498;
10491     uint32_t x499;
10492     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x500;
10493     uint32_t x501;
10494     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x502;
10495     uint32_t x503;
10496     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x504;
10497     uint32_t x505;
10498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x506;
10499     uint32_t x507;
10500     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x508;
10501     uint32_t x509;
10502     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x510;
10503     uint32_t x511;
10504     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x512;
10505     uint32_t x513;
10506     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x514;
10507     uint32_t x515;
10508     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x516;
10509     uint32_t x517;
10510     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x518;
10511     uint32_t x519;
10512     uint32_t x520;
10513     uint32_t x521;
10514     uint32_t x522;
10515     uint32_t x523;
10516     uint32_t x524;
10517     uint32_t x525;
10518     uint32_t x526;
10519     uint32_t x527;
10520     uint32_t x528;
10521     uint32_t x529;
10522     uint32_t x530;
10523     uint32_t x531;
10524     uint32_t x532;
10525     uint32_t x533;
10526     uint32_t x534;
10527     uint32_t x535;
10528     uint32_t x536;
10529     uint32_t x537;
10530     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x538;
10531     uint32_t x539;
10532     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x540;
10533     uint32_t x541;
10534     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x542;
10535     uint32_t x543;
10536     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x544;
10537     uint32_t x545;
10538     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x546;
10539     uint32_t x547;
10540     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x548;
10541     uint32_t x549;
10542     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x550;
10543     uint32_t x551;
10544     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x552;
10545     uint32_t x553;
10546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x554;
10547     uint32_t x555;
10548     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x556;
10549     uint32_t x557;
10550     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x558;
10551     uint32_t x559;
10552     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x560;
10553     uint32_t x561;
10554     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x562;
10555     uint32_t x563;
10556     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x564;
10557     uint32_t x565;
10558     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x566;
10559     uint32_t x567;
10560     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x568;
10561     uint32_t x569;
10562     uint32_t x570;
10563     uint32_t x571;
10564     uint32_t x572;
10565     uint32_t x573;
10566     uint32_t x574;
10567     uint32_t x575;
10568     uint32_t x576;
10569     uint32_t x577;
10570     uint32_t x578;
10571     uint32_t x579;
10572     uint32_t x580;
10573     uint32_t x581;
10574     uint32_t x582;
10575     uint32_t x583;
10576     uint32_t x584;
10577     uint32_t x585;
10578     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x586;
10579     uint32_t x587;
10580     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x588;
10581     uint32_t x589;
10582     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x590;
10583     uint32_t x591;
10584     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x592;
10585     uint32_t x593;
10586     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x594;
10587     uint32_t x595;
10588     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x596;
10589     uint32_t x597;
10590     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x598;
10591     uint32_t x599;
10592     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x600;
10593     uint32_t x601;
10594     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x602;
10595     uint32_t x603;
10596     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x604;
10597     uint32_t x605;
10598     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x606;
10599     uint32_t x607;
10600     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x608;
10601     uint32_t x609;
10602     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x610;
10603     uint32_t x611;
10604     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x612;
10605     uint32_t x613;
10606     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x614;
10607     uint32_t x615;
10608     uint32_t x616;
10609     uint32_t x617;
10610     uint32_t x618;
10611     uint32_t x619;
10612     uint32_t x620;
10613     uint32_t x621;
10614     uint32_t x622;
10615     uint32_t x623;
10616     uint32_t x624;
10617     uint32_t x625;
10618     uint32_t x626;
10619     uint32_t x627;
10620     uint32_t x628;
10621     uint32_t x629;
10622     uint32_t x630;
10623     uint32_t x631;
10624     uint32_t x632;
10625     uint32_t x633;
10626     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x634;
10627     uint32_t x635;
10628     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x636;
10629     uint32_t x637;
10630     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x638;
10631     uint32_t x639;
10632     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x640;
10633     uint32_t x641;
10634     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x642;
10635     uint32_t x643;
10636     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x644;
10637     uint32_t x645;
10638     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x646;
10639     uint32_t x647;
10640     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x648;
10641     uint32_t x649;
10642     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x650;
10643     uint32_t x651;
10644     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x652;
10645     uint32_t x653;
10646     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x654;
10647     uint32_t x655;
10648     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x656;
10649     uint32_t x657;
10650     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x658;
10651     uint32_t x659;
10652     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x660;
10653     uint32_t x661;
10654     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x662;
10655     uint32_t x663;
10656     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x664;
10657     uint32_t x665;
10658     uint32_t x666;
10659     uint32_t x667;
10660     uint32_t x668;
10661     uint32_t x669;
10662     uint32_t x670;
10663     uint32_t x671;
10664     uint32_t x672;
10665     uint32_t x673;
10666     uint32_t x674;
10667     uint32_t x675;
10668     uint32_t x676;
10669     uint32_t x677;
10670     uint32_t x678;
10671     uint32_t x679;
10672     uint32_t x680;
10673     uint32_t x681;
10674     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x682;
10675     uint32_t x683;
10676     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x684;
10677     uint32_t x685;
10678     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x686;
10679     uint32_t x687;
10680     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x688;
10681     uint32_t x689;
10682     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x690;
10683     uint32_t x691;
10684     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x692;
10685     uint32_t x693;
10686     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x694;
10687     uint32_t x695;
10688     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x696;
10689     uint32_t x697;
10690     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x698;
10691     uint32_t x699;
10692     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x700;
10693     uint32_t x701;
10694     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x702;
10695     uint32_t x703;
10696     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x704;
10697     uint32_t x705;
10698     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x706;
10699     uint32_t x707;
10700     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x708;
10701     uint32_t x709;
10702     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x710;
10703     uint32_t x711;
10704     uint32_t x712;
10705     uint32_t x713;
10706     uint32_t x714;
10707     uint32_t x715;
10708     uint32_t x716;
10709     uint32_t x717;
10710     uint32_t x718;
10711     uint32_t x719;
10712     uint32_t x720;
10713     uint32_t x721;
10714     uint32_t x722;
10715     uint32_t x723;
10716     uint32_t x724;
10717     uint32_t x725;
10718     uint32_t x726;
10719     uint32_t x727;
10720     uint32_t x728;
10721     uint32_t x729;
10722     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x730;
10723     uint32_t x731;
10724     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x732;
10725     uint32_t x733;
10726     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x734;
10727     uint32_t x735;
10728     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x736;
10729     uint32_t x737;
10730     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x738;
10731     uint32_t x739;
10732     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x740;
10733     uint32_t x741;
10734     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x742;
10735     uint32_t x743;
10736     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x744;
10737     uint32_t x745;
10738     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x746;
10739     uint32_t x747;
10740     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x748;
10741     uint32_t x749;
10742     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x750;
10743     uint32_t x751;
10744     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x752;
10745     uint32_t x753;
10746     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x754;
10747     uint32_t x755;
10748     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x756;
10749     uint32_t x757;
10750     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x758;
10751     uint32_t x759;
10752     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x760;
10753     uint32_t x761;
10754     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x762;
10755     uint32_t x763;
10756     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x764;
10757     uint32_t x765;
10758     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x766;
10759     uint32_t x767;
10760     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x768;
10761     uint32_t x769;
10762     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x770;
10763     uint32_t x771;
10764     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x772;
10765     uint32_t x773;
10766     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x774;
10767     uint32_t x775;
10768     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x776;
10769     uint32_t x777;
10770     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x778;
10771     uint32_t x779;
10772     uint32_t x780;
10773     uint32_t x781;
10774     uint32_t x782;
10775     uint32_t x783;
10776     uint32_t x784;
10777     uint32_t x785;
10778     uint32_t x786;
10779     x1 = (arg1[1]);
10780     x2 = (arg1[2]);
10781     x3 = (arg1[3]);
10782     x4 = (arg1[4]);
10783     x5 = (arg1[5]);
10784     x6 = (arg1[6]);
10785     x7 = (arg1[7]);
10786     x8 = (arg1[0]);
10787     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x9, &x10, x8,
10788                                                          UINT32_C(0x807a394e));
10789     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x11, &x12, x8,
10790                                                          UINT32_C(0xde097652));
10791     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x13, &x14, x8,
10792                                                          UINT32_C(0x18630421));
10793     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x15, &x16, x8,
10794                                                          UINT32_C(0x2849c07b));
10795     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x17, &x18, x8,
10796                                                          UINT32_C(0x1017bb39));
10797     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x19, &x20, x8,
10798                                                          UINT32_C(0xc2d346c5));
10799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x21, &x22, x8,
10800                                                          UINT32_C(0x409973b4));
10801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x23, &x24, x8,
10802                                                          UINT32_C(0xc427fcea));
10803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
10804                                                               x24, x21);
10805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x27, &x28, x26,
10806                                                               x22, x19);
10807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x29, &x30, x28,
10808                                                               x20, x17);
10809     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x31, &x32, x30,
10810                                                               x18, x15);
10811     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x33, &x34, x32,
10812                                                               x16, x13);
10813     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x35, &x36, x34,
10814                                                               x14, x11);
10815     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x37, &x38, x36,
10816                                                               x12, x9);
10817     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x39, &x40, x23,
10818                                                          UINT32_C(0x727c176d));
10819     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x41, &x42, x39,
10820                                                          UINT32_C(0x9b9f605f));
10821     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x43, &x44, x39,
10822                                                          UINT32_C(0x5a858107));
10823     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x45, &x46, x39,
10824                                                          UINT32_C(0xab1ec85e));
10825     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x47, &x48, x39,
10826                                                          UINT32_C(0x6b41c8aa));
10827     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x49, &x50, x39,
10828                                                          UINT32_C(0xcf846e86));
10829     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x51, &x52, x39,
10830                                                          UINT32_C(0x789051d3));
10831     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x53, &x54, x39,
10832                                                          UINT32_C(0x7998f7b9));
10833     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x55, &x56, x39,
10834                                                          UINT32_C(0x22d759b));
10835     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x57, &x58, 0x0,
10836                                                               x56, x53);
10837     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x59, &x60, x58,
10838                                                               x54, x51);
10839     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x61, &x62, x60,
10840                                                               x52, x49);
10841     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x63, &x64, x62,
10842                                                               x50, x47);
10843     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x65, &x66, x64,
10844                                                               x48, x45);
10845     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x67, &x68, x66,
10846                                                               x46, x43);
10847     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x69, &x70, x68,
10848                                                               x44, x41);
10849     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x71, &x72, 0x0,
10850                                                               x23, x55);
10851     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x73, &x74, x72,
10852                                                               x25, x57);
10853     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x75, &x76, x74,
10854                                                               x27, x59);
10855     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x77, &x78, x76,
10856                                                               x29, x61);
10857     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x79, &x80, x78,
10858                                                               x31, x63);
10859     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x81, &x82, x80,
10860                                                               x33, x65);
10861     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x83, &x84, x82,
10862                                                               x35, x67);
10863     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x85, &x86, x84,
10864                                                               x37, x69);
10865     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
10866         &x87, &x88, x86, (x38 + x10), (x70 + x42));
10867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x89, &x90, x1,
10868                                                          UINT32_C(0x807a394e));
10869     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x91, &x92, x1,
10870                                                          UINT32_C(0xde097652));
10871     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x93, &x94, x1,
10872                                                          UINT32_C(0x18630421));
10873     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x95, &x96, x1,
10874                                                          UINT32_C(0x2849c07b));
10875     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x97, &x98, x1,
10876                                                          UINT32_C(0x1017bb39));
10877     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x99, &x100, x1,
10878                                                          UINT32_C(0xc2d346c5));
10879     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x101, &x102, x1,
10880                                                          UINT32_C(0x409973b4));
10881     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x103, &x104, x1,
10882                                                          UINT32_C(0xc427fcea));
10883     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x105, &x106, 0x0,
10884                                                               x104, x101);
10885     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x107, &x108,
10886                                                               x106, x102, x99);
10887     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x109, &x110,
10888                                                               x108, x100, x97);
10889     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x111, &x112,
10890                                                               x110, x98, x95);
10891     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x113, &x114,
10892                                                               x112, x96, x93);
10893     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x115, &x116,
10894                                                               x114, x94, x91);
10895     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x117, &x118,
10896                                                               x116, x92, x89);
10897     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x119, &x120, 0x0,
10898                                                               x73, x103);
10899     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x121, &x122,
10900                                                               x120, x75, x105);
10901     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x123, &x124,
10902                                                               x122, x77, x107);
10903     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x125, &x126,
10904                                                               x124, x79, x109);
10905     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x127, &x128,
10906                                                               x126, x81, x111);
10907     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x129, &x130,
10908                                                               x128, x83, x113);
10909     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x131, &x132,
10910                                                               x130, x85, x115);
10911     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x133, &x134,
10912                                                               x132, x87, x117);
10913     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x135, &x136, x119,
10914                                                          UINT32_C(0x727c176d));
10915     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x137, &x138, x135,
10916                                                          UINT32_C(0x9b9f605f));
10917     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x139, &x140, x135,
10918                                                          UINT32_C(0x5a858107));
10919     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x141, &x142, x135,
10920                                                          UINT32_C(0xab1ec85e));
10921     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x143, &x144, x135,
10922                                                          UINT32_C(0x6b41c8aa));
10923     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x145, &x146, x135,
10924                                                          UINT32_C(0xcf846e86));
10925     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x147, &x148, x135,
10926                                                          UINT32_C(0x789051d3));
10927     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x149, &x150, x135,
10928                                                          UINT32_C(0x7998f7b9));
10929     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x151, &x152, x135,
10930                                                          UINT32_C(0x22d759b));
10931     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x153, &x154, 0x0,
10932                                                               x152, x149);
10933     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x155, &x156,
10934                                                               x154, x150, x147);
10935     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x157, &x158,
10936                                                               x156, x148, x145);
10937     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x159, &x160,
10938                                                               x158, x146, x143);
10939     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x161, &x162,
10940                                                               x160, x144, x141);
10941     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x163, &x164,
10942                                                               x162, x142, x139);
10943     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x165, &x166,
10944                                                               x164, x140, x137);
10945     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x167, &x168, 0x0,
10946                                                               x119, x151);
10947     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x169, &x170,
10948                                                               x168, x121, x153);
10949     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x171, &x172,
10950                                                               x170, x123, x155);
10951     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x173, &x174,
10952                                                               x172, x125, x157);
10953     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x175, &x176,
10954                                                               x174, x127, x159);
10955     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x177, &x178,
10956                                                               x176, x129, x161);
10957     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x179, &x180,
10958                                                               x178, x131, x163);
10959     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x181, &x182,
10960                                                               x180, x133, x165);
10961     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
10962         &x183, &x184, x182, (((uint32_t)x134 + x88) + (x118 + x90)),
10963         (x166 + x138));
10964     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x185, &x186, x2,
10965                                                          UINT32_C(0x807a394e));
10966     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x187, &x188, x2,
10967                                                          UINT32_C(0xde097652));
10968     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x189, &x190, x2,
10969                                                          UINT32_C(0x18630421));
10970     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x191, &x192, x2,
10971                                                          UINT32_C(0x2849c07b));
10972     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x193, &x194, x2,
10973                                                          UINT32_C(0x1017bb39));
10974     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x195, &x196, x2,
10975                                                          UINT32_C(0xc2d346c5));
10976     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x197, &x198, x2,
10977                                                          UINT32_C(0x409973b4));
10978     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x199, &x200, x2,
10979                                                          UINT32_C(0xc427fcea));
10980     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x201, &x202, 0x0,
10981                                                               x200, x197);
10982     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x203, &x204,
10983                                                               x202, x198, x195);
10984     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x205, &x206,
10985                                                               x204, x196, x193);
10986     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x207, &x208,
10987                                                               x206, x194, x191);
10988     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x209, &x210,
10989                                                               x208, x192, x189);
10990     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x211, &x212,
10991                                                               x210, x190, x187);
10992     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x213, &x214,
10993                                                               x212, x188, x185);
10994     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x215, &x216, 0x0,
10995                                                               x169, x199);
10996     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x217, &x218,
10997                                                               x216, x171, x201);
10998     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x219, &x220,
10999                                                               x218, x173, x203);
11000     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x221, &x222,
11001                                                               x220, x175, x205);
11002     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x223, &x224,
11003                                                               x222, x177, x207);
11004     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x225, &x226,
11005                                                               x224, x179, x209);
11006     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x227, &x228,
11007                                                               x226, x181, x211);
11008     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x229, &x230,
11009                                                               x228, x183, x213);
11010     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x231, &x232, x215,
11011                                                          UINT32_C(0x727c176d));
11012     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x233, &x234, x231,
11013                                                          UINT32_C(0x9b9f605f));
11014     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x235, &x236, x231,
11015                                                          UINT32_C(0x5a858107));
11016     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x237, &x238, x231,
11017                                                          UINT32_C(0xab1ec85e));
11018     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x239, &x240, x231,
11019                                                          UINT32_C(0x6b41c8aa));
11020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x241, &x242, x231,
11021                                                          UINT32_C(0xcf846e86));
11022     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x243, &x244, x231,
11023                                                          UINT32_C(0x789051d3));
11024     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x245, &x246, x231,
11025                                                          UINT32_C(0x7998f7b9));
11026     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x247, &x248, x231,
11027                                                          UINT32_C(0x22d759b));
11028     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x249, &x250, 0x0,
11029                                                               x248, x245);
11030     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x251, &x252,
11031                                                               x250, x246, x243);
11032     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x253, &x254,
11033                                                               x252, x244, x241);
11034     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x255, &x256,
11035                                                               x254, x242, x239);
11036     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x257, &x258,
11037                                                               x256, x240, x237);
11038     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x259, &x260,
11039                                                               x258, x238, x235);
11040     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x261, &x262,
11041                                                               x260, x236, x233);
11042     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x263, &x264, 0x0,
11043                                                               x215, x247);
11044     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x265, &x266,
11045                                                               x264, x217, x249);
11046     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x267, &x268,
11047                                                               x266, x219, x251);
11048     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x269, &x270,
11049                                                               x268, x221, x253);
11050     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x271, &x272,
11051                                                               x270, x223, x255);
11052     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x273, &x274,
11053                                                               x272, x225, x257);
11054     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x275, &x276,
11055                                                               x274, x227, x259);
11056     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x277, &x278,
11057                                                               x276, x229, x261);
11058     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11059         &x279, &x280, x278, (((uint32_t)x230 + x184) + (x214 + x186)),
11060         (x262 + x234));
11061     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x281, &x282, x3,
11062                                                          UINT32_C(0x807a394e));
11063     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x283, &x284, x3,
11064                                                          UINT32_C(0xde097652));
11065     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x285, &x286, x3,
11066                                                          UINT32_C(0x18630421));
11067     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x287, &x288, x3,
11068                                                          UINT32_C(0x2849c07b));
11069     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x289, &x290, x3,
11070                                                          UINT32_C(0x1017bb39));
11071     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x291, &x292, x3,
11072                                                          UINT32_C(0xc2d346c5));
11073     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x293, &x294, x3,
11074                                                          UINT32_C(0x409973b4));
11075     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x295, &x296, x3,
11076                                                          UINT32_C(0xc427fcea));
11077     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x297, &x298, 0x0,
11078                                                               x296, x293);
11079     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x299, &x300,
11080                                                               x298, x294, x291);
11081     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x301, &x302,
11082                                                               x300, x292, x289);
11083     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x303, &x304,
11084                                                               x302, x290, x287);
11085     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x305, &x306,
11086                                                               x304, x288, x285);
11087     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x307, &x308,
11088                                                               x306, x286, x283);
11089     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x309, &x310,
11090                                                               x308, x284, x281);
11091     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x311, &x312, 0x0,
11092                                                               x265, x295);
11093     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x313, &x314,
11094                                                               x312, x267, x297);
11095     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x315, &x316,
11096                                                               x314, x269, x299);
11097     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x317, &x318,
11098                                                               x316, x271, x301);
11099     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x319, &x320,
11100                                                               x318, x273, x303);
11101     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x321, &x322,
11102                                                               x320, x275, x305);
11103     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x323, &x324,
11104                                                               x322, x277, x307);
11105     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x325, &x326,
11106                                                               x324, x279, x309);
11107     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x327, &x328, x311,
11108                                                          UINT32_C(0x727c176d));
11109     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x329, &x330, x327,
11110                                                          UINT32_C(0x9b9f605f));
11111     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x331, &x332, x327,
11112                                                          UINT32_C(0x5a858107));
11113     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x333, &x334, x327,
11114                                                          UINT32_C(0xab1ec85e));
11115     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x335, &x336, x327,
11116                                                          UINT32_C(0x6b41c8aa));
11117     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x337, &x338, x327,
11118                                                          UINT32_C(0xcf846e86));
11119     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x339, &x340, x327,
11120                                                          UINT32_C(0x789051d3));
11121     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x341, &x342, x327,
11122                                                          UINT32_C(0x7998f7b9));
11123     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x343, &x344, x327,
11124                                                          UINT32_C(0x22d759b));
11125     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x345, &x346, 0x0,
11126                                                               x344, x341);
11127     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x347, &x348,
11128                                                               x346, x342, x339);
11129     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x349, &x350,
11130                                                               x348, x340, x337);
11131     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x351, &x352,
11132                                                               x350, x338, x335);
11133     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x353, &x354,
11134                                                               x352, x336, x333);
11135     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x355, &x356,
11136                                                               x354, x334, x331);
11137     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x357, &x358,
11138                                                               x356, x332, x329);
11139     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x359, &x360, 0x0,
11140                                                               x311, x343);
11141     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x361, &x362,
11142                                                               x360, x313, x345);
11143     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x363, &x364,
11144                                                               x362, x315, x347);
11145     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x365, &x366,
11146                                                               x364, x317, x349);
11147     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x367, &x368,
11148                                                               x366, x319, x351);
11149     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x369, &x370,
11150                                                               x368, x321, x353);
11151     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x371, &x372,
11152                                                               x370, x323, x355);
11153     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x373, &x374,
11154                                                               x372, x325, x357);
11155     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11156         &x375, &x376, x374, (((uint32_t)x326 + x280) + (x310 + x282)),
11157         (x358 + x330));
11158     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x377, &x378, x4,
11159                                                          UINT32_C(0x807a394e));
11160     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x379, &x380, x4,
11161                                                          UINT32_C(0xde097652));
11162     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x381, &x382, x4,
11163                                                          UINT32_C(0x18630421));
11164     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x383, &x384, x4,
11165                                                          UINT32_C(0x2849c07b));
11166     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x385, &x386, x4,
11167                                                          UINT32_C(0x1017bb39));
11168     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x387, &x388, x4,
11169                                                          UINT32_C(0xc2d346c5));
11170     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x389, &x390, x4,
11171                                                          UINT32_C(0x409973b4));
11172     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x391, &x392, x4,
11173                                                          UINT32_C(0xc427fcea));
11174     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x393, &x394, 0x0,
11175                                                               x392, x389);
11176     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x395, &x396,
11177                                                               x394, x390, x387);
11178     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x397, &x398,
11179                                                               x396, x388, x385);
11180     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x399, &x400,
11181                                                               x398, x386, x383);
11182     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x401, &x402,
11183                                                               x400, x384, x381);
11184     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x403, &x404,
11185                                                               x402, x382, x379);
11186     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x405, &x406,
11187                                                               x404, x380, x377);
11188     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x407, &x408, 0x0,
11189                                                               x361, x391);
11190     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x409, &x410,
11191                                                               x408, x363, x393);
11192     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x411, &x412,
11193                                                               x410, x365, x395);
11194     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x413, &x414,
11195                                                               x412, x367, x397);
11196     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x415, &x416,
11197                                                               x414, x369, x399);
11198     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x417, &x418,
11199                                                               x416, x371, x401);
11200     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x419, &x420,
11201                                                               x418, x373, x403);
11202     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x421, &x422,
11203                                                               x420, x375, x405);
11204     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x423, &x424, x407,
11205                                                          UINT32_C(0x727c176d));
11206     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x425, &x426, x423,
11207                                                          UINT32_C(0x9b9f605f));
11208     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x427, &x428, x423,
11209                                                          UINT32_C(0x5a858107));
11210     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x429, &x430, x423,
11211                                                          UINT32_C(0xab1ec85e));
11212     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x431, &x432, x423,
11213                                                          UINT32_C(0x6b41c8aa));
11214     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x433, &x434, x423,
11215                                                          UINT32_C(0xcf846e86));
11216     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x435, &x436, x423,
11217                                                          UINT32_C(0x789051d3));
11218     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x437, &x438, x423,
11219                                                          UINT32_C(0x7998f7b9));
11220     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x439, &x440, x423,
11221                                                          UINT32_C(0x22d759b));
11222     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x441, &x442, 0x0,
11223                                                               x440, x437);
11224     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x443, &x444,
11225                                                               x442, x438, x435);
11226     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x445, &x446,
11227                                                               x444, x436, x433);
11228     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x447, &x448,
11229                                                               x446, x434, x431);
11230     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x449, &x450,
11231                                                               x448, x432, x429);
11232     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x451, &x452,
11233                                                               x450, x430, x427);
11234     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x453, &x454,
11235                                                               x452, x428, x425);
11236     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x455, &x456, 0x0,
11237                                                               x407, x439);
11238     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x457, &x458,
11239                                                               x456, x409, x441);
11240     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x459, &x460,
11241                                                               x458, x411, x443);
11242     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x461, &x462,
11243                                                               x460, x413, x445);
11244     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x463, &x464,
11245                                                               x462, x415, x447);
11246     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x465, &x466,
11247                                                               x464, x417, x449);
11248     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x467, &x468,
11249                                                               x466, x419, x451);
11250     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x469, &x470,
11251                                                               x468, x421, x453);
11252     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11253         &x471, &x472, x470, (((uint32_t)x422 + x376) + (x406 + x378)),
11254         (x454 + x426));
11255     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x473, &x474, x5,
11256                                                          UINT32_C(0x807a394e));
11257     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x475, &x476, x5,
11258                                                          UINT32_C(0xde097652));
11259     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x477, &x478, x5,
11260                                                          UINT32_C(0x18630421));
11261     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x479, &x480, x5,
11262                                                          UINT32_C(0x2849c07b));
11263     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x481, &x482, x5,
11264                                                          UINT32_C(0x1017bb39));
11265     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x483, &x484, x5,
11266                                                          UINT32_C(0xc2d346c5));
11267     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x485, &x486, x5,
11268                                                          UINT32_C(0x409973b4));
11269     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x487, &x488, x5,
11270                                                          UINT32_C(0xc427fcea));
11271     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x489, &x490, 0x0,
11272                                                               x488, x485);
11273     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x491, &x492,
11274                                                               x490, x486, x483);
11275     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x493, &x494,
11276                                                               x492, x484, x481);
11277     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x495, &x496,
11278                                                               x494, x482, x479);
11279     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x497, &x498,
11280                                                               x496, x480, x477);
11281     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x499, &x500,
11282                                                               x498, x478, x475);
11283     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x501, &x502,
11284                                                               x500, x476, x473);
11285     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x503, &x504, 0x0,
11286                                                               x457, x487);
11287     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x505, &x506,
11288                                                               x504, x459, x489);
11289     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x507, &x508,
11290                                                               x506, x461, x491);
11291     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x509, &x510,
11292                                                               x508, x463, x493);
11293     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x511, &x512,
11294                                                               x510, x465, x495);
11295     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x513, &x514,
11296                                                               x512, x467, x497);
11297     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x515, &x516,
11298                                                               x514, x469, x499);
11299     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x517, &x518,
11300                                                               x516, x471, x501);
11301     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x519, &x520, x503,
11302                                                          UINT32_C(0x727c176d));
11303     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x521, &x522, x519,
11304                                                          UINT32_C(0x9b9f605f));
11305     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x523, &x524, x519,
11306                                                          UINT32_C(0x5a858107));
11307     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x525, &x526, x519,
11308                                                          UINT32_C(0xab1ec85e));
11309     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x527, &x528, x519,
11310                                                          UINT32_C(0x6b41c8aa));
11311     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x529, &x530, x519,
11312                                                          UINT32_C(0xcf846e86));
11313     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x531, &x532, x519,
11314                                                          UINT32_C(0x789051d3));
11315     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x533, &x534, x519,
11316                                                          UINT32_C(0x7998f7b9));
11317     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x535, &x536, x519,
11318                                                          UINT32_C(0x22d759b));
11319     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x537, &x538, 0x0,
11320                                                               x536, x533);
11321     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x539, &x540,
11322                                                               x538, x534, x531);
11323     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x541, &x542,
11324                                                               x540, x532, x529);
11325     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x543, &x544,
11326                                                               x542, x530, x527);
11327     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x545, &x546,
11328                                                               x544, x528, x525);
11329     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x547, &x548,
11330                                                               x546, x526, x523);
11331     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x549, &x550,
11332                                                               x548, x524, x521);
11333     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x551, &x552, 0x0,
11334                                                               x503, x535);
11335     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x553, &x554,
11336                                                               x552, x505, x537);
11337     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x555, &x556,
11338                                                               x554, x507, x539);
11339     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x557, &x558,
11340                                                               x556, x509, x541);
11341     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x559, &x560,
11342                                                               x558, x511, x543);
11343     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x561, &x562,
11344                                                               x560, x513, x545);
11345     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x563, &x564,
11346                                                               x562, x515, x547);
11347     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x565, &x566,
11348                                                               x564, x517, x549);
11349     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11350         &x567, &x568, x566, (((uint32_t)x518 + x472) + (x502 + x474)),
11351         (x550 + x522));
11352     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x569, &x570, x6,
11353                                                          UINT32_C(0x807a394e));
11354     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x571, &x572, x6,
11355                                                          UINT32_C(0xde097652));
11356     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x573, &x574, x6,
11357                                                          UINT32_C(0x18630421));
11358     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x575, &x576, x6,
11359                                                          UINT32_C(0x2849c07b));
11360     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x577, &x578, x6,
11361                                                          UINT32_C(0x1017bb39));
11362     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x579, &x580, x6,
11363                                                          UINT32_C(0xc2d346c5));
11364     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x581, &x582, x6,
11365                                                          UINT32_C(0x409973b4));
11366     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x583, &x584, x6,
11367                                                          UINT32_C(0xc427fcea));
11368     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x585, &x586, 0x0,
11369                                                               x584, x581);
11370     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x587, &x588,
11371                                                               x586, x582, x579);
11372     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x589, &x590,
11373                                                               x588, x580, x577);
11374     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x591, &x592,
11375                                                               x590, x578, x575);
11376     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x593, &x594,
11377                                                               x592, x576, x573);
11378     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x595, &x596,
11379                                                               x594, x574, x571);
11380     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x597, &x598,
11381                                                               x596, x572, x569);
11382     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x599, &x600, 0x0,
11383                                                               x553, x583);
11384     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x601, &x602,
11385                                                               x600, x555, x585);
11386     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x603, &x604,
11387                                                               x602, x557, x587);
11388     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x605, &x606,
11389                                                               x604, x559, x589);
11390     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x607, &x608,
11391                                                               x606, x561, x591);
11392     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x609, &x610,
11393                                                               x608, x563, x593);
11394     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x611, &x612,
11395                                                               x610, x565, x595);
11396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x613, &x614,
11397                                                               x612, x567, x597);
11398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x615, &x616, x599,
11399                                                          UINT32_C(0x727c176d));
11400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x617, &x618, x615,
11401                                                          UINT32_C(0x9b9f605f));
11402     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x619, &x620, x615,
11403                                                          UINT32_C(0x5a858107));
11404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x621, &x622, x615,
11405                                                          UINT32_C(0xab1ec85e));
11406     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x623, &x624, x615,
11407                                                          UINT32_C(0x6b41c8aa));
11408     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x625, &x626, x615,
11409                                                          UINT32_C(0xcf846e86));
11410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x627, &x628, x615,
11411                                                          UINT32_C(0x789051d3));
11412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x629, &x630, x615,
11413                                                          UINT32_C(0x7998f7b9));
11414     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x631, &x632, x615,
11415                                                          UINT32_C(0x22d759b));
11416     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x633, &x634, 0x0,
11417                                                               x632, x629);
11418     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x635, &x636,
11419                                                               x634, x630, x627);
11420     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x637, &x638,
11421                                                               x636, x628, x625);
11422     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x639, &x640,
11423                                                               x638, x626, x623);
11424     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x641, &x642,
11425                                                               x640, x624, x621);
11426     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x643, &x644,
11427                                                               x642, x622, x619);
11428     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x645, &x646,
11429                                                               x644, x620, x617);
11430     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x647, &x648, 0x0,
11431                                                               x599, x631);
11432     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x649, &x650,
11433                                                               x648, x601, x633);
11434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x651, &x652,
11435                                                               x650, x603, x635);
11436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x653, &x654,
11437                                                               x652, x605, x637);
11438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x655, &x656,
11439                                                               x654, x607, x639);
11440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x657, &x658,
11441                                                               x656, x609, x641);
11442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x659, &x660,
11443                                                               x658, x611, x643);
11444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x661, &x662,
11445                                                               x660, x613, x645);
11446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11447         &x663, &x664, x662, (((uint32_t)x614 + x568) + (x598 + x570)),
11448         (x646 + x618));
11449     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x665, &x666, x7,
11450                                                          UINT32_C(0x807a394e));
11451     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x667, &x668, x7,
11452                                                          UINT32_C(0xde097652));
11453     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x669, &x670, x7,
11454                                                          UINT32_C(0x18630421));
11455     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x671, &x672, x7,
11456                                                          UINT32_C(0x2849c07b));
11457     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x673, &x674, x7,
11458                                                          UINT32_C(0x1017bb39));
11459     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x675, &x676, x7,
11460                                                          UINT32_C(0xc2d346c5));
11461     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x677, &x678, x7,
11462                                                          UINT32_C(0x409973b4));
11463     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x679, &x680, x7,
11464                                                          UINT32_C(0xc427fcea));
11465     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x681, &x682, 0x0,
11466                                                               x680, x677);
11467     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x683, &x684,
11468                                                               x682, x678, x675);
11469     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x685, &x686,
11470                                                               x684, x676, x673);
11471     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x687, &x688,
11472                                                               x686, x674, x671);
11473     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x689, &x690,
11474                                                               x688, x672, x669);
11475     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x691, &x692,
11476                                                               x690, x670, x667);
11477     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x693, &x694,
11478                                                               x692, x668, x665);
11479     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x695, &x696, 0x0,
11480                                                               x649, x679);
11481     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x697, &x698,
11482                                                               x696, x651, x681);
11483     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x699, &x700,
11484                                                               x698, x653, x683);
11485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x701, &x702,
11486                                                               x700, x655, x685);
11487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x703, &x704,
11488                                                               x702, x657, x687);
11489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x705, &x706,
11490                                                               x704, x659, x689);
11491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x707, &x708,
11492                                                               x706, x661, x691);
11493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x709, &x710,
11494                                                               x708, x663, x693);
11495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x711, &x712, x695,
11496                                                          UINT32_C(0x727c176d));
11497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x713, &x714, x711,
11498                                                          UINT32_C(0x9b9f605f));
11499     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x715, &x716, x711,
11500                                                          UINT32_C(0x5a858107));
11501     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x717, &x718, x711,
11502                                                          UINT32_C(0xab1ec85e));
11503     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x719, &x720, x711,
11504                                                          UINT32_C(0x6b41c8aa));
11505     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x721, &x722, x711,
11506                                                          UINT32_C(0xcf846e86));
11507     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x723, &x724, x711,
11508                                                          UINT32_C(0x789051d3));
11509     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x725, &x726, x711,
11510                                                          UINT32_C(0x7998f7b9));
11511     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x727, &x728, x711,
11512                                                          UINT32_C(0x22d759b));
11513     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x729, &x730, 0x0,
11514                                                               x728, x725);
11515     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x731, &x732,
11516                                                               x730, x726, x723);
11517     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x733, &x734,
11518                                                               x732, x724, x721);
11519     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x735, &x736,
11520                                                               x734, x722, x719);
11521     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x737, &x738,
11522                                                               x736, x720, x717);
11523     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x739, &x740,
11524                                                               x738, x718, x715);
11525     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x741, &x742,
11526                                                               x740, x716, x713);
11527     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x743, &x744, 0x0,
11528                                                               x695, x727);
11529     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x745, &x746,
11530                                                               x744, x697, x729);
11531     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x747, &x748,
11532                                                               x746, x699, x731);
11533     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x749, &x750,
11534                                                               x748, x701, x733);
11535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x751, &x752,
11536                                                               x750, x703, x735);
11537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x753, &x754,
11538                                                               x752, x705, x737);
11539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x755, &x756,
11540                                                               x754, x707, x739);
11541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x757, &x758,
11542                                                               x756, x709, x741);
11543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11544         &x759, &x760, x758, (((uint32_t)x710 + x664) + (x694 + x666)),
11545         (x742 + x714));
11546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11547         &x761, &x762, 0x0, x745, UINT32_C(0x22d759b));
11548     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11549         &x763, &x764, x762, x747, UINT32_C(0x7998f7b9));
11550     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11551         &x765, &x766, x764, x749, UINT32_C(0x789051d3));
11552     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11553         &x767, &x768, x766, x751, UINT32_C(0xcf846e86));
11554     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11555         &x769, &x770, x768, x753, UINT32_C(0x6b41c8aa));
11556     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11557         &x771, &x772, x770, x755, UINT32_C(0xab1ec85e));
11558     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11559         &x773, &x774, x772, x757, UINT32_C(0x5a858107));
11560     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11561         &x775, &x776, x774, x759, UINT32_C(0x9b9f605f));
11562     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x777, &x778,
11563                                                                x776, x760, 0x0);
11564     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x779, x778, x761,
11565                                                             x745);
11566     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x780, x778, x763,
11567                                                             x747);
11568     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x781, x778, x765,
11569                                                             x749);
11570     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x782, x778, x767,
11571                                                             x751);
11572     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x783, x778, x769,
11573                                                             x753);
11574     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x784, x778, x771,
11575                                                             x755);
11576     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x785, x778, x773,
11577                                                             x757);
11578     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x786, x778, x775,
11579                                                             x759);
11580     out1[0] = x779;
11581     out1[1] = x780;
11582     out1[2] = x781;
11583     out1[3] = x782;
11584     out1[4] = x783;
11585     out1[5] = x784;
11586     out1[6] = x785;
11587     out1[7] = x786;
11588 }
11589
11590 /*
11591  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
11592  * Preconditions:
11593  *   0 ≤ eval arg1 < m
11594  * Postconditions:
11595  *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
11596  *
11597  * Input Bounds:
11598  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11599  * Output Bounds:
11600  *   out1: [0x0 ~> 0xffffffff]
11601  */
11602 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(
11603     uint32_t *out1, const uint32_t arg1[8]) {
11604     uint32_t x1;
11605     x1 =
11606         ((arg1[0]) |
11607          ((arg1[1]) |
11608           ((arg1[2]) |
11609            ((arg1[3]) | ((arg1[4]) | ((arg1[5]) | ((arg1[6]) | (arg1[7]))))))));
11610     *out1 = x1;
11611 }
11612
11613 /*
11614  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz is a multi-limb conditional select.
11615  * Postconditions:
11616  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
11617  *
11618  * Input Bounds:
11619  *   arg1: [0x0 ~> 0x1]
11620  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11621  *   arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11622  * Output Bounds:
11623  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11624  */
11625 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
11626     uint32_t out1[8], fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
11627     const uint32_t arg2[8], const uint32_t arg3[8]) {
11628     uint32_t x1;
11629     uint32_t x2;
11630     uint32_t x3;
11631     uint32_t x4;
11632     uint32_t x5;
11633     uint32_t x6;
11634     uint32_t x7;
11635     uint32_t x8;
11636     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11637         &x1, arg1, (arg2[0]), (arg3[0]));
11638     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11639         &x2, arg1, (arg2[1]), (arg3[1]));
11640     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11641         &x3, arg1, (arg2[2]), (arg3[2]));
11642     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11643         &x4, arg1, (arg2[3]), (arg3[3]));
11644     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11645         &x5, arg1, (arg2[4]), (arg3[4]));
11646     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11647         &x6, arg1, (arg2[5]), (arg3[5]));
11648     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11649         &x7, arg1, (arg2[6]), (arg3[6]));
11650     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11651         &x8, arg1, (arg2[7]), (arg3[7]));
11652     out1[0] = x1;
11653     out1[1] = x2;
11654     out1[2] = x3;
11655     out1[3] = x4;
11656     out1[4] = x5;
11657     out1[5] = x6;
11658     out1[6] = x7;
11659     out1[7] = x8;
11660 }
11661
11662 /*
11663  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes serializes a field element NOT in the Montgomery domain to bytes in little-endian order.
11664  * Preconditions:
11665  *   0 ≤ eval arg1 < m
11666  * Postconditions:
11667  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
11668  *
11669  * Input Bounds:
11670  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11671  * Output Bounds:
11672  *   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]]
11673  */
11674 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(
11675     uint8_t out1[32], const uint32_t arg1[8]) {
11676     uint32_t x1;
11677     uint32_t x2;
11678     uint32_t x3;
11679     uint32_t x4;
11680     uint32_t x5;
11681     uint32_t x6;
11682     uint32_t x7;
11683     uint32_t x8;
11684     uint8_t x9;
11685     uint32_t x10;
11686     uint8_t x11;
11687     uint32_t x12;
11688     uint8_t x13;
11689     uint8_t x14;
11690     uint8_t x15;
11691     uint32_t x16;
11692     uint8_t x17;
11693     uint32_t x18;
11694     uint8_t x19;
11695     uint8_t x20;
11696     uint8_t x21;
11697     uint32_t x22;
11698     uint8_t x23;
11699     uint32_t x24;
11700     uint8_t x25;
11701     uint8_t x26;
11702     uint8_t x27;
11703     uint32_t x28;
11704     uint8_t x29;
11705     uint32_t x30;
11706     uint8_t x31;
11707     uint8_t x32;
11708     uint8_t x33;
11709     uint32_t x34;
11710     uint8_t x35;
11711     uint32_t x36;
11712     uint8_t x37;
11713     uint8_t x38;
11714     uint8_t x39;
11715     uint32_t x40;
11716     uint8_t x41;
11717     uint32_t x42;
11718     uint8_t x43;
11719     uint8_t x44;
11720     uint8_t x45;
11721     uint32_t x46;
11722     uint8_t x47;
11723     uint32_t x48;
11724     uint8_t x49;
11725     uint8_t x50;
11726     uint8_t x51;
11727     uint32_t x52;
11728     uint8_t x53;
11729     uint32_t x54;
11730     uint8_t x55;
11731     uint8_t x56;
11732     x1 = (arg1[7]);
11733     x2 = (arg1[6]);
11734     x3 = (arg1[5]);
11735     x4 = (arg1[4]);
11736     x5 = (arg1[3]);
11737     x6 = (arg1[2]);
11738     x7 = (arg1[1]);
11739     x8 = (arg1[0]);
11740     x9 = (uint8_t)(x8 & UINT8_C(0xff));
11741     x10 = (x8 >> 8);
11742     x11 = (uint8_t)(x10 & UINT8_C(0xff));
11743     x12 = (x10 >> 8);
11744     x13 = (uint8_t)(x12 & UINT8_C(0xff));
11745     x14 = (uint8_t)(x12 >> 8);
11746     x15 = (uint8_t)(x7 & UINT8_C(0xff));
11747     x16 = (x7 >> 8);
11748     x17 = (uint8_t)(x16 & UINT8_C(0xff));
11749     x18 = (x16 >> 8);
11750     x19 = (uint8_t)(x18 & UINT8_C(0xff));
11751     x20 = (uint8_t)(x18 >> 8);
11752     x21 = (uint8_t)(x6 & UINT8_C(0xff));
11753     x22 = (x6 >> 8);
11754     x23 = (uint8_t)(x22 & UINT8_C(0xff));
11755     x24 = (x22 >> 8);
11756     x25 = (uint8_t)(x24 & UINT8_C(0xff));
11757     x26 = (uint8_t)(x24 >> 8);
11758     x27 = (uint8_t)(x5 & UINT8_C(0xff));
11759     x28 = (x5 >> 8);
11760     x29 = (uint8_t)(x28 & UINT8_C(0xff));
11761     x30 = (x28 >> 8);
11762     x31 = (uint8_t)(x30 & UINT8_C(0xff));
11763     x32 = (uint8_t)(x30 >> 8);
11764     x33 = (uint8_t)(x4 & UINT8_C(0xff));
11765     x34 = (x4 >> 8);
11766     x35 = (uint8_t)(x34 & UINT8_C(0xff));
11767     x36 = (x34 >> 8);
11768     x37 = (uint8_t)(x36 & UINT8_C(0xff));
11769     x38 = (uint8_t)(x36 >> 8);
11770     x39 = (uint8_t)(x3 & UINT8_C(0xff));
11771     x40 = (x3 >> 8);
11772     x41 = (uint8_t)(x40 & UINT8_C(0xff));
11773     x42 = (x40 >> 8);
11774     x43 = (uint8_t)(x42 & UINT8_C(0xff));
11775     x44 = (uint8_t)(x42 >> 8);
11776     x45 = (uint8_t)(x2 & UINT8_C(0xff));
11777     x46 = (x2 >> 8);
11778     x47 = (uint8_t)(x46 & UINT8_C(0xff));
11779     x48 = (x46 >> 8);
11780     x49 = (uint8_t)(x48 & UINT8_C(0xff));
11781     x50 = (uint8_t)(x48 >> 8);
11782     x51 = (uint8_t)(x1 & UINT8_C(0xff));
11783     x52 = (x1 >> 8);
11784     x53 = (uint8_t)(x52 & UINT8_C(0xff));
11785     x54 = (x52 >> 8);
11786     x55 = (uint8_t)(x54 & UINT8_C(0xff));
11787     x56 = (uint8_t)(x54 >> 8);
11788     out1[0] = x9;
11789     out1[1] = x11;
11790     out1[2] = x13;
11791     out1[3] = x14;
11792     out1[4] = x15;
11793     out1[5] = x17;
11794     out1[6] = x19;
11795     out1[7] = x20;
11796     out1[8] = x21;
11797     out1[9] = x23;
11798     out1[10] = x25;
11799     out1[11] = x26;
11800     out1[12] = x27;
11801     out1[13] = x29;
11802     out1[14] = x31;
11803     out1[15] = x32;
11804     out1[16] = x33;
11805     out1[17] = x35;
11806     out1[18] = x37;
11807     out1[19] = x38;
11808     out1[20] = x39;
11809     out1[21] = x41;
11810     out1[22] = x43;
11811     out1[23] = x44;
11812     out1[24] = x45;
11813     out1[25] = x47;
11814     out1[26] = x49;
11815     out1[27] = x50;
11816     out1[28] = x51;
11817     out1[29] = x53;
11818     out1[30] = x55;
11819     out1[31] = x56;
11820 }
11821
11822 /*
11823  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes deserializes a field element NOT in the Montgomery domain from bytes in little-endian order.
11824  * Preconditions:
11825  *   0 ≤ bytes_eval arg1 < m
11826  * Postconditions:
11827  *   eval out1 mod m = bytes_eval arg1 mod m
11828  *   0 ≤ eval out1 < m
11829  *
11830  * Input Bounds:
11831  *   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]]
11832  * Output Bounds:
11833  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11834  */
11835 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(
11836     uint32_t out1[8], const uint8_t arg1[32]) {
11837     uint32_t x1;
11838     uint32_t x2;
11839     uint32_t x3;
11840     uint8_t x4;
11841     uint32_t x5;
11842     uint32_t x6;
11843     uint32_t x7;
11844     uint8_t x8;
11845     uint32_t x9;
11846     uint32_t x10;
11847     uint32_t x11;
11848     uint8_t x12;
11849     uint32_t x13;
11850     uint32_t x14;
11851     uint32_t x15;
11852     uint8_t x16;
11853     uint32_t x17;
11854     uint32_t x18;
11855     uint32_t x19;
11856     uint8_t x20;
11857     uint32_t x21;
11858     uint32_t x22;
11859     uint32_t x23;
11860     uint8_t x24;
11861     uint32_t x25;
11862     uint32_t x26;
11863     uint32_t x27;
11864     uint8_t x28;
11865     uint32_t x29;
11866     uint32_t x30;
11867     uint32_t x31;
11868     uint8_t x32;
11869     uint32_t x33;
11870     uint32_t x34;
11871     uint32_t x35;
11872     uint32_t x36;
11873     uint32_t x37;
11874     uint32_t x38;
11875     uint32_t x39;
11876     uint32_t x40;
11877     uint32_t x41;
11878     uint32_t x42;
11879     uint32_t x43;
11880     uint32_t x44;
11881     uint32_t x45;
11882     uint32_t x46;
11883     uint32_t x47;
11884     uint32_t x48;
11885     uint32_t x49;
11886     uint32_t x50;
11887     uint32_t x51;
11888     uint32_t x52;
11889     uint32_t x53;
11890     uint32_t x54;
11891     uint32_t x55;
11892     uint32_t x56;
11893     x1 = ((uint32_t)(arg1[31]) << 24);
11894     x2 = ((uint32_t)(arg1[30]) << 16);
11895     x3 = ((uint32_t)(arg1[29]) << 8);
11896     x4 = (arg1[28]);
11897     x5 = ((uint32_t)(arg1[27]) << 24);
11898     x6 = ((uint32_t)(arg1[26]) << 16);
11899     x7 = ((uint32_t)(arg1[25]) << 8);
11900     x8 = (arg1[24]);
11901     x9 = ((uint32_t)(arg1[23]) << 24);
11902     x10 = ((uint32_t)(arg1[22]) << 16);
11903     x11 = ((uint32_t)(arg1[21]) << 8);
11904     x12 = (arg1[20]);
11905     x13 = ((uint32_t)(arg1[19]) << 24);
11906     x14 = ((uint32_t)(arg1[18]) << 16);
11907     x15 = ((uint32_t)(arg1[17]) << 8);
11908     x16 = (arg1[16]);
11909     x17 = ((uint32_t)(arg1[15]) << 24);
11910     x18 = ((uint32_t)(arg1[14]) << 16);
11911     x19 = ((uint32_t)(arg1[13]) << 8);
11912     x20 = (arg1[12]);
11913     x21 = ((uint32_t)(arg1[11]) << 24);
11914     x22 = ((uint32_t)(arg1[10]) << 16);
11915     x23 = ((uint32_t)(arg1[9]) << 8);
11916     x24 = (arg1[8]);
11917     x25 = ((uint32_t)(arg1[7]) << 24);
11918     x26 = ((uint32_t)(arg1[6]) << 16);
11919     x27 = ((uint32_t)(arg1[5]) << 8);
11920     x28 = (arg1[4]);
11921     x29 = ((uint32_t)(arg1[3]) << 24);
11922     x30 = ((uint32_t)(arg1[2]) << 16);
11923     x31 = ((uint32_t)(arg1[1]) << 8);
11924     x32 = (arg1[0]);
11925     x33 = (x31 + (uint32_t)x32);
11926     x34 = (x30 + x33);
11927     x35 = (x29 + x34);
11928     x36 = (x27 + (uint32_t)x28);
11929     x37 = (x26 + x36);
11930     x38 = (x25 + x37);
11931     x39 = (x23 + (uint32_t)x24);
11932     x40 = (x22 + x39);
11933     x41 = (x21 + x40);
11934     x42 = (x19 + (uint32_t)x20);
11935     x43 = (x18 + x42);
11936     x44 = (x17 + x43);
11937     x45 = (x15 + (uint32_t)x16);
11938     x46 = (x14 + x45);
11939     x47 = (x13 + x46);
11940     x48 = (x11 + (uint32_t)x12);
11941     x49 = (x10 + x48);
11942     x50 = (x9 + x49);
11943     x51 = (x7 + (uint32_t)x8);
11944     x52 = (x6 + x51);
11945     x53 = (x5 + x52);
11946     x54 = (x3 + (uint32_t)x4);
11947     x55 = (x2 + x54);
11948     x56 = (x1 + x55);
11949     out1[0] = x35;
11950     out1[1] = x38;
11951     out1[2] = x41;
11952     out1[3] = x44;
11953     out1[4] = x47;
11954     out1[5] = x50;
11955     out1[6] = x53;
11956     out1[7] = x56;
11957 }
11958
11959 /* END verbatim fiat code */
11960
11961 /*-
11962  * Finite field inversion via FLT.
11963  * NB: this is not a real Fiat function, just named that way for consistency.
11964  * Autogenerated: ecp/id_GostR3410_2001_CryptoPro_C_ParamSet/fe_inv.op3
11965  * sliding window w=5
11966  */
11967 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(fe_t output,
11968                                                             const fe_t t1) {
11969     int i;
11970     /* temporary variables */
11971     fe_t acc, t11, t13, t15, t17, t19, t21, t23, t25, t27, t29, t3, t31, t5, t7,
11972         t9;
11973
11974     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t1);
11975     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t1, acc);
11976     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t5, t3, acc);
11977     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t7, t5, acc);
11978     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t9, t7, acc);
11979     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t11, t9, acc);
11980     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t13, t11, acc);
11981     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t15, t13, acc);
11982     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t17, t15, acc);
11983     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t19, t17, acc);
11984     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t21, t19, acc);
11985     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t23, t21, acc);
11986     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t25, t23, acc);
11987     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t27, t25, acc);
11988     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t29, t27, acc);
11989     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t31, t29, acc);
11990     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t9);
11991     for (i = 0; i < 4; i++)
11992         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11993     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
11994     for (i = 0; i < 5; i++)
11995         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11996     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
11997     for (i = 0; i < 5; i++)
11998         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11999     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t27);
12000     for (i = 0; i < 7; i++)
12001         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12002     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
12003     for (i = 0; i < 5; i++)
12004         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12005     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
12006     for (i = 0; i < 5; i++)
12007         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12008     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
12009     for (i = 0; i < 5; i++)
12010         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12011     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
12012     for (i = 0; i < 8; i++)
12013         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12014     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
12015     for (i = 0; i < 7; i++)
12016         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12017     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
12018     for (i = 0; i < 6; i++)
12019         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
12021     for (i = 0; i < 5; i++)
12022         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12023     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
12024     for (i = 0; i < 5; i++)
12025         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12026     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
12027     for (i = 0; i < 7; i++)
12028         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12029     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
12030     for (i = 0; i < 6; i++)
12031         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12032     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
12033     for (i = 0; i < 5; i++)
12034         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12035     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
12036     for (i = 0; i < 5; i++)
12037         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12038     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
12039     for (i = 0; i < 6; i++)
12040         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12041     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
12042     for (i = 0; i < 5; i++)
12043         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12044     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
12045     for (i = 0; i < 6; i++)
12046         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12047     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
12048     for (i = 0; i < 5; i++)
12049         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12050     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
12051     for (i = 0; i < 8; i++)
12052         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12053     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
12054     for (i = 0; i < 5; i++)
12055         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12056     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
12057     for (i = 0; i < 7; i++)
12058         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12059     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t31);
12060     for (i = 0; i < 5; i++)
12061         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12062     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
12063     for (i = 0; i < 5; i++)
12064         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12065     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
12066     for (i = 0; i < 6; i++)
12067         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12068     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
12069     for (i = 0; i < 6; i++)
12070         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12071     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
12072     for (i = 0; i < 6; i++)
12073         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12074     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
12075     for (i = 0; i < 7; i++)
12076         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12077     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t9);
12078     for (i = 0; i < 8; i++)
12079         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12080     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t5);
12081     for (i = 0; i < 6; i++)
12082         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12083     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
12084     for (i = 0; i < 6; i++)
12085         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12086     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t19);
12087     for (i = 0; i < 5; i++)
12088         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12089     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
12090     for (i = 0; i < 7; i++)
12091         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12092     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
12093     for (i = 0; i < 5; i++)
12094         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12095     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t17);
12096     for (i = 0; i < 5; i++)
12097         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12098     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
12099     for (i = 0; i < 5; i++)
12100         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12101     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
12102     for (i = 0; i < 5; i++)
12103         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12104     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
12105     for (i = 0; i < 7; i++)
12106         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12107     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
12108     for (i = 0; i < 7; i++)
12109         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12110     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
12111     for (i = 0; i < 6; i++)
12112         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12113     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
12114     for (i = 0; i < 5; i++)
12115         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12116     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
12117     for (i = 0; i < 7; i++)
12118         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12119     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(output, acc, t25);
12120 }
12121
12122 /* curve coefficient constants */
12123
12124 static const limb_t const_one[8] = {UINT32_C(0xFDD28A65), UINT32_C(0x86670846),
12125                                     UINT32_C(0x876FAE2C), UINT32_C(0x307B9179),
12126                                     UINT32_C(0x94BE3755), UINT32_C(0x54E137A1),
12127                                     UINT32_C(0xA57A7EF8), UINT32_C(0x64609FA0)};
12128
12129 static const limb_t const_b[8] = {UINT32_C(0x3BDA2ACF), UINT32_C(0x4BE8A4E9),
12130                                   UINT32_C(0x90D382DD), UINT32_C(0x79CC0E3E),
12131                                   UINT32_C(0x1D9CC79B), UINT32_C(0x3BA4C8B0),
12132                                   UINT32_C(0x966609E9), UINT32_C(0x5CC73B5A)};
12133
12134 /* LUT for scalar multiplication by comb interleaving */
12135 static const pt_aff_t lut_cmb[27][16] = {
12136     {
12137         {{UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
12138           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
12139           UINT32_C(0x00000000), UINT32_C(0x00000000)},
12140          {UINT32_C(0x00254F12), UINT32_C(0xD082E007), UINT32_C(0xEB1F1421),
12141           UINT32_C(0xC5BA8184), UINT32_C(0xF010780D), UINT32_C(0x4EC9E7D0),
12142           UINT32_C(0x2794C8D5), UINT32_C(0x7846B5B7)}},
12143         {{UINT32_C(0x7225A595), UINT32_C(0x870FB041), UINT32_C(0x5FD57F04),
12144           UINT32_C(0x6CAFAE70), UINT32_C(0x2E7DB9BA), UINT32_C(0xFEC1C2AC),
12145           UINT32_C(0x127A5862), UINT32_C(0x9230823E)},
12146          {UINT32_C(0xE4464836), UINT32_C(0xF6CFDB6D), UINT32_C(0x9A945AC0),
12147           UINT32_C(0x3D79631B), UINT32_C(0x3D0C880D), UINT32_C(0xA1FCF2DF),
12148           UINT32_C(0x0EE6A611), UINT32_C(0x17C83E50)}},
12149         {{UINT32_C(0xE42734FD), UINT32_C(0x3C79C11A), UINT32_C(0xAC4040C3),
12150           UINT32_C(0x1614B2BE), UINT32_C(0x2C3A23A5), UINT32_C(0xDD143725),
12151           UINT32_C(0x8AF4F7CD), UINT32_C(0x1A02DA83)},
12152          {UINT32_C(0xE7D6991A), UINT32_C(0x23D588D6), UINT32_C(0xD2B3E364),
12153           UINT32_C(0x5F332676), UINT32_C(0x9134BA88), UINT32_C(0x35382680),
12154           UINT32_C(0xD27090E5), UINT32_C(0x08ECA826)}},
12155         {{UINT32_C(0x26761106), UINT32_C(0x231F8DC8), UINT32_C(0x3D78B14B),
12156           UINT32_C(0x7363050E), UINT32_C(0xC05C4381), UINT32_C(0xC3B9A1B8),
12157           UINT32_C(0xB8ACD9AC), UINT32_C(0x29727635)},
12158          {UINT32_C(0x2ED54E6C), UINT32_C(0xDD416AE9), UINT32_C(0x0B48A87C),
12159           UINT32_C(0x54608435), UINT32_C(0x97093D22), UINT32_C(0x2C8DEEA4),
12160           UINT32_C(0x0D716BAF), UINT32_C(0x87D2924C)}},
12161         {{UINT32_C(0x619206D6), UINT32_C(0x43281D30), UINT32_C(0x68744E44),
12162           UINT32_C(0x4A8FFC87), UINT32_C(0x708208D5), UINT32_C(0xB1011A3D),
12163           UINT32_C(0xA035B0B9), UINT32_C(0x2FE86E7B)},
12164          {UINT32_C(0xA3762860), UINT32_C(0x82F43088), UINT32_C(0xB33595D4),
12165           UINT32_C(0x67B5A303), UINT32_C(0xB477BECD), UINT32_C(0x262F16EB),
12166           UINT32_C(0x23E2816A), UINT32_C(0x1D38D4A7)}},
12167         {{UINT32_C(0xAD83C032), UINT32_C(0x91BBA3C0), UINT32_C(0x234F2FF3),
12168           UINT32_C(0x7DBC2EB6), UINT32_C(0x6D18A737), UINT32_C(0xE2C00C15),
12169           UINT32_C(0xCCF6DC2D), UINT32_C(0x71D1AE8B)},
12170          {UINT32_C(0x2DB77239), UINT32_C(0x6183816A), UINT32_C(0x0E228C41),
12171           UINT32_C(0xC545A512), UINT32_C(0x0F49A679), UINT32_C(0x3B96D6BC),
12172           UINT32_C(0xE49E39C2), UINT32_C(0x9831D683)}},
12173         {{UINT32_C(0x20DA13D9), UINT32_C(0xEEAA17A9), UINT32_C(0x8ABECADE),
12174           UINT32_C(0xEE3130FB), UINT32_C(0xA6E3D089), UINT32_C(0xBFB2CE6A),
12175           UINT32_C(0xE627A07C), UINT32_C(0x22BCDCEE)},
12176          {UINT32_C(0x955A1D9E), UINT32_C(0x86D7A50C), UINT32_C(0xE4E00B9E),
12177           UINT32_C(0xCD60A425), UINT32_C(0x615B9E91), UINT32_C(0x5407A6F8),
12178           UINT32_C(0x4F1CA93D), UINT32_C(0x7F17B171)}},
12179         {{UINT32_C(0x0DB59F2C), UINT32_C(0xBC351DE0), UINT32_C(0x9CDAF8AF),
12180           UINT32_C(0x1470E6A1), UINT32_C(0x60D3B27A), UINT32_C(0x461ED289),
12181           UINT32_C(0x49C7F789), UINT32_C(0x122C8F4B)},
12182          {UINT32_C(0x069FC8CE), UINT32_C(0xAB56E614), UINT32_C(0xC34E487C),
12183           UINT32_C(0x9836B010), UINT32_C(0x3FE009EB), UINT32_C(0x9EE06703),
12184           UINT32_C(0xAA019563), UINT32_C(0x88C8DC64)}},
12185         {{UINT32_C(0x63DDBB1F), UINT32_C(0xD0B4A996), UINT32_C(0x1D154696),
12186           UINT32_C(0x483286E5), UINT32_C(0x9F0D6F4E), UINT32_C(0xF0586DB8),
12187           UINT32_C(0x980446C8), UINT32_C(0x38167987)},
12188          {UINT32_C(0xE4166B55), UINT32_C(0x86A2ABAC), UINT32_C(0xA8366C64),
12189           UINT32_C(0x4E7B4F96), UINT32_C(0xED997D8E), UINT32_C(0x20CF2108),
12190           UINT32_C(0x1D01C009), UINT32_C(0x20EA9844)}},
12191         {{UINT32_C(0xB89CE05A), UINT32_C(0x028B520E), UINT32_C(0x4FAAD420),
12192           UINT32_C(0xEF41147D), UINT32_C(0x121A2A0A), UINT32_C(0xB280CCD3),
12193           UINT32_C(0x86E8F591), UINT32_C(0x4C677C83)},
12194          {UINT32_C(0xA390AA99), UINT32_C(0xB42F67B2), UINT32_C(0x19F8A01A),
12195           UINT32_C(0xC4EF553B), UINT32_C(0x6979027F), UINT32_C(0x86761139),
12196           UINT32_C(0x82C202BE), UINT32_C(0x6F177663)}},
12197         {{UINT32_C(0x27C5C7CC), UINT32_C(0xBEF6B996), UINT32_C(0x10799DB8),
12198           UINT32_C(0xB2D34F8B), UINT32_C(0x48AD9B1E), UINT32_C(0x132E1A3D),
12199           UINT32_C(0xE68B9907), UINT32_C(0x2971BFED)},
12200          {UINT32_C(0xC6B743B5), UINT32_C(0x312F6D31), UINT32_C(0xA718E0A8),
12201           UINT32_C(0xCF123317), UINT32_C(0xFD58637C), UINT32_C(0xCF1E5266),
12202           UINT32_C(0xE046167C), UINT32_C(0x56BA8362)}},
12203         {{UINT32_C(0x0E910D7F), UINT32_C(0xD680969D), UINT32_C(0x8A4689F9),
12204           UINT32_C(0x634FB3C2), UINT32_C(0x09FDD299), UINT32_C(0xA79A56DF),
12205           UINT32_C(0x89411C3D), UINT32_C(0x9065269E)},
12206          {UINT32_C(0x82C6076C), UINT32_C(0x5D22254E), UINT32_C(0x81FEA171),
12207           UINT32_C(0xDE7D78F0), UINT32_C(0x10BCDA87), UINT32_C(0xE1366964),
12208           UINT32_C(0x97638B85), UINT32_C(0x98B58F5A)}},
12209         {{UINT32_C(0xFB5EDF3F), UINT32_C(0xA532DED4), UINT32_C(0x833A7E2F),
12210           UINT32_C(0x604E5631), UINT32_C(0x3A09C74E), UINT32_C(0x7C4051D3),
12211           UINT32_C(0xEDFBEB4B), UINT32_C(0x51D1108A)},
12212          {UINT32_C(0x4DF1AB4D), UINT32_C(0x9AE61F9E), UINT32_C(0x163DB1A5),
12213           UINT32_C(0xFD4966F3), UINT32_C(0x7075AD6D), UINT32_C(0xF6C44E55),
12214           UINT32_C(0x4AF24611), UINT32_C(0x670D0D6F)}},
12215         {{UINT32_C(0xD369D301), UINT32_C(0xD99925FF), UINT32_C(0x7665BCF4),
12216           UINT32_C(0xC17E9767), UINT32_C(0xCB5A2128), UINT32_C(0xB5A908F1),
12217           UINT32_C(0x9C726C9F), UINT32_C(0x1981791D)},
12218          {UINT32_C(0xE0861F4E), UINT32_C(0xC4249418), UINT32_C(0xEE045D5E),
12219           UINT32_C(0x2A63399F), UINT32_C(0xA1B974FF), UINT32_C(0x246958FD),
12220           UINT32_C(0x0FC6F7A0), UINT32_C(0x668016A2)}},
12221         {{UINT32_C(0xEDE07C08), UINT32_C(0xEB7018AD), UINT32_C(0x2E33D1D9),
12222           UINT32_C(0xDF3C1259), UINT32_C(0xDC24E3DE), UINT32_C(0xEE0913DA),
12223           UINT32_C(0x35EB6B0D), UINT32_C(0x1C632D5B)},
12224          {UINT32_C(0x2C56E1B2), UINT32_C(0xC69396DD), UINT32_C(0xA837CE8F),
12225           UINT32_C(0x01F0B034), UINT32_C(0xB6882E32), UINT32_C(0x7842B98D),
12226           UINT32_C(0x9E61FCA6), UINT32_C(0x8FAC9230)}},
12227         {{UINT32_C(0x8A782CFE), UINT32_C(0x1DBB7D99), UINT32_C(0xC9322BE7),
12228           UINT32_C(0xEB945B49), UINT32_C(0xE208123B), UINT32_C(0xDCCB4E6E),
12229           UINT32_C(0xFC024524), UINT32_C(0x1C7C265C)},
12230          {UINT32_C(0x6102BC63), UINT32_C(0xAD000D8A), UINT32_C(0x82575943),
12231           UINT32_C(0x7D7F3C7B), UINT32_C(0x0D547A95), UINT32_C(0x8D2F0881),
12232           UINT32_C(0xD94FFA6D), UINT32_C(0x7012377A)}},
12233     },
12234     {
12235         {{UINT32_C(0x1EB6CBF7), UINT32_C(0xE3F78DE5), UINT32_C(0x72FA65DB),
12236           UINT32_C(0xF4E08A61), UINT32_C(0x502A247E), UINT32_C(0x670B0E06),
12237           UINT32_C(0x9877E492), UINT32_C(0x7A45D73E)},
12238          {UINT32_C(0x3DD0CDBC), UINT32_C(0x5FD754AD), UINT32_C(0x0125AB1F),
12239           UINT32_C(0xA5C2B15E), UINT32_C(0xE614B7A9), UINT32_C(0xC503836F),
12240           UINT32_C(0x2C50DCFE), UINT32_C(0x5548C424)}},
12241         {{UINT32_C(0xB9B38743), UINT32_C(0xCEE7BE65), UINT32_C(0x94BE028E),
12242           UINT32_C(0xD5E41715), UINT32_C(0xB5C45F7D), UINT32_C(0x08EC3CA3),
12243           UINT32_C(0xFB51261A), UINT32_C(0x1ACFAC17)},
12244          {UINT32_C(0xA9C04381), UINT32_C(0x45098D93), UINT32_C(0xA5B45DC8),
12245           UINT32_C(0x717FC0DC), UINT32_C(0xEABEE4E5), UINT32_C(0xF352A9C2),
12246           UINT32_C(0xF311B457), UINT32_C(0x1964AF20)}},
12247         {{UINT32_C(0x0802A755), UINT32_C(0x8C229808), UINT32_C(0x6140CDA7),
12248           UINT32_C(0x46F0A7CA), UINT32_C(0xBC62603B), UINT32_C(0xF0EEB7AE),
12249           UINT32_C(0x4BF4B451), UINT32_C(0x8432E152)},
12250          {UINT32_C(0x63967F94), UINT32_C(0x3C319825), UINT32_C(0xA042AE13),
12251           UINT32_C(0xF04EACB6), UINT32_C(0x650A6ADB), UINT32_C(0xD7CB2DBC),
12252           UINT32_C(0x78C9E166), UINT32_C(0x38A36EE3)}},
12253         {{UINT32_C(0xD3EE8657), UINT32_C(0x3527A5C5), UINT32_C(0x101645F9),
12254           UINT32_C(0xBAA0DE97), UINT32_C(0xCE9D6A48), UINT32_C(0xC59C9803),
12255           UINT32_C(0xF8F39FDF), UINT32_C(0x43D12449)},
12256          {UINT32_C(0x8DF7A72B), UINT32_C(0x65B3AB98), UINT32_C(0xAFDA9048),
12257           UINT32_C(0xD225AF8E), UINT32_C(0x338A3694), UINT32_C(0x88C368B8),
12258           UINT32_C(0xFBC813F1), UINT32_C(0x4A5A3C24)}},
12259         {{UINT32_C(0x9E2118B5), UINT32_C(0xCBCB725A), UINT32_C(0xCAA54794),
12260           UINT32_C(0x113F36C5), UINT32_C(0x4A0A2267), UINT32_C(0x5900990E),
12261           UINT32_C(0x0A9C1F11), UINT32_C(0x4E329EB1)},
12262          {UINT32_C(0xCD8918A7), UINT32_C(0xF47F4077), UINT32_C(0x3877B404),
12263           UINT32_C(0x18A3C071), UINT32_C(0xEFEB2B6B), UINT32_C(0xCDEF4FE3),
12264           UINT32_C(0xDE4D0540), UINT32_C(0x360982DB)}},
12265         {{UINT32_C(0xD5F8DACA), UINT32_C(0x42AB64F2), UINT32_C(0xEE88523D),
12266           UINT32_C(0x604A9676), UINT32_C(0xAEFD1283), UINT32_C(0xD430CCAB),
12267           UINT32_C(0x54465F7C), UINT32_C(0x3DA9D0E5)},
12268          {UINT32_C(0x41A4216B), UINT32_C(0x5EC145DF), UINT32_C(0xF7E7FBD9),
12269           UINT32_C(0x7C8F2C51), UINT32_C(0xBD483D26), UINT32_C(0xA2E58A23),
12270           UINT32_C(0xE4A908C8), UINT32_C(0x4739F7F9)}},
12271         {{UINT32_C(0x79370382), UINT32_C(0x37DDF872), UINT32_C(0x12C8E90E),
12272           UINT32_C(0x9D26A55F), UINT32_C(0xE8EB0CA4), UINT32_C(0xFC1FA6CD),
12273           UINT32_C(0xC29DC4F9), UINT32_C(0x826A29E5)},
12274          {UINT32_C(0xAA29F814), UINT32_C(0x15ECB621), UINT32_C(0x9DF1DFF7),
12275           UINT32_C(0x4C8A8128), UINT32_C(0x66B549BB), UINT32_C(0xBB223019),
12276           UINT32_C(0xB81A2863), UINT32_C(0x6CB21ACB)}},
12277         {{UINT32_C(0x11DA6928), UINT32_C(0xDD31ACC2), UINT32_C(0xA903D58F),
12278           UINT32_C(0xF98867B0), UINT32_C(0xD3679348), UINT32_C(0xAD283697),
12279           UINT32_C(0x301C3571), UINT32_C(0x67BFEFF9)},
12280          {UINT32_C(0x780BBBCE), UINT32_C(0xB745CAE6), UINT32_C(0x62F2EC5D),
12281           UINT32_C(0x1A9C6618), UINT32_C(0xA1475BEB), UINT32_C(0xF9895684),
12282           UINT32_C(0x4731A11D), UINT32_C(0x93E5ACE6)}},
12283         {{UINT32_C(0x7539483E), UINT32_C(0x0F6E9460), UINT32_C(0x9EF4EF16),
12284           UINT32_C(0x5728E6DD), UINT32_C(0x062E946E), UINT32_C(0xE1DA86E1),
12285           UINT32_C(0xF2E07759), UINT32_C(0x272EBC47)},
12286          {UINT32_C(0x909A578F), UINT32_C(0xE5E688E3), UINT32_C(0x7CFD1B7D),
12287           UINT32_C(0x9F25D6D1), UINT32_C(0xADE1E2A4), UINT32_C(0xC582260F),
12288           UINT32_C(0xA050071E), UINT32_C(0x2F50F74E)}},
12289         {{UINT32_C(0x2DF4D40D), UINT32_C(0xE0A8FE3F), UINT32_C(0x07791F88),
12290           UINT32_C(0xB126E4EF), UINT32_C(0x2A88D242), UINT32_C(0x69759DB4),
12291           UINT32_C(0xC9C1981C), UINT32_C(0x52592A3B)},
12292          {UINT32_C(0x72F649A1), UINT32_C(0xD0F41728), UINT32_C(0x0750EBAB),
12293           UINT32_C(0x9FF19B2B), UINT32_C(0xE0D7D222), UINT32_C(0xEFC047F9),
12294           UINT32_C(0x2E8140AF), UINT32_C(0x81491CA1)}},
12295         {{UINT32_C(0x675F821B), UINT32_C(0x2DA40FF1), UINT32_C(0x9E2E0502),
12296           UINT32_C(0x2C91A287), UINT32_C(0x077D81FE), UINT32_C(0x993ECFF4),
12297           UINT32_C(0x71CC3DAE), UINT32_C(0x3ABA2F2C)},
12298          {UINT32_C(0x168413DB), UINT32_C(0xED007670), UINT32_C(0xAFBD4E82),
12299           UINT32_C(0xC07D61B5), UINT32_C(0x6BBADA24), UINT32_C(0xF078262E),
12300           UINT32_C(0x9E6413CC), UINT32_C(0x0E0EDC62)}},
12301         {{UINT32_C(0xB7D099F9), UINT32_C(0x6CD0451D), UINT32_C(0xF8B12C83),
12302           UINT32_C(0x8FB218E6), UINT32_C(0xE55EE1E4), UINT32_C(0x4D8C3B26),
12303           UINT32_C(0x4A6FCD90), UINT32_C(0x94964906)},
12304          {UINT32_C(0x4BEACA48), UINT32_C(0x9ABB9685), UINT32_C(0x868EFEC7),
12305           UINT32_C(0x6A749487), UINT32_C(0xC8D2932C), UINT32_C(0x46BB9B42),
12306           UINT32_C(0xDE007BAC), UINT32_C(0x82384321)}},
12307         {{UINT32_C(0xA942DB71), UINT32_C(0xDBECB743), UINT32_C(0x21A6BC46),
12308           UINT32_C(0x21B52115), UINT32_C(0x24C17D78), UINT32_C(0xE49B6894),
12309           UINT32_C(0x89A08E17), UINT32_C(0x737FD3F1)},
12310          {UINT32_C(0xC36E4E57), UINT32_C(0xF833E404), UINT32_C(0x01E17CE6),
12311           UINT32_C(0x512C114A), UINT32_C(0x50D75050), UINT32_C(0x65A23D73),
12312           UINT32_C(0xF2F2D438), UINT32_C(0x838CA746)}},
12313         {{UINT32_C(0xA20632B7), UINT32_C(0x28F9220C), UINT32_C(0x642358D6),
12314           UINT32_C(0x72D8C347), UINT32_C(0xE89CAA6F), UINT32_C(0xAB15FE1B),
12315           UINT32_C(0x6E16374A), UINT32_C(0x2A09B143)},
12316          {UINT32_C(0xB983CFE8), UINT32_C(0x4CED0986), UINT32_C(0x97B84E88),
12317           UINT32_C(0xD9B067B6), UINT32_C(0xC2350F8F), UINT32_C(0x926FC5F5),
12318           UINT32_C(0x84E2078F), UINT32_C(0x31D77358)}},
12319         {{UINT32_C(0x7FF17BA1), UINT32_C(0xA7815CE7), UINT32_C(0xA26BBA1B),
12320           UINT32_C(0xBE80BB6C), UINT32_C(0xF86DF104), UINT32_C(0x66DAE535),
12321           UINT32_C(0xAB1B9C09), UINT32_C(0x72739199)},
12322          {UINT32_C(0x54056E67), UINT32_C(0x8E93F3C8), UINT32_C(0xEBF23595),
12323           UINT32_C(0xDC5E3855), UINT32_C(0x78123000), UINT32_C(0x70D1033C),
12324           UINT32_C(0xF22DD2BD), UINT32_C(0x50874350)}},
12325         {{UINT32_C(0xC2700468), UINT32_C(0x533F213B), UINT32_C(0x11BEA732),
12326           UINT32_C(0x31E6AA9C), UINT32_C(0x4491DC82), UINT32_C(0xCB5E184E),
12327           UINT32_C(0x5BD63975), UINT32_C(0x8A68049A)},
12328          {UINT32_C(0xF86A41D1), UINT32_C(0x1724AC47), UINT32_C(0xECA0DA11),
12329           UINT32_C(0xDF9A0CA3), UINT32_C(0x71F0EA19), UINT32_C(0xE5E1489C),
12330           UINT32_C(0xC9DC7BF2), UINT32_C(0x0E20661A)}},
12331     },
12332     {
12333         {{UINT32_C(0xF86D9DA8), UINT32_C(0x5EB4E319), UINT32_C(0xE0A46703),
12334           UINT32_C(0x3CBF130E), UINT32_C(0x00A4AB17), UINT32_C(0x166D52DA),
12335           UINT32_C(0xB7030861), UINT32_C(0x27A80547)},
12336          {UINT32_C(0x399C32BA), UINT32_C(0xA7601086), UINT32_C(0xC2F0A5E5),
12337           UINT32_C(0x571E4E4B), UINT32_C(0x39BED44D), UINT32_C(0x72D12F6B),
12338           UINT32_C(0x1AF8F25F), UINT32_C(0x8FDCCE3D)}},
12339         {{UINT32_C(0x7DFEB40D), UINT32_C(0x281F7AF9), UINT32_C(0xD7F767D5),
12340           UINT32_C(0x0CCE33B9), UINT32_C(0x8818C1E6), UINT32_C(0x3E8BF3F4),
12341           UINT32_C(0x4BA4647A), UINT32_C(0x6D909D0D)},
12342          {UINT32_C(0xFAC574D1), UINT32_C(0x91D77BA0), UINT32_C(0x68CA7FEC),
12343           UINT32_C(0xD2592661), UINT32_C(0x281F269C), UINT32_C(0xC4C7D6B5),
12344           UINT32_C(0xDA42CDDD), UINT32_C(0x7A41CD78)}},
12345         {{UINT32_C(0xA3B8F255), UINT32_C(0xBC8E0D27), UINT32_C(0x1C3E5190),
12346           UINT32_C(0xF5E2A8B1), UINT32_C(0xD609F668), UINT32_C(0x8C38862B),
12347           UINT32_C(0x0631D50F), UINT32_C(0x4E31C18E)},
12348          {UINT32_C(0xF13E0CCD), UINT32_C(0x9013EDDB), UINT32_C(0x41EFDAF7),
12349           UINT32_C(0x83B04E68), UINT32_C(0xDC82597F), UINT32_C(0x15EC4BB8),
12350           UINT32_C(0x56117705), UINT32_C(0x50595150)}},
12351         {{UINT32_C(0x1E0E0161), UINT32_C(0xD25F244D), UINT32_C(0x1A437FBA),
12352           UINT32_C(0x6C975D7B), UINT32_C(0x95F2AD8C), UINT32_C(0x305DB2DF),
12353           UINT32_C(0x3B9CC742), UINT32_C(0x17D6E005)},
12354          {UINT32_C(0xE60BC3C3), UINT32_C(0x6A849F76), UINT32_C(0xBF8C3790),
12355           UINT32_C(0x35523E08), UINT32_C(0x239140E2), UINT32_C(0xF18B5335),
12356           UINT32_C(0x7CA5FF40), UINT32_C(0x5E857055)}},
12357         {{UINT32_C(0xA4250E95), UINT32_C(0xB48F07A4), UINT32_C(0xC7F17667),
12358           UINT32_C(0x068735AE), UINT32_C(0x94771B24), UINT32_C(0x30F8D313),
12359           UINT32_C(0xA495A064), UINT32_C(0x598EA397)},
12360          {UINT32_C(0x68B76855), UINT32_C(0xBF192529), UINT32_C(0xC7C0D2D6),
12361           UINT32_C(0x897E3CC6), UINT32_C(0x64EC9649), UINT32_C(0xA2A4948F),
12362           UINT32_C(0xAE7C8598), UINT32_C(0x1027891A)}},
12363         {{UINT32_C(0x04585685), UINT32_C(0x0442E6CB), UINT32_C(0x82A2D258),
12364           UINT32_C(0x09BA61DA), UINT32_C(0x0AE5466D), UINT32_C(0x7C5400B1),
12365           UINT32_C(0xC2133893), UINT32_C(0x0A0B71B0)},
12366          {UINT32_C(0xD5EF6E93), UINT32_C(0x04E3D98A), UINT32_C(0xF332BDF2),
12367           UINT32_C(0x177EA5F8), UINT32_C(0xC3FAE583), UINT32_C(0xE7CF3F71),
12368           UINT32_C(0x8AE0CFD7), UINT32_C(0x40C45133)}},
12369         {{UINT32_C(0x9B82E738), UINT32_C(0x6BE94FC3), UINT32_C(0x8BC262E2),
12370           UINT32_C(0x212FB804), UINT32_C(0xB22E21FF), UINT32_C(0xE17F6A7A),
12371           UINT32_C(0x15E960BB), UINT32_C(0x22B7BDAB)},
12372          {UINT32_C(0x771350C2), UINT32_C(0xE154C945), UINT32_C(0x882DB07B),
12373           UINT32_C(0x6505B8EB), UINT32_C(0xC7E3ABD3), UINT32_C(0x149A0A16),
12374           UINT32_C(0x81C30AAE), UINT32_C(0x78F78ABF)}},
12375         {{UINT32_C(0xC954BC0A), UINT32_C(0x6ED81415), UINT32_C(0x70E55349),
12376           UINT32_C(0x316E8012), UINT32_C(0x50399C09), UINT32_C(0xEC02323B),
12377           UINT32_C(0x8559C3A9), UINT32_C(0x963BA97B)},
12378          {UINT32_C(0x037EC345), UINT32_C(0x39FCE50E), UINT32_C(0xD5BF03FB),
12379           UINT32_C(0x422A082D), UINT32_C(0x18DCC77E), UINT32_C(0x59ED39E4),
12380           UINT32_C(0xA40AA978), UINT32_C(0x4CFC3F11)}},
12381         {{UINT32_C(0x55D7C9B6), UINT32_C(0x85A56922), UINT32_C(0xB451111B),
12382           UINT32_C(0x5BC590E2), UINT32_C(0x8782C71B), UINT32_C(0x3BCB2315),
12383           UINT32_C(0x632246A9), UINT32_C(0x1F3456C4)},
12384          {UINT32_C(0x9CFBBE19), UINT32_C(0xEA577AD9), UINT32_C(0x35CCE939),
12385           UINT32_C(0x051BEE40), UINT32_C(0x1A0C589C), UINT32_C(0xDC300899),
12386           UINT32_C(0xD2095619), UINT32_C(0x14877ECE)}},
12387         {{UINT32_C(0x95024C5E), UINT32_C(0xB64D0EC6), UINT32_C(0xB94CDF74),
12388           UINT32_C(0xB0597195), UINT32_C(0x16844010), UINT32_C(0x3B97B513),
12389           UINT32_C(0xCCBABC63), UINT32_C(0x48799881)},
12390          {UINT32_C(0xD9819075), UINT32_C(0x0E3119AE), UINT32_C(0xEB0299FD),
12391           UINT32_C(0xA5DCA9C1), UINT32_C(0x4A404D13), UINT32_C(0x8063D788),
12392           UINT32_C(0x8044EBE2), UINT32_C(0x974D2A1A)}},
12393         {{UINT32_C(0xB8E14640), UINT32_C(0xB6589045), UINT32_C(0x5507B9BE),
12394           UINT32_C(0xFAD60A43), UINT32_C(0x56FF32BC), UINT32_C(0x9D540C1C),
12395           UINT32_C(0x74265A69), UINT32_C(0x47ECC24F)},
12396          {UINT32_C(0xDB3E64C9), UINT32_C(0x0C829F18), UINT32_C(0x72E87B2B),
12397           UINT32_C(0xF7C0C6D7), UINT32_C(0x16B616CE), UINT32_C(0xCB3FC512),
12398           UINT32_C(0xB94F69B1), UINT32_C(0x549B9227)}},
12399         {{UINT32_C(0xDB235273), UINT32_C(0xB151DEE9), UINT32_C(0x6D65606C),
12400           UINT32_C(0x2FD9496F), UINT32_C(0xD62B5B0D), UINT32_C(0x6A5E172D),
12401           UINT32_C(0xEA0AE249), UINT32_C(0x181E605D)},
12402          {UINT32_C(0x8911490A), UINT32_C(0x66D7EB09), UINT32_C(0x2E70DEF2),
12403           UINT32_C(0x85E174A3), UINT32_C(0x4EF8CFA9), UINT32_C(0x2DA13354),
12404           UINT32_C(0x3E69BD22), UINT32_C(0x1B87FE62)}},
12405         {{UINT32_C(0x2BB09564), UINT32_C(0x2DF420CA), UINT32_C(0x7ACEE4D4),
12406           UINT32_C(0x1AC26F76), UINT32_C(0x2BC7EF7A), UINT32_C(0x50C68E6F),
12407           UINT32_C(0xB445B2FE), UINT32_C(0x4730D654)},
12408          {UINT32_C(0x8B57D38D), UINT32_C(0x90C040D9), UINT32_C(0x33CA2C77),
12409           UINT32_C(0x28793DB5), UINT32_C(0xAC6A4BE8), UINT32_C(0x22D2B573),
12410           UINT32_C(0xB72E7E01), UINT32_C(0x68C0DBDD)}},
12411         {{UINT32_C(0x09E2D3FF), UINT32_C(0xDF70BCDC), UINT32_C(0x9F20F624),
12412           UINT32_C(0xB6E59970), UINT32_C(0x6DE3119E), UINT32_C(0x5E04FDE7),
12413           UINT32_C(0xD5705A5D), UINT32_C(0x1C9B43FF)},
12414          {UINT32_C(0x681270B0), UINT32_C(0x7C23A517), UINT32_C(0x9303BF40),
12415           UINT32_C(0xDD7FC833), UINT32_C(0x458EE80A), UINT32_C(0x3028E496),
12416           UINT32_C(0x52590EEF), UINT32_C(0x0C720063)}},
12417         {{UINT32_C(0x2850A5AE), UINT32_C(0x27B29710), UINT32_C(0xAA3E0397),
12418           UINT32_C(0xD1E6FBBA), UINT32_C(0xDF8FCBD6), UINT32_C(0xCFB44044),
12419           UINT32_C(0xC52B90FD), UINT32_C(0x7CD86272)},
12420          {UINT32_C(0xEBA52025), UINT32_C(0xB0E7FA93), UINT32_C(0x04084EF3),
12421           UINT32_C(0x64166303), UINT32_C(0x43840178), UINT32_C(0xD7C7DCBE),
12422           UINT32_C(0x22FB81A2), UINT32_C(0x8BC7FF77)}},
12423         {{UINT32_C(0xDAFCE699), UINT32_C(0xABDC5206), UINT32_C(0x83C5F3A3),
12424           UINT32_C(0x522A9137), UINT32_C(0x0E666E5C), UINT32_C(0xBAA93637),
12425           UINT32_C(0xD2D33B62), UINT32_C(0x0FD813DA)},
12426          {UINT32_C(0x5D417354), UINT32_C(0x83391908), UINT32_C(0xA6B9B447),
12427           UINT32_C(0xE5AADE1D), UINT32_C(0xD68321B1), UINT32_C(0xBDE90A3C),
12428           UINT32_C(0x0411531B), UINT32_C(0x43FF9514)}},
12429     },
12430     {
12431         {{UINT32_C(0x39648345), UINT32_C(0xD61DEE64), UINT32_C(0x7FCB5B5E),
12432           UINT32_C(0xF8B3FA1C), UINT32_C(0x24C29C71), UINT32_C(0xDD531CE1),
12433           UINT32_C(0xFFB825FE), UINT32_C(0x7A23608B)},
12434          {UINT32_C(0xF0DE896D), UINT32_C(0x8D607B82), UINT32_C(0x06EDDAFE),
12435           UINT32_C(0x6E497330), UINT32_C(0xC935E754), UINT32_C(0x8B49EFF0),
12436           UINT32_C(0xEE08BDBF), UINT32_C(0x90D54646)}},
12437         {{UINT32_C(0x9044FD39), UINT32_C(0xF44FBB16), UINT32_C(0xDFB38141),
12438           UINT32_C(0xA72128C4), UINT32_C(0x01954CC0), UINT32_C(0x8467F688),
12439           UINT32_C(0xB560B5C5), UINT32_C(0x741C23EE)},
12440          {UINT32_C(0x9765CF34), UINT32_C(0xA7F42201), UINT32_C(0x8A2AB61A),
12441           UINT32_C(0xB26C97BF), UINT32_C(0xCBD45AF3), UINT32_C(0xAA948763),
12442           UINT32_C(0xE21479F5), UINT32_C(0x74C993C2)}},
12443         {{UINT32_C(0xBFA717A5), UINT32_C(0xD968CE1A), UINT32_C(0x48E92615),
12444           UINT32_C(0x45C1103D), UINT32_C(0xDD98207D), UINT32_C(0x4CCEBE85),
12445           UINT32_C(0xE65E5FE6), UINT32_C(0x8A75DF6E)},
12446          {UINT32_C(0x418C47C5), UINT32_C(0x9E582C40), UINT32_C(0xA450009B),
12447           UINT32_C(0x2E9EE003), UINT32_C(0xDD60D3D2), UINT32_C(0x7C079613),
12448           UINT32_C(0x9935D8CA), UINT32_C(0x80A78C4A)}},
12449         {{UINT32_C(0xD3C9B903), UINT32_C(0xF6CDED58), UINT32_C(0xEF455E7A),
12450           UINT32_C(0x4F27927D), UINT32_C(0x833BB3C1), UINT32_C(0xF9DBBB9E),
12451           UINT32_C(0x6BA3770A), UINT32_C(0x4107CFBF)},
12452          {UINT32_C(0x520FCB57), UINT32_C(0x61871175), UINT32_C(0x47A12C8E),
12453           UINT32_C(0xEA3A307B), UINT32_C(0xC24E9E75), UINT32_C(0x940DDEE8),
12454           UINT32_C(0xF33541BB), UINT32_C(0x8AE8F22C)}},
12455         {{UINT32_C(0x3973DC0B), UINT32_C(0xE4C89870), UINT32_C(0x55DFAAF0),
12456           UINT32_C(0xCC3DD1AC), UINT32_C(0x27372EFE), UINT32_C(0xB63D596B),
12457           UINT32_C(0x45A33718), UINT32_C(0x1B92A192)},
12458          {UINT32_C(0x00607319), UINT32_C(0x0EABEBEE), UINT32_C(0x7C3E35EE),
12459           UINT32_C(0x69B7355E), UINT32_C(0x2233C454), UINT32_C(0xF7354E35),
12460           UINT32_C(0x1E722C0A), UINT32_C(0x1E2BAADA)}},
12461         {{UINT32_C(0x3B9FE86D), UINT32_C(0xD0E47FE2), UINT32_C(0xDAA1C7BC),
12462           UINT32_C(0x878F403F), UINT32_C(0x90F5DED7), UINT32_C(0x5447AD54),
12463           UINT32_C(0x1E58B03B), UINT32_C(0x4E8A997B)},
12464          {UINT32_C(0x2E926FA8), UINT32_C(0x9AD0E481), UINT32_C(0x8D0EF3AA),
12465           UINT32_C(0x871EFB9E), UINT32_C(0x7E714DF6), UINT32_C(0xADD7DD14),
12466           UINT32_C(0x2308EE02), UINT32_C(0x9A30245A)}},
12467         {{UINT32_C(0x904F0D11), UINT32_C(0x44838B15), UINT32_C(0x2A2A70FF),
12468           UINT32_C(0x6177587A), UINT32_C(0x2C2F7943), UINT32_C(0x40293850),
12469           UINT32_C(0x67581701), UINT32_C(0x8F851191)},
12470          {UINT32_C(0x842E6434), UINT32_C(0x564383D1), UINT32_C(0xAF2C0078),
12471           UINT32_C(0x251AF59D), UINT32_C(0x3354A264), UINT32_C(0x8A81772D),
12472           UINT32_C(0xDFD2D0EA), UINT32_C(0x9AAFA350)}},
12473         {{UINT32_C(0x35461CAD), UINT32_C(0x47397932), UINT32_C(0x62C5BFFA),
12474           UINT32_C(0x0F86BD43), UINT32_C(0x7785490D), UINT32_C(0x5F166BC0),
12475           UINT32_C(0x2BD61B3E), UINT32_C(0x7DCCC988)},
12476          {UINT32_C(0x9394375B), UINT32_C(0x44C3299A), UINT32_C(0x405A34BD),
12477           UINT32_C(0x0C5F2803), UINT32_C(0x4237E728), UINT32_C(0x3AD60F1D),
12478           UINT32_C(0x72EC2562), UINT32_C(0x6E7E06D0)}},
12479         {{UINT32_C(0x3C5840A6), UINT32_C(0x44AD8471), UINT32_C(0x4752BC62),
12480           UINT32_C(0x40C3CE2B), UINT32_C(0xEC3FD75F), UINT32_C(0x94B14C21),
12481           UINT32_C(0x2629C0C0), UINT32_C(0x65E0E6AF)},
12482          {UINT32_C(0x55936454), UINT32_C(0xA3FE2F55), UINT32_C(0x780E25E5),
12483           UINT32_C(0x252AD743), UINT32_C(0xFF4E107A), UINT32_C(0x22F9951B),
12484           UINT32_C(0x554CEA49), UINT32_C(0x1B8A7DDE)}},
12485         {{UINT32_C(0x89F1C6FA), UINT32_C(0xBBDCC2C0), UINT32_C(0xC360A51D),
12486           UINT32_C(0x548FEF29), UINT32_C(0x1290EC92), UINT32_C(0x094DAD45),
12487           UINT32_C(0xAF55BF30), UINT32_C(0x792F6FB9)},
12488          {UINT32_C(0x707FBF4E), UINT32_C(0x37EF4ABE), UINT32_C(0xFC4B6BD0),
12489           UINT32_C(0x0F43AB0D), UINT32_C(0x2D6EE5D9), UINT32_C(0x850015B7),
12490           UINT32_C(0x35C1FD65), UINT32_C(0x09273F35)}},
12491         {{UINT32_C(0xA6C3209B), UINT32_C(0xCECF1B90), UINT32_C(0xABD433C0),
12492           UINT32_C(0xFB4BC864), UINT32_C(0x3EEEF8BA), UINT32_C(0x38246AAA),
12493           UINT32_C(0x9ED13F88), UINT32_C(0x4BC7904E)},
12494          {UINT32_C(0x8E783066), UINT32_C(0xA61C369A), UINT32_C(0x4D1C832C),
12495           UINT32_C(0x496FB831), UINT32_C(0x03AD64D5), UINT32_C(0x1907687A),
12496           UINT32_C(0x83425766), UINT32_C(0x49516EA5)}},
12497         {{UINT32_C(0xB1714E53), UINT32_C(0x8108B704), UINT32_C(0x82E39BE7),
12498           UINT32_C(0xB458CB4B), UINT32_C(0x097049DE), UINT32_C(0xFCBD51CC),
12499           UINT32_C(0x722E8CBA), UINT32_C(0x415F4079)},
12500          {UINT32_C(0x342DF9C6), UINT32_C(0xCDB06F5E), UINT32_C(0x1281AC74),
12501           UINT32_C(0x64885CD1), UINT32_C(0x5366673D), UINT32_C(0x932A05E4),
12502           UINT32_C(0xE83AD23D), UINT32_C(0x7333520B)}},
12503         {{UINT32_C(0xC54B523C), UINT32_C(0xDAA0A1EF), UINT32_C(0xB3C261C8),
12504           UINT32_C(0xA3E80053), UINT32_C(0x558FCFA5), UINT32_C(0x352CC612),
12505           UINT32_C(0x85852B14), UINT32_C(0x1B9B755D)},
12506          {UINT32_C(0xA1B541FF), UINT32_C(0x19EE2CB6), UINT32_C(0xD5786B4F),
12507           UINT32_C(0x2B531CE2), UINT32_C(0x08C3E15B), UINT32_C(0xEF5EA6DF),
12508           UINT32_C(0x87111129), UINT32_C(0x82161B04)}},
12509         {{UINT32_C(0xFCEABAED), UINT32_C(0x5AB533A5), UINT32_C(0x4A4D8E44),
12510           UINT32_C(0x4C2147A5), UINT32_C(0xDA02D43D), UINT32_C(0xD8EEE795),
12511           UINT32_C(0xA15C1CD0), UINT32_C(0x8CB648DF)},
12512          {UINT32_C(0xA788DDDE), UINT32_C(0x4869FB6C), UINT32_C(0x77C03759),
12513           UINT32_C(0xF9554D14), UINT32_C(0x96187DB9), UINT32_C(0x4D25B41A),
12514           UINT32_C(0x3FE0B3F3), UINT32_C(0x662FBAB3)}},
12515         {{UINT32_C(0xA58A5B2E), UINT32_C(0xD3AF4D09), UINT32_C(0x5CE88DBE),
12516           UINT32_C(0x3C5DD298), UINT32_C(0x7426C2A4), UINT32_C(0x89DDA42E),
12517           UINT32_C(0x49095424), UINT32_C(0x2D832B07)},
12518          {UINT32_C(0x62AA84CF), UINT32_C(0x24EFCC03), UINT32_C(0xE86923D7),
12519           UINT32_C(0x348C19DE), UINT32_C(0x35DB5CB1), UINT32_C(0x453E9286),
12520           UINT32_C(0x8DB21CF3), UINT32_C(0x03F48EEB)}},
12521         {{UINT32_C(0xF4035856), UINT32_C(0xBCF9600F), UINT32_C(0xAF820E18),
12522           UINT32_C(0xE77CEC83), UINT32_C(0x7F2FBCC1), UINT32_C(0xC87D43C1),
12523           UINT32_C(0x6290B18D), UINT32_C(0x574C4CAE)},
12524          {UINT32_C(0xE56E1EFE), UINT32_C(0x8BD8AE45), UINT32_C(0x75D6FCC9),
12525           UINT32_C(0xB1EFD684), UINT32_C(0xA361E753), UINT32_C(0x9829F227),
12526           UINT32_C(0x5211B784), UINT32_C(0x9A50B425)}},
12527     },
12528     {
12529         {{UINT32_C(0x36396F78), UINT32_C(0x26F19590), UINT32_C(0x9AD1982C),
12530           UINT32_C(0x350D1A76), UINT32_C(0x947F352E), UINT32_C(0x33BDB4AB),
12531           UINT32_C(0xFFE1E1E1), UINT32_C(0x6CA38B05)},
12532          {UINT32_C(0x6F2A8CA0), UINT32_C(0x055364C2), UINT32_C(0x2969CA7E),
12533           UINT32_C(0xAF15075D), UINT32_C(0xC3B9CB70), UINT32_C(0x2916D58F),
12534           UINT32_C(0xD7325693), UINT32_C(0x18D94A8B)}},
12535         {{UINT32_C(0xF36EB789), UINT32_C(0x87C41809), UINT32_C(0xA7436F54),
12536           UINT32_C(0x8C3517F9), UINT32_C(0x3D785160), UINT32_C(0xE7C02E1D),
12537           UINT32_C(0x418C7ABF), UINT32_C(0x5BAFE72E)},
12538          {UINT32_C(0xCD9B27C2), UINT32_C(0xA00A8E76), UINT32_C(0x7DA06823),
12539           UINT32_C(0x66791808), UINT32_C(0x20EC00B4), UINT32_C(0x342A03D9),
12540           UINT32_C(0x6122589A), UINT32_C(0x44502A7E)}},
12541         {{UINT32_C(0x5BDAE972), UINT32_C(0x3A492F73), UINT32_C(0x126A07DE),
12542           UINT32_C(0x5184D076), UINT32_C(0xB56A38F0), UINT32_C(0xAE49313C),
12543           UINT32_C(0x9EC47E0A), UINT32_C(0x66CCC24E)},
12544          {UINT32_C(0xC03CF3E1), UINT32_C(0xAE84941B), UINT32_C(0x5A73440B),
12545           UINT32_C(0x771AFC57), UINT32_C(0xC433E43C), UINT32_C(0xABF93DC8),
12546           UINT32_C(0x243C6828), UINT32_C(0x974EE822)}},
12547         {{UINT32_C(0xA7A5F66C), UINT32_C(0x468D7FDB), UINT32_C(0xB18DEFCC),
12548           UINT32_C(0xBBB2C482), UINT32_C(0xFA2E7DEA), UINT32_C(0x188B8CAC),
12549           UINT32_C(0xBE0200B9), UINT32_C(0x7894BC93)},
12550          {UINT32_C(0x6B84750E), UINT32_C(0xA3181338), UINT32_C(0x37356096),
12551           UINT32_C(0x8B14BDB2), UINT32_C(0xD62F4813), UINT32_C(0xA9200FE7),
12552           UINT32_C(0x6F7627CE), UINT32_C(0x8DF664A3)}},
12553         {{UINT32_C(0xDD996CF1), UINT32_C(0x39BF14DD), UINT32_C(0xF7F42D26),
12554           UINT32_C(0xD00B3BF5), UINT32_C(0x017718A3), UINT32_C(0xF1AF5A20),
12555           UINT32_C(0xABCAE05D), UINT32_C(0x34A1E94B)},
12556          {UINT32_C(0xC635D333), UINT32_C(0xAD75D1B5), UINT32_C(0x87210A5A),
12557           UINT32_C(0x97E5BD39), UINT32_C(0xA0327BF4), UINT32_C(0x11684CA6),
12558           UINT32_C(0x9B8F0A46), UINT32_C(0x25C51117)}},
12559         {{UINT32_C(0xA935A9B9), UINT32_C(0x7E5CD79F), UINT32_C(0xA22DCD16),
12560           UINT32_C(0x15DC70C2), UINT32_C(0x78A420F4), UINT32_C(0x5CDA47E6),
12561           UINT32_C(0xEA631104), UINT32_C(0x37E0364E)},
12562          {UINT32_C(0x5E47B630), UINT32_C(0xE7C46956), UINT32_C(0xE42C4DCB),
12563           UINT32_C(0x7BD4C4A7), UINT32_C(0x1C91117E), UINT32_C(0xA76B87A7),
12564           UINT32_C(0xADA4B5E1), UINT32_C(0x2AA043DD)}},
12565         {{UINT32_C(0x875DED57), UINT32_C(0x6BB06B5A), UINT32_C(0xFEAD7B14),
12566           UINT32_C(0x89452B3B), UINT32_C(0xA6E39E1F), UINT32_C(0x0CBD5CA8),
12567           UINT32_C(0x3BFA7A3D), UINT32_C(0x2DC5917C)},
12568          {UINT32_C(0xF840B6E8), UINT32_C(0x6395D5B8), UINT32_C(0xED8589EE),
12569           UINT32_C(0xAEC9342F), UINT32_C(0x77979E67), UINT32_C(0x8332A1B8),
12570           UINT32_C(0xC59F97DB), UINT32_C(0x29B55822)}},
12571         {{UINT32_C(0x7D65A8F4), UINT32_C(0xFD145FF7), UINT32_C(0x119C9AFC),
12572           UINT32_C(0x8FFF7EE0), UINT32_C(0xAFCD6214), UINT32_C(0x0100D0E9),
12573           UINT32_C(0xA3B988B3), UINT32_C(0x98DE55E5)},
12574          {UINT32_C(0x00151BF2), UINT32_C(0x0BACCB2E), UINT32_C(0x66091583),
12575           UINT32_C(0x2B422D09), UINT32_C(0x93C66A3B), UINT32_C(0xC4D15E16),
12576           UINT32_C(0x727DE9E6), UINT32_C(0x1C107559)}},
12577         {{UINT32_C(0x3CB76EDF), UINT32_C(0xC019C7D7), UINT32_C(0x151F5E14),
12578           UINT32_C(0x6456DD91), UINT32_C(0x57CC7078), UINT32_C(0x29E95B66),
12579           UINT32_C(0xE9BDBCEC), UINT32_C(0x9193F4D9)},
12580          {UINT32_C(0x4806F8CB), UINT32_C(0x375837B0), UINT32_C(0xAA954620),
12581           UINT32_C(0x52D5528A), UINT32_C(0x1B9D6D34), UINT32_C(0xE71F9F60),
12582           UINT32_C(0xDF95759C), UINT32_C(0x910E4FA1)}},
12583         {{UINT32_C(0xFCADB5EA), UINT32_C(0x8D31B2EE), UINT32_C(0xA63C7498),
12584           UINT32_C(0x0814FF77), UINT32_C(0x5E3D927E), UINT32_C(0x236569C0),
12585           UINT32_C(0x95BBB9D9), UINT32_C(0x7F669DAD)},
12586          {UINT32_C(0x305B0347), UINT32_C(0x29158C9A), UINT32_C(0x52D468EB),
12587           UINT32_C(0x99B9B7E7), UINT32_C(0xB4342443), UINT32_C(0x6C4CABC3),
12588           UINT32_C(0x0A803ED4), UINT32_C(0x125AFBEA)}},
12589         {{UINT32_C(0x101FAA4E), UINT32_C(0x850A150B), UINT32_C(0x11ECDABC),
12590           UINT32_C(0xB586BCDA), UINT32_C(0x4DAD2264), UINT32_C(0x9692EF83),
12591           UINT32_C(0xD2B67F5E), UINT32_C(0x0951716E)},
12592          {UINT32_C(0x924DD16D), UINT32_C(0xA2295F20), UINT32_C(0xD0CE88CD),
12593           UINT32_C(0xD8327275), UINT32_C(0xC683ADA3), UINT32_C(0x45F8DD0C),
12594           UINT32_C(0x88C26024), UINT32_C(0x4A798B33)}},
12595         {{UINT32_C(0xCAF71198), UINT32_C(0x225395CF), UINT32_C(0xCA3F67CF),
12596           UINT32_C(0xEE223712), UINT32_C(0x81280061), UINT32_C(0x972B0199),
12597           UINT32_C(0x280ECC12), UINT32_C(0x0CB20E7A)},
12598          {UINT32_C(0x70F54717), UINT32_C(0x06F04DA8), UINT32_C(0x410B9712),
12599           UINT32_C(0x5288425E), UINT32_C(0x74CEFB4A), UINT32_C(0x6C29A514),
12600           UINT32_C(0x849E2FD6), UINT32_C(0x4218ECCA)}},
12601         {{UINT32_C(0xB33574B6), UINT32_C(0xD85663A3), UINT32_C(0xFAF7D3A2),
12602           UINT32_C(0x7469CFB1), UINT32_C(0x3CFA8876), UINT32_C(0x9C587EC4),
12603           UINT32_C(0xDB24ED63), UINT32_C(0x5DAE46AE)},
12604          {UINT32_C(0xC413E494), UINT32_C(0x66C8DA33), UINT32_C(0x65942568),
12605           UINT32_C(0xB8B256B6), UINT32_C(0xA7A4CAAD), UINT32_C(0x0F09178E),
12606           UINT32_C(0xAFEBC90B), UINT32_C(0x577D4ADC)}},
12607         {{UINT32_C(0x92D6C3B4), UINT32_C(0x49009BA6), UINT32_C(0xB884FAAC),
12608           UINT32_C(0xE9CF4915), UINT32_C(0x6F3DBE23), UINT32_C(0xC12377D3),
12609           UINT32_C(0xEA6B680C), UINT32_C(0x2F6E0E86)},
12610          {UINT32_C(0xE6C5E24D), UINT32_C(0x5DF2CD5A), UINT32_C(0xEE608DD3),
12611           UINT32_C(0xAAE7E145), UINT32_C(0x8A7ED956), UINT32_C(0x5357CFF2),
12612           UINT32_C(0x3912DBA4), UINT32_C(0x8377126C)}},
12613         {{UINT32_C(0xF83BC3F6), UINT32_C(0x6E83A6C6), UINT32_C(0xC0CC09C6),
12614           UINT32_C(0x3633E1E4), UINT32_C(0xBC4B73A5), UINT32_C(0x0C2A268B),
12615           UINT32_C(0x125688EB), UINT32_C(0x688369D3)},
12616          {UINT32_C(0x73E75809), UINT32_C(0x64EE03E1), UINT32_C(0x8E110C46),
12617           UINT32_C(0x21773EE9), UINT32_C(0xA6A648B1), UINT32_C(0xF0BC6BE9),
12618           UINT32_C(0x7E0041E7), UINT32_C(0x39912183)}},
12619         {{UINT32_C(0x26F5716E), UINT32_C(0xCC09774A), UINT32_C(0xFDFB59E9),
12620           UINT32_C(0x01CB17F9), UINT32_C(0xAE8938B4), UINT32_C(0xA88D1269),
12621           UINT32_C(0xD13047C9), UINT32_C(0x99A40D17)},
12622          {UINT32_C(0x6FC672A3), UINT32_C(0xE469C984), UINT32_C(0x5638B928),
12623           UINT32_C(0xDA6534B6), UINT32_C(0xCDE40C83), UINT32_C(0xC56EAB20),
12624           UINT32_C(0xBD93AF10), UINT32_C(0x2C1582B1)}},
12625     },
12626     {
12627         {{UINT32_C(0xA3F45C37), UINT32_C(0xE4C19851), UINT32_C(0xC7D78FE9),
12628           UINT32_C(0xCA0FEFF2), UINT32_C(0x9A7E444B), UINT32_C(0x027B41D8),
12629           UINT32_C(0x15D38CBB), UINT32_C(0x1F1B242F)},
12630          {UINT32_C(0xF1F50AB9), UINT32_C(0x1C6C132C), UINT32_C(0x5DFE7530),
12631           UINT32_C(0x2A02A3A4), UINT32_C(0x6E29159F), UINT32_C(0x2B1EB8E2),
12632           UINT32_C(0x2EEDE876), UINT32_C(0x5F3F4AB7)}},
12633         {{UINT32_C(0x0F2DF95C), UINT32_C(0x362CE013), UINT32_C(0x26480BFA),
12634           UINT32_C(0x82E4E192), UINT32_C(0x6BEFF080), UINT32_C(0x9AAC9A96),
12635           UINT32_C(0x8EE2B59C), UINT32_C(0x5A1636F6)},
12636          {UINT32_C(0xFA049CCB), UINT32_C(0x600E0339), UINT32_C(0xF2F57163),
12637           UINT32_C(0x56680F80), UINT32_C(0x7B4240A7), UINT32_C(0x2C395CC1),
12638           UINT32_C(0x9C86BB64), UINT32_C(0x32EDFE4A)}},
12639         {{UINT32_C(0x711AEF69), UINT32_C(0x8D9842AB), UINT32_C(0x890831F0),
12640           UINT32_C(0x7A1C2429), UINT32_C(0x54CDA99A), UINT32_C(0x924478DF),
12641           UINT32_C(0xE25A02E2), UINT32_C(0x791A1D45)},
12642          {UINT32_C(0x170F4C21), UINT32_C(0x1433F569), UINT32_C(0xCA5F8BD8),
12643           UINT32_C(0x9F42C8C1), UINT32_C(0x067B3201), UINT32_C(0x377740F7),
12644           UINT32_C(0x2ECE5D81), UINT32_C(0x75145FFF)}},
12645         {{UINT32_C(0x39638F43), UINT32_C(0xCBFE782A), UINT32_C(0xE07553D2),
12646           UINT32_C(0xB0C0EC09), UINT32_C(0x115C673A), UINT32_C(0x8D1C41F7),
12647           UINT32_C(0xEB39E385), UINT32_C(0x8510551A)},
12648          {UINT32_C(0xBA275803), UINT32_C(0x92000181), UINT32_C(0x27B9A42A),
12649           UINT32_C(0x8AF63F4A), UINT32_C(0x52297029), UINT32_C(0xD50ECF0F),
12650           UINT32_C(0x66883C56), UINT32_C(0x1DCA33A5)}},
12651         {{UINT32_C(0xC51DF9D9), UINT32_C(0xB2C44933), UINT32_C(0xE66D80AE),
12652           UINT32_C(0xCA6F9FB0), UINT32_C(0x82839BA4), UINT32_C(0x78CD2EEB),
12653           UINT32_C(0xF7AFBCF3), UINT32_C(0x8FF8BCC8)},
12654          {UINT32_C(0x4164959B), UINT32_C(0x5AD00C70), UINT32_C(0xE83ED8D5),
12655           UINT32_C(0xAD901C71), UINT32_C(0x2B52650D), UINT32_C(0x56FFC0A9),
12656           UINT32_C(0x780126A8), UINT32_C(0x0689B171)}},
12657         {{UINT32_C(0x5EAC1DD8), UINT32_C(0x2E902A39), UINT32_C(0x7CAC283F),
12658           UINT32_C(0x7681EABA), UINT32_C(0x78525B7C), UINT32_C(0x03608CD8),
12659           UINT32_C(0x5EB95540), UINT32_C(0x09665B80)},
12660          {UINT32_C(0x306EE831), UINT32_C(0xF09F9805), UINT32_C(0xE41D453A),
12661           UINT32_C(0xFB00B1C6), UINT32_C(0x7C93E727), UINT32_C(0xD8BB9559),
12662           UINT32_C(0x2CE63FD8), UINT32_C(0x3B74FEE7)}},
12663         {{UINT32_C(0x0A22DABA), UINT32_C(0x73F48B33), UINT32_C(0xC8FC3E20),
12664           UINT32_C(0x797DE0FB), UINT32_C(0x9E79222D), UINT32_C(0x69C1BEE2),
12665           UINT32_C(0x1DF4C549), UINT32_C(0x3052F67A)},
12666          {UINT32_C(0xED78B6FB), UINT32_C(0xFE9128A9), UINT32_C(0x29CCF94F),
12667           UINT32_C(0xD9460CFF), UINT32_C(0xC1FD1DAA), UINT32_C(0x53737484),
12668           UINT32_C(0x1EDAEEB2), UINT32_C(0x83ADCD01)}},
12669         {{UINT32_C(0x2BA4195A), UINT32_C(0x189EC9AA), UINT32_C(0xC522BE92),
12670           UINT32_C(0x61345757), UINT32_C(0x39EFB05D), UINT32_C(0x35BAB72A),
12671           UINT32_C(0xAE0AC461), UINT32_C(0x82B27322)},
12672          {UINT32_C(0xC07F4382), UINT32_C(0xFEBF0F8C), UINT32_C(0xDAD2ED8E),
12673           UINT32_C(0x1CA2B3D7), UINT32_C(0x0A27F89C), UINT32_C(0x4800A037),
12674           UINT32_C(0x9815D971), UINT32_C(0x77D1B2FC)}},
12675         {{UINT32_C(0xCA0FC66A), UINT32_C(0xF9F46089), UINT32_C(0x8C23E4E1),
12676           UINT32_C(0x5BC406DE), UINT32_C(0x8DBF6DD5), UINT32_C(0x1D7F3BA9),
12677           UINT32_C(0x679D5587), UINT32_C(0x685B9111)},
12678          {UINT32_C(0xB85BE0D0), UINT32_C(0x93554084), UINT32_C(0x7B9EB16C),
12679           UINT32_C(0xB081E9CA), UINT32_C(0x60F0D0B0), UINT32_C(0x58C428DC),
12680           UINT32_C(0x30B3C6D9), UINT32_C(0x12442C1A)}},
12681         {{UINT32_C(0x567226BE), UINT32_C(0x147B843C), UINT32_C(0x429A8FFA),
12682           UINT32_C(0x2B2BFFAB), UINT32_C(0xCD435C2F), UINT32_C(0x7A4678EB),
12683           UINT32_C(0x3C0B887A), UINT32_C(0x200E8513)},
12684          {UINT32_C(0x90605CDD), UINT32_C(0x9D457AAD), UINT32_C(0x157F29A5),
12685           UINT32_C(0x6736A242), UINT32_C(0x549FCA4D), UINT32_C(0x779B0D25),
12686           UINT32_C(0x17FDB4D9), UINT32_C(0x57477EE9)}},
12687         {{UINT32_C(0xECF06CDD), UINT32_C(0xD9B15FD1), UINT32_C(0xC1CC2CFC),
12688           UINT32_C(0xECF75FC0), UINT32_C(0xA56B39E5), UINT32_C(0x273867C3),
12689           UINT32_C(0x79340B7D), UINT32_C(0x72F3ED45)},
12690          {UINT32_C(0x55B6C9B9), UINT32_C(0xF31C9E4C), UINT32_C(0x0448FE57),
12691           UINT32_C(0xED96826E), UINT32_C(0x8BB7A02F), UINT32_C(0xE2DF54AD),
12692           UINT32_C(0xD79D71CC), UINT32_C(0x945E7B6B)}},
12693         {{UINT32_C(0x9270E878), UINT32_C(0x32B6CE42), UINT32_C(0xD6EEBEB9),
12694           UINT32_C(0x980C8F6E), UINT32_C(0x55808237), UINT32_C(0xC5717C85),
12695           UINT32_C(0xCCA3F298), UINT32_C(0x4469D0A0)},
12696          {UINT32_C(0x1A18C0E8), UINT32_C(0x2B9DD7E9), UINT32_C(0x6A0EC412),
12697           UINT32_C(0xE9D12401), UINT32_C(0x31F44B32), UINT32_C(0xF889DE98),
12698           UINT32_C(0x78854A7F), UINT32_C(0x692EE1E6)}},
12699         {{UINT32_C(0xADEECA22), UINT32_C(0xF2360597), UINT32_C(0x99A4C198),
12700           UINT32_C(0x94623EBC), UINT32_C(0xE4169D20), UINT32_C(0x5A0D49C4),
12701           UINT32_C(0xBF0384F0), UINT32_C(0x7BE2C5BB)},
12702          {UINT32_C(0x8C537851), UINT32_C(0x42DB0D40), UINT32_C(0x65C50782),
12703           UINT32_C(0x198A09A4), UINT32_C(0x45AD7EE0), UINT32_C(0x72F80BB7),
12704           UINT32_C(0x11FCED06), UINT32_C(0x4F83164B)}},
12705         {{UINT32_C(0x95712AF0), UINT32_C(0x54E5B07C), UINT32_C(0x1E893387),
12706           UINT32_C(0x95E7F5D9), UINT32_C(0xC61D7766), UINT32_C(0x383BC5AE),
12707           UINT32_C(0x681C28DD), UINT32_C(0x09F626ED)},
12708          {UINT32_C(0xDF97E3C9), UINT32_C(0x0D32B726), UINT32_C(0x7C7C4786),
12709           UINT32_C(0x2AC62238), UINT32_C(0xD3F5AD40), UINT32_C(0xECEA0C6A),
12710           UINT32_C(0xA870A132), UINT32_C(0x0D26633E)}},
12711         {{UINT32_C(0xC3D42D26), UINT32_C(0x40A05A14), UINT32_C(0xF3BDE0E3),
12712           UINT32_C(0x06577CA1), UINT32_C(0x418B73FB), UINT32_C(0x03DAA258),
12713           UINT32_C(0x0EFDEB86), UINT32_C(0x205E02E6)},
12714          {UINT32_C(0x99F90D56), UINT32_C(0xF5479E4D), UINT32_C(0x368CB6E3),
12715           UINT32_C(0x4E699BF3), UINT32_C(0x62E4A879), UINT32_C(0x534F6743),
12716           UINT32_C(0xA9D78191), UINT32_C(0x18473603)}},
12717         {{UINT32_C(0x5C1ED4F9), UINT32_C(0xA23D79CF), UINT32_C(0xF2248B01),
12718           UINT32_C(0xFADE1CF5), UINT32_C(0x6F4D2164), UINT32_C(0xA3D52827),
12719           UINT32_C(0x10B731E5), UINT32_C(0x1F211C03)},
12720          {UINT32_C(0xD97229E2), UINT32_C(0x0B415884), UINT32_C(0x80FCC283),
12721           UINT32_C(0xCABB7D89), UINT32_C(0x98EF388A), UINT32_C(0xDB9BC752),
12722           UINT32_C(0x93E80262), UINT32_C(0x50AF2A4A)}},
12723     },
12724     {
12725         {{UINT32_C(0xD57DD821), UINT32_C(0xD11E80F1), UINT32_C(0xDDA2AB29),
12726           UINT32_C(0x11CAE463), UINT32_C(0xE628F315), UINT32_C(0x21CAFD16),
12727           UINT32_C(0x7DF70CD4), UINT32_C(0x296A84E9)},
12728          {UINT32_C(0x6E9EF995), UINT32_C(0x9ECF7513), UINT32_C(0x06E28855),
12729           UINT32_C(0xAE875257), UINT32_C(0x5DED383C), UINT32_C(0x78E1B7E9),
12730           UINT32_C(0x5E940F7F), UINT32_C(0x6C5D8ECC)}},
12731         {{UINT32_C(0x998EE9A3), UINT32_C(0xCBD3ACB9), UINT32_C(0xD0DCF584),
12732           UINT32_C(0x990CDFF6), UINT32_C(0xC7CE5DDA), UINT32_C(0x0FB4346C),
12733           UINT32_C(0x355E268F), UINT32_C(0x5EDEEF9B)},
12734          {UINT32_C(0xC215036D), UINT32_C(0xACD8B4A2), UINT32_C(0x91C7486B),
12735           UINT32_C(0x70D36995), UINT32_C(0x52C6694B), UINT32_C(0x72D5243D),
12736           UINT32_C(0xE5F8B99C), UINT32_C(0x54163B48)}},
12737         {{UINT32_C(0x1D76A94A), UINT32_C(0xD2AEA2FF), UINT32_C(0x379F780B),
12738           UINT32_C(0xC5B4FBF1), UINT32_C(0xB33AC708), UINT32_C(0x700042F7),
12739           UINT32_C(0x8183E0CA), UINT32_C(0x7DA790BF)},
12740          {UINT32_C(0xEBA72FA8), UINT32_C(0x95681FE6), UINT32_C(0xE22E254E),
12741           UINT32_C(0x1F0A390E), UINT32_C(0xBF07A8A5), UINT32_C(0x465A58F8),
12742           UINT32_C(0xFB1FCE40), UINT32_C(0x840EA2E7)}},
12743         {{UINT32_C(0x44048484), UINT32_C(0xD955C5B5), UINT32_C(0x6935C5E4),
12744           UINT32_C(0x7107D595), UINT32_C(0x8A0FCE44), UINT32_C(0xFC657444),
12745           UINT32_C(0x2800E517), UINT32_C(0x97DF2B4D)},
12746          {UINT32_C(0x2C482414), UINT32_C(0x0B1BB328), UINT32_C(0x4E48CDBE),
12747           UINT32_C(0x152614CC), UINT32_C(0x42EDE4E0), UINT32_C(0x48051FB6),
12748           UINT32_C(0x3DBFFE52), UINT32_C(0x91125B93)}},
12749         {{UINT32_C(0xCF898F54), UINT32_C(0xA2F526C7), UINT32_C(0x83080857),
12750           UINT32_C(0x8788CA12), UINT32_C(0x4562F7B0), UINT32_C(0x2F442723),
12751           UINT32_C(0xC044560C), UINT32_C(0x837772AB)},
12752          {UINT32_C(0x31BCB2EA), UINT32_C(0x51AD2F71), UINT32_C(0xAFC5C03D),
12753           UINT32_C(0x0F1D33FC), UINT32_C(0x7BD352A4), UINT32_C(0xDBFE541F),
12754           UINT32_C(0x64B8343D), UINT32_C(0x8B441399)}},
12755         {{UINT32_C(0x44DCD145), UINT32_C(0xFEB96B8C), UINT32_C(0xEFF22D0D),
12756           UINT32_C(0xEEB3007C), UINT32_C(0x252A8C8F), UINT32_C(0xAF64DFC1),
12757           UINT32_C(0xD131E0C5), UINT32_C(0x5D9B0A05)},
12758          {UINT32_C(0xABFED144), UINT32_C(0x28C943EF), UINT32_C(0xB6A2273D),
12759           UINT32_C(0xDFBF730C), UINT32_C(0xE2A1BFBD), UINT32_C(0x6CC5BE44),
12760           UINT32_C(0x09030FCD), UINT32_C(0x55FAC033)}},
12761         {{UINT32_C(0x728F39EC), UINT32_C(0xFAA58543), UINT32_C(0x40B37B15),
12762           UINT32_C(0x9B2F10BA), UINT32_C(0x7254A419), UINT32_C(0x96505C7F),
12763           UINT32_C(0x879C7FF9), UINT32_C(0x04F4ACE5)},
12764          {UINT32_C(0xBC5FDA53), UINT32_C(0xC0B4B576), UINT32_C(0xF7ABCD3C),
12765           UINT32_C(0x12549929), UINT32_C(0x313FEC34), UINT32_C(0x00F5631E),
12766           UINT32_C(0x798C7CFB), UINT32_C(0x89EA4459)}},
12767         {{UINT32_C(0x0E2020C1), UINT32_C(0x671137B5), UINT32_C(0xA4DC66C3),
12768           UINT32_C(0x77727861), UINT32_C(0x81492A26), UINT32_C(0x8CE05ED1),
12769           UINT32_C(0xA0C3F612), UINT32_C(0x42BEA541)},
12770          {UINT32_C(0xB0E461EB), UINT32_C(0x6D39E3D1), UINT32_C(0x09FA806F),
12771           UINT32_C(0x459A8E13), UINT32_C(0x466CB93B), UINT32_C(0xE2A185C1),
12772           UINT32_C(0xE21ECB34), UINT32_C(0x17D131CE)}},
12773         {{UINT32_C(0x387A15BF), UINT32_C(0x2141E262), UINT32_C(0x6BE61C42),
12774           UINT32_C(0x675B5E7C), UINT32_C(0xF1CF93EF), UINT32_C(0xEEC1BDD4),
12775           UINT32_C(0x23BAB1F9), UINT32_C(0x6ACF3838)},
12776          {UINT32_C(0xB0B39C86), UINT32_C(0xA2F84E23), UINT32_C(0xE244E0E3),
12777           UINT32_C(0xE955DBBC), UINT32_C(0xB7A8102A), UINT32_C(0xE0155980),
12778           UINT32_C(0xB23012FA), UINT32_C(0x1E117DC8)}},
12779         {{UINT32_C(0x6EB36280), UINT32_C(0xC92A36AA), UINT32_C(0x5E906D78),
12780           UINT32_C(0x5AED3A1D), UINT32_C(0xAE4E430A), UINT32_C(0x8D336221),
12781           UINT32_C(0xD3AA50AD), UINT32_C(0x3F184F1D)},
12782          {UINT32_C(0x916D9741), UINT32_C(0xD14810EC), UINT32_C(0x3322D9B3),
12783           UINT32_C(0x2900169F), UINT32_C(0x04728254), UINT32_C(0xAFF1A060),
12784           UINT32_C(0x26F60B5F), UINT32_C(0x89C4C673)}},
12785         {{UINT32_C(0xB7F0D157), UINT32_C(0x5216E0AE), UINT32_C(0xC9F38AAD),
12786           UINT32_C(0x3B8D2226), UINT32_C(0xBB34AA79), UINT32_C(0x283E3E3F),
12787           UINT32_C(0x565CAB83), UINT32_C(0x94DA80FA)},
12788          {UINT32_C(0xE6ED4A46), UINT32_C(0xDDB51943), UINT32_C(0x7CDD5FE6),
12789           UINT32_C(0xF3AFFA9A), UINT32_C(0xB648A84F), UINT32_C(0x0AB493CC),
12790           UINT32_C(0xF15EE45F), UINT32_C(0x128356B6)}},
12791         {{UINT32_C(0xBD0F02C4), UINT32_C(0xD2AD34F4), UINT32_C(0x719BCF1E),
12792           UINT32_C(0x3DC9B6D1), UINT32_C(0x12EB5AE8), UINT32_C(0x11EDB8F1),
12793           UINT32_C(0x71180F90), UINT32_C(0x33AC71D8)},
12794          {UINT32_C(0xB59621D7), UINT32_C(0x0AE988FE), UINT32_C(0x8F348211),
12795           UINT32_C(0x32042B52), UINT32_C(0xEB0CEBD3), UINT32_C(0x7E6787C4),
12796           UINT32_C(0x26B8A526), UINT32_C(0x8C4D2549)}},
12797         {{UINT32_C(0x4D40ED72), UINT32_C(0xA3B46154), UINT32_C(0xF6CF3972),
12798           UINT32_C(0x3A096546), UINT32_C(0xB3E46D8C), UINT32_C(0x9C7BC931),
12799           UINT32_C(0x90486C75), UINT32_C(0x85B77BAD)},
12800          {UINT32_C(0x6EBD35E0), UINT32_C(0x95B706E5), UINT32_C(0x101E098E),
12801           UINT32_C(0xC1E18243), UINT32_C(0xF01C17E1), UINT32_C(0xF17C23FF),
12802           UINT32_C(0x85EC224E), UINT32_C(0x32235272)}},
12803         {{UINT32_C(0xFD24FA16), UINT32_C(0xE816235D), UINT32_C(0x0B3AEBD7),
12804           UINT32_C(0x5306CBC3), UINT32_C(0x8BE25CB7), UINT32_C(0xDEF60A9A),
12805           UINT32_C(0x512999C2), UINT32_C(0x4B889A0F)},
12806          {UINT32_C(0x67B29FD9), UINT32_C(0xAB86A7F8), UINT32_C(0xB5461BCB),
12807           UINT32_C(0xB81C532D), UINT32_C(0xD34D9819), UINT32_C(0x810E9A0C),
12808           UINT32_C(0x3092515D), UINT32_C(0x1E353009)}},
12809         {{UINT32_C(0x21FB0BD9), UINT32_C(0x46826339), UINT32_C(0x003BAE50),
12810           UINT32_C(0x9CCE9A43), UINT32_C(0x2EB45B4A), UINT32_C(0xCD2216C3),
12811           UINT32_C(0xC7E0F2C3), UINT32_C(0x13598548)},
12812          {UINT32_C(0x54611984), UINT32_C(0x8B0BFD72), UINT32_C(0x89C0B05A),
12813           UINT32_C(0x705CB525), UINT32_C(0xCE880DD8), UINT32_C(0xD9073D87),
12814           UINT32_C(0x003DCAEB), UINT32_C(0x1EA534CD)}},
12815         {{UINT32_C(0xC58B4413), UINT32_C(0xC7AAC256), UINT32_C(0xE8054F96),
12816           UINT32_C(0x301109D6), UINT32_C(0x9C7E7860), UINT32_C(0x0A1F44D2),
12817           UINT32_C(0x96F15424), UINT32_C(0x55D122BB)},
12818          {UINT32_C(0x1C14A8A9), UINT32_C(0x9A63098F), UINT32_C(0x4221CDFB),
12819           UINT32_C(0x8E01A9DC), UINT32_C(0x357B360A), UINT32_C(0x11C91FCF),
12820           UINT32_C(0x036A3CF4), UINT32_C(0x70C47AEA)}},
12821     },
12822     {
12823         {{UINT32_C(0x036A843D), UINT32_C(0xC0457C4F), UINT32_C(0xF1F593CB),
12824           UINT32_C(0x6E3E0801), UINT32_C(0x8C53873B), UINT32_C(0x1AADF2D8),
12825           UINT32_C(0x0D140C8D), UINT32_C(0x5CEC5C7B)},
12826          {UINT32_C(0x328002E4), UINT32_C(0x4341A9AB), UINT32_C(0xC410D034),
12827           UINT32_C(0x11F22331), UINT32_C(0x5DB6A39D), UINT32_C(0x0FCF69EF),
12828           UINT32_C(0xB84FDA1F), UINT32_C(0x3DD32A53)}},
12829         {{UINT32_C(0xAF8C811A), UINT32_C(0x19E52339), UINT32_C(0x92D46C4F),
12830           UINT32_C(0xC8B83800), UINT32_C(0xCA8463A3), UINT32_C(0x891C4185),
12831           UINT32_C(0x98F3FF1B), UINT32_C(0x5B51651F)},
12832          {UINT32_C(0x0FB39DCA), UINT32_C(0x3D149607), UINT32_C(0xB1051394),
12833           UINT32_C(0x39ECCDE2), UINT32_C(0x1A14522B), UINT32_C(0x3633DE27),
12834           UINT32_C(0x7C59A9A5), UINT32_C(0x5FE55114)}},
12835         {{UINT32_C(0x2F0B507F), UINT32_C(0x68C8E0C6), UINT32_C(0x05B62C5E),
12836           UINT32_C(0xDABC8EEF), UINT32_C(0xE6165C1E), UINT32_C(0x297C943A),
12837           UINT32_C(0x7D7CA6D6), UINT32_C(0x337C6B94)},
12838          {UINT32_C(0xD6066191), UINT32_C(0x66F98FE4), UINT32_C(0x58945DA9),
12839           UINT32_C(0x745BFEBA), UINT32_C(0x3B29A546), UINT32_C(0x60044787),
12840           UINT32_C(0xE2D4EDF2), UINT32_C(0x2815651E)}},
12841         {{UINT32_C(0x63661218), UINT32_C(0x54A3BE74), UINT32_C(0x15E79415),
12842           UINT32_C(0x89C56364), UINT32_C(0x405E4932), UINT32_C(0xE03C6963),
12843           UINT32_C(0x9A619956), UINT32_C(0x86E101EA)},
12844          {UINT32_C(0x400DC92B), UINT32_C(0x47BAF2F3), UINT32_C(0x291E4059),
12845           UINT32_C(0x5C44512C), UINT32_C(0xEC6D7BF9), UINT32_C(0xD7F84B8E),
12846           UINT32_C(0x25AB8D79), UINT32_C(0x6CF42540)}},
12847         {{UINT32_C(0xB885DAFC), UINT32_C(0xD6E1B75D), UINT32_C(0x6128014E),
12848           UINT32_C(0x7A33CE4B), UINT32_C(0xEA9FF260), UINT32_C(0x80DF9948),
12849           UINT32_C(0xD2B5872B), UINT32_C(0x99E0A11C)},
12850          {UINT32_C(0xE2435510), UINT32_C(0x960BDC3D), UINT32_C(0x14F7A99C),
12851           UINT32_C(0x4B0ECC53), UINT32_C(0x5AC6170B), UINT32_C(0xE815DB8B),
12852           UINT32_C(0x17D5F2DD), UINT32_C(0x30956156)}},
12853         {{UINT32_C(0x57166FCE), UINT32_C(0xA035E3CE), UINT32_C(0x40A75B80),
12854           UINT32_C(0x71AD4095), UINT32_C(0xDB7D0BFB), UINT32_C(0x639C4EA7),
12855           UINT32_C(0xB12DBE6B), UINT32_C(0x7A90BE97)},
12856          {UINT32_C(0x75F86A60), UINT32_C(0x091AA30F), UINT32_C(0x509AEEFC),
12857           UINT32_C(0x67C0F795), UINT32_C(0x331629C5), UINT32_C(0xF028C12A),
12858           UINT32_C(0x8A1F7478), UINT32_C(0x90D26B1C)}},
12859         {{UINT32_C(0xB6AC2AD5), UINT32_C(0x6F01554E), UINT32_C(0xBC9A48D6),
12860           UINT32_C(0x9DD0576E), UINT32_C(0x97AE2605), UINT32_C(0xAB372013),
12861           UINT32_C(0xBB83852B), UINT32_C(0x1525D8B5)},
12862          {UINT32_C(0xE46E4C61), UINT32_C(0xD50680C3), UINT32_C(0xECB8F06F),
12863           UINT32_C(0x29FBBA5C), UINT32_C(0xB16637A3), UINT32_C(0x60A48AB4),
12864           UINT32_C(0xCD1490D3), UINT32_C(0x8BB47967)}},
12865         {{UINT32_C(0x4B7C7EA6), UINT32_C(0xA35A0187), UINT32_C(0xB4D6409A),
12866           UINT32_C(0xFE01521A), UINT32_C(0x8FDE1E30), UINT32_C(0x57CECE62),
12867           UINT32_C(0xF4F51D55), UINT32_C(0x1A9A9B2D)},
12868          {UINT32_C(0xE221AC58), UINT32_C(0x0D33556B), UINT32_C(0x152508AD),
12869           UINT32_C(0x0A4A1A34), UINT32_C(0x0144AA33), UINT32_C(0x1FD61DA1),
12870           UINT32_C(0xEDC7C5F8), UINT32_C(0x4804BE6A)}},
12871         {{UINT32_C(0x5B363A84), UINT32_C(0x071EC815), UINT32_C(0xFE11ED05),
12872           UINT32_C(0x359C2A9F), UINT32_C(0xB8BBF9BD), UINT32_C(0x0FDF80C9),
12873           UINT32_C(0x103ACCBE), UINT32_C(0x928E51A4)},
12874          {UINT32_C(0xD5E8A222), UINT32_C(0xD152B6E7), UINT32_C(0xCBE022C9),
12875           UINT32_C(0x6368E3A8), UINT32_C(0x3128B659), UINT32_C(0x2E5055DE),
12876           UINT32_C(0xD21F1062), UINT32_C(0x51E23651)}},
12877         {{UINT32_C(0x34834BF7), UINT32_C(0x5CE999D7), UINT32_C(0x3DC831E9),
12878           UINT32_C(0xE386394C), UINT32_C(0x7FE48564), UINT32_C(0x6DBD5ECA),
12879           UINT32_C(0x556841A5), UINT32_C(0x804BC07F)},
12880          {UINT32_C(0x229A9175), UINT32_C(0x2A8B616C), UINT32_C(0xA1B3EF97),
12881           UINT32_C(0xAEEB533A), UINT32_C(0x6F145037), UINT32_C(0x9D858F9D),
12882           UINT32_C(0x7F6A8EBB), UINT32_C(0x247FFAB0)}},
12883         {{UINT32_C(0x099EB4F3), UINT32_C(0xE616E779), UINT32_C(0xF1B1926C),
12884           UINT32_C(0x4F360D2E), UINT32_C(0x17055397), UINT32_C(0x28EE1F91),
12885           UINT32_C(0x844AFCF3), UINT32_C(0x9994D7FF)},
12886          {UINT32_C(0x12CBD801), UINT32_C(0x8824A949), UINT32_C(0x6A4484DD),
12887           UINT32_C(0xA3AFED4D), UINT32_C(0x3B5E36A5), UINT32_C(0xCB16CD67),
12888           UINT32_C(0xBC3BBEA9), UINT32_C(0x5490C30D)}},
12889         {{UINT32_C(0xD7601122), UINT32_C(0xEA43CA5A), UINT32_C(0xD248EB72),
12890           UINT32_C(0x9CF2A15B), UINT32_C(0xB71D18D0), UINT32_C(0x4CE8AB75),
12891           UINT32_C(0x041A19A5), UINT32_C(0x2576C5B1)},
12892          {UINT32_C(0x8CC1496E), UINT32_C(0xDE20FD02), UINT32_C(0x0BE51831),
12893           UINT32_C(0xC9FE5B0C), UINT32_C(0x3A53ABBC), UINT32_C(0x9DC17E32),
12894           UINT32_C(0xF4C806FA), UINT32_C(0x94E24DD9)}},
12895         {{UINT32_C(0x0DF1A4B3), UINT32_C(0x2A9CF5F1), UINT32_C(0x15063C08),
12896           UINT32_C(0xE0196754), UINT32_C(0xCCF88F77), UINT32_C(0xCE9CF2C6),
12897           UINT32_C(0xEFE91C6C), UINT32_C(0x51ACC7B5)},
12898          {UINT32_C(0xA799FE2E), UINT32_C(0x0C2302EF), UINT32_C(0x69C0D117),
12899           UINT32_C(0x5EE756A4), UINT32_C(0xF4EAB1A1), UINT32_C(0x7E907EC2),
12900           UINT32_C(0xD98022DD), UINT32_C(0x19EEF95B)}},
12901         {{UINT32_C(0xA8E7FFA5), UINT32_C(0xB170D483), UINT32_C(0x39180FAC),
12902           UINT32_C(0x2052600A), UINT32_C(0xA68AF290), UINT32_C(0x8EAD52D4),
12903           UINT32_C(0xFF9E3641), UINT32_C(0x01B88CFE)},
12904          {UINT32_C(0x65BC2D0C), UINT32_C(0x3D9077F7), UINT32_C(0x3ABCDB1C),
12905           UINT32_C(0x2AF9CF67), UINT32_C(0x7295DADA), UINT32_C(0xEA104E74),
12906           UINT32_C(0xEB1E5D6E), UINT32_C(0x7DF23470)}},
12907         {{UINT32_C(0x8E53F40B), UINT32_C(0x0F54D98D), UINT32_C(0xAF360481),
12908           UINT32_C(0xBFC22E9B), UINT32_C(0xE132666B), UINT32_C(0x309973B6),
12909           UINT32_C(0x25E783E0), UINT32_C(0x1F40D11F)},
12910          {UINT32_C(0xF00AC3EB), UINT32_C(0x8EEBC9D7), UINT32_C(0x2F9ADCC7),
12911           UINT32_C(0xBD725D82), UINT32_C(0x66EFDDCC), UINT32_C(0x47767810),
12912           UINT32_C(0x4ECCAF67), UINT32_C(0x60B0B100)}},
12913         {{UINT32_C(0xB98C7E96), UINT32_C(0x498E2074), UINT32_C(0x08BF31A9),
12914           UINT32_C(0xBEBF5183), UINT32_C(0x3894DBE7), UINT32_C(0x00DD4AAD),
12915           UINT32_C(0x429878F6), UINT32_C(0x66C047A4)},
12916          {UINT32_C(0x6D0F1AB1), UINT32_C(0x16F2CB33), UINT32_C(0x58669ACB),
12917           UINT32_C(0x5FA2F181), UINT32_C(0x486F1BE7), UINT32_C(0xFA4B2F49),
12918           UINT32_C(0x5698F41B), UINT32_C(0x1ECAAF6B)}},
12919     },
12920     {
12921         {{UINT32_C(0x4DCC455E), UINT32_C(0x2999C212), UINT32_C(0xBEF617B8),
12922           UINT32_C(0x83897E49), UINT32_C(0x5A218E0F), UINT32_C(0x6B49CE26),
12923           UINT32_C(0x88EF7EA7), UINT32_C(0x49A5C9EB)},
12924          {UINT32_C(0xF63EC82C), UINT32_C(0xF0EDA5FF), UINT32_C(0xEAD471CD),
12925           UINT32_C(0x736D933D), UINT32_C(0xDF8071C4), UINT32_C(0x10E4431D),
12926           UINT32_C(0x38E1523C), UINT32_C(0x8C59C107)}},
12927         {{UINT32_C(0x5A54A4AB), UINT32_C(0x569FB74E), UINT32_C(0xF3384C14),
12928           UINT32_C(0x72788868), UINT32_C(0x107B417F), UINT32_C(0xBC840717),
12929           UINT32_C(0x7E13210C), UINT32_C(0x6682C107)},
12930          {UINT32_C(0x77B20150), UINT32_C(0xB3359FC2), UINT32_C(0xA9E03222),
12931           UINT32_C(0xEB923E66), UINT32_C(0xA10CF332), UINT32_C(0x490C39FC),
12932           UINT32_C(0x49BA035D), UINT32_C(0x69099C2D)}},
12933         {{UINT32_C(0x03CB2C6E), UINT32_C(0x64986720), UINT32_C(0x328B22BA),
12934           UINT32_C(0x994054A1), UINT32_C(0x6F0542DA), UINT32_C(0x4155C6B9),
12935           UINT32_C(0xA3B93FFB), UINT32_C(0x216CF760)},
12936          {UINT32_C(0x5C2AD753), UINT32_C(0x74486184), UINT32_C(0xA0CD3660),
12937           UINT32_C(0xE517984E), UINT32_C(0x3D7DA8A1), UINT32_C(0x6530BC86),
12938           UINT32_C(0x2E46CA79), UINT32_C(0x04328CF9)}},
12939         {{UINT32_C(0x4798CD35), UINT32_C(0x4100ADED), UINT32_C(0x635BAECD),
12940           UINT32_C(0xC832796D), UINT32_C(0x5B80E18C), UINT32_C(0x7EF1EA95),
12941           UINT32_C(0x426B1AA9), UINT32_C(0x6889A91B)},
12942          {UINT32_C(0x0927C6F8), UINT32_C(0xC40A0A87), UINT32_C(0x2B86ED45),
12943           UINT32_C(0xD60CFD1C), UINT32_C(0xD57350A1), UINT32_C(0x98731DFF),
12944           UINT32_C(0x1DE4341F), UINT32_C(0x1C52EAE9)}},
12945         {{UINT32_C(0x23A40FAA), UINT32_C(0xC287E33B), UINT32_C(0x7A633BDC),
12946           UINT32_C(0xB96D9F51), UINT32_C(0xE6D0F326), UINT32_C(0xF6A5B779),
12947           UINT32_C(0xF619DE4B), UINT32_C(0x10203FE1)},
12948          {UINT32_C(0xC4F18BF8), UINT32_C(0x011FB53E), UINT32_C(0xBCA32CA0),
12949           UINT32_C(0xAEBB82F6), UINT32_C(0xF881818D), UINT32_C(0x06BF8ED5),
12950           UINT32_C(0x18247E6A), UINT32_C(0x3A6A3E35)}},
12951         {{UINT32_C(0x00625DC1), UINT32_C(0x3BF2E96E), UINT32_C(0x5A288F80),
12952           UINT32_C(0xD81AD156), UINT32_C(0xB7CE9B13), UINT32_C(0x04C3269E),
12953           UINT32_C(0x2F9E2713), UINT32_C(0x3E18EAFC)},
12954          {UINT32_C(0x9D0BC74A), UINT32_C(0x20F0E05D), UINT32_C(0xD8140790),
12955           UINT32_C(0xACDB4B75), UINT32_C(0xF1B5B265), UINT32_C(0x12918A7E),
12956           UINT32_C(0x6896342E), UINT32_C(0x22A70AF9)}},
12957         {{UINT32_C(0x9C4B6B08), UINT32_C(0x326A28A2), UINT32_C(0xA17D3D57),
12958           UINT32_C(0x21302F37), UINT32_C(0xCE36F438), UINT32_C(0x181378E7),
12959           UINT32_C(0xFED12DE1), UINT32_C(0x42B07EBA)},
12960          {UINT32_C(0x0468AD4C), UINT32_C(0x081DDD20), UINT32_C(0x64DF34AE),
12961           UINT32_C(0x32822EC3), UINT32_C(0x04B2192D), UINT32_C(0xE9F8D7C2),
12962           UINT32_C(0x918666F8), UINT32_C(0x6ABC7220)}},
12963         {{UINT32_C(0x04AF3956), UINT32_C(0x93330701), UINT32_C(0x872BD30D),
12964           UINT32_C(0xEEB7AA8E), UINT32_C(0xD0E67494), UINT32_C(0xFC96D106),
12965           UINT32_C(0x3A918DFB), UINT32_C(0x516028CF)},
12966          {UINT32_C(0xFB27B6EC), UINT32_C(0xFAF0B6F7), UINT32_C(0x515DA78D),
12967           UINT32_C(0x0FAD73AD), UINT32_C(0xD8CF1934), UINT32_C(0x5F136068),
12968           UINT32_C(0xB6052802), UINT32_C(0x0A526E04)}},
12969         {{UINT32_C(0xE4685212), UINT32_C(0x20DF0DEB), UINT32_C(0xA41B293F),
12970           UINT32_C(0x71D4BAC1), UINT32_C(0x2FA8BBAC), UINT32_C(0xBCC32A2F),
12971           UINT32_C(0xF30CC343), UINT32_C(0x32A8723A)},
12972          {UINT32_C(0xEF95ACFE), UINT32_C(0x71E6DAAF), UINT32_C(0x9F445394),
12973           UINT32_C(0x27D158F6), UINT32_C(0xE186B246), UINT32_C(0x2140F78D),
12974           UINT32_C(0xCB1C83AD), UINT32_C(0x4CAF98C3)}},
12975         {{UINT32_C(0xB6F63AA9), UINT32_C(0x94E264FC), UINT32_C(0x4D0FE485),
12976           UINT32_C(0xF4637B02), UINT32_C(0x069CCB4E), UINT32_C(0xA4BC0A03),
12977           UINT32_C(0x9E25E817), UINT32_C(0x99A81E37)},
12978          {UINT32_C(0x8F4D37BB), UINT32_C(0xE3B804A7), UINT32_C(0xE38E654C),
12979           UINT32_C(0x57F272A5), UINT32_C(0x05928F65), UINT32_C(0x00D1852C),
12980           UINT32_C(0x4345DD06), UINT32_C(0x3031B713)}},
12981         {{UINT32_C(0x57536140), UINT32_C(0x6E42AF11), UINT32_C(0x005A403F),
12982           UINT32_C(0xDC5B7CDC), UINT32_C(0x26527417), UINT32_C(0xE6EE185E),
12983           UINT32_C(0x7C685BCF), UINT32_C(0x1003D013)},
12984          {UINT32_C(0x192979E6), UINT32_C(0xC2206BF6), UINT32_C(0x6FE38214),
12985           UINT32_C(0xD1C370DB), UINT32_C(0x92F3C044), UINT32_C(0x78D105B7),
12986           UINT32_C(0xBFDF8DFA), UINT32_C(0x2F0DF6B8)}},
12987         {{UINT32_C(0x44D04C4A), UINT32_C(0xB02FCA38), UINT32_C(0xA44566C6),
12988           UINT32_C(0x956A2F7C), UINT32_C(0x9F1F09C6), UINT32_C(0x60672DF3),
12989           UINT32_C(0x2160C362), UINT32_C(0x6459A949)},
12990          {UINT32_C(0x08714451), UINT32_C(0xDAE54341), UINT32_C(0xBFFD7CF6),
12991           UINT32_C(0x48B77A0D), UINT32_C(0x3EDBC8D4), UINT32_C(0x615ADBFE),
12992           UINT32_C(0x35B67D2F), UINT32_C(0x3338E557)}},
12993         {{UINT32_C(0xDD24A0F0), UINT32_C(0x601D49D1), UINT32_C(0x48EF27B9),
12994           UINT32_C(0x60A48DB7), UINT32_C(0x97A8BAC6), UINT32_C(0x97F2212C),
12995           UINT32_C(0x155AB524), UINT32_C(0x376B0292)},
12996          {UINT32_C(0x62E2A961), UINT32_C(0xA25881BA), UINT32_C(0x2B8C56F7),
12997           UINT32_C(0xEB74CC80), UINT32_C(0xDA57C41A), UINT32_C(0xBE5C5DD4),
12998           UINT32_C(0x2D16AFA0), UINT32_C(0x53D0D037)}},
12999         {{UINT32_C(0xCA291206), UINT32_C(0xE47C9EAB), UINT32_C(0x42D5C667),
13000           UINT32_C(0x25DADB64), UINT32_C(0xD886993E), UINT32_C(0x8C154CB6),
13001           UINT32_C(0x806B932F), UINT32_C(0x11DEC39C)},
13002          {UINT32_C(0x13D4B4E5), UINT32_C(0x51A4DCF3), UINT32_C(0x9D1D822A),
13003           UINT32_C(0xAA1DAD6D), UINT32_C(0xCEEF2E29), UINT32_C(0x2BB2E14D),
13004           UINT32_C(0xB2343BE3), UINT32_C(0x429C13C7)}},
13005         {{UINT32_C(0x297F709D), UINT32_C(0x4E8E953F), UINT32_C(0x262D862A),
13006           UINT32_C(0x23183A3D), UINT32_C(0xEA12D93F), UINT32_C(0xE164A10D),
13007           UINT32_C(0xFE703920), UINT32_C(0x386C2873)},
13008          {UINT32_C(0xE5C51C7E), UINT32_C(0xD59E1582), UINT32_C(0x020F6A2E),
13009           UINT32_C(0xA8C93B5B), UINT32_C(0x160CD058), UINT32_C(0x51518BD0),
13010           UINT32_C(0xB1D38AC7), UINT32_C(0x3337801A)}},
13011         {{UINT32_C(0x2F5D9E25), UINT32_C(0x6E251533), UINT32_C(0xB0D6B0DB),
13012           UINT32_C(0x88E76135), UINT32_C(0x9E6762D1), UINT32_C(0x5C197832),
13013           UINT32_C(0x84E620AC), UINT32_C(0x12326773)},
13014          {UINT32_C(0x0E2694DD), UINT32_C(0x3B88DF27), UINT32_C(0x30A23CAA),
13015           UINT32_C(0x30FED9E3), UINT32_C(0xA23DF142), UINT32_C(0xE12DD93E),
13016           UINT32_C(0x2EA77C07), UINT32_C(0x06778F51)}},
13017     },
13018     {
13019         {{UINT32_C(0x49E5F6B4), UINT32_C(0x5D5BE00E), UINT32_C(0x721EF9DC),
13020           UINT32_C(0x2F47E7C7), UINT32_C(0x7EAFC098), UINT32_C(0x338F7B00),
13021           UINT32_C(0xAF8C2475), UINT32_C(0x0F5F06E3)},
13022          {UINT32_C(0x63122B22), UINT32_C(0x2A4B845C), UINT32_C(0x89A4CE9A),
13023           UINT32_C(0xED440060), UINT32_C(0x9A86D9BC), UINT32_C(0xC9EEB640),
13024           UINT32_C(0x2F39B439), UINT32_C(0x12C3E0F3)}},
13025         {{UINT32_C(0x17766F6C), UINT32_C(0xB444B88B), UINT32_C(0xA41FD692),
13026           UINT32_C(0xF9B100E6), UINT32_C(0x5C149B30), UINT32_C(0x81EAFCD1),
13027           UINT32_C(0x1D521A1E), UINT32_C(0x37DD6F6E)},
13028          {UINT32_C(0x389DCD6E), UINT32_C(0x14DBE8C3), UINT32_C(0x0DCBC7FC),
13029           UINT32_C(0xCD24D655), UINT32_C(0xE00F9102), UINT32_C(0x05F8D48E),
13030           UINT32_C(0x509D18D4), UINT32_C(0x403954E6)}},
13031         {{UINT32_C(0xE4FE16EC), UINT32_C(0xA04FDDDF), UINT32_C(0x90E15C0C),
13032           UINT32_C(0xB9E7FA73), UINT32_C(0xC77FAB6B), UINT32_C(0x7D6A7206),
13033           UINT32_C(0x3E221F12), UINT32_C(0x3FFDCCD1)},
13034          {UINT32_C(0x47B5BB7F), UINT32_C(0x120C05B1), UINT32_C(0x5B7E2B96),
13035           UINT32_C(0xFA3614C0), UINT32_C(0x4A6AC6E0), UINT32_C(0xF3A4F07F),
13036           UINT32_C(0xC8AD4F23), UINT32_C(0x0324BF48)}},
13037         {{UINT32_C(0x55DF2F18), UINT32_C(0x508A0370), UINT32_C(0xB872F209),
13038           UINT32_C(0x1C6C91EA), UINT32_C(0x8E12F437), UINT32_C(0xDC3F6C5A),
13039           UINT32_C(0xC91AFD75), UINT32_C(0x65F5058F)},
13040          {UINT32_C(0x5A859A1D), UINT32_C(0x0C43613D), UINT32_C(0x5BF96A6B),
13041           UINT32_C(0x83A2610E), UINT32_C(0x1496AEAD), UINT32_C(0x1A98AA4C),
13042           UINT32_C(0xE6CAA901), UINT32_C(0x3AB1CE5E)}},
13043         {{UINT32_C(0xFFB3E411), UINT32_C(0x9420ABFE), UINT32_C(0x31404E74),
13044           UINT32_C(0xCE609760), UINT32_C(0x02C49837), UINT32_C(0x3D4C23C5),
13045           UINT32_C(0xD0868A3C), UINT32_C(0x6B79FB14)},
13046          {UINT32_C(0x6B5861EA), UINT32_C(0xB4EEE8DB), UINT32_C(0x9D948195),
13047           UINT32_C(0x495E2B46), UINT32_C(0x1CE15EC9), UINT32_C(0x2BB0BD94),
13048           UINT32_C(0xDED25955), UINT32_C(0x6CE79F80)}},
13049         {{UINT32_C(0x5820DF65), UINT32_C(0xA6B98C1D), UINT32_C(0x909356B5),
13050           UINT32_C(0xE8284737), UINT32_C(0x091340E1), UINT32_C(0x38E8609A),
13051           UINT32_C(0x10666012), UINT32_C(0x98EC077B)},
13052          {UINT32_C(0xBF075DAE), UINT32_C(0xFB243B1E), UINT32_C(0xA270FE31),
13053           UINT32_C(0x32312BAC), UINT32_C(0x0CAA5F8E), UINT32_C(0x21451120),
13054           UINT32_C(0x2A515015), UINT32_C(0x8F60118F)}},
13055         {{UINT32_C(0xCBDEB88E), UINT32_C(0x4F211C9E), UINT32_C(0xB6D680FD),
13056           UINT32_C(0xF6D3CC3A), UINT32_C(0x8BF4B4A7), UINT32_C(0xE193829D),
13057           UINT32_C(0x2D620371), UINT32_C(0x3223EF4E)},
13058          {UINT32_C(0xC0E5245A), UINT32_C(0xC3E35420), UINT32_C(0xB4ADE2EA),
13059           UINT32_C(0xD3F4F894), UINT32_C(0xF2CE985E), UINT32_C(0x464FCB6C),
13060           UINT32_C(0x7B987FA7), UINT32_C(0x79CF596D)}},
13061         {{UINT32_C(0x0C0016FF), UINT32_C(0x0730748C), UINT32_C(0xA2949069),
13062           UINT32_C(0xD02115C5), UINT32_C(0x40E9C7F9), UINT32_C(0xAA6F794D),
13063           UINT32_C(0x79149C37), UINT32_C(0x9514FA7B)},
13064          {UINT32_C(0x5A46BCE0), UINT32_C(0x6E2F2778), UINT32_C(0x0837ACD5),
13065           UINT32_C(0xF55D46C6), UINT32_C(0x1E4223E6), UINT32_C(0xF965C468),
13066           UINT32_C(0x85D90A07), UINT32_C(0x0BFF0A91)}},
13067         {{UINT32_C(0x1923C8AF), UINT32_C(0x9ED90358), UINT32_C(0xA470AE00),
13068           UINT32_C(0xC425B633), UINT32_C(0x1C50FDAD), UINT32_C(0xF9F4B162),
13069           UINT32_C(0xA8CA2BD5), UINT32_C(0x0999D072)},
13070          {UINT32_C(0xAF74D4C3), UINT32_C(0xCB122FBD), UINT32_C(0x2C283752),
13071           UINT32_C(0x372C13F0), UINT32_C(0x82138B19), UINT32_C(0x9F42A903),
13072           UINT32_C(0x3EB8CB95), UINT32_C(0x573A2CEE)}},
13073         {{UINT32_C(0x3AC2E191), UINT32_C(0x6C3A6BE3), UINT32_C(0x1B222DB2),
13074           UINT32_C(0x4149E0EB), UINT32_C(0xA4AACC55), UINT32_C(0x5BA91005),
13075           UINT32_C(0x1BFADBD0), UINT32_C(0x176BD33D)},
13076          {UINT32_C(0xA8DA0FEA), UINT32_C(0x4AEAF14E), UINT32_C(0xA7FF8E1C),
13077           UINT32_C(0xB12401F9), UINT32_C(0x0F192414), UINT32_C(0xF1EF39AE),
13078           UINT32_C(0x416743C1), UINT32_C(0x95D433D3)}},
13079         {{UINT32_C(0x9AA0C238), UINT32_C(0x29ECF54D), UINT32_C(0x8FCA6419),
13080           UINT32_C(0x3762F1D7), UINT32_C(0x64D3AAA9), UINT32_C(0x761D786A),
13081           UINT32_C(0xDAEC7BF4), UINT32_C(0x7A8A677D)},
13082          {UINT32_C(0x324676F4), UINT32_C(0xC2829EAD), UINT32_C(0x4D0B291E),
13083           UINT32_C(0x4E504A47), UINT32_C(0xF8C4F384), UINT32_C(0x360CE7FE),
13084           UINT32_C(0x78CDA37D), UINT32_C(0x33A577B5)}},
13085         {{UINT32_C(0x333103FD), UINT32_C(0x1BBFC128), UINT32_C(0xE45C9DBE),
13086           UINT32_C(0x3D36045C), UINT32_C(0x15C9013D), UINT32_C(0xA8D53F5A),
13087           UINT32_C(0xA33FDCFD), UINT32_C(0x99D62F8A)},
13088          {UINT32_C(0x0A81F581), UINT32_C(0x73E53961), UINT32_C(0xD00BC0D9),
13089           UINT32_C(0xD01AD20E), UINT32_C(0x1F6D9B73), UINT32_C(0x59701F4D),
13090           UINT32_C(0xE098E536), UINT32_C(0x0F4EBFBC)}},
13091         {{UINT32_C(0x91E3C062), UINT32_C(0xBDB9368A), UINT32_C(0x9B17AAE5),
13092           UINT32_C(0xCD66A0B1), UINT32_C(0xB4537E05), UINT32_C(0xB6636DD7),
13093           UINT32_C(0x73B119CE), UINT32_C(0x37D94B8E)},
13094          {UINT32_C(0xC7428FF9), UINT32_C(0xA5F8E90F), UINT32_C(0xF8EA9F03),
13095           UINT32_C(0xE7E5B2B7), UINT32_C(0x5B3506DA), UINT32_C(0xB7F20FB8),
13096           UINT32_C(0xE494FFDA), UINT32_C(0x0F4AB6D5)}},
13097         {{UINT32_C(0x85365933), UINT32_C(0x3ACEE3BD), UINT32_C(0xBF510114),
13098           UINT32_C(0x9D5223D3), UINT32_C(0xA08D01B0), UINT32_C(0xE0D7D9A7),
13099           UINT32_C(0xB2F1F61F), UINT32_C(0x28FD329A)},
13100          {UINT32_C(0xA5909DD3), UINT32_C(0x3E16A2E2), UINT32_C(0xB4FECB35),
13101           UINT32_C(0x284A8708), UINT32_C(0x73D5BFBA), UINT32_C(0x190F7B3A),
13102           UINT32_C(0x92EE4BBE), UINT32_C(0x7E07982E)}},
13103         {{UINT32_C(0x44945687), UINT32_C(0xA30A4C22), UINT32_C(0xD688A301),
13104           UINT32_C(0x657C0F2E), UINT32_C(0xBBB3E65A), UINT32_C(0x9B558D4A),
13105           UINT32_C(0xA6E57844), UINT32_C(0x8044D57E)},
13106          {UINT32_C(0xE3957E21), UINT32_C(0xF202E50E), UINT32_C(0xCE62FCC9),
13107           UINT32_C(0x4957E651), UINT32_C(0xC4ECE0B8), UINT32_C(0xF7B9EBA4),
13108           UINT32_C(0x61167229), UINT32_C(0x29532CEC)}},
13109         {{UINT32_C(0x3EEF3D71), UINT32_C(0xE9DC8EA6), UINT32_C(0x3E8EC117),
13110           UINT32_C(0xEBF76BD4), UINT32_C(0x2EA072B9), UINT32_C(0x48CEB78D),
13111           UINT32_C(0x73EFC32D), UINT32_C(0x82ECDFC4)},
13112          {UINT32_C(0xE2C89E7D), UINT32_C(0x51B02CB3), UINT32_C(0xF4D9100F),
13113           UINT32_C(0xE9D0740C), UINT32_C(0x8A5E3F48), UINT32_C(0xBB556EFE),
13114           UINT32_C(0x1D01B44E), UINT32_C(0x864E52DA)}},
13115     },
13116     {
13117         {{UINT32_C(0x14EA6DC5), UINT32_C(0x5A75E0BD), UINT32_C(0x532EFED7),
13118           UINT32_C(0x09F2AA76), UINT32_C(0x83CE5A18), UINT32_C(0xE6DAE0A9),
13119           UINT32_C(0xCEB4E78D), UINT32_C(0x00F9BCB7)},
13120          {UINT32_C(0x71F79BF3), UINT32_C(0x128FB51C), UINT32_C(0x80D5DBC3),
13121           UINT32_C(0x78C79788), UINT32_C(0x9B816B9E), UINT32_C(0x2752F02C),
13122           UINT32_C(0xEB7622E2), UINT32_C(0x88CFBA0C)}},
13123         {{UINT32_C(0x268432A3), UINT32_C(0x845AB940), UINT32_C(0x2F94F6D3),
13124           UINT32_C(0xA8D0231B), UINT32_C(0xFEC02130), UINT32_C(0xBDFB3F91),
13125           UINT32_C(0x5F62419F), UINT32_C(0x07A61AE4)},
13126          {UINT32_C(0x192EBF1A), UINT32_C(0xD1C951DF), UINT32_C(0xFA232E34),
13127           UINT32_C(0x22CDCFF5), UINT32_C(0x3A7581DD), UINT32_C(0xDFDF121B),
13128           UINT32_C(0x710403A5), UINT32_C(0x9865ECA2)}},
13129         {{UINT32_C(0xF8180BAB), UINT32_C(0x609F4527), UINT32_C(0x50A6D914),
13130           UINT32_C(0x93AB1072), UINT32_C(0xE2EEE3BD), UINT32_C(0x299D5013),
13131           UINT32_C(0x42959C14), UINT32_C(0x36EFCE5B)},
13132          {UINT32_C(0x1045FFCB), UINT32_C(0x49CDA60D), UINT32_C(0x45723371),
13133           UINT32_C(0xA8B2492E), UINT32_C(0xF243FDBB), UINT32_C(0xCB75789B),
13134           UINT32_C(0x871D500D), UINT32_C(0x8E1079D7)}},
13135         {{UINT32_C(0xDB14298E), UINT32_C(0x69852694), UINT32_C(0x41A56B6D),
13136           UINT32_C(0xBAA92A95), UINT32_C(0x3DBFDBA4), UINT32_C(0xC7371848),
13137           UINT32_C(0x947747F8), UINT32_C(0x94B3155C)},
13138          {UINT32_C(0x7552426B), UINT32_C(0x97BCDD19), UINT32_C(0x32682121),
13139           UINT32_C(0x4FB3E76D), UINT32_C(0x8BC15FCA), UINT32_C(0x875AA0F7),
13140           UINT32_C(0xF1FD2315), UINT32_C(0x4065BCDF)}},
13141         {{UINT32_C(0xB7F1ED04), UINT32_C(0x2D1C0519), UINT32_C(0xEA2535E1),
13142           UINT32_C(0xED9A1BB7), UINT32_C(0xABAE813E), UINT32_C(0xE4728CD6),
13143           UINT32_C(0x21A771D0), UINT32_C(0x2CD7D447)},
13144          {UINT32_C(0x59B9E964), UINT32_C(0x88E2A785), UINT32_C(0x6F9B5374),
13145           UINT32_C(0x2677FBD7), UINT32_C(0x2645B626), UINT32_C(0x3967D6C5),
13146           UINT32_C(0x5A1C315B), UINT32_C(0x8843F7DF)}},
13147         {{UINT32_C(0xC7055A4E), UINT32_C(0x673CD273), UINT32_C(0xEE827873),
13148           UINT32_C(0x052AC45C), UINT32_C(0xCE1981F3), UINT32_C(0xC26B9214),
13149           UINT32_C(0x2B8EEF59), UINT32_C(0x3C39C13C)},
13150          {UINT32_C(0x0B276D47), UINT32_C(0xDD9E1B9B), UINT32_C(0x7287F9A1),
13151           UINT32_C(0x6729A534), UINT32_C(0x061DAD53), UINT32_C(0x43E1471C),
13152           UINT32_C(0x118B56C8), UINT32_C(0x6082FAD9)}},
13153         {{UINT32_C(0xF99186D6), UINT32_C(0x9C3872AA), UINT32_C(0x75AC99BF),
13154           UINT32_C(0x1D9E8DB6), UINT32_C(0xE338DBD3), UINT32_C(0x6FA7A0FF),
13155           UINT32_C(0xD1FEF2F9), UINT32_C(0x1EDF44EC)},
13156          {UINT32_C(0x1F9114BF), UINT32_C(0xBAF9D33A), UINT32_C(0x3007B6A5),
13157           UINT32_C(0x89AF08E5), UINT32_C(0x8436D917), UINT32_C(0xAA04B169),
13158           UINT32_C(0x6AFCF5E0), UINT32_C(0x8381E76A)}},
13159         {{UINT32_C(0xC1D799BA), UINT32_C(0xC51848A4), UINT32_C(0x7F40B34B),
13160           UINT32_C(0x6C3D43A9), UINT32_C(0xA5CB7B95), UINT32_C(0xE8DAE074),
13161           UINT32_C(0xBB5F8AEC), UINT32_C(0x5375B1EE)},
13162          {UINT32_C(0x507099E6), UINT32_C(0x461290EE), UINT32_C(0x3BAD89AD),
13163           UINT32_C(0xB95934AA), UINT32_C(0x701A4D9C), UINT32_C(0x9A6E5C22),
13164           UINT32_C(0x5E1389F6), UINT32_C(0x2CA79144)}},
13165         {{UINT32_C(0x0E5108FC), UINT32_C(0xBF82F786), UINT32_C(0x644D06DE),
13166           UINT32_C(0x3620CCC4), UINT32_C(0x8E5C4753), UINT32_C(0xB65DE853),
13167           UINT32_C(0x9FEDFD16), UINT32_C(0x6DAB7241)},
13168          {UINT32_C(0x546DCBA4), UINT32_C(0x4CECAC87), UINT32_C(0x3E2D0684),
13169           UINT32_C(0xA7BBE65D), UINT32_C(0xDA1E4FFA), UINT32_C(0x092AA490),
13170           UINT32_C(0x41AD32AF), UINT32_C(0x78F448BE)}},
13171         {{UINT32_C(0x4A33F071), UINT32_C(0x321580FE), UINT32_C(0x5EE5E685),
13172           UINT32_C(0xBEA845D1), UINT32_C(0x47AC8ACF), UINT32_C(0xC73CAECE),
13173           UINT32_C(0xA9F65F05), UINT32_C(0x0E15E55D)},
13174          {UINT32_C(0xA59506E7), UINT32_C(0x5FC47420), UINT32_C(0x01DBD2DD),
13175           UINT32_C(0x501417FF), UINT32_C(0xFB1205A6), UINT32_C(0x8EF23280),
13176           UINT32_C(0xE0F43AE8), UINT32_C(0x1AA26168)}},
13177         {{UINT32_C(0x8149EB2A), UINT32_C(0xD41F73B1), UINT32_C(0xAD95D531),
13178           UINT32_C(0xC297AF04), UINT32_C(0x749E415D), UINT32_C(0x2017176F),
13179           UINT32_C(0x8357CE9A), UINT32_C(0x5AF89C73)},
13180          {UINT32_C(0x08A0FF9C), UINT32_C(0x301F7C79), UINT32_C(0x98695C57),
13181           UINT32_C(0x0C2999B5), UINT32_C(0x6E4D8FF5), UINT32_C(0x85679957),
13182           UINT32_C(0x6F493B1C), UINT32_C(0x2CC0FF3E)}},
13183         {{UINT32_C(0x4AF481F5), UINT32_C(0xFE90F904), UINT32_C(0x31BC4919),
13184           UINT32_C(0x0562C78B), UINT32_C(0x70E4F140), UINT32_C(0xAA44AA56),
13185           UINT32_C(0xA175159A), UINT32_C(0x1B61DEB4)},
13186          {UINT32_C(0xA7A7E648), UINT32_C(0x85315DE1), UINT32_C(0x6C012B33),
13187           UINT32_C(0x4BC1F51D), UINT32_C(0x060CDEE6), UINT32_C(0x40CB5DE3),
13188           UINT32_C(0x32A1E138), UINT32_C(0x969F9196)}},
13189         {{UINT32_C(0xE05F23B5), UINT32_C(0x3B317508), UINT32_C(0x512D1156),
13190           UINT32_C(0x7B1A93AE), UINT32_C(0xCB58EC19), UINT32_C(0x3A283415),
13191           UINT32_C(0x8E27CAD9), UINT32_C(0x193A53A1)},
13192          {UINT32_C(0x03DE1BA8), UINT32_C(0xCF6BBEBA), UINT32_C(0x47A02393),
13193           UINT32_C(0xFA5544CA), UINT32_C(0x8627F5EB), UINT32_C(0x8B3AAC1A),
13194           UINT32_C(0x62EAF195), UINT32_C(0x02FAD2EC)}},
13195         {{UINT32_C(0x259CCF0F), UINT32_C(0x4F8D8ADA), UINT32_C(0x562991D7),
13196           UINT32_C(0xE4E6786B), UINT32_C(0x597C3FD3), UINT32_C(0xA1C63473),
13197           UINT32_C(0xACAB6F16), UINT32_C(0x1F5B9017)},
13198          {UINT32_C(0x592D437A), UINT32_C(0x95B201BD), UINT32_C(0xED14F859),
13199           UINT32_C(0x54432A75), UINT32_C(0x0B551AC1), UINT32_C(0x67EF73FB),
13200           UINT32_C(0x7F1AB9CA), UINT32_C(0x0A48F043)}},
13201         {{UINT32_C(0x4A35445C), UINT32_C(0xECEE508E), UINT32_C(0xB3EA6F9B),
13202           UINT32_C(0x80BE9F07), UINT32_C(0x87E4B78E), UINT32_C(0xD914B256),
13203           UINT32_C(0xF89B8E4B), UINT32_C(0x97F79CC9)},
13204          {UINT32_C(0xC359FB12), UINT32_C(0x6A5B4F2B), UINT32_C(0x99CF6FFA),
13205           UINT32_C(0x54E6E37A), UINT32_C(0xF7C66CA8), UINT32_C(0x1133C4B2),
13206           UINT32_C(0x0345866B), UINT32_C(0x6F679B28)}},
13207         {{UINT32_C(0x44E77CDF), UINT32_C(0x0006F7A1), UINT32_C(0x42033333),
13208           UINT32_C(0xD8077F9F), UINT32_C(0x21EAF35F), UINT32_C(0x0414ECE5),
13209           UINT32_C(0x5623803C), UINT32_C(0x1211576B)},
13210          {UINT32_C(0x140309A7), UINT32_C(0xEDADD215), UINT32_C(0x5EBAE3BB),
13211           UINT32_C(0xC349C657), UINT32_C(0x821DE06B), UINT32_C(0xBD40427C),
13212           UINT32_C(0x3F5D2F97), UINT32_C(0x8949ACA3)}},
13213     },
13214     {
13215         {{UINT32_C(0x022E3D44), UINT32_C(0xAC1F87E6), UINT32_C(0xB39F6B10),
13216           UINT32_C(0xDFC17BED), UINT32_C(0x07119C4A), UINT32_C(0xEAAE4168),
13217           UINT32_C(0xDBD47D36), UINT32_C(0x8B3B40BC)},
13218          {UINT32_C(0x861B7B59), UINT32_C(0x6683A561), UINT32_C(0x13A6C76D),
13219           UINT32_C(0xF9BFFB17), UINT32_C(0xA30A05AC), UINT32_C(0xE4E72EA4),
13220           UINT32_C(0xBA0D2AD6), UINT32_C(0x77C219E8)}},
13221         {{UINT32_C(0x66BE6944), UINT32_C(0x5019824E), UINT32_C(0x7B131070),
13222           UINT32_C(0x811ACEBE), UINT32_C(0x3BA34677), UINT32_C(0x9730DCF0),
13223           UINT32_C(0x7BC9CFC8), UINT32_C(0x5B9C5CF5)},
13224          {UINT32_C(0xB283C8CC), UINT32_C(0x1CBD950F), UINT32_C(0x3973A325),
13225           UINT32_C(0xF66DBDDA), UINT32_C(0x6FA60257), UINT32_C(0x4EC5EBC2),
13226           UINT32_C(0x36FF26B3), UINT32_C(0x0C01D577)}},
13227         {{UINT32_C(0x7CE2BE74), UINT32_C(0xBB221954), UINT32_C(0x841E6C0C),
13228           UINT32_C(0x23E44E0E), UINT32_C(0x77C3824E), UINT32_C(0xE760D33D),
13229           UINT32_C(0x7EB3CE34), UINT32_C(0x5B656FBE)},
13230          {UINT32_C(0xC5F3D66E), UINT32_C(0xEC50E509), UINT32_C(0x496EF8BA),
13231           UINT32_C(0x5326C2B8), UINT32_C(0x3D4B20D4), UINT32_C(0x3F9485F6),
13232           UINT32_C(0x51C21B0E), UINT32_C(0x11B74A85)}},
13233         {{UINT32_C(0x25E30336), UINT32_C(0xC3EAEB04), UINT32_C(0xA6E3637F),
13234           UINT32_C(0xA9D6C70F), UINT32_C(0x86F77F68), UINT32_C(0xF818C37E),
13235           UINT32_C(0xC60DF35A), UINT32_C(0x786ED3C2)},
13236          {UINT32_C(0xD56D705A), UINT32_C(0xACA70EA0), UINT32_C(0x7BF4EF10),
13237           UINT32_C(0xCE61608C), UINT32_C(0x1722C179), UINT32_C(0x49AD1CD8),
13238           UINT32_C(0x687F3222), UINT32_C(0x1B84FBE9)}},
13239         {{UINT32_C(0x35EE0BA9), UINT32_C(0x8A0F4BF1), UINT32_C(0x03952A08),
13240           UINT32_C(0x42AD2846), UINT32_C(0x3B60B4DD), UINT32_C(0x1E0E1E3B),
13241           UINT32_C(0xF5DCAD76), UINT32_C(0x0DC1A947)},
13242          {UINT32_C(0x1F496E03), UINT32_C(0x054BECA4), UINT32_C(0x3AE6E6F6),
13243           UINT32_C(0x8F02FDAB), UINT32_C(0x9B71C9F5), UINT32_C(0x8851CFF4),
13244           UINT32_C(0xA7441F87), UINT32_C(0x6BD7271C)}},
13245         {{UINT32_C(0x9EB6A2C3), UINT32_C(0xB019E346), UINT32_C(0x931E7550),
13246           UINT32_C(0x2B719034), UINT32_C(0x40698F1F), UINT32_C(0x2B2CBEBD),
13247           UINT32_C(0x4F1FC587), UINT32_C(0x375DB591)},
13248          {UINT32_C(0x676A79A4), UINT32_C(0x09843166), UINT32_C(0xB416D657),
13249           UINT32_C(0x91848967), UINT32_C(0x9FED6B27), UINT32_C(0xB49EA721),
13250           UINT32_C(0xD080C8AA), UINT32_C(0x1FAC5650)}},
13251         {{UINT32_C(0x58C4C2AA), UINT32_C(0x205CD588), UINT32_C(0x17F572EE),
13252           UINT32_C(0xBEEE26F8), UINT32_C(0x4CB4DE3A), UINT32_C(0xE744AB67),
13253           UINT32_C(0xCBE989BD), UINT32_C(0x37E34E18)},
13254          {UINT32_C(0x767D31B5), UINT32_C(0x95D9118B), UINT32_C(0x83E7C03E),
13255           UINT32_C(0x9A34DBEC), UINT32_C(0xB8F70DD3), UINT32_C(0xCAFDBD1A),
13256           UINT32_C(0x3909BB51), UINT32_C(0x1E68A681)}},
13257         {{UINT32_C(0x9FD96ABA), UINT32_C(0xFE0A5DFF), UINT32_C(0xD99B68DE),
13258           UINT32_C(0xBBFB1FDF), UINT32_C(0xE3F522BE), UINT32_C(0x5E232A4F),
13259           UINT32_C(0xA6428D33), UINT32_C(0x768C2C54)},
13260          {UINT32_C(0xDBF1A575), UINT32_C(0xE9CFEDF9), UINT32_C(0x4B83F9AB),
13261           UINT32_C(0x841721F2), UINT32_C(0x80A85361), UINT32_C(0xFAD9650A),
13262           UINT32_C(0x04979759), UINT32_C(0x31589211)}},
13263         {{UINT32_C(0xEFBF2099), UINT32_C(0x1CF9F4B8), UINT32_C(0xF571408B),
13264           UINT32_C(0x63D5499B), UINT32_C(0xEC3E74A6), UINT32_C(0x89C119FC),
13265           UINT32_C(0x698E4DCD), UINT32_C(0x0525DDDF)},
13266          {UINT32_C(0x7333A38C), UINT32_C(0x43FCDDE4), UINT32_C(0x80A912DE),
13267           UINT32_C(0x2150EAD4), UINT32_C(0x0A19CC55), UINT32_C(0x4B3BD223),
13268           UINT32_C(0x238AC64C), UINT32_C(0x3553EB4E)}},
13269         {{UINT32_C(0xFEC2371F), UINT32_C(0x3A259F52), UINT32_C(0x44863D3E),
13270           UINT32_C(0x8B03C505), UINT32_C(0x86BB6522), UINT32_C(0x1053E2D6),
13271           UINT32_C(0xF7086CBE), UINT32_C(0x400CE699)},
13272          {UINT32_C(0x03ED78DE), UINT32_C(0x695B1EA0), UINT32_C(0x16500E1B),
13273           UINT32_C(0x00AE6D09), UINT32_C(0x14B01815), UINT32_C(0x9F29B089),
13274           UINT32_C(0xC218D892), UINT32_C(0x269692B4)}},
13275         {{UINT32_C(0xF0D44E79), UINT32_C(0x8660280D), UINT32_C(0x37C0F38F),
13276           UINT32_C(0x69D29685), UINT32_C(0xB9E24AD8), UINT32_C(0x664B8146),
13277           UINT32_C(0x1E695452), UINT32_C(0x277CB4DD)},
13278          {UINT32_C(0xDFBF05EB), UINT32_C(0xB1A02D4E), UINT32_C(0x4A1426C7),
13279           UINT32_C(0x3B349308), UINT32_C(0x22204FE7), UINT32_C(0x13B79612),
13280           UINT32_C(0xBCB5CD9F), UINT32_C(0x04F80867)}},
13281         {{UINT32_C(0xE0852CBC), UINT32_C(0x37BDBCAE), UINT32_C(0xBE22764C),
13282           UINT32_C(0x2A6D7A23), UINT32_C(0x25AFD9FF), UINT32_C(0x4E0D43AC),
13283           UINT32_C(0xD16DD9EB), UINT32_C(0x1F6C9E14)},
13284          {UINT32_C(0xB4B0F47A), UINT32_C(0xE37E3AB3), UINT32_C(0x6C476C3A),
13285           UINT32_C(0x09E046FB), UINT32_C(0xB75FA2DC), UINT32_C(0xB8F649D9),
13286           UINT32_C(0xFAB1AC41), UINT32_C(0x7962A8C4)}},
13287         {{UINT32_C(0xF6A1314A), UINT32_C(0x00E41470), UINT32_C(0xE4388464),
13288           UINT32_C(0x176380C3), UINT32_C(0x9B8A2B4D), UINT32_C(0xDB3405CD),
13289           UINT32_C(0x7DE02ABC), UINT32_C(0x6299A1A6)},
13290          {UINT32_C(0x7BBE7BFA), UINT32_C(0x9F6B9DE7), UINT32_C(0x9D3098DD),
13291           UINT32_C(0x59F16F54), UINT32_C(0x3B5767FE), UINT32_C(0xFEC29C8D),
13292           UINT32_C(0x64955759), UINT32_C(0x67711BC0)}},
13293         {{UINT32_C(0xB1B07B5D), UINT32_C(0x34444EA3), UINT32_C(0x91FA2B4A),
13294           UINT32_C(0xB1D973B4), UINT32_C(0x83403A0E), UINT32_C(0xEBEBEFB1),
13295           UINT32_C(0x8E8A8EC6), UINT32_C(0x56D52098)},
13296          {UINT32_C(0xA7E82D55), UINT32_C(0x11C93529), UINT32_C(0xD525C399),
13297           UINT32_C(0x9230AE03), UINT32_C(0x8DB46C82), UINT32_C(0x74E1CBB2),
13298           UINT32_C(0x40BE5E15), UINT32_C(0x4C3383CC)}},
13299         {{UINT32_C(0xCDAD72F3), UINT32_C(0x33A52E73), UINT32_C(0xB9E77759),
13300           UINT32_C(0x1D2CCA33), UINT32_C(0x549406F5), UINT32_C(0x26717716),
13301           UINT32_C(0x5B3DB3E8), UINT32_C(0x70DED57F)},
13302          {UINT32_C(0x43C85A67), UINT32_C(0xBA38F813), UINT32_C(0x35422BB3),
13303           UINT32_C(0x956F2DD7), UINT32_C(0x07486F18), UINT32_C(0x52D9FA99),
13304           UINT32_C(0x75D1D2C4), UINT32_C(0x655791BF)}},
13305         {{UINT32_C(0x1FC9E0B3), UINT32_C(0xF434A960), UINT32_C(0xBEDE92AD),
13306           UINT32_C(0x42A7B891), UINT32_C(0xA55A8009), UINT32_C(0x05A182D8),
13307           UINT32_C(0x38531612), UINT32_C(0x3404E08D)},
13308          {UINT32_C(0xF07D76E3), UINT32_C(0x2B5B2766), UINT32_C(0x1D77B90C),
13309           UINT32_C(0x94B1A98D), UINT32_C(0x4B18BB9F), UINT32_C(0xA86C0EC8),
13310           UINT32_C(0x526A81E3), UINT32_C(0x6532770F)}},
13311     },
13312     {
13313         {{UINT32_C(0x61CFE04A), UINT32_C(0x4429A4E8), UINT32_C(0x2C9CA012),
13314           UINT32_C(0xEE867386), UINT32_C(0xC32D1969), UINT32_C(0x237A3040),
13315           UINT32_C(0x0AE2DFAE), UINT32_C(0x400AD599)},
13316          {UINT32_C(0x213C0A18), UINT32_C(0x1603D10A), UINT32_C(0x2B1E2A57),
13317           UINT32_C(0x6EB8042D), UINT32_C(0xC7CAF556), UINT32_C(0x4C9C1696),
13318           UINT32_C(0xE0C1A5A3), UINT32_C(0x79BE04A7)}},
13319         {{UINT32_C(0x3FCB8B14), UINT32_C(0x161781E3), UINT32_C(0xB1384C3C),
13320           UINT32_C(0x1383E3B8), UINT32_C(0xB566626C), UINT32_C(0x5129EA19),
13321           UINT32_C(0x551DE02A), UINT32_C(0x8A1F86E4)},
13322          {UINT32_C(0xAEDBE04C), UINT32_C(0x9C648CCE), UINT32_C(0xFB200132),
13323           UINT32_C(0x0D4278AC), UINT32_C(0xC1E2D4A3), UINT32_C(0x466D452A),
13324           UINT32_C(0xB21B6E38), UINT32_C(0x832B0E6E)}},
13325         {{UINT32_C(0xED1D76C7), UINT32_C(0x20101D7C), UINT32_C(0xC110D85E),
13326           UINT32_C(0xC3282661), UINT32_C(0xFFCA2DD7), UINT32_C(0xB8026CE4),
13327           UINT32_C(0x8BA48211), UINT32_C(0x73B4EBA5)},
13328          {UINT32_C(0xD8554E2C), UINT32_C(0xAB94FE21), UINT32_C(0x81B2A181),
13329           UINT32_C(0x319E2FD7), UINT32_C(0x37E8D3E2), UINT32_C(0x2C824DC5),
13330           UINT32_C(0x09FCA0AB), UINT32_C(0x97CD457A)}},
13331         {{UINT32_C(0xC50116CB), UINT32_C(0x8E4B5FBD), UINT32_C(0xCA631A93),
13332           UINT32_C(0x3D20CECE), UINT32_C(0x545575D8), UINT32_C(0x5F80606C),
13333           UINT32_C(0xF91C7908), UINT32_C(0x45ED55DE)},
13334          {UINT32_C(0x7CC1083C), UINT32_C(0x91870A92), UINT32_C(0xD360FF5C),
13335           UINT32_C(0xA3828E06), UINT32_C(0x84003D42), UINT32_C(0xFC9DFCDC),
13336           UINT32_C(0xFAC4667F), UINT32_C(0x0733C887)}},
13337         {{UINT32_C(0xCC2FC31B), UINT32_C(0x6F1F771A), UINT32_C(0x902E8176),
13338           UINT32_C(0xDA9351A1), UINT32_C(0xCE3FF045), UINT32_C(0xFB9395AF),
13339           UINT32_C(0x13820DAB), UINT32_C(0x17C28CA2)},
13340          {UINT32_C(0xA684E6FA), UINT32_C(0xA1F596BC), UINT32_C(0xDAD3995A),
13341           UINT32_C(0x89228CC7), UINT32_C(0xC02E458B), UINT32_C(0x5DBFD421),
13342           UINT32_C(0xA2122AFE), UINT32_C(0x58C25045)}},
13343         {{UINT32_C(0x018EADB0), UINT32_C(0x2906450F), UINT32_C(0x9030C84E),
13344           UINT32_C(0x88A7A236), UINT32_C(0x33308084), UINT32_C(0x492BA7A3),
13345           UINT32_C(0x5605F371), UINT32_C(0x321388B9)},
13346          {UINT32_C(0x626AE19A), UINT32_C(0x5F934C94), UINT32_C(0x01C7CCD9),
13347           UINT32_C(0xE2BD6C67), UINT32_C(0xEC0BBD52), UINT32_C(0xB07757B1),
13348           UINT32_C(0xF9EDD2AC), UINT32_C(0x1E980338)}},
13349         {{UINT32_C(0x8831457C), UINT32_C(0x5A537074), UINT32_C(0x47E7B9A9),
13350           UINT32_C(0x0E0E22FB), UINT32_C(0xA225A259), UINT32_C(0x7BE70594),
13351           UINT32_C(0x30946816), UINT32_C(0x433DB055)},
13352          {UINT32_C(0xE2F2C3CB), UINT32_C(0x852EA9F9), UINT32_C(0x2D243848),
13353           UINT32_C(0xDC4E8E3A), UINT32_C(0x1E887770), UINT32_C(0x10F34AB8),
13354           UINT32_C(0xC89FC71B), UINT32_C(0x29795D2C)}},
13355         {{UINT32_C(0xCFEC2C6F), UINT32_C(0xE046B04B), UINT32_C(0x2CA8256E),
13356           UINT32_C(0xA1D3B5A0), UINT32_C(0xE87F767F), UINT32_C(0x93F7FDFA),
13357           UINT32_C(0x35FA3837), UINT32_C(0x2DF5693E)},
13358          {UINT32_C(0x97884587), UINT32_C(0x71D9638C), UINT32_C(0x39E115EC),
13359           UINT32_C(0x175EA91F), UINT32_C(0xF41A27FC), UINT32_C(0x14E16C31),
13360           UINT32_C(0xEB2F5913), UINT32_C(0x8B2682EA)}},
13361         {{UINT32_C(0x798C7F28), UINT32_C(0x2BCC6853), UINT32_C(0xDD7D3615),
13362           UINT32_C(0x2F985A59), UINT32_C(0x41D2257A), UINT32_C(0xA66519E1),
13363           UINT32_C(0x021F719B), UINT32_C(0x18731D74)},
13364          {UINT32_C(0x360E9C20), UINT32_C(0x7210472C), UINT32_C(0x329A9B35),
13365           UINT32_C(0x4FB48411), UINT32_C(0x87D62CA5), UINT32_C(0xB33B6CB5),
13366           UINT32_C(0xFD0D7703), UINT32_C(0x86226D9E)}},
13367         {{UINT32_C(0xF67CB77C), UINT32_C(0xDD133F8B), UINT32_C(0xF6ABEE80),
13368           UINT32_C(0x381E4D62), UINT32_C(0x7DF85AE5), UINT32_C(0x3236F005),
13369           UINT32_C(0x4610BB0E), UINT32_C(0x88EBB386)},
13370          {UINT32_C(0x8DB908D8), UINT32_C(0x895AA539), UINT32_C(0x104C4633),
13371           UINT32_C(0x848142E6), UINT32_C(0xB8012B2E), UINT32_C(0x467EE770),
13372           UINT32_C(0x1B9210EE), UINT32_C(0x193CBAED)}},
13373         {{UINT32_C(0xC1F44FC1), UINT32_C(0x737CD32B), UINT32_C(0x522B6209),
13374           UINT32_C(0xCDF82B1C), UINT32_C(0xE0017F2A), UINT32_C(0x08F4BB70),
13375           UINT32_C(0x64738F26), UINT32_C(0x1565BCEF)},
13376          {UINT32_C(0x684DCF67), UINT32_C(0x0D2910B9), UINT32_C(0xC6F3EB81),
13377           UINT32_C(0x4ED1734B), UINT32_C(0xDA1D6BC8), UINT32_C(0xCBEA79B6),
13378           UINT32_C(0xEE6A41D6), UINT32_C(0x0470CE36)}},
13379         {{UINT32_C(0xBA05AF3C), UINT32_C(0xECFD5C66), UINT32_C(0xEB9BFAA8),
13380           UINT32_C(0x421D5540), UINT32_C(0x526CFF85), UINT32_C(0xFC0E5AF2),
13381           UINT32_C(0x53DC49A6), UINT32_C(0x7E17F1E6)},
13382          {UINT32_C(0x1FAEB0A2), UINT32_C(0x69BB1DFB), UINT32_C(0xB3785ED4),
13383           UINT32_C(0xDC95661A), UINT32_C(0x676D7CD0), UINT32_C(0x1F1D7395),
13384           UINT32_C(0x89C6412F), UINT32_C(0x2C16BB96)}},
13385         {{UINT32_C(0xEE414CA6), UINT32_C(0x2335F20E), UINT32_C(0xFEF5E042),
13386           UINT32_C(0x56E0DDB2), UINT32_C(0xD9DE2966), UINT32_C(0x942D4E35),
13387           UINT32_C(0xCF63D583), UINT32_C(0x80E92B8C)},
13388          {UINT32_C(0x5D492C76), UINT32_C(0x158BE1B6), UINT32_C(0xC4F822D9),
13389           UINT32_C(0xFF096960), UINT32_C(0x5AF79379), UINT32_C(0xC00FC730),
13390           UINT32_C(0x50D34E12), UINT32_C(0x07C49B03)}},
13391         {{UINT32_C(0xC34836C8), UINT32_C(0x64678B2E), UINT32_C(0x615FF066),
13392           UINT32_C(0xCC280DCB), UINT32_C(0x9131EC98), UINT32_C(0x86C3C747),
13393           UINT32_C(0x2D151FAD), UINT32_C(0x35B008CC)},
13394          {UINT32_C(0xF8133FDC), UINT32_C(0x22C18852), UINT32_C(0x2FE8809D),
13395           UINT32_C(0x183BE4DC), UINT32_C(0xCF98D56D), UINT32_C(0x86589814),
13396           UINT32_C(0x2F6E0DE4), UINT32_C(0x52D8074D)}},
13397         {{UINT32_C(0xC9274AA6), UINT32_C(0x33FF9F41), UINT32_C(0xCA854AF1),
13398           UINT32_C(0xAC30ACB4), UINT32_C(0xFBC994B7), UINT32_C(0x87A7BE53),
13399           UINT32_C(0xDBCD717B), UINT32_C(0x6E7E8B2A)},
13400          {UINT32_C(0xCD494AB6), UINT32_C(0x3065A732), UINT32_C(0x60FD7F57),
13401           UINT32_C(0x6F977B87), UINT32_C(0xB74BAD54), UINT32_C(0x4C216EB4),
13402           UINT32_C(0xF6061F7A), UINT32_C(0x674F00F5)}},
13403         {{UINT32_C(0x3164AFBB), UINT32_C(0xA8C22481), UINT32_C(0x72A7AC55),
13404           UINT32_C(0x4C9E2F1D), UINT32_C(0x79DEFE94), UINT32_C(0xE3DAC3E3),
13405           UINT32_C(0xBB9D953F), UINT32_C(0x193A1E0B)},
13406          {UINT32_C(0x7E0957EE), UINT32_C(0x8852020C), UINT32_C(0xB62F8EF7),
13407           UINT32_C(0xF7FD181E), UINT32_C(0xE26B8860), UINT32_C(0x0DE7EDDE),
13408           UINT32_C(0xFD1B00DE), UINT32_C(0x53A05575)}},
13409     },
13410     {
13411         {{UINT32_C(0x63E0C8FC), UINT32_C(0xE5D63E1B), UINT32_C(0xC684016A),
13412           UINT32_C(0x6849B530), UINT32_C(0x009318AD), UINT32_C(0x4E89CB43),
13413           UINT32_C(0xEF571911), UINT32_C(0x1CDC5918)},
13414          {UINT32_C(0xF389EAF3), UINT32_C(0xA6596C03), UINT32_C(0xE88975F9),
13415           UINT32_C(0x9282C1B3), UINT32_C(0x0D53D3F2), UINT32_C(0xD07A2AEF),
13416           UINT32_C(0x2B3B602C), UINT32_C(0x3DA515D5)}},
13417         {{UINT32_C(0x8A5436EA), UINT32_C(0xE4285781), UINT32_C(0x36D65626),
13418           UINT32_C(0x047E3056), UINT32_C(0xE16489A0), UINT32_C(0x0016B568),
13419           UINT32_C(0x75A0209C), UINT32_C(0x44603196)},
13420          {UINT32_C(0xBCC19754), UINT32_C(0x2BE99A51), UINT32_C(0x5ACFCDEF),
13421           UINT32_C(0xE02EAFD0), UINT32_C(0xAECACABB), UINT32_C(0xB0A1E300),
13422           UINT32_C(0xAC1860D9), UINT32_C(0x0F39CBDE)}},
13423         {{UINT32_C(0x2099F08E), UINT32_C(0x50DA5372), UINT32_C(0xCA4817B1),
13424           UINT32_C(0xAA6AAAD1), UINT32_C(0x57D73192), UINT32_C(0xA4DDC5FF),
13425           UINT32_C(0x7682D453), UINT32_C(0x046043AC)},
13426          {UINT32_C(0x28CF3F48), UINT32_C(0xC8EB1788), UINT32_C(0xDCA184D4),
13427           UINT32_C(0x3967A02F), UINT32_C(0x86221941), UINT32_C(0x0CE68B79),
13428           UINT32_C(0xFD3A197A), UINT32_C(0x27BDCA48)}},
13429         {{UINT32_C(0x563D7A91), UINT32_C(0xD774E33C), UINT32_C(0x07AE1C92),
13430           UINT32_C(0x1C309DAE), UINT32_C(0x57DBE6A8), UINT32_C(0xDABA89B4),
13431           UINT32_C(0xE5820FA4), UINT32_C(0x90C62517)},
13432          {UINT32_C(0x11371109), UINT32_C(0x23C64605), UINT32_C(0x15605666),
13433           UINT32_C(0x1176AE7E), UINT32_C(0xDF040DCB), UINT32_C(0xD71E9755),
13434           UINT32_C(0x62ED515C), UINT32_C(0x5312A5B3)}},
13435         {{UINT32_C(0x7A5FB9E0), UINT32_C(0xB7AA3A11), UINT32_C(0x18E2CB32),
13436           UINT32_C(0xA769BC72), UINT32_C(0x6B73E050), UINT32_C(0x9D551B9B),
13437           UINT32_C(0xDB067CBC), UINT32_C(0x0CE51DF0)},
13438          {UINT32_C(0x4A0E06BE), UINT32_C(0x00BF90D5), UINT32_C(0x7EE820E7),
13439           UINT32_C(0xFEC6E7B3), UINT32_C(0x3334937A), UINT32_C(0xDFBAC083),
13440           UINT32_C(0xCE14CF46), UINT32_C(0x46884935)}},
13441         {{UINT32_C(0x902EF3A9), UINT32_C(0xC3F31EAF), UINT32_C(0x5CCDF002),
13442           UINT32_C(0xF3B6E6FA), UINT32_C(0x88CDDE0F), UINT32_C(0x5A9B5321),
13443           UINT32_C(0xE8691FED), UINT32_C(0x00D99E43)},
13444          {UINT32_C(0xCFE02C8B), UINT32_C(0x8E786F52), UINT32_C(0x4DD36F8E),
13445           UINT32_C(0x587AA537), UINT32_C(0x425CC228), UINT32_C(0xBCA91CAC),
13446           UINT32_C(0xBFA9C36B), UINT32_C(0x80AA8AA9)}},
13447         {{UINT32_C(0x9B20505A), UINT32_C(0xAD4A2AD0), UINT32_C(0x16739066),
13448           UINT32_C(0x6D708029), UINT32_C(0x89F73B52), UINT32_C(0x729001F3),
13449           UINT32_C(0x8073A428), UINT32_C(0x77480347)},
13450          {UINT32_C(0xE84DB3B4), UINT32_C(0x1AB38F07), UINT32_C(0xA6655769),
13451           UINT32_C(0xE643D756), UINT32_C(0x46C19856), UINT32_C(0x5631359B),
13452           UINT32_C(0x01C3DCD1), UINT32_C(0x82530A32)}},
13453         {{UINT32_C(0x2DDDB968), UINT32_C(0x9250EC26), UINT32_C(0x8D82A03E),
13454           UINT32_C(0x63D99CBF), UINT32_C(0x41349B60), UINT32_C(0x4FBFE784),
13455           UINT32_C(0xA15BF2B7), UINT32_C(0x6977DD07)},
13456          {UINT32_C(0x68513C32), UINT32_C(0x771917C6), UINT32_C(0x8F0064F7),
13457           UINT32_C(0x02603518), UINT32_C(0x51D78637), UINT32_C(0x45A57429),
13458           UINT32_C(0x87293790), UINT32_C(0x56BF57CC)}},
13459         {{UINT32_C(0x032E6426), UINT32_C(0xBAC94E24), UINT32_C(0xC2531B26),
13460           UINT32_C(0x7D54AE34), UINT32_C(0xCD688082), UINT32_C(0x4D6EF608),
13461           UINT32_C(0xF5AA4BEE), UINT32_C(0x736E7ACF)},
13462          {UINT32_C(0x6AFB84E2), UINT32_C(0x41D5BF6C), UINT32_C(0x6E976E09),
13463           UINT32_C(0x40E12DA5), UINT32_C(0x2235F7B9), UINT32_C(0xCBF32FCB),
13464           UINT32_C(0xA21BC0E0), UINT32_C(0x285DDF46)}},
13465         {{UINT32_C(0xCE751632), UINT32_C(0x66C6A76E), UINT32_C(0x32A61A1D),
13466           UINT32_C(0xBD457D0E), UINT32_C(0x78191C57), UINT32_C(0xFA12A7C8),
13467           UINT32_C(0x06611B5E), UINT32_C(0x030ED98B)},
13468          {UINT32_C(0xF4972FFD), UINT32_C(0x199F7756), UINT32_C(0x9C8AAB09),
13469           UINT32_C(0x298D98E6), UINT32_C(0xC5B02158), UINT32_C(0x2186054C),
13470           UINT32_C(0xB9B1147A), UINT32_C(0x0736CE4C)}},
13471         {{UINT32_C(0x19BFA57D), UINT32_C(0x33E4A4CA), UINT32_C(0xAA70C35D),
13472           UINT32_C(0xF02F6D32), UINT32_C(0x3CC082FD), UINT32_C(0x9EA10B63),
13473           UINT32_C(0xD00E82A8), UINT32_C(0x86104E8E)},
13474          {UINT32_C(0x87797E25), UINT32_C(0xACBA5E73), UINT32_C(0xEB85A796),
13475           UINT32_C(0x24DD98A8), UINT32_C(0xC58AC480), UINT32_C(0x02748827),
13476           UINT32_C(0x6A932D80), UINT32_C(0x5B4480C7)}},
13477         {{UINT32_C(0x1992B174), UINT32_C(0xF9E210FB), UINT32_C(0xBE22636E),
13478           UINT32_C(0x3CFA6EF1), UINT32_C(0x3BDFA2BD), UINT32_C(0xA46F202B),
13479           UINT32_C(0x441B96D2), UINT32_C(0x8C83B3DA)},
13480          {UINT32_C(0x8AA39AB4), UINT32_C(0x3BB2ED8B), UINT32_C(0x9CE53FB2),
13481           UINT32_C(0x4DB63B23), UINT32_C(0x46DC2104), UINT32_C(0x24AC8A98),
13482           UINT32_C(0x68E20D1B), UINT32_C(0x997BC4A7)}},
13483         {{UINT32_C(0xD1C0D629), UINT32_C(0x4CDF8757), UINT32_C(0xA64B6058),
13484           UINT32_C(0xBA155719), UINT32_C(0xBE3FB0B1), UINT32_C(0x82FD0DA3),
13485           UINT32_C(0x03E34CB1), UINT32_C(0x12F50694)},
13486          {UINT32_C(0x02E7DFEB), UINT32_C(0x8993EE38), UINT32_C(0x3D7A758E),
13487           UINT32_C(0x2FC240C6), UINT32_C(0xAFF7CC7B), UINT32_C(0x75CB6F62),
13488           UINT32_C(0x71B02A5B), UINT32_C(0x2D73F74D)}},
13489         {{UINT32_C(0x550ADA69), UINT32_C(0x0B7B920A), UINT32_C(0xD2F1D5C2),
13490           UINT32_C(0x87D29F08), UINT32_C(0xEEA99A38), UINT32_C(0x6E36EF9C),
13491           UINT32_C(0x79D7626A), UINT32_C(0x624874C1)},
13492          {UINT32_C(0x17F026E0), UINT32_C(0x9FCA1B2E), UINT32_C(0xA3A79C2E),
13493           UINT32_C(0xBDBE18E5), UINT32_C(0x6E1B0C6D), UINT32_C(0x1506DE6A),
13494           UINT32_C(0xAD2A2C5F), UINT32_C(0x860CCD71)}},
13495         {{UINT32_C(0x28715EF9), UINT32_C(0x00A15CB0), UINT32_C(0xB1C0ED6D),
13496           UINT32_C(0x71F337D8), UINT32_C(0xF998251E), UINT32_C(0xBD7E6892),
13497           UINT32_C(0x08E0A4E9), UINT32_C(0x4C5AB311)},
13498          {UINT32_C(0x567342FB), UINT32_C(0xDFD51293), UINT32_C(0x5AE3193B),
13499           UINT32_C(0xF202FCD1), UINT32_C(0xAF59A5A2), UINT32_C(0xE317C933),
13500           UINT32_C(0x5055DE2A), UINT32_C(0x300FE083)}},
13501         {{UINT32_C(0xC58E7AE9), UINT32_C(0x279A071A), UINT32_C(0x4C718A8B),
13502           UINT32_C(0xCED1F2F4), UINT32_C(0x5FE7F6E5), UINT32_C(0x3A8C0D1A),
13503           UINT32_C(0xBB40DA93), UINT32_C(0x789C9B04)},
13504          {UINT32_C(0xBF2A0B9B), UINT32_C(0xBB7EA922), UINT32_C(0x3A484413),
13505           UINT32_C(0x5DD7A04A), UINT32_C(0xC5912F93), UINT32_C(0x3E1F49FB),
13506           UINT32_C(0x61ECAB05), UINT32_C(0x4D8C07A5)}},
13507     },
13508     {
13509         {{UINT32_C(0x9706D4CF), UINT32_C(0x7D351007), UINT32_C(0xB9BABB1F),
13510           UINT32_C(0x3E2B3D2E), UINT32_C(0xA2E423EA), UINT32_C(0xC73745BF),
13511           UINT32_C(0xF59601A0), UINT32_C(0x0AB3940A)},
13512          {UINT32_C(0x2A895C4F), UINT32_C(0x8881507A), UINT32_C(0x68652263),
13513           UINT32_C(0xF27F6F40), UINT32_C(0x88A416BE), UINT32_C(0xCFD91814),
13514           UINT32_C(0x1B4F51F6), UINT32_C(0x13459BC3)}},
13515         {{UINT32_C(0x01C7C38A), UINT32_C(0x6D830E0C), UINT32_C(0xE27DA48A),
13516           UINT32_C(0xBA912BD4), UINT32_C(0x4AB8B5A6), UINT32_C(0x3828F433),
13517           UINT32_C(0xE35E88DA), UINT32_C(0x3F858E6C)},
13518          {UINT32_C(0x6E1C033C), UINT32_C(0x137F2E3A), UINT32_C(0x7E670398),
13519           UINT32_C(0xFC7C8953), UINT32_C(0xF5C3D4DB), UINT32_C(0x6FF761CE),
13520           UINT32_C(0xEED1029B), UINT32_C(0x53A02906)}},
13521         {{UINT32_C(0x56779C20), UINT32_C(0x5C597BA6), UINT32_C(0x43A87346),
13522           UINT32_C(0x366688CC), UINT32_C(0xA55ACF91), UINT32_C(0x19F6DA4A),
13523           UINT32_C(0x182DEC58), UINT32_C(0x280ED592)},
13524          {UINT32_C(0xA1D3EBDD), UINT32_C(0x0A1F3A7A), UINT32_C(0x0C9F474A),
13525           UINT32_C(0xD92B6078), UINT32_C(0x19AE00DD), UINT32_C(0x38D0335E),
13526           UINT32_C(0xA97F33F7), UINT32_C(0x094A5772)}},
13527         {{UINT32_C(0x312D2694), UINT32_C(0x026A9029), UINT32_C(0xAB5B34B8),
13528           UINT32_C(0x95408516), UINT32_C(0xDED270EA), UINT32_C(0x9FFA9AB1),
13529           UINT32_C(0x493E5935), UINT32_C(0x1F9DDC52)},
13530          {UINT32_C(0x17244394), UINT32_C(0xAC7F94C1), UINT32_C(0x0F28C9DF),
13531           UINT32_C(0x18FC29C4), UINT32_C(0xBD817BD9), UINT32_C(0xEDE29238),
13532           UINT32_C(0x8E2A7E40), UINT32_C(0x20DBF9AF)}},
13533         {{UINT32_C(0x7648CA5C), UINT32_C(0x009365D9), UINT32_C(0x2BF27488),
13534           UINT32_C(0xB168191E), UINT32_C(0xE3B91112), UINT32_C(0x2481BFAA),
13535           UINT32_C(0x3D6DB830), UINT32_C(0x744C505B)},
13536          {UINT32_C(0x3C464704), UINT32_C(0x21426D8F), UINT32_C(0xDAF85A61),
13537           UINT32_C(0x283F59EF), UINT32_C(0xF2716102), UINT32_C(0x278B5F8E),
13538           UINT32_C(0x0FE7E7EC), UINT32_C(0x95B80D82)}},
13539         {{UINT32_C(0xF327664D), UINT32_C(0xD15ADA08), UINT32_C(0xFE904AF8),
13540           UINT32_C(0xF26E3232), UINT32_C(0xF99471C6), UINT32_C(0x2763DBA6),
13541           UINT32_C(0x15F30827), UINT32_C(0x4BC97139)},
13542          {UINT32_C(0x5F154BF9), UINT32_C(0x8523812E), UINT32_C(0xDE17F8F9),
13543           UINT32_C(0x0839059F), UINT32_C(0xBC16678D), UINT32_C(0xEA151382),
13544           UINT32_C(0x7890C4EF), UINT32_C(0x68D01E62)}},
13545         {{UINT32_C(0x9487556B), UINT32_C(0x37FAC9FA), UINT32_C(0xFB4DC83D),
13546           UINT32_C(0xB4DF5C53), UINT32_C(0x92969151), UINT32_C(0x1EF42D8C),
13547           UINT32_C(0x8B0ED349), UINT32_C(0x6C0A9D18)},
13548          {UINT32_C(0x946F31ED), UINT32_C(0x63E91049), UINT32_C(0x653F600B),
13549           UINT32_C(0x51E91DC6), UINT32_C(0x53A29196), UINT32_C(0xD7A582B1),
13550           UINT32_C(0x31E1D843), UINT32_C(0x0452F4AD)}},
13551         {{UINT32_C(0x0DE8E344), UINT32_C(0x1224169D), UINT32_C(0xF329D30F),
13552           UINT32_C(0x0F4AB4E7), UINT32_C(0xB525B6A4), UINT32_C(0x12662965),
13553           UINT32_C(0x255F14B8), UINT32_C(0x3142B612)},
13554          {UINT32_C(0xBBF468A1), UINT32_C(0xEF6148B9), UINT32_C(0x144F8DFF),
13555           UINT32_C(0x3FC413B4), UINT32_C(0x9BF55B34), UINT32_C(0xA453D075),
13556           UINT32_C(0x86EBA319), UINT32_C(0x857EC763)}},
13557         {{UINT32_C(0xC16C1002), UINT32_C(0x7FC22E26), UINT32_C(0xB0B186C3),
13558           UINT32_C(0x2E34975E), UINT32_C(0x2FC79F85), UINT32_C(0xE11E3642),
13559           UINT32_C(0x9F981B5F), UINT32_C(0x30FE5C0E)},
13560          {UINT32_C(0x31816247), UINT32_C(0x73BD0FA6), UINT32_C(0x6906AF0A),
13561           UINT32_C(0x40FE1661), UINT32_C(0x787BC7EE), UINT32_C(0x8D7109A3),
13562           UINT32_C(0x6FB9A590), UINT32_C(0x29452054)}},
13563         {{UINT32_C(0x4DFAAF93), UINT32_C(0x24654B9B), UINT32_C(0x9A450D29),
13564           UINT32_C(0x91CDEA8B), UINT32_C(0xE4874748), UINT32_C(0xEE55420B),
13565           UINT32_C(0x6D03064C), UINT32_C(0x01FAC14C)},
13566          {UINT32_C(0xD93BD5BE), UINT32_C(0x8A4EBDE2), UINT32_C(0x49EF18A9),
13567           UINT32_C(0xCB2DF307), UINT32_C(0x1A7B7F36), UINT32_C(0x36E6AC64),
13568           UINT32_C(0x4AC1CB8D), UINT32_C(0x30195423)}},
13569         {{UINT32_C(0x34F5B3FF), UINT32_C(0xD9970B1E), UINT32_C(0x587A9C5C),
13570           UINT32_C(0x3CFEFC50), UINT32_C(0x7CCE631E), UINT32_C(0x8EC1C5DE),
13571           UINT32_C(0x52465AB8), UINT32_C(0x92C93E2B)},
13572          {UINT32_C(0x257017CA), UINT32_C(0x0104DF30), UINT32_C(0x8D8DB4CE),
13573           UINT32_C(0xF4E5E779), UINT32_C(0xFDC267F0), UINT32_C(0xE12A39DD),
13574           UINT32_C(0x27C73FDA), UINT32_C(0x683DEAFE)}},
13575         {{UINT32_C(0xBBC70623), UINT32_C(0xD0840E81), UINT32_C(0x4D23568E),
13576           UINT32_C(0x03A93C16), UINT32_C(0x11A71BFF), UINT32_C(0xC52FF3D6),
13577           UINT32_C(0x0875248E), UINT32_C(0x03C11FCE)},
13578          {UINT32_C(0x6C4AE445), UINT32_C(0xBC6F184B), UINT32_C(0x7698EE98),
13579           UINT32_C(0xF52CC71F), UINT32_C(0xEEA25223), UINT32_C(0x4663193E),
13580           UINT32_C(0x031C68DC), UINT32_C(0x86CD1AB3)}},
13581         {{UINT32_C(0x21E04C02), UINT32_C(0x221C94EB), UINT32_C(0x7B980F70),
13582           UINT32_C(0xE96BB7B3), UINT32_C(0x24DC2BD1), UINT32_C(0x60A72897),
13583           UINT32_C(0x5621F475), UINT32_C(0x8C8E019F)},
13584          {UINT32_C(0x5CFA457A), UINT32_C(0xAE47B2F7), UINT32_C(0xF395C533),
13585           UINT32_C(0x31B2F9E1), UINT32_C(0x82E75849), UINT32_C(0x7EEB5DDC),
13586           UINT32_C(0x2A241E52), UINT32_C(0x4863A6A3)}},
13587         {{UINT32_C(0x914976EF), UINT32_C(0x806AC7F4), UINT32_C(0xCA42B875),
13588           UINT32_C(0x5019261E), UINT32_C(0x6EF2D82F), UINT32_C(0x44F5C03D),
13589           UINT32_C(0x690F2ACA), UINT32_C(0x24959F00)},
13590          {UINT32_C(0x81F0BBB6), UINT32_C(0x4BDE2115), UINT32_C(0x1F701A2D),
13591           UINT32_C(0x01EB2C00), UINT32_C(0x274FB05C), UINT32_C(0x039F8910),
13592           UINT32_C(0xC625EBCD), UINT32_C(0x57068F24)}},
13593         {{UINT32_C(0x67FF2575), UINT32_C(0xB21B8C93), UINT32_C(0x0C60B449),
13594           UINT32_C(0xC7826C60), UINT32_C(0xA98671BB), UINT32_C(0xD4D69A9F),
13595           UINT32_C(0xF5A2AB0C), UINT32_C(0x95249276)},
13596          {UINT32_C(0x2D1976DA), UINT32_C(0x8F7007F0), UINT32_C(0xC011D54C),
13597           UINT32_C(0x846F2A92), UINT32_C(0xFA2076B1), UINT32_C(0xFDBF81DF),
13598           UINT32_C(0x5583B46C), UINT32_C(0x3349224F)}},
13599         {{UINT32_C(0x7C854B4A), UINT32_C(0x62496746), UINT32_C(0x798B1395),
13600           UINT32_C(0xF92BAE1D), UINT32_C(0xD2F65638), UINT32_C(0x2EBE18E3),
13601           UINT32_C(0x8A068F49), UINT32_C(0x472FF6E5)},
13602          {UINT32_C(0xDA2030C2), UINT32_C(0x64BB0F33), UINT32_C(0x66F6C000),
13603           UINT32_C(0x72C0D0C9), UINT32_C(0x3194615E), UINT32_C(0xEA837EE5),
13604           UINT32_C(0xFA9A7903), UINT32_C(0x1B7B4849)}},
13605     },
13606     {
13607         {{UINT32_C(0xCF9A0727), UINT32_C(0x27AB780C), UINT32_C(0x9D7486CB),
13608           UINT32_C(0xD457A7BC), UINT32_C(0xFE9F1A59), UINT32_C(0xFC57C335),
13609           UINT32_C(0xD1D9F161), UINT32_C(0x269D8959)},
13610          {UINT32_C(0xB81605D5), UINT32_C(0x06A32331), UINT32_C(0x6F050BE0),
13611           UINT32_C(0x23696353), UINT32_C(0x413E1C0D), UINT32_C(0xF9350879),
13612           UINT32_C(0x5761A8DF), UINT32_C(0x17019548)}},
13613         {{UINT32_C(0x6765C6A2), UINT32_C(0x583D3D3F), UINT32_C(0xBE9DF3AF),
13614           UINT32_C(0x68BBA6F9), UINT32_C(0x85358B53), UINT32_C(0x7011E594),
13615           UINT32_C(0x53A08874), UINT32_C(0x3B2142E3)},
13616          {UINT32_C(0x6F5C8641), UINT32_C(0x4AB6137E), UINT32_C(0x4FE9BCEB),
13617           UINT32_C(0x4955890E), UINT32_C(0x4D14DA01), UINT32_C(0xE2F732BA),
13618           UINT32_C(0xBEBD63D4), UINT32_C(0x8CB285FC)}},
13619         {{UINT32_C(0x6C74A0AA), UINT32_C(0x5099551B), UINT32_C(0xBC2C8A61),
13620           UINT32_C(0xF04EB8F8), UINT32_C(0x85983435), UINT32_C(0xE169F492),
13621           UINT32_C(0x5B808C9E), UINT32_C(0x764062A1)},
13622          {UINT32_C(0x65B994FB), UINT32_C(0x8C59A43F), UINT32_C(0x6068E685),
13623           UINT32_C(0x2FB148B7), UINT32_C(0x54108A9F), UINT32_C(0x899D4FC5),
13624           UINT32_C(0x5B4D40FE), UINT32_C(0x0469EA3E)}},
13625         {{UINT32_C(0x62A76AA8), UINT32_C(0x15B613EA), UINT32_C(0x2FE2F179),
13626           UINT32_C(0x7E8E7D56), UINT32_C(0xBE98EDC2), UINT32_C(0x53160F65),
13627           UINT32_C(0x9810DC27), UINT32_C(0x258DA04E)},
13628          {UINT32_C(0x030D9C31), UINT32_C(0x4FEE19D0), UINT32_C(0xC29E300F),
13629           UINT32_C(0xFC2C57F8), UINT32_C(0xC44458AE), UINT32_C(0x00071F97),
13630           UINT32_C(0x709727E1), UINT32_C(0x0AA2B911)}},
13631         {{UINT32_C(0xA61166F8), UINT32_C(0x443F8B23), UINT32_C(0xD685FCF1),
13632           UINT32_C(0x3E8F6278), UINT32_C(0x447433C6), UINT32_C(0xC930C1D1),
13633           UINT32_C(0xAED7D6EB), UINT32_C(0x1245A867)},
13634          {UINT32_C(0xFA89945A), UINT32_C(0xC35986DD), UINT32_C(0x26B0AFEE),
13635           UINT32_C(0x89CE1109), UINT32_C(0x17103D18), UINT32_C(0x9C6A87CD),
13636           UINT32_C(0xCE338978), UINT32_C(0x811B2242)}},
13637         {{UINT32_C(0x0C293255), UINT32_C(0xC074AF66), UINT32_C(0x5AEAC2E1),
13638           UINT32_C(0x982C23A9), UINT32_C(0xD39AC56C), UINT32_C(0xDB14DE0C),
13639           UINT32_C(0x47EBB839), UINT32_C(0x20263F3F)},
13640          {UINT32_C(0xD10588DF), UINT32_C(0x183EA578), UINT32_C(0x1EB69C36),
13641           UINT32_C(0xB4D88EFB), UINT32_C(0xDBF3BEE7), UINT32_C(0xA79A1B4D),
13642           UINT32_C(0xE8159E0D), UINT32_C(0x650FC466)}},
13643         {{UINT32_C(0xF80D5744), UINT32_C(0x9E6EE797), UINT32_C(0x825949BD),
13644           UINT32_C(0xDFC3EBF5), UINT32_C(0x7EC9BD65), UINT32_C(0x1083EC79),
13645           UINT32_C(0xB753499C), UINT32_C(0x62A45C5E)},
13646          {UINT32_C(0x2B6F42CF), UINT32_C(0x9C135F80), UINT32_C(0xC4B49041),
13647           UINT32_C(0xE39B0BA5), UINT32_C(0x8D3B2D06), UINT32_C(0x4D838513),
13648           UINT32_C(0xD070754B), UINT32_C(0x696034DC)}},
13649         {{UINT32_C(0xB8E3BDD1), UINT32_C(0x06313D73), UINT32_C(0xE6968872),
13650           UINT32_C(0xC7BEC420), UINT32_C(0x3A04B7F0), UINT32_C(0x740DD6D3),
13651           UINT32_C(0x2465BED2), UINT32_C(0x98F2D0B7)},
13652          {UINT32_C(0x4043DBAD), UINT32_C(0x9F298460), UINT32_C(0x01B5961F),
13653           UINT32_C(0x82D6991A), UINT32_C(0x54DFAB8A), UINT32_C(0xAAE7DF9D),
13654           UINT32_C(0x1A07DD22), UINT32_C(0x5701E335)}},
13655         {{UINT32_C(0xFCA398A2), UINT32_C(0x5695A08E), UINT32_C(0x0D76E8CF),
13656           UINT32_C(0xD29EBC1F), UINT32_C(0x24004EDB), UINT32_C(0x5AB17ABF),
13657           UINT32_C(0x0CC7A144), UINT32_C(0x20C7761B)},
13658          {UINT32_C(0x285EA93C), UINT32_C(0x6CAEE036), UINT32_C(0xF2B8BF23),
13659           UINT32_C(0xF9756E89), UINT32_C(0xB1AB91B7), UINT32_C(0x3CEA1C76),
13660           UINT32_C(0x3FB4F3B8), UINT32_C(0x5D86860E)}},
13661         {{UINT32_C(0xFDC7DBC5), UINT32_C(0x835B023B), UINT32_C(0xEEEDFD73),
13662           UINT32_C(0xF05C0676), UINT32_C(0xE52BFB27), UINT32_C(0xF8325D64),
13663           UINT32_C(0xB5032CFF), UINT32_C(0x919D008D)},
13664          {UINT32_C(0x4B130537), UINT32_C(0xEF27862C), UINT32_C(0x5CE404DC),
13665           UINT32_C(0x616DF154), UINT32_C(0x451ED033), UINT32_C(0x182BA57E),
13666           UINT32_C(0xBD01F864), UINT32_C(0x2EFEC0C7)}},
13667         {{UINT32_C(0x45F3AF3C), UINT32_C(0xDC846845), UINT32_C(0x92A47B31),
13668           UINT32_C(0x2D2BA0CD), UINT32_C(0xE1AFE6EE), UINT32_C(0x9C806C7D),
13669           UINT32_C(0x4C6A4FEA), UINT32_C(0x28FE43FF)},
13670          {UINT32_C(0x6C76C0F4), UINT32_C(0x2E028CD1), UINT32_C(0x2AEFBDDA),
13671           UINT32_C(0xC6FA5AD1), UINT32_C(0xF63F1A35), UINT32_C(0xC8B5339B),
13672           UINT32_C(0x04523F02), UINT32_C(0x30C780A7)}},
13673         {{UINT32_C(0xD7E4F0CE), UINT32_C(0x3D2DCA55), UINT32_C(0x26616811),
13674           UINT32_C(0x8EEF9189), UINT32_C(0x3C0E5892), UINT32_C(0xB106642F),
13675           UINT32_C(0x89DB033E), UINT32_C(0x4A965385)},
13676          {UINT32_C(0xB3C2DD37), UINT32_C(0x5A1CBEB6), UINT32_C(0x156EAC75),
13677           UINT32_C(0x5290C737), UINT32_C(0xE32E40C7), UINT32_C(0x57AFD98A),
13678           UINT32_C(0xB3571868), UINT32_C(0x04A16164)}},
13679         {{UINT32_C(0x1A673E1B), UINT32_C(0x9AB8A3E9), UINT32_C(0x0FC23483),
13680           UINT32_C(0xC707ABBA), UINT32_C(0x9E0EA0BD), UINT32_C(0x936C1783),
13681           UINT32_C(0xF71F6F1D), UINT32_C(0x1E4C2E7C)},
13682          {UINT32_C(0x6FB0926C), UINT32_C(0x37904F63), UINT32_C(0xC51FEEA5),
13683           UINT32_C(0x9EC76DF7), UINT32_C(0x4D103DAC), UINT32_C(0x2C60F7D6),
13684           UINT32_C(0xF9DC2CC6), UINT32_C(0x7B451E0B)}},
13685         {{UINT32_C(0xB2A5F07F), UINT32_C(0xD4F8526C), UINT32_C(0xB0F4AE09),
13686           UINT32_C(0x41303D42), UINT32_C(0x0C182FDC), UINT32_C(0xAC79523F),
13687           UINT32_C(0xAA0C5D6D), UINT32_C(0x8D6A75C8)},
13688          {UINT32_C(0x3CDCE3F0), UINT32_C(0x4DD7FC95), UINT32_C(0x5BE6DA0F),
13689           UINT32_C(0x4DDB3910), UINT32_C(0x16F7E27D), UINT32_C(0xE34961F9),
13690           UINT32_C(0x5B3544EB), UINT32_C(0x0C5CB76F)}},
13691         {{UINT32_C(0x252C354C), UINT32_C(0x324C95B5), UINT32_C(0x8CC2C3BC),
13692           UINT32_C(0x4648D87E), UINT32_C(0x82BC8C80), UINT32_C(0x6DDFDECD),
13693           UINT32_C(0xC069996E), UINT32_C(0x8C64CADE)},
13694          {UINT32_C(0x40ED44AB), UINT32_C(0x4E282E96), UINT32_C(0x79334507),
13695           UINT32_C(0x70A12067), UINT32_C(0x5AB8902B), UINT32_C(0x65CE5D38),
13696           UINT32_C(0x7C949D96), UINT32_C(0x56FE68F2)}},
13697         {{UINT32_C(0xCF9530AE), UINT32_C(0x1D55C87E), UINT32_C(0xC147C2D5),
13698           UINT32_C(0xD1CF73FF), UINT32_C(0xC1F44403), UINT32_C(0x826031CD),
13699           UINT32_C(0x5EEF5BFB), UINT32_C(0x3A06528F)},
13700          {UINT32_C(0x5F84A7B1), UINT32_C(0xF220EAF3), UINT32_C(0x350EBADE),
13701           UINT32_C(0xBC99C905), UINT32_C(0x810A101C), UINT32_C(0x686A706E),
13702           UINT32_C(0x1D92EAEA), UINT32_C(0x95E52713)}},
13703     },
13704     {
13705         {{UINT32_C(0x514D47C2), UINT32_C(0xAAC634B3), UINT32_C(0x58B83B33),
13706           UINT32_C(0xD0C189B8), UINT32_C(0x58CA9A2F), UINT32_C(0x633D59E3),
13707           UINT32_C(0x838ACC80), UINT32_C(0x65965CE0)},
13708          {UINT32_C(0x9B512F6E), UINT32_C(0xBB03F7EA), UINT32_C(0x9EF17A82),
13709           UINT32_C(0xB2F38B84), UINT32_C(0xE16A7A95), UINT32_C(0xE8382E37),
13710           UINT32_C(0x4D9EF607), UINT32_C(0x28644EFE)}},
13711         {{UINT32_C(0x040A515B), UINT32_C(0x46F9115E), UINT32_C(0xFA59CD3E),
13712           UINT32_C(0x4C7DBCFF), UINT32_C(0x71BB543E), UINT32_C(0xB4CE22B8),
13713           UINT32_C(0x948F80BA), UINT32_C(0x58D935D8)},
13714          {UINT32_C(0x03683C8B), UINT32_C(0x33DC1D5B), UINT32_C(0x2D071D87),
13715           UINT32_C(0x25E6113A), UINT32_C(0xA7D59351), UINT32_C(0x44F962F8),
13716           UINT32_C(0xBCF66B43), UINT32_C(0x6B818DDB)}},
13717         {{UINT32_C(0x378C1098), UINT32_C(0x363A63C7), UINT32_C(0xAC5C0C9E),
13718           UINT32_C(0xBEB2A7B6), UINT32_C(0x4361C8D4), UINT32_C(0x3F620D3F),
13719           UINT32_C(0x4E3D9686), UINT32_C(0x68EAD01A)},
13720          {UINT32_C(0x45DB7208), UINT32_C(0x43613085), UINT32_C(0x13B35D33),
13721           UINT32_C(0x865A6DDE), UINT32_C(0x68DF09F5), UINT32_C(0x4EAA1663),
13722           UINT32_C(0xBF02AA12), UINT32_C(0x5FDCA83F)}},
13723         {{UINT32_C(0xBFEFB3CB), UINT32_C(0xC240FEAA), UINT32_C(0x0EC6694F),
13724           UINT32_C(0x78E757D2), UINT32_C(0x2413D6A2), UINT32_C(0xA11A82DF),
13725           UINT32_C(0xDBB7A220), UINT32_C(0x7BD656EE)},
13726          {UINT32_C(0x6EB899A4), UINT32_C(0x68C60873), UINT32_C(0x318C72E8),
13727           UINT32_C(0xAFFB9F1C), UINT32_C(0x9FB7619D), UINT32_C(0xF16A443C),
13728           UINT32_C(0x42C6E4D6), UINT32_C(0x2FC317E3)}},
13729         {{UINT32_C(0x73F57A93), UINT32_C(0xAB56A873), UINT32_C(0x308F5224),
13730           UINT32_C(0xE9BA24E2), UINT32_C(0x11992077), UINT32_C(0x010281B9),
13731           UINT32_C(0x593EAD1A), UINT32_C(0x2CBCA7FE)},
13732          {UINT32_C(0x2A1D8318), UINT32_C(0xB400388A), UINT32_C(0x3C61A0AF),
13733           UINT32_C(0xD470ABDA), UINT32_C(0x94BD2FAC), UINT32_C(0xF9102721),
13734           UINT32_C(0x0FAC703C), UINT32_C(0x222365D1)}},
13735         {{UINT32_C(0x9C2D1B2B), UINT32_C(0x5C9021C4), UINT32_C(0xCAF0B562),
13736           UINT32_C(0xB349DB18), UINT32_C(0x91412CC3), UINT32_C(0x6DAF7412),
13737           UINT32_C(0xCF6584D3), UINT32_C(0x44E5E3E5)},
13738          {UINT32_C(0xE4C17B19), UINT32_C(0x1D1F4244), UINT32_C(0x3787A38A),
13739           UINT32_C(0x4C663EE6), UINT32_C(0x313A8581), UINT32_C(0xA3261E22),
13740           UINT32_C(0x7A82C05A), UINT32_C(0x3AE1E1DB)}},
13741         {{UINT32_C(0x3CD6A155), UINT32_C(0x31AA2B29), UINT32_C(0x3D078B12),
13742           UINT32_C(0x0EB9527E), UINT32_C(0x214FF1E2), UINT32_C(0x6785ABA2),
13743           UINT32_C(0xF111D572), UINT32_C(0x74974F84)},
13744          {UINT32_C(0x078C684B), UINT32_C(0x2199A753), UINT32_C(0x4B13A004),
13745           UINT32_C(0xA0F1DE23), UINT32_C(0x75BEBCBC), UINT32_C(0x3965AE19),
13746           UINT32_C(0x24562AA7), UINT32_C(0x22A8D7EE)}},
13747         {{UINT32_C(0xBF268ADE), UINT32_C(0x0591965F), UINT32_C(0x9EE48F0E),
13748           UINT32_C(0xF621B364), UINT32_C(0x5A3A3848), UINT32_C(0x0AD981A9),
13749           UINT32_C(0x9ECD72B7), UINT32_C(0x1316675C)},
13750          {UINT32_C(0xF37C87E0), UINT32_C(0x21A5CEB7), UINT32_C(0x68D1AAFB),
13751           UINT32_C(0xEF864CF3), UINT32_C(0xD3C9A54F), UINT32_C(0x5F340413),
13752           UINT32_C(0xE00FD564), UINT32_C(0x0C5DE1E6)}},
13753         {{UINT32_C(0xB415D72C), UINT32_C(0x439B2C0C), UINT32_C(0x63442E62),
13754           UINT32_C(0x106AE2E0), UINT32_C(0x4A79E93B), UINT32_C(0x8A9428C6),
13755           UINT32_C(0xCC2DF510), UINT32_C(0x67FE6D6E)},
13756          {UINT32_C(0x655013B3), UINT32_C(0x407158BC), UINT32_C(0x2BC7E7CC),
13757           UINT32_C(0x3AAEAC1C), UINT32_C(0xEE8EC1F4), UINT32_C(0x399DB6EF),
13758           UINT32_C(0xECFF6657), UINT32_C(0x1F7D0D17)}},
13759         {{UINT32_C(0xCB86639E), UINT32_C(0x03039D18), UINT32_C(0x9CDC3408),
13760           UINT32_C(0x58603909), UINT32_C(0xF1804B9E), UINT32_C(0x52421109),
13761           UINT32_C(0xED126B9F), UINT32_C(0x95502857)},
13762          {UINT32_C(0x451B0539), UINT32_C(0xC91842D9), UINT32_C(0xE60AAE3B),
13763           UINT32_C(0x2B5B11EB), UINT32_C(0x44CB5A14), UINT32_C(0xDB50F9EA),
13764           UINT32_C(0x89E80A6E), UINT32_C(0x4B5C9824)}},
13765         {{UINT32_C(0x69FC9F1A), UINT32_C(0x8EF3A1E5), UINT32_C(0x7CCA576A),
13766           UINT32_C(0xA4EAB6F4), UINT32_C(0xFBF1CD65), UINT32_C(0x955E1C89),
13767           UINT32_C(0xF8CE13DB), UINT32_C(0x3E3ACF6E)},
13768          {UINT32_C(0x58F31FC9), UINT32_C(0x1FDB6190), UINT32_C(0x93B0D0D5),
13769           UINT32_C(0x10DB71B3), UINT32_C(0x9154B285), UINT32_C(0x90096143),
13770           UINT32_C(0x1C49EFF3), UINT32_C(0x37EEE178)}},
13771         {{UINT32_C(0xBC198066), UINT32_C(0x609DE502), UINT32_C(0x40722EF6),
13772           UINT32_C(0x075C8631), UINT32_C(0xFF0FA57D), UINT32_C(0x121ACC9F),
13773           UINT32_C(0xEC7DB1A0), UINT32_C(0x31E79AC5)},
13774          {UINT32_C(0xF16FAE79), UINT32_C(0x736EB95D), UINT32_C(0x815A14CB),
13775           UINT32_C(0xFF963917), UINT32_C(0x23AF0BC3), UINT32_C(0xC6003E5D),
13776           UINT32_C(0x99AFCAAA), UINT32_C(0x0D1B0350)}},
13777         {{UINT32_C(0x1F0DF59D), UINT32_C(0x8A1B6C97), UINT32_C(0x59C9CA8D),
13778           UINT32_C(0x7DF81A72), UINT32_C(0x9602E8BE), UINT32_C(0x74257F8E),
13779           UINT32_C(0xA441657A), UINT32_C(0x2FFBAD39)},
13780          {UINT32_C(0x048050A6), UINT32_C(0xB1B090DB), UINT32_C(0x741E7392),
13781           UINT32_C(0xD6144221), UINT32_C(0xECA1E2D6), UINT32_C(0x63826973),
13782           UINT32_C(0xD287DE2F), UINT32_C(0x28EE60B8)}},
13783         {{UINT32_C(0x5DEE86CE), UINT32_C(0x81504295), UINT32_C(0x73C03937),
13784           UINT32_C(0xFACCB61D), UINT32_C(0x299B96AF), UINT32_C(0x9898F773),
13785           UINT32_C(0x488F95CD), UINT32_C(0x51552297)},
13786          {UINT32_C(0x54F5E182), UINT32_C(0x6170618C), UINT32_C(0xC2798401),
13787           UINT32_C(0x9C11D666), UINT32_C(0x3EAF3DDE), UINT32_C(0x88225F4B),
13788           UINT32_C(0x087F1185), UINT32_C(0x20841538)}},
13789         {{UINT32_C(0x14FA59EC), UINT32_C(0x42BCEFFE), UINT32_C(0x7D023F1E),
13790           UINT32_C(0xC41CFCDA), UINT32_C(0x7163E802), UINT32_C(0xD7E4FDE7),
13791           UINT32_C(0x2E145BCE), UINT32_C(0x54F4C798)},
13792          {UINT32_C(0xF9162235), UINT32_C(0xE4EA68C9), UINT32_C(0x458DEC24),
13793           UINT32_C(0x4F7EAC6F), UINT32_C(0x845C6AD1), UINT32_C(0x70100D2D),
13794           UINT32_C(0xF1EA21B2), UINT32_C(0x67AC34CF)}},
13795         {{UINT32_C(0xAC21C728), UINT32_C(0x2BD49BDF), UINT32_C(0xEDA966DF),
13796           UINT32_C(0x2D009B45), UINT32_C(0x4A9B9167), UINT32_C(0x0D4476BE),
13797           UINT32_C(0x95D2ACD2), UINT32_C(0x340BD3BE)},
13798          {UINT32_C(0xB040FF50), UINT32_C(0xF8BACA2D), UINT32_C(0xB91D47C1),
13799           UINT32_C(0x307BEA0D), UINT32_C(0xB6B3A1E4), UINT32_C(0x2EFDC81B),
13800           UINT32_C(0x1595D6E2), UINT32_C(0x3B2CD7D9)}},
13801     },
13802     {
13803         {{UINT32_C(0x32A5A002), UINT32_C(0x56254AE7), UINT32_C(0x448B0A9F),
13804           UINT32_C(0xE48A475C), UINT32_C(0x14EDBBA9), UINT32_C(0x3B2DF6DF),
13805           UINT32_C(0xF5E4CC81), UINT32_C(0x911BE369)},
13806          {UINT32_C(0x77CBB387), UINT32_C(0x57D065C6), UINT32_C(0x527575FD),
13807           UINT32_C(0x7C1E0142), UINT32_C(0x243B5C33), UINT32_C(0x2CA91EEF),
13808           UINT32_C(0x5C4700CC), UINT32_C(0x7E54AF42)}},
13809         {{UINT32_C(0x5EEDF97F), UINT32_C(0xEF5ECAE5), UINT32_C(0xC0D821AC),
13810           UINT32_C(0x2D79312A), UINT32_C(0xA9EDBE8F), UINT32_C(0xD3817042),
13811           UINT32_C(0xAD924B1D), UINT32_C(0x7A3D537E)},
13812          {UINT32_C(0xB26FFC3B), UINT32_C(0xD9923A20), UINT32_C(0x5B81EC12),
13813           UINT32_C(0x651D2201), UINT32_C(0x54C37FF0), UINT32_C(0xBDF7205A),
13814           UINT32_C(0x8C0D2E79), UINT32_C(0x5562D258)}},
13815         {{UINT32_C(0xFB4842F8), UINT32_C(0xE5BC2E1C), UINT32_C(0x25B464C8),
13816           UINT32_C(0xCFE97824), UINT32_C(0x2FEA9ED3), UINT32_C(0xD902A11A),
13817           UINT32_C(0x8D3DD0A4), UINT32_C(0x2FC360ED)},
13818          {UINT32_C(0x9E5F7AE1), UINT32_C(0xEC4E57FC), UINT32_C(0x79B8AF6C),
13819           UINT32_C(0xF0F1FD9F), UINT32_C(0xA9A283D0), UINT32_C(0x803F3ED6),
13820           UINT32_C(0xADEEA78E), UINT32_C(0x5F13000F)}},
13821         {{UINT32_C(0x1838B470), UINT32_C(0x3EBBBD16), UINT32_C(0xB2781680),
13822           UINT32_C(0x934BA22A), UINT32_C(0xC7210CD4), UINT32_C(0xC9ED04FC),
13823           UINT32_C(0x4615F186), UINT32_C(0x716004A1)},
13824          {UINT32_C(0xE894BBC3), UINT32_C(0xE7B36C21), UINT32_C(0x570AA9A8),
13825           UINT32_C(0x3F739857), UINT32_C(0x3063902B), UINT32_C(0x1707FBEE),
13826           UINT32_C(0x155C9824), UINT32_C(0x44FCB774)}},
13827         {{UINT32_C(0xCDD8CEDB), UINT32_C(0x30ECD772), UINT32_C(0xCA09BCD3),
13828           UINT32_C(0x67BB36FD), UINT32_C(0x9BC43B7B), UINT32_C(0xD5AD0FAA),
13829           UINT32_C(0x6A130895), UINT32_C(0x3962E556)},
13830          {UINT32_C(0x7F7A565A), UINT32_C(0x57928253), UINT32_C(0x55B911EE),
13831           UINT32_C(0xDE9D7792), UINT32_C(0x6984F326), UINT32_C(0xD5DBFDDE),
13832           UINT32_C(0x9FB51246), UINT32_C(0x7CDF5E15)}},
13833         {{UINT32_C(0x89D24763), UINT32_C(0xD7FC427A), UINT32_C(0xAD874362),
13834           UINT32_C(0x50E627C9), UINT32_C(0x2069873A), UINT32_C(0x17A8F83B),
13835           UINT32_C(0xDB698BD1), UINT32_C(0x186952D7)},
13836          {UINT32_C(0x38A2822C), UINT32_C(0x6C007EED), UINT32_C(0x0C207073),
13837           UINT32_C(0x5F187091), UINT32_C(0x08D245D2), UINT32_C(0xD0023B63),
13838           UINT32_C(0x34544316), UINT32_C(0x7A32C2A1)}},
13839         {{UINT32_C(0x8C2635EC), UINT32_C(0x8B99183A), UINT32_C(0x6F12B137),
13840           UINT32_C(0xA00A9476), UINT32_C(0x823DA313), UINT32_C(0x9B5E2F57),
13841           UINT32_C(0x47B3CEB1), UINT32_C(0x0F7CB4AF)},
13842          {UINT32_C(0x67266D24), UINT32_C(0xC993AF7E), UINT32_C(0xEBA985B8),
13843           UINT32_C(0x8B60295E), UINT32_C(0xE41A6F69), UINT32_C(0x9AA596CB),
13844           UINT32_C(0x4B68507A), UINT32_C(0x4D6CF5DF)}},
13845         {{UINT32_C(0x6921DEFE), UINT32_C(0x3B8A3CBC), UINT32_C(0x0ED7B717),
13846           UINT32_C(0xB96D5390), UINT32_C(0x7DE65E54), UINT32_C(0x6761E86A),
13847           UINT32_C(0x701CC1E4), UINT32_C(0x964460D6)},
13848          {UINT32_C(0x26C82309), UINT32_C(0x5C0A2213), UINT32_C(0x20328C60),
13849           UINT32_C(0xF95F5472), UINT32_C(0xFB49E3B5), UINT32_C(0xB519B476),
13850           UINT32_C(0xEE373756), UINT32_C(0x089D0AB6)}},
13851         {{UINT32_C(0xDC952768), UINT32_C(0x947DFCF0), UINT32_C(0x3AB613AA),
13852           UINT32_C(0xD8B5C61C), UINT32_C(0x9A457DA4), UINT32_C(0x146E8325),
13853           UINT32_C(0xF476945E), UINT32_C(0x37E2F6D3)},
13854          {UINT32_C(0x3851A6F6), UINT32_C(0x5702A441), UINT32_C(0x8D67EF9C),
13855           UINT32_C(0xB476560E), UINT32_C(0xF9D2AD96), UINT32_C(0xABA23F67),
13856           UINT32_C(0xDFBBB806), UINT32_C(0x3CE30A4E)}},
13857         {{UINT32_C(0xE5BAA662), UINT32_C(0x64695640), UINT32_C(0x0AAF3988),
13858           UINT32_C(0x2A18979A), UINT32_C(0xDE0ED212), UINT32_C(0x605578FF),
13859           UINT32_C(0x30F2C13C), UINT32_C(0x52E604D5)},
13860          {UINT32_C(0x894AB3B9), UINT32_C(0x2E9E2D83), UINT32_C(0x4BC33041),
13861           UINT32_C(0x098B1FAA), UINT32_C(0x0863AA3C), UINT32_C(0x01CF6606),
13862           UINT32_C(0xD2951A60), UINT32_C(0x7334879B)}},
13863         {{UINT32_C(0xC51704F1), UINT32_C(0xB080105C), UINT32_C(0xEAEE29C4),
13864           UINT32_C(0x1A5869B8), UINT32_C(0x5FDD2FD3), UINT32_C(0xAD6AEF33),
13865           UINT32_C(0x49C2B183), UINT32_C(0x83E677C4)},
13866          {UINT32_C(0xDFA8B8F4), UINT32_C(0x757A4EFD), UINT32_C(0xE42F2C87),
13867           UINT32_C(0xFC8E7650), UINT32_C(0x9C963D98), UINT32_C(0xD4A61A3E),
13868           UINT32_C(0x45BC9044), UINT32_C(0x3750289A)}},
13869         {{UINT32_C(0x40B1C72C), UINT32_C(0x40A0620E), UINT32_C(0xB2E44573),
13870           UINT32_C(0xAEE56EC7), UINT32_C(0x60532553), UINT32_C(0xE4E6EA3D),
13871           UINT32_C(0xA0EB6014), UINT32_C(0x5BA50E80)},
13872          {UINT32_C(0x4378CC2F), UINT32_C(0x84642978), UINT32_C(0x2A1C5FB4),
13873           UINT32_C(0xE322D169), UINT32_C(0x6B91F82D), UINT32_C(0x5000C9B1),
13874           UINT32_C(0x7AA49F2D), UINT32_C(0x32380CB8)}},
13875         {{UINT32_C(0xE18C4BD2), UINT32_C(0x0A2F936A), UINT32_C(0xC3DB9AA5),
13876           UINT32_C(0x7AEA56AA), UINT32_C(0x5DDF30CB), UINT32_C(0x3A984E93),
13877           UINT32_C(0x904181C6), UINT32_C(0x36133D20)},
13878          {UINT32_C(0xF62DFBF5), UINT32_C(0xA9A65593), UINT32_C(0x6808B883),
13879           UINT32_C(0xB4AC06FD), UINT32_C(0x7A2FEDBB), UINT32_C(0x98679704),
13880           UINT32_C(0x97880A72), UINT32_C(0x20E9E8E1)}},
13881         {{UINT32_C(0xCEB26FAE), UINT32_C(0x403A1ED1), UINT32_C(0x3CD622C9),
13882           UINT32_C(0xAD13CD87), UINT32_C(0xCF45C32D), UINT32_C(0xC1E03929),
13883           UINT32_C(0xC3BE1A53), UINT32_C(0x4B50E4A9)},
13884          {UINT32_C(0xD0D7AFE3), UINT32_C(0xCF10F3AF), UINT32_C(0x1494A9B4),
13885           UINT32_C(0x6A29B173), UINT32_C(0xD13B0495), UINT32_C(0xB9DC9849),
13886           UINT32_C(0x9C05B110), UINT32_C(0x4C50794E)}},
13887         {{UINT32_C(0x1427F71D), UINT32_C(0xC3C97DED), UINT32_C(0x966ECF33),
13888           UINT32_C(0xC3CFB754), UINT32_C(0x1FBF30CD), UINT32_C(0x48E30FE1),
13889           UINT32_C(0x1E4B0998), UINT32_C(0x71C96E1C)},
13890          {UINT32_C(0xB92C4BF7), UINT32_C(0x878D6305), UINT32_C(0xCCB5E4A1),
13891           UINT32_C(0x14477130), UINT32_C(0xE3C00A19), UINT32_C(0x7C210767),
13892           UINT32_C(0xAB3CDBF0), UINT32_C(0x5546DBD5)}},
13893         {{UINT32_C(0x70857571), UINT32_C(0xADEC8758), UINT32_C(0xE70D07EC),
13894           UINT32_C(0x0A52587C), UINT32_C(0xC731B9BC), UINT32_C(0xE6CEAF9E),
13895           UINT32_C(0x47143479), UINT32_C(0x1D0FDE3F)},
13896          {UINT32_C(0xC5B410CB), UINT32_C(0x2F3BE2CF), UINT32_C(0x4E64FD9B),
13897           UINT32_C(0x576004BE), UINT32_C(0x7629820C), UINT32_C(0x03F33951),
13898           UINT32_C(0x46A450E2), UINT32_C(0x7BD32964)}},
13899     },
13900     {
13901         {{UINT32_C(0x46CED42D), UINT32_C(0xD492D6B7), UINT32_C(0x1F0092E3),
13902           UINT32_C(0xC068D02D), UINT32_C(0x8D8A822A), UINT32_C(0x008ECBAD),
13903           UINT32_C(0x71045647), UINT32_C(0x6B326869)},
13904          {UINT32_C(0x523CBA58), UINT32_C(0xFEE3237F), UINT32_C(0x9C29059F),
13905           UINT32_C(0x077B7F50), UINT32_C(0xE72FBE6F), UINT32_C(0x42C308B3),
13906           UINT32_C(0x8E34148B), UINT32_C(0x3DD79D83)}},
13907         {{UINT32_C(0xCAC24455), UINT32_C(0x3ED9DF47), UINT32_C(0xD8546306),
13908           UINT32_C(0x7C8A7B31), UINT32_C(0x2AA02202), UINT32_C(0x4CC43295),
13909           UINT32_C(0x8598E028), UINT32_C(0x5E8B4EA3)},
13910          {UINT32_C(0x812B8070), UINT32_C(0x8A882F3F), UINT32_C(0x1DD374C0),
13911           UINT32_C(0x984BE588), UINT32_C(0x16E133CF), UINT32_C(0x6FDA8159),
13912           UINT32_C(0x899920D0), UINT32_C(0x34FB92FA)}},
13913         {{UINT32_C(0xDA0B8D0E), UINT32_C(0x3BE0416F), UINT32_C(0x88C053D0),
13914           UINT32_C(0x2CC846DB), UINT32_C(0xB1A3A621), UINT32_C(0xC04C3A42),
13915           UINT32_C(0x8A9D9115), UINT32_C(0x35BC5550)},
13916          {UINT32_C(0x7FA72AFE), UINT32_C(0x7F8C9FE3), UINT32_C(0xD1E914FD),
13917           UINT32_C(0x488FA0B4), UINT32_C(0x84F79359), UINT32_C(0x8F5C2D63),
13918           UINT32_C(0xFBC94785), UINT32_C(0x2BE80429)}},
13919         {{UINT32_C(0x6F67799A), UINT32_C(0x391794E0), UINT32_C(0x0677A067),
13920           UINT32_C(0xD9BF08AE), UINT32_C(0xDF61563C), UINT32_C(0x716D5062),
13921           UINT32_C(0xF590F3A3), UINT32_C(0x0ECB234A)},
13922          {UINT32_C(0xFEA22392), UINT32_C(0xA5B91448), UINT32_C(0x7E76FB8B),
13923           UINT32_C(0xFAA29487), UINT32_C(0x4B6CB375), UINT32_C(0x3CC3A02A),
13924           UINT32_C(0x9022167A), UINT32_C(0x5C0B3B63)}},
13925         {{UINT32_C(0x4C576430), UINT32_C(0xC5689CF3), UINT32_C(0xC585F5A5),
13926           UINT32_C(0xF7B7B230), UINT32_C(0xE4BFCEE7), UINT32_C(0xB8DAADFB),
13927           UINT32_C(0x9CF4242F), UINT32_C(0x7B7D8A95)},
13928          {UINT32_C(0x398FEEF6), UINT32_C(0xC1755F9B), UINT32_C(0x5CC5C36E),
13929           UINT32_C(0x9B31CD4D), UINT32_C(0xF4C6B793), UINT32_C(0x4D87AB9C),
13930           UINT32_C(0xF595EFA8), UINT32_C(0x673FD5B2)}},
13931         {{UINT32_C(0xE05E6B19), UINT32_C(0xA3836484), UINT32_C(0xFCA7E6FB),
13932           UINT32_C(0x090C14CF), UINT32_C(0xFC717DBC), UINT32_C(0xB7A27042),
13933           UINT32_C(0x38647882), UINT32_C(0x56CD4AF1)},
13934          {UINT32_C(0xA43C453E), UINT32_C(0xC2B56B50), UINT32_C(0x982E7AED),
13935           UINT32_C(0x0CD5E768), UINT32_C(0x58474A8B), UINT32_C(0xD5ABADF7),
13936           UINT32_C(0x99F500AC), UINT32_C(0x68188A38)}},
13937         {{UINT32_C(0x83B1F7BA), UINT32_C(0x0683AC3E), UINT32_C(0x680568E9),
13938           UINT32_C(0x6A4FC30C), UINT32_C(0x7F6256CF), UINT32_C(0x735F5E48),
13939           UINT32_C(0x048DB831), UINT32_C(0x1240752D)},
13940          {UINT32_C(0x868B8AD7), UINT32_C(0x98B78A67), UINT32_C(0x822EBA7D),
13941           UINT32_C(0x9E32F2C1), UINT32_C(0x8F37580F), UINT32_C(0xEAE28B1E),
13942           UINT32_C(0xC72EDA86), UINT32_C(0x0D204CE0)}},
13943         {{UINT32_C(0x77E8C68C), UINT32_C(0x5E4EAA1C), UINT32_C(0x859A127B),
13944           UINT32_C(0x282ADFE9), UINT32_C(0x14904910), UINT32_C(0x0C75AB7C),
13945           UINT32_C(0x6E751062), UINT32_C(0x1794516A)},
13946          {UINT32_C(0x3DE4A32A), UINT32_C(0x8D99D891), UINT32_C(0x54EF2BF0),
13947           UINT32_C(0x957AA807), UINT32_C(0x0B109ECD), UINT32_C(0xBF20A9E0),
13948           UINT32_C(0xA72268D3), UINT32_C(0x7732F2B3)}},
13949         {{UINT32_C(0x48752F76), UINT32_C(0xADB52E43), UINT32_C(0xD6F7CCE8),
13950           UINT32_C(0x01E9F4B1), UINT32_C(0x2E4BD9B5), UINT32_C(0x22702DA0),
13951           UINT32_C(0xB40BF9AB), UINT32_C(0x1BCC9C60)},
13952          {UINT32_C(0x9F53B2B1), UINT32_C(0xAB774637), UINT32_C(0x8CB316D0),
13953           UINT32_C(0x9C574151), UINT32_C(0xBECBEBED), UINT32_C(0x231D5C45),
13954           UINT32_C(0xF0458638), UINT32_C(0x0BD2D5E7)}},
13955         {{UINT32_C(0x4B946132), UINT32_C(0xD2F5E0B5), UINT32_C(0x155AA2C8),
13956           UINT32_C(0x200A8A30), UINT32_C(0x56A62CE7), UINT32_C(0x15473FD4),
13957           UINT32_C(0xB6689367), UINT32_C(0x030EA71B)},
13958          {UINT32_C(0x0E315F29), UINT32_C(0xD561432B), UINT32_C(0x149E3A9E),
13959           UINT32_C(0x4155022E), UINT32_C(0x15841273), UINT32_C(0xC77EF7E1),
13960           UINT32_C(0x52BA265A), UINT32_C(0x890D9C8D)}},
13961         {{UINT32_C(0x5E62451A), UINT32_C(0xB72B5A6A), UINT32_C(0x5C61A183),
13962           UINT32_C(0xFDA85C17), UINT32_C(0xB7F36EB3), UINT32_C(0xA4275361),
13963           UINT32_C(0x94F4148D), UINT32_C(0x53ADFAF3)},
13964          {UINT32_C(0x6A8467AE), UINT32_C(0x281D47F9), UINT32_C(0x8474D3AD),
13965           UINT32_C(0x416A64B5), UINT32_C(0xEC99480E), UINT32_C(0x710D0E7A),
13966           UINT32_C(0x819253FF), UINT32_C(0x2693A878)}},
13967         {{UINT32_C(0x1A2FE406), UINT32_C(0x4BE76904), UINT32_C(0x343F5B10),
13968           UINT32_C(0xB6FEED1D), UINT32_C(0xD705E35C), UINT32_C(0x36695C52),
13969           UINT32_C(0x6BD3859F), UINT32_C(0x7DF6FA41)},
13970          {UINT32_C(0xC00E77EA), UINT32_C(0x7B9B11F5), UINT32_C(0xCA80F838),
13971           UINT32_C(0xC90411B8), UINT32_C(0x2908C694), UINT32_C(0x8A9FAEF0),
13972           UINT32_C(0xFF5B39B0), UINT32_C(0x05F65AAA)}},
13973         {{UINT32_C(0xD7F59CC5), UINT32_C(0x823A0776), UINT32_C(0xC410DFD1),
13974           UINT32_C(0xB9EBE15E), UINT32_C(0x10A7FA3F), UINT32_C(0xC2374B58),
13975           UINT32_C(0x311660F2), UINT32_C(0x1B912C84)},
13976          {UINT32_C(0xD5A175E6), UINT32_C(0x486A2607), UINT32_C(0x72B74EB7),
13977           UINT32_C(0x9B17D14D), UINT32_C(0x1039CA77), UINT32_C(0x1069D5C4),
13978           UINT32_C(0x3FEE08BB), UINT32_C(0x214605B3)}},
13979         {{UINT32_C(0xF9D14E8D), UINT32_C(0xC25A7379), UINT32_C(0x577D330E),
13980           UINT32_C(0x9D5FAFDA), UINT32_C(0xA4A9CEF0), UINT32_C(0xB9A0217D),
13981           UINT32_C(0x08252731), UINT32_C(0x95AFC7F7)},
13982          {UINT32_C(0x8FC51680), UINT32_C(0x14E53E9E), UINT32_C(0xA8AC4E21),
13983           UINT32_C(0x0AEA2428), UINT32_C(0x11CB2361), UINT32_C(0x6BC5E42C),
13984           UINT32_C(0xDCB52215), UINT32_C(0x3B205E45)}},
13985         {{UINT32_C(0xC916CDE4), UINT32_C(0x8EDD4718), UINT32_C(0xD70D7130),
13986           UINT32_C(0xBB08F27A), UINT32_C(0xED9162CB), UINT32_C(0x289A33C0),
13987           UINT32_C(0xFB69185B), UINT32_C(0x97CEFA45)},
13988          {UINT32_C(0x8B7797EE), UINT32_C(0x44DA2578), UINT32_C(0x148E9A75),
13989           UINT32_C(0x579B17F7), UINT32_C(0x913C09AE), UINT32_C(0x73EC1C23),
13990           UINT32_C(0x0BAAA67D), UINT32_C(0x3FAB86A4)}},
13991         {{UINT32_C(0x2DF7BE6D), UINT32_C(0x28E76C23), UINT32_C(0x500A844D),
13992           UINT32_C(0x00526844), UINT32_C(0x3CC748C2), UINT32_C(0xB86FBB14),
13993           UINT32_C(0xEB5F6AC5), UINT32_C(0x6D89BB8A)},
13994          {UINT32_C(0x2327808C), UINT32_C(0xF66159DF), UINT32_C(0x29C5006C),
13995           UINT32_C(0x606F0553), UINT32_C(0x844B6CA4), UINT32_C(0xDAA1107F),
13996           UINT32_C(0x63A8946C), UINT32_C(0x95D7686C)}},
13997     },
13998     {
13999         {{UINT32_C(0x07F7DCF5), UINT32_C(0x71438CEA), UINT32_C(0x0A1CCD55),
14000           UINT32_C(0xB3F59AFA), UINT32_C(0x0E0071B4), UINT32_C(0x5A439627),
14001           UINT32_C(0xE93D5B8E), UINT32_C(0x8694E3FA)},
14002          {UINT32_C(0x7D6550B0), UINT32_C(0x21713A38), UINT32_C(0x06CFCD5B),
14003           UINT32_C(0x893BD9F7), UINT32_C(0xE7513FCE), UINT32_C(0xC3D2679C),
14004           UINT32_C(0x2C451EF3), UINT32_C(0x418AE7C8)}},
14005         {{UINT32_C(0x0B85E2A9), UINT32_C(0xADFAFF38), UINT32_C(0x2E244653),
14006           UINT32_C(0x6124E627), UINT32_C(0x375D1EE7), UINT32_C(0xF2C465AF),
14007           UINT32_C(0x76E58455), UINT32_C(0x5B2302D6)},
14008          {UINT32_C(0x7479F387), UINT32_C(0x32938A0D), UINT32_C(0xAAAB22A5),
14009           UINT32_C(0xF9A16A0D), UINT32_C(0x2AD65CAE), UINT32_C(0x65AF0E25),
14010           UINT32_C(0x8431EA40), UINT32_C(0x2B566866)}},
14011         {{UINT32_C(0xDBCDAFAB), UINT32_C(0xCA3ACC11), UINT32_C(0xBB7F218B),
14012           UINT32_C(0x0BBB5DBF), UINT32_C(0xDB0ABBE2), UINT32_C(0xD69E091A),
14013           UINT32_C(0x0B0B7B09), UINT32_C(0x8AFFCE95)},
14014          {UINT32_C(0xC7EC52C7), UINT32_C(0x0A5E6C81), UINT32_C(0x896707CD),
14015           UINT32_C(0xABD60595), UINT32_C(0x101E0F80), UINT32_C(0x4CE86506),
14016           UINT32_C(0x4ED01B2E), UINT32_C(0x9629A6C0)}},
14017         {{UINT32_C(0xE15D82F4), UINT32_C(0x1D740EAC), UINT32_C(0x90A5D149),
14018           UINT32_C(0x42F98018), UINT32_C(0x903D6D28), UINT32_C(0x1B8C8DC0),
14019           UINT32_C(0x05BBDFF7), UINT32_C(0x7BE2B916)},
14020          {UINT32_C(0xD8E41D96), UINT32_C(0xFBACF878), UINT32_C(0xBE26EB56),
14021           UINT32_C(0x42E98BFB), UINT32_C(0xF6DE1EB1), UINT32_C(0x9EA73555),
14022           UINT32_C(0xCF79A9EE), UINT32_C(0x5325DDDE)}},
14023         {{UINT32_C(0x48E6A22F), UINT32_C(0x44BE62C3), UINT32_C(0x8DB35276),
14024           UINT32_C(0xD0A3C0AD), UINT32_C(0x136FE9BA), UINT32_C(0xB4C99306),
14025           UINT32_C(0xA44E491F), UINT32_C(0x0F2987D7)},
14026          {UINT32_C(0xCCC77C2B), UINT32_C(0xA0965F74), UINT32_C(0xFE110072),
14027           UINT32_C(0xE01AD644), UINT32_C(0xC16B5E1E), UINT32_C(0x79528B9C),
14028           UINT32_C(0xF929BE4D), UINT32_C(0x45AEEFF3)}},
14029         {{UINT32_C(0x7F4DA458), UINT32_C(0x46E95DF6), UINT32_C(0xA7AD579B),
14030           UINT32_C(0x554C50C1), UINT32_C(0x4316DBA1), UINT32_C(0xF64F00A1),
14031           UINT32_C(0x46D487BD), UINT32_C(0x16C98513)},
14032          {UINT32_C(0x2C048A1B), UINT32_C(0xECB19761), UINT32_C(0x5373E5E6),
14033           UINT32_C(0x997AF398), UINT32_C(0xFDF23B20), UINT32_C(0x50E832D2),
14034           UINT32_C(0x7EF7E097), UINT32_C(0x1B358E0F)}},
14035         {{UINT32_C(0xACBC759C), UINT32_C(0x7C6728AE), UINT32_C(0xA156A466),
14036           UINT32_C(0x187588FB), UINT32_C(0x928F97BD), UINT32_C(0xC2E550ED),
14037           UINT32_C(0xAAE1C05A), UINT32_C(0x8B595A3A)},
14038          {UINT32_C(0xD77C1125), UINT32_C(0xE36871E1), UINT32_C(0x0DBBD882),
14039           UINT32_C(0x11E12978), UINT32_C(0x5E77FB7E), UINT32_C(0x3EF8268A),
14040           UINT32_C(0x6B33C00C), UINT32_C(0x7BAEA9BA)}},
14041         {{UINT32_C(0x5925E5FE), UINT32_C(0x7C851236), UINT32_C(0xD8E1597B),
14042           UINT32_C(0xCED70AE5), UINT32_C(0x6DCD112F), UINT32_C(0x7A28BE1A),
14043           UINT32_C(0x3B8EAF6F), UINT32_C(0x1EB19268)},
14044          {UINT32_C(0x8AA902B9), UINT32_C(0x7E6F1CF2), UINT32_C(0xA5A761D9),
14045           UINT32_C(0x3DD9D59C), UINT32_C(0x48D9F52E), UINT32_C(0x8EF70BB4),
14046           UINT32_C(0xCDEE9658), UINT32_C(0x96629C1A)}},
14047         {{UINT32_C(0xB367C5B3), UINT32_C(0xCA215EAC), UINT32_C(0xA796338A),
14048           UINT32_C(0x36B22774), UINT32_C(0x26EBCDFE), UINT32_C(0x71F9A61A),
14049           UINT32_C(0x35119BD3), UINT32_C(0x1B40580A)},
14050          {UINT32_C(0x431C78BD), UINT32_C(0x77169EF1), UINT32_C(0x337022D5),
14051           UINT32_C(0x8197975E), UINT32_C(0x1D9A4742), UINT32_C(0x45112799),
14052           UINT32_C(0x19B6DB07), UINT32_C(0x382750D6)}},
14053         {{UINT32_C(0x9786AE0B), UINT32_C(0x740405EE), UINT32_C(0x3ABA0481),
14054           UINT32_C(0xF7F37C0F), UINT32_C(0x51892307), UINT32_C(0x904FC60C),
14055           UINT32_C(0xE891D639), UINT32_C(0x8405DF2A)},
14056          {UINT32_C(0xD9B432F8), UINT32_C(0x53D19AC5), UINT32_C(0x066CD97C),
14057           UINT32_C(0xE8F1730F), UINT32_C(0x0E95804B), UINT32_C(0xC8740FEF),
14058           UINT32_C(0xEC242811), UINT32_C(0x12EE433C)}},
14059         {{UINT32_C(0x6153F4D4), UINT32_C(0x6AF4B9B1), UINT32_C(0xF84F0145),
14060           UINT32_C(0x9CD8CD0C), UINT32_C(0xDCEB0F06), UINT32_C(0x6CABD4FC),
14061           UINT32_C(0x0D134DCE), UINT32_C(0x036BF146)},
14062          {UINT32_C(0x7EFFACAB), UINT32_C(0xCDEB1818), UINT32_C(0x52C987E7),
14063           UINT32_C(0xB57A4162), UINT32_C(0xC647E82F), UINT32_C(0xDD5104EB),
14064           UINT32_C(0xF51B5270), UINT32_C(0x389AA556)}},
14065         {{UINT32_C(0x60108876), UINT32_C(0xC450CAEA), UINT32_C(0xF48601A1),
14066           UINT32_C(0xF36B5B6A), UINT32_C(0x09128863), UINT32_C(0x257950D1),
14067           UINT32_C(0xA9F6A1B9), UINT32_C(0x7A592427)},
14068          {UINT32_C(0xED12DE33), UINT32_C(0xBF1FF2B0), UINT32_C(0xE2141101),
14069           UINT32_C(0x4D542AC8), UINT32_C(0xE170F9CF), UINT32_C(0x998523C4),
14070           UINT32_C(0xFCEC0E2F), UINT32_C(0x629385CE)}},
14071         {{UINT32_C(0xB2677C49), UINT32_C(0x951494ED), UINT32_C(0xF9B648E8),
14072           UINT32_C(0xF1AE7138), UINT32_C(0x63CFF359), UINT32_C(0x28B8749E),
14073           UINT32_C(0x9A73272F), UINT32_C(0x5AC4EC4C)},
14074          {UINT32_C(0x21723271), UINT32_C(0xC25ABB87), UINT32_C(0x8B441AFD),
14075           UINT32_C(0x488EC910), UINT32_C(0x1B1DF775), UINT32_C(0x07518348),
14076           UINT32_C(0xF1EB2FB4), UINT32_C(0x4662BBDA)}},
14077         {{UINT32_C(0x6DF9F64A), UINT32_C(0xAE836F74), UINT32_C(0xA185ABE6),
14078           UINT32_C(0xF3CD6C9D), UINT32_C(0xC29A1C1A), UINT32_C(0xAFA897A8),
14079           UINT32_C(0x11B2D6AC), UINT32_C(0x4BAFBB69)},
14080          {UINT32_C(0xB6D971C7), UINT32_C(0x8040F9A3), UINT32_C(0x00763EAF),
14081           UINT32_C(0x3B8920B7), UINT32_C(0x52E848B7), UINT32_C(0x7A1655DA),
14082           UINT32_C(0x703FA84D), UINT32_C(0x03BC8B55)}},
14083         {{UINT32_C(0x1F934416), UINT32_C(0xE6348C65), UINT32_C(0xF82BBC4A),
14084           UINT32_C(0xDBE59C03), UINT32_C(0xEAD60547), UINT32_C(0x51AEAD09),
14085           UINT32_C(0x4F20111E), UINT32_C(0x043A35C3)},
14086          {UINT32_C(0xEC574F0A), UINT32_C(0x0AA18326), UINT32_C(0xFCADF79D),
14087           UINT32_C(0x07E90D70), UINT32_C(0x201CD68B), UINT32_C(0x3979D4CE),
14088           UINT32_C(0x2C2734B1), UINT32_C(0x7FBF2C63)}},
14089         {{UINT32_C(0x2656AF49), UINT32_C(0x2E451373), UINT32_C(0xA432DE06),
14090           UINT32_C(0xCA86207D), UINT32_C(0x12F20637), UINT32_C(0xC5F9262D),
14091           UINT32_C(0x26C0C745), UINT32_C(0x7DD9CCDC)},
14092          {UINT32_C(0xA785ED89), UINT32_C(0x99276BDC), UINT32_C(0x374CFBE2),
14093           UINT32_C(0x34B307A7), UINT32_C(0x1E8EE0C5), UINT32_C(0x916E9B06),
14094           UINT32_C(0x88A85C6A), UINT32_C(0x4E8EB3C7)}},
14095     },
14096     {
14097         {{UINT32_C(0x107F1CE0), UINT32_C(0x6F2433EF), UINT32_C(0x46D23AEF),
14098           UINT32_C(0x121DE131), UINT32_C(0x20DB44DE), UINT32_C(0x7AC50BE8),
14099           UINT32_C(0xF6F41A1C), UINT32_C(0x1E500A2B)},
14100          {UINT32_C(0x27B0004C), UINT32_C(0x8E5BAFCC), UINT32_C(0xDB555C04),
14101           UINT32_C(0x8538A5ED), UINT32_C(0xCE4ED544), UINT32_C(0x00AEC8A7),
14102           UINT32_C(0x73B2DA91), UINT32_C(0x7C7301CC)}},
14103         {{UINT32_C(0x63284E3A), UINT32_C(0x3E7E1E5C), UINT32_C(0x1422D8EA),
14104           UINT32_C(0x14581400), UINT32_C(0x7AAABD1D), UINT32_C(0x5FE151BF),
14105           UINT32_C(0x1533B371), UINT32_C(0x6716691F)},
14106          {UINT32_C(0x22A8B7DF), UINT32_C(0xA592D53E), UINT32_C(0x51C97935),
14107           UINT32_C(0x66991AFF), UINT32_C(0xDE5429B6), UINT32_C(0x8B10603D),
14108           UINT32_C(0x551F146B), UINT32_C(0x0002F6C6)}},
14109         {{UINT32_C(0x777A334C), UINT32_C(0xF641CBCB), UINT32_C(0xEEFBCA44),
14110           UINT32_C(0xB45B21E1), UINT32_C(0x32F6E263), UINT32_C(0x7C2FCD65),
14111           UINT32_C(0xFEED8901), UINT32_C(0x05A21D80)},
14112          {UINT32_C(0x5506CF47), UINT32_C(0x2471B486), UINT32_C(0x7C9E62DE),
14113           UINT32_C(0x0FFAC1F7), UINT32_C(0x869D3BDC), UINT32_C(0xC4D321DF),
14114           UINT32_C(0x9512D0CA), UINT32_C(0x9AC03509)}},
14115         {{UINT32_C(0x352E0353), UINT32_C(0x5A26E8F5), UINT32_C(0xBF6ABBAC),
14116           UINT32_C(0x965CF602), UINT32_C(0xE911C628), UINT32_C(0xDD8C4818),
14117           UINT32_C(0xDC2D04A0), UINT32_C(0x132CA2D8)},
14118          {UINT32_C(0x6C865C91), UINT32_C(0x7641CFCE), UINT32_C(0x8E9965EF),
14119           UINT32_C(0xDB5AB8F3), UINT32_C(0xDE0B7E90), UINT32_C(0x30030BCD),
14120           UINT32_C(0x2320D3F1), UINT32_C(0x7BF44453)}},
14121         {{UINT32_C(0xD8A99DAD), UINT32_C(0xC006FA6D), UINT32_C(0xB45E64A1),
14122           UINT32_C(0xC042F163), UINT32_C(0x74F4DBB1), UINT32_C(0xB91C9CA4),
14123           UINT32_C(0xBE221E4E), UINT32_C(0x23BD5A29)},
14124          {UINT32_C(0x3D1ECF78), UINT32_C(0x6B0591D7), UINT32_C(0xAA5B771C),
14125           UINT32_C(0x9E0ACF38), UINT32_C(0x796D4AA3), UINT32_C(0xC970F263),
14126           UINT32_C(0x7B5DD349), UINT32_C(0x37037502)}},
14127         {{UINT32_C(0xFBC52541), UINT32_C(0xE11DECDA), UINT32_C(0xE7FE53A5),
14128           UINT32_C(0xA49B8D39), UINT32_C(0x104A1F6E), UINT32_C(0x3A08E9BB),
14129           UINT32_C(0xE0192BFB), UINT32_C(0x95444A15)},
14130          {UINT32_C(0x1A97B875), UINT32_C(0xEF75B062), UINT32_C(0xEA5FC457),
14131           UINT32_C(0x9FC8AE5E), UINT32_C(0x47F73089), UINT32_C(0x3A09FD1B),
14132           UINT32_C(0xE24516AB), UINT32_C(0x096750EC)}},
14133         {{UINT32_C(0x4A350C95), UINT32_C(0xAA180046), UINT32_C(0x58EA4195),
14134           UINT32_C(0xA72F2B67), UINT32_C(0xFD9A4F25), UINT32_C(0xE0647945),
14135           UINT32_C(0x22737E2D), UINT32_C(0x4CF4136D)},
14136          {UINT32_C(0xEFB2A96D), UINT32_C(0xEE2532CE), UINT32_C(0x6C2F1471),
14137           UINT32_C(0xB39DB117), UINT32_C(0x19935BDB), UINT32_C(0xF7C6242B),
14138           UINT32_C(0x7A820092), UINT32_C(0x98CA48D4)}},
14139         {{UINT32_C(0xC3C938B0), UINT32_C(0xE9C1AD0A), UINT32_C(0xCCDF3BC6),
14140           UINT32_C(0xF7CC05C4), UINT32_C(0x363A9CC6), UINT32_C(0x3C21752B),
14141           UINT32_C(0x5916BD59), UINT32_C(0x47996B87)},
14142          {UINT32_C(0x98D17468), UINT32_C(0x01EF895D), UINT32_C(0x5818F5D8),
14143           UINT32_C(0x9182F882), UINT32_C(0xE35E4BE7), UINT32_C(0xCBD212A3),
14144           UINT32_C(0x5EA16E55), UINT32_C(0x894E7F39)}},
14145         {{UINT32_C(0x7C8FDD7E), UINT32_C(0xAC674AEE), UINT32_C(0xEDB0FE30),
14146           UINT32_C(0xA23FA827), UINT32_C(0x745B3230), UINT32_C(0x642BE06F),
14147           UINT32_C(0xCB40941C), UINT32_C(0x7654C79B)},
14148          {UINT32_C(0xD6A9E988), UINT32_C(0x4640C0C5), UINT32_C(0x11A4EECB),
14149           UINT32_C(0xA98AF661), UINT32_C(0x325D730E), UINT32_C(0xE1E827E3),
14150           UINT32_C(0x7D8A02DE), UINT32_C(0x2342D880)}},
14151         {{UINT32_C(0x715DB87E), UINT32_C(0xE4101595), UINT32_C(0x3C44A43A),
14152           UINT32_C(0x462718AB), UINT32_C(0xEFCBC0F7), UINT32_C(0xF414CBC7),
14153           UINT32_C(0xE5999AB3), UINT32_C(0x2A64DB21)},
14154          {UINT32_C(0x9DA91E84), UINT32_C(0xDAD841E1), UINT32_C(0x5F5C1CDD),
14155           UINT32_C(0x5A28F649), UINT32_C(0xB8B41BDA), UINT32_C(0x2F8C9DCA),
14156           UINT32_C(0x029C3697), UINT32_C(0x259DC791)}},
14157         {{UINT32_C(0x5296BA38), UINT32_C(0xD56F4EF4), UINT32_C(0x02EC3100),
14158           UINT32_C(0x4A853BA1), UINT32_C(0xC8AE4C47), UINT32_C(0xB0ED5F21),
14159           UINT32_C(0x61DF268E), UINT32_C(0x53D0DA0C)},
14160          {UINT32_C(0x6DC06EB6), UINT32_C(0xB6771DCB), UINT32_C(0xBB0C457F),
14161           UINT32_C(0x30B07595), UINT32_C(0xF174690D), UINT32_C(0xC2FD08F3),
14162           UINT32_C(0x87A5DC8E), UINT32_C(0x77000D6A)}},
14163         {{UINT32_C(0x6E1369AD), UINT32_C(0x90DDAA61), UINT32_C(0xB6A5F225),
14164           UINT32_C(0x3DD15EE7), UINT32_C(0x27AEB0DC), UINT32_C(0x051AA9C4),
14165           UINT32_C(0xE5372729), UINT32_C(0x18712DBB)},
14166          {UINT32_C(0xA23AFF5A), UINT32_C(0x13B3F9DF), UINT32_C(0x703FBFF9),
14167           UINT32_C(0x34388CED), UINT32_C(0x17D60129), UINT32_C(0x0F390D67),
14168           UINT32_C(0x4DAE9863), UINT32_C(0x3F0CA25E)}},
14169         {{UINT32_C(0x903385DC), UINT32_C(0x6E0F5594), UINT32_C(0xF8A815A9),
14170           UINT32_C(0x47483889), UINT32_C(0x23B70B1C), UINT32_C(0x42AF320C),
14171           UINT32_C(0x1A1AEA03), UINT32_C(0x4A27CA27)},
14172          {UINT32_C(0x66AF6F9D), UINT32_C(0xFAAC21C8), UINT32_C(0xC9FBFD3E),
14173           UINT32_C(0x20849D90), UINT32_C(0xEE0A541C), UINT32_C(0x793F889F),
14174           UINT32_C(0xADA5D18F), UINT32_C(0x2555FC32)}},
14175         {{UINT32_C(0xBA2BD509), UINT32_C(0x3F38F58C), UINT32_C(0x048F864B),
14176           UINT32_C(0x319A5F0D), UINT32_C(0xD5900B1E), UINT32_C(0xC4632F37),
14177           UINT32_C(0xF8519441), UINT32_C(0x3FAF2615)},
14178          {UINT32_C(0xFE194D77), UINT32_C(0x6A4AA25D), UINT32_C(0xD681409B),
14179           UINT32_C(0xB5A6464A), UINT32_C(0xB957523A), UINT32_C(0x1A9326ED),
14180           UINT32_C(0x27098B5B), UINT32_C(0x7690EA4F)}},
14181         {{UINT32_C(0x10F3FDE3), UINT32_C(0x5530E911), UINT32_C(0x810E7853),
14182           UINT32_C(0x9A40101F), UINT32_C(0x8F011C4E), UINT32_C(0x152704FC),
14183           UINT32_C(0x129B455F), UINT32_C(0x5B1702E4)},
14184          {UINT32_C(0xE60F4D30), UINT32_C(0x46A130BA), UINT32_C(0x62BBE8B5),
14185           UINT32_C(0xA3D57414), UINT32_C(0x3CFAEFE3), UINT32_C(0xA26238DA),
14186           UINT32_C(0x3175078E), UINT32_C(0x4E614113)}},
14187         {{UINT32_C(0x992EE109), UINT32_C(0x27BCCDFF), UINT32_C(0xFB45C6C3),
14188           UINT32_C(0x79F88647), UINT32_C(0xC73F2829), UINT32_C(0x7FD5D73A),
14189           UINT32_C(0x65A44CF1), UINT32_C(0x7EBE8E4E)},
14190          {UINT32_C(0x37414B2C), UINT32_C(0xB9EC0B94), UINT32_C(0x36DED49D),
14191           UINT32_C(0x846AD1D1), UINT32_C(0x62F2FE87), UINT32_C(0x72AE1060),
14192           UINT32_C(0xC032EEDD), UINT32_C(0x7F5AF329)}},
14193     },
14194     {
14195         {{UINT32_C(0xC7A645A5), UINT32_C(0x6C80B058), UINT32_C(0x729066AC),
14196           UINT32_C(0xF86341D2), UINT32_C(0x33FB5CE8), UINT32_C(0xE4F366BD),
14197           UINT32_C(0xC23A4751), UINT32_C(0x6B79D63F)},
14198          {UINT32_C(0xEC3F8686), UINT32_C(0xFAA0F994), UINT32_C(0xA9BA8F5E),
14199           UINT32_C(0x156A6E8E), UINT32_C(0x9F2FAE57), UINT32_C(0xA46CA7D5),
14200           UINT32_C(0x6EFE66F2), UINT32_C(0x84CB2196)}},
14201         {{UINT32_C(0xED25185C), UINT32_C(0xF9C1DECB), UINT32_C(0xB1FCFC82),
14202           UINT32_C(0x6DC43F21), UINT32_C(0xA954087B), UINT32_C(0x4A840262),
14203           UINT32_C(0x0A38F667), UINT32_C(0x60230809)},
14204          {UINT32_C(0x1D9672B5), UINT32_C(0xBD345006), UINT32_C(0xF83361EF),
14205           UINT32_C(0xE0FF804B), UINT32_C(0xEF8E1598), UINT32_C(0x9DDC6CE1),
14206           UINT32_C(0xFBD9BD0E), UINT32_C(0x4419F705)}},
14207         {{UINT32_C(0x3426122A), UINT32_C(0xF171EDE4), UINT32_C(0x20A3963E),
14208           UINT32_C(0xEF6A1AE2), UINT32_C(0x031647D0), UINT32_C(0xD25AB7A2),
14209           UINT32_C(0xCB4CA4E3), UINT32_C(0x0FD7EC20)},
14210          {UINT32_C(0xB7D3A295), UINT32_C(0xC103969C), UINT32_C(0x34DBABA8),
14211           UINT32_C(0x4957509E), UINT32_C(0x60BC0760), UINT32_C(0x8456DF63),
14212           UINT32_C(0xD63B49A9), UINT32_C(0x02AF2033)}},
14213         {{UINT32_C(0x0378E444), UINT32_C(0x271966A0), UINT32_C(0x5D15A0B7),
14214           UINT32_C(0x673F057D), UINT32_C(0xA0EFE59E), UINT32_C(0xA55C44F9),
14215           UINT32_C(0x376119A6), UINT32_C(0x2F602F87)},
14216          {UINT32_C(0x28981502), UINT32_C(0x0A149074), UINT32_C(0x8741D4F2),
14217           UINT32_C(0xDA006774), UINT32_C(0x133F8479), UINT32_C(0x8F982C81),
14218           UINT32_C(0xF944319A), UINT32_C(0x1ECAF17A)}},
14219         {{UINT32_C(0xA37F4FC2), UINT32_C(0x281A234E), UINT32_C(0xFD34FC11),
14220           UINT32_C(0xAFD847B2), UINT32_C(0x4683E11A), UINT32_C(0x02CC0839),
14221           UINT32_C(0x3F65B844), UINT32_C(0x71215DA9)},
14222          {UINT32_C(0xEFE32AC9), UINT32_C(0xF9F41383), UINT32_C(0x1361FE53),
14223           UINT32_C(0x4AC3D91D), UINT32_C(0x1CC2E948), UINT32_C(0x03C9FBAB),
14224           UINT32_C(0x43379A4F), UINT32_C(0x9A9A4B91)}},
14225         {{UINT32_C(0x51BED5AC), UINT32_C(0x8D37A108), UINT32_C(0x998E1C19),
14226           UINT32_C(0x75D91890), UINT32_C(0x5D244730), UINT32_C(0xE6C76B09),
14227           UINT32_C(0x4CD555FF), UINT32_C(0x12714716)},
14228          {UINT32_C(0x29DDC669), UINT32_C(0xF2DCE85A), UINT32_C(0x8D622348),
14229           UINT32_C(0x8914D13A), UINT32_C(0xDAE035E8), UINT32_C(0x9FE6B578),
14230           UINT32_C(0xF41EEF19), UINT32_C(0x21ECB251)}},
14231         {{UINT32_C(0x7999064D), UINT32_C(0xEAFF3862), UINT32_C(0x96383204),
14232           UINT32_C(0xB72BABEF), UINT32_C(0x6BCCCB43), UINT32_C(0x8E6C9E67),
14233           UINT32_C(0x7FD71298), UINT32_C(0x320A7D78)},
14234          {UINT32_C(0xB438A302), UINT32_C(0x4081E38A), UINT32_C(0x120E132D),
14235           UINT32_C(0x0A15CBA7), UINT32_C(0xEC2E0939), UINT32_C(0x6D9123E1),
14236           UINT32_C(0xE0D6FEC5), UINT32_C(0x692D699C)}},
14237         {{UINT32_C(0xC8D5D361), UINT32_C(0xB639ADAE), UINT32_C(0xC60A078D),
14238           UINT32_C(0xA8F742CC), UINT32_C(0x9D740F0F), UINT32_C(0xE8D2CF92),
14239           UINT32_C(0x4DCE6A87), UINT32_C(0x6E8EEEF9)},
14240          {UINT32_C(0x6A2E5164), UINT32_C(0x54E19488), UINT32_C(0x2430E4B9),
14241           UINT32_C(0x4372C6CF), UINT32_C(0x1C5B13B3), UINT32_C(0xD58EA91B),
14242           UINT32_C(0xBB9F2911), UINT32_C(0x796DCC45)}},
14243         {{UINT32_C(0xCBB267F9), UINT32_C(0xD8D4FAF0), UINT32_C(0x703F4011),
14244           UINT32_C(0xC2770DBE), UINT32_C(0x0D651402), UINT32_C(0x13739F02),
14245           UINT32_C(0x72D2B3F1), UINT32_C(0x7DE4E51E)},
14246          {UINT32_C(0x1FE00C7E), UINT32_C(0xB10F966E), UINT32_C(0x8F42B5F8),
14247           UINT32_C(0x5E9A1501), UINT32_C(0xD00437A3), UINT32_C(0x6AFB1AD0),
14248           UINT32_C(0x1473D5AE), UINT32_C(0x267D1536)}},
14249         {{UINT32_C(0x4CAE118F), UINT32_C(0x1173B5DB), UINT32_C(0xCA749EE6),
14250           UINT32_C(0xC3A2EAFD), UINT32_C(0x4ED4FFF4), UINT32_C(0x64F738E6),
14251           UINT32_C(0xB07860B6), UINT32_C(0x47DDECB6)},
14252          {UINT32_C(0xBD47A901), UINT32_C(0xF5D627FC), UINT32_C(0x856C6903),
14253           UINT32_C(0x6493BC28), UINT32_C(0xEA63B675), UINT32_C(0x90280E4B),
14254           UINT32_C(0xC4148666), UINT32_C(0x211C04A2)}},
14255         {{UINT32_C(0x6524BC38), UINT32_C(0x0A5F0C27), UINT32_C(0xBB3CBDB9),
14256           UINT32_C(0x4B9D95FB), UINT32_C(0x20507C82), UINT32_C(0x5394ADC2),
14257           UINT32_C(0xB4DBE448), UINT32_C(0x4C0C9167)},
14258          {UINT32_C(0x303A5B11), UINT32_C(0xAC3E87CE), UINT32_C(0x3251F4DF),
14259           UINT32_C(0xD31FB9C5), UINT32_C(0xE43CE799), UINT32_C(0x86C281DF),
14260           UINT32_C(0x29FE09E4), UINT32_C(0x84E644D7)}},
14261         {{UINT32_C(0x43166C20), UINT32_C(0x6D7B61DC), UINT32_C(0xBD34F981),
14262           UINT32_C(0x54D6C035), UINT32_C(0xC991096D), UINT32_C(0xB166769D),
14263           UINT32_C(0x3A4CF05C), UINT32_C(0x51A47E3A)},
14264          {UINT32_C(0x14F5E7F1), UINT32_C(0x57CF9EFF), UINT32_C(0xE39FDA0D),
14265           UINT32_C(0xED3D4E9D), UINT32_C(0xBAA7E93B), UINT32_C(0xDF0176EC),
14266           UINT32_C(0x70935B9F), UINT32_C(0x6B2FEA14)}},
14267         {{UINT32_C(0x709B70AE), UINT32_C(0x19F9D59E), UINT32_C(0x70472149),
14268           UINT32_C(0xD850CA32), UINT32_C(0x29EE6104), UINT32_C(0x292CADD9),
14269           UINT32_C(0x8FD499F2), UINT32_C(0x870F7C99)},
14270          {UINT32_C(0x415C6FFD), UINT32_C(0x200ECB1C), UINT32_C(0x35CB841B),
14271           UINT32_C(0xEEA6107D), UINT32_C(0xF95DD333), UINT32_C(0x1CB06F8A),
14272           UINT32_C(0xE498AA7B), UINT32_C(0x245712FD)}},
14273         {{UINT32_C(0xED4FBD78), UINT32_C(0x101665EA), UINT32_C(0x0E32D1B4),
14274           UINT32_C(0xC6DDE1BB), UINT32_C(0x40150A9C), UINT32_C(0x3E79185E),
14275           UINT32_C(0x7DEF3607), UINT32_C(0x49E2AE6B)},
14276          {UINT32_C(0x308B7F59), UINT32_C(0xCCC9B0F6), UINT32_C(0xCE922087),
14277           UINT32_C(0xB267008F), UINT32_C(0xCF2AABA6), UINT32_C(0x46CF7F07),
14278           UINT32_C(0x9954091F), UINT32_C(0x5A74C8A0)}},
14279         {{UINT32_C(0x5240B5A0), UINT32_C(0x8F287195), UINT32_C(0x1845373D),
14280           UINT32_C(0x7AC7720F), UINT32_C(0x4E592274), UINT32_C(0xCF276B59),
14281           UINT32_C(0x694C30B8), UINT32_C(0x6BEBC284)},
14282          {UINT32_C(0x677B16CD), UINT32_C(0xDA0113D6), UINT32_C(0x45C9FA76),
14283           UINT32_C(0xA2213446), UINT32_C(0x66964ADB), UINT32_C(0x2DEAF2ED),
14284           UINT32_C(0xBC062240), UINT32_C(0x1977A8B3)}},
14285         {{UINT32_C(0x80303DFD), UINT32_C(0xEEA29126), UINT32_C(0xE95BF6A1),
14286           UINT32_C(0x3E4A33AC), UINT32_C(0x15DE0457), UINT32_C(0x6BFE2D5D),
14287           UINT32_C(0xAD0976D1), UINT32_C(0x407BF7E3)},
14288          {UINT32_C(0x306B415B), UINT32_C(0x04C1F61F), UINT32_C(0x5F790D5F),
14289           UINT32_C(0xC86A75D2), UINT32_C(0xB7EAE07B), UINT32_C(0x7B799EDE),
14290           UINT32_C(0xB4A66839), UINT32_C(0x9155A9A0)}},
14291     },
14292     {
14293         {{UINT32_C(0x0DCE586B), UINT32_C(0x9745C6BB), UINT32_C(0xBE77B502),
14294           UINT32_C(0x554C8313), UINT32_C(0xA93962CF), UINT32_C(0xF0F842A9),
14295           UINT32_C(0xAAA141BC), UINT32_C(0x40862273)},
14296          {UINT32_C(0xBD62237B), UINT32_C(0x926FFA4A), UINT32_C(0x7B942F48),
14297           UINT32_C(0xD4F1E4A1), UINT32_C(0x075684FD), UINT32_C(0x3A841EB7),
14298           UINT32_C(0xDD1807E1), UINT32_C(0x21F6EB39)}},
14299         {{UINT32_C(0xBEDA4365), UINT32_C(0x155DFD66), UINT32_C(0x27F33BF9),
14300           UINT32_C(0xDD575C83), UINT32_C(0x3DFF83A1), UINT32_C(0x5907B08D),
14301           UINT32_C(0xD6788D63), UINT32_C(0x7E325357)},
14302          {UINT32_C(0xBAC74ED7), UINT32_C(0xF90BF447), UINT32_C(0xEDA226CD),
14303           UINT32_C(0x2DE6C957), UINT32_C(0x1CA44607), UINT32_C(0x67832302),
14304           UINT32_C(0x56011C38), UINT32_C(0x22ECBC1F)}},
14305         {{UINT32_C(0xB663A46C), UINT32_C(0xF01279A9), UINT32_C(0x7E3AAB83),
14306           UINT32_C(0x07D74C5F), UINT32_C(0x8C0DA43E), UINT32_C(0xF20940B6),
14307           UINT32_C(0x368AD991), UINT32_C(0x57C6A735)},
14308          {UINT32_C(0x5007E059), UINT32_C(0x01E9B366), UINT32_C(0x9614D480),
14309           UINT32_C(0xFC38FC99), UINT32_C(0xFF7DA757), UINT32_C(0x4A3AAA18),
14310           UINT32_C(0xB0CE1B03), UINT32_C(0x4481B669)}},
14311         {{UINT32_C(0xB4A807FF), UINT32_C(0x9CAA37A0), UINT32_C(0xF9B269F3),
14312           UINT32_C(0xBDEDEB49), UINT32_C(0xCB607AC3), UINT32_C(0xC5B76E57),
14313           UINT32_C(0x9A322F48), UINT32_C(0x08AEFE66)},
14314          {UINT32_C(0xD9261469), UINT32_C(0x6919E40D), UINT32_C(0x849718FA),
14315           UINT32_C(0x1F0ADA81), UINT32_C(0x9D81628E), UINT32_C(0xCD251B54),
14316           UINT32_C(0x5505F9E1), UINT32_C(0x6519C3C6)}},
14317         {{UINT32_C(0x2F81C037), UINT32_C(0x277591DC), UINT32_C(0x76E0D41E),
14318           UINT32_C(0xD63AD35A), UINT32_C(0x6EC063D3), UINT32_C(0x682662B5),
14319           UINT32_C(0x6762A0DB), UINT32_C(0x8210978B)},
14320          {UINT32_C(0xFE164B90), UINT32_C(0x05085F68), UINT32_C(0x3D6FD0D1),
14321           UINT32_C(0x50026ADC), UINT32_C(0xB01A3791), UINT32_C(0x38CC9FA7),
14322           UINT32_C(0xB376F83E), UINT32_C(0x1E286652)}},
14323         {{UINT32_C(0x09759892), UINT32_C(0x8DFFDA16), UINT32_C(0x9AC2CE5D),
14324           UINT32_C(0xE011DDDB), UINT32_C(0xBD71426B), UINT32_C(0xDDC7670F),
14325           UINT32_C(0x19742F7C), UINT32_C(0x9722A23B)},
14326          {UINT32_C(0xDC4767D3), UINT32_C(0x2EA99893), UINT32_C(0x11125BAE),
14327           UINT32_C(0xCB68D6C2), UINT32_C(0x307ED3B9), UINT32_C(0xAC76953E),
14328           UINT32_C(0xC366E9A2), UINT32_C(0x0EDD0C17)}},
14329         {{UINT32_C(0x484B5272), UINT32_C(0x88B3DEC9), UINT32_C(0x90380294),
14330           UINT32_C(0x0C848EA1), UINT32_C(0xA01AC92C), UINT32_C(0xDE187E83),
14331           UINT32_C(0x7A5D4D65), UINT32_C(0x2A880182)},
14332          {UINT32_C(0xB3C3C7BB), UINT32_C(0xD3C22C2B), UINT32_C(0xDE7ECE33),
14333           UINT32_C(0xC485CE02), UINT32_C(0xA437071A), UINT32_C(0xF22138C4),
14334           UINT32_C(0x0716DA53), UINT32_C(0x23A55C89)}},
14335         {{UINT32_C(0xF6FE058E), UINT32_C(0x9533C4A3), UINT32_C(0x748E4A4F),
14336           UINT32_C(0x28753F87), UINT32_C(0xEA404C70), UINT32_C(0x7814C50A),
14337           UINT32_C(0xE91B5EF3), UINT32_C(0x908D1C81)},
14338          {UINT32_C(0x04094766), UINT32_C(0xD827D3CE), UINT32_C(0x0CE5C727),
14339           UINT32_C(0x7AE2FD26), UINT32_C(0xCDAD2BDD), UINT32_C(0x016AC86F),
14340           UINT32_C(0x7A77C252), UINT32_C(0x37C088B0)}},
14341         {{UINT32_C(0x18A35CD3), UINT32_C(0xABF4C1EF), UINT32_C(0x698A5A01),
14342           UINT32_C(0x1F721491), UINT32_C(0x1A9E9A1F), UINT32_C(0x79284A12),
14343           UINT32_C(0x4D50DF40), UINT32_C(0x0457FF70)},
14344          {UINT32_C(0xEC46ED07), UINT32_C(0x1D235814), UINT32_C(0xAE5E97C8),
14345           UINT32_C(0xBD013752), UINT32_C(0xD9B100D4), UINT32_C(0x0E085C88),
14346           UINT32_C(0x8858F9F3), UINT32_C(0x8AFA070A)}},
14347         {{UINT32_C(0x698D6A59), UINT32_C(0x0F548BE3), UINT32_C(0xBF2D0D94),
14348           UINT32_C(0x5D7818A5), UINT32_C(0xD80E620D), UINT32_C(0x8E150DF1),
14349           UINT32_C(0xF857F167), UINT32_C(0x4C3A5E64)},
14350          {UINT32_C(0x61BD9152), UINT32_C(0x837D9A98), UINT32_C(0x8D10687F),
14351           UINT32_C(0x242CE589), UINT32_C(0xB6B52BB7), UINT32_C(0x9863EA4C),
14352           UINT32_C(0xB7DD35FF), UINT32_C(0x23665B46)}},
14353         {{UINT32_C(0x73942AAF), UINT32_C(0x3AA5432A), UINT32_C(0x0CEE83A9),
14354           UINT32_C(0xB0185DB4), UINT32_C(0xA83B907B), UINT32_C(0x145372EE),
14355           UINT32_C(0xBB6D341A), UINT32_C(0x609F1AD9)},
14356          {UINT32_C(0x864C92EE), UINT32_C(0x28C2B37A), UINT32_C(0xD4CC1158),
14357           UINT32_C(0xDD847239), UINT32_C(0x8F2EAF0A), UINT32_C(0xE5BD4FD2),
14358           UINT32_C(0xD24950AB), UINT32_C(0x04F43BC0)}},
14359         {{UINT32_C(0x88DA3F20), UINT32_C(0x11DEFCED), UINT32_C(0xA407C4A2),
14360           UINT32_C(0xCA4CE370), UINT32_C(0x2F8C5CFC), UINT32_C(0xEA70BEDF),
14361           UINT32_C(0x8214B7F7), UINT32_C(0x08AC147D)},
14362          {UINT32_C(0xE260AA96), UINT32_C(0xECAD0F77), UINT32_C(0xB56C30F7),
14363           UINT32_C(0xA868AC63), UINT32_C(0x396F4815), UINT32_C(0xF0ACDE5A),
14364           UINT32_C(0xACDE6CD8), UINT32_C(0x302F75B9)}},
14365         {{UINT32_C(0xC5D14866), UINT32_C(0x2125D07D), UINT32_C(0x4AE3212D),
14366           UINT32_C(0xFE563DE4), UINT32_C(0xEE9CAA2B), UINT32_C(0x0FE787CB),
14367           UINT32_C(0x53802482), UINT32_C(0x7D9B56A2)},
14368          {UINT32_C(0x8040D1A7), UINT32_C(0x128B4D37), UINT32_C(0x30ACA2F4),
14369           UINT32_C(0x57371299), UINT32_C(0x7623D14A), UINT32_C(0x5C443E35),
14370           UINT32_C(0x5FDB6310), UINT32_C(0x6436D328)}},
14371         {{UINT32_C(0xA8557B64), UINT32_C(0x531486A4), UINT32_C(0x9C5DE310),
14372           UINT32_C(0x3FAB4F21), UINT32_C(0x260468D0), UINT32_C(0xD872282E),
14373           UINT32_C(0x2542CBA4), UINT32_C(0x04CD4568)},
14374          {UINT32_C(0x555B6E0C), UINT32_C(0xACA0975A), UINT32_C(0x8B85132F),
14375           UINT32_C(0xEE8C43B2), UINT32_C(0xB9DECE9D), UINT32_C(0xC768808B),
14376           UINT32_C(0x431AF98C), UINT32_C(0x59EDEC60)}},
14377         {{UINT32_C(0x31992E22), UINT32_C(0xC365E133), UINT32_C(0x0DC3A4C8),
14378           UINT32_C(0xB96C5FA0), UINT32_C(0xA65761B0), UINT32_C(0xDEB1C1DA),
14379           UINT32_C(0xF4ACAB4C), UINT32_C(0x457676EE)},
14380          {UINT32_C(0xE674FFAF), UINT32_C(0xA0F95894), UINT32_C(0xD65CDAB7),
14381           UINT32_C(0xFD099172), UINT32_C(0x54DA58A2), UINT32_C(0x9383C2F8),
14382           UINT32_C(0x0F24A07B), UINT32_C(0x0A4F4C11)}},
14383         {{UINT32_C(0xE380ABF3), UINT32_C(0x9D7A80B3), UINT32_C(0x9E469F9F),
14384           UINT32_C(0xF0C6AC5A), UINT32_C(0x6BD0A324), UINT32_C(0xC87D5727),
14385           UINT32_C(0x7692B063), UINT32_C(0x28138E37)},
14386          {UINT32_C(0xD67862CA), UINT32_C(0xE18C1F7D), UINT32_C(0x1E07F928),
14387           UINT32_C(0x4B6B723E), UINT32_C(0xBBCF4125), UINT32_C(0xAAFE3FB0),
14388           UINT32_C(0x3B3AE714), UINT32_C(0x25400322)}},
14389     },
14390     {
14391         {{UINT32_C(0x63C295D8), UINT32_C(0xB89A2DCA), UINT32_C(0x85041AA1),
14392           UINT32_C(0x5CC03C65), UINT32_C(0xC6514781), UINT32_C(0xFA9B4C5C),
14393           UINT32_C(0xD92388FF), UINT32_C(0x578031A0)},
14394          {UINT32_C(0xF92C2D77), UINT32_C(0xB0D5AE0A), UINT32_C(0x793D588A),
14395           UINT32_C(0x945A677E), UINT32_C(0x34A190E0), UINT32_C(0x3722DE44),
14396           UINT32_C(0x0C2B9975), UINT32_C(0x6EA90DB8)}},
14397         {{UINT32_C(0x84BA4F9B), UINT32_C(0xE987AA85), UINT32_C(0x0AB43BE6),
14398           UINT32_C(0xB2A77B9C), UINT32_C(0x474D8841), UINT32_C(0xC4AD2AF6),
14399           UINT32_C(0x5D4FA590), UINT32_C(0x4ED7A82B)},
14400          {UINT32_C(0x9977AC2B), UINT32_C(0x9F39335E), UINT32_C(0x52E87607),
14401           UINT32_C(0x3CCD406D), UINT32_C(0x71456060), UINT32_C(0x9D18CB3F),
14402           UINT32_C(0x6A45D7D0), UINT32_C(0x0FE4D888)}},
14403         {{UINT32_C(0xF42D501A), UINT32_C(0xAEA8A911), UINT32_C(0x88F66FBA),
14404           UINT32_C(0x303E25D5), UINT32_C(0x61740B85), UINT32_C(0x54213F29),
14405           UINT32_C(0xC0B4D835), UINT32_C(0x5BC13A30)},
14406          {UINT32_C(0x4758EA28), UINT32_C(0x569AB9B8), UINT32_C(0xB796A794),
14407           UINT32_C(0xE2E49B28), UINT32_C(0x320D54E2), UINT32_C(0x17787125),
14408           UINT32_C(0xC54B4465), UINT32_C(0x5A6A8EDE)}},
14409         {{UINT32_C(0x870619DD), UINT32_C(0xC76C73D9), UINT32_C(0x84FE1078),
14410           UINT32_C(0xF541440E), UINT32_C(0x3B26A3DC), UINT32_C(0x2082FE36),
14411           UINT32_C(0xCC329B14), UINT32_C(0x3B896B29)},
14412          {UINT32_C(0xCAFCDC20), UINT32_C(0xB45028A9), UINT32_C(0x9C56757E),
14413           UINT32_C(0xA1B77C6F), UINT32_C(0x84802E47), UINT32_C(0xDE50D865),
14414           UINT32_C(0xBA0892B0), UINT32_C(0x7DFBC0E8)}},
14415         {{UINT32_C(0x47E702BB), UINT32_C(0xEBC505A9), UINT32_C(0xDACFACFE),
14416           UINT32_C(0x2329A41C), UINT32_C(0x51DDCE2F), UINT32_C(0xEA115603),
14417           UINT32_C(0x2E9D855A), UINT32_C(0x95BBC807)},
14418          {UINT32_C(0xCFD33E9F), UINT32_C(0x454C6B88), UINT32_C(0x4FFBB24A),
14419           UINT32_C(0x993CF6DE), UINT32_C(0x9B2144CD), UINT32_C(0xA8E22FF8),
14420           UINT32_C(0x84943294), UINT32_C(0x741066EE)}},
14421         {{UINT32_C(0xF067E5B2), UINT32_C(0x2CEE0CFF), UINT32_C(0xCA95F1C5),
14422           UINT32_C(0x1C1FD5A3), UINT32_C(0xC07B97F1), UINT32_C(0xA0EB8E7D),
14423           UINT32_C(0x7457415E), UINT32_C(0x0F2A5D77)},
14424          {UINT32_C(0x45D06291), UINT32_C(0xDFF92C58), UINT32_C(0x48ABABE8),
14425           UINT32_C(0x709EA0AC), UINT32_C(0x2FDC92F0), UINT32_C(0xB3058FEB),
14426           UINT32_C(0x5E5B169E), UINT32_C(0x55E9F86E)}},
14427         {{UINT32_C(0xEBF6AF2B), UINT32_C(0xEE5DF132), UINT32_C(0xF642A206),
14428           UINT32_C(0xC30DC3F1), UINT32_C(0x02C60CB6), UINT32_C(0xD7D8EC3E),
14429           UINT32_C(0x3178F1BF), UINT32_C(0x7C98946B)},
14430          {UINT32_C(0xA68799EB), UINT32_C(0x816C2AA1), UINT32_C(0x2430F06B),
14431           UINT32_C(0x507FD5E9), UINT32_C(0xB9EBD4B7), UINT32_C(0x021FFF1C),
14432           UINT32_C(0x8AECFEA4), UINT32_C(0x044365E6)}},
14433         {{UINT32_C(0x21339693), UINT32_C(0xDC5F5EA6), UINT32_C(0x90A448AD),
14434           UINT32_C(0x5BFD2676), UINT32_C(0xA12A9D77), UINT32_C(0xF712BA95),
14435           UINT32_C(0xBD8A6B5B), UINT32_C(0x7104735A)},
14436          {UINT32_C(0xA763BB99), UINT32_C(0xD2ED8304), UINT32_C(0x11B91A05),
14437           UINT32_C(0x7AF040F0), UINT32_C(0xB61F3789), UINT32_C(0xC545E8AE),
14438           UINT32_C(0xBB386760), UINT32_C(0x582E9EED)}},
14439         {{UINT32_C(0xCC099185), UINT32_C(0x0FCE5877), UINT32_C(0xCD681E67),
14440           UINT32_C(0x0E148BB5), UINT32_C(0xECB24ECE), UINT32_C(0xE9F9013E),
14441           UINT32_C(0x2A386485), UINT32_C(0x0090654B)},
14442          {UINT32_C(0x0520BAE8), UINT32_C(0x11BA700B), UINT32_C(0xD8E53123),
14443           UINT32_C(0xFC93BE31), UINT32_C(0xE37948EE), UINT32_C(0x7DD7CB36),
14444           UINT32_C(0x3FC23444), UINT32_C(0x8689AE8F)}},
14445         {{UINT32_C(0xAAC6616B), UINT32_C(0x2060F7DE), UINT32_C(0xDEAB3CC7),
14446           UINT32_C(0x372952C5), UINT32_C(0xC2424ACD), UINT32_C(0x715C4D27),
14447           UINT32_C(0x0308A009), UINT32_C(0x05846856)},
14448          {UINT32_C(0x0B8B34E8), UINT32_C(0x887BBD55), UINT32_C(0xB688C987),
14449           UINT32_C(0x949ACBD1), UINT32_C(0x784C4C0E), UINT32_C(0x3E774D49),
14450           UINT32_C(0xB0F5F545), UINT32_C(0x7AEA2D11)}},
14451         {{UINT32_C(0xE831E509), UINT32_C(0x5335BA6B), UINT32_C(0x739F332E),
14452           UINT32_C(0x8FC4B4AF), UINT32_C(0x95993EAF), UINT32_C(0xB0502462),
14453           UINT32_C(0xA7CEB88B), UINT32_C(0x7DA49F36)},
14454          {UINT32_C(0x029D0C8F), UINT32_C(0x3BE0B74B), UINT32_C(0x55611A8B),
14455           UINT32_C(0xBC07F180), UINT32_C(0x6583F53F), UINT32_C(0xC168CF41),
14456           UINT32_C(0xC34ADBC1), UINT32_C(0x4256E8D2)}},
14457         {{UINT32_C(0xCE2FCD89), UINT32_C(0x313AFC75), UINT32_C(0xD3DA44F2),
14458           UINT32_C(0xEA27FDA4), UINT32_C(0x9063B0DC), UINT32_C(0x9FABEA79),
14459           UINT32_C(0xB3418884), UINT32_C(0x2DF7D966)},
14460          {UINT32_C(0x80AF2EBD), UINT32_C(0x4329FD24), UINT32_C(0x9F095D30),
14461           UINT32_C(0x36F27FF7), UINT32_C(0xCC84C068), UINT32_C(0x88FFB18F),
14462           UINT32_C(0x7B0A9906), UINT32_C(0x976427A8)}},
14463         {{UINT32_C(0xFAC21087), UINT32_C(0xCFF828CC), UINT32_C(0x56863CB5),
14464           UINT32_C(0x6B6D3484), UINT32_C(0xC30879F3), UINT32_C(0x14163A70),
14465           UINT32_C(0x8CA6FD5D), UINT32_C(0x30E2A633)},
14466          {UINT32_C(0x28A58783), UINT32_C(0xC7FCEAD6), UINT32_C(0xEEFA1EAA),
14467           UINT32_C(0x945F7B09), UINT32_C(0x5CC66267), UINT32_C(0x98A503DB),
14468           UINT32_C(0x3780061B), UINT32_C(0x83EE750E)}},
14469         {{UINT32_C(0xB8477D6B), UINT32_C(0x7061409A), UINT32_C(0x2B7B54FA),
14470           UINT32_C(0xE47C779D), UINT32_C(0xF293166C), UINT32_C(0x42F5EDF5),
14471           UINT32_C(0x115D830F), UINT32_C(0x73C3AC1B)},
14472          {UINT32_C(0x4DEE0980), UINT32_C(0xC30D346E), UINT32_C(0xA62F0D09),
14473           UINT32_C(0xEE0D9A29), UINT32_C(0xABCB7DAE), UINT32_C(0xBBE8DC9E),
14474           UINT32_C(0x68B78925), UINT32_C(0x4F0E78C0)}},
14475         {{UINT32_C(0xB4B14003), UINT32_C(0x25A0D4FF), UINT32_C(0xB8AB649C),
14476           UINT32_C(0xA4C3AC55), UINT32_C(0x27F9FDF5), UINT32_C(0x7D7EDE72),
14477           UINT32_C(0xBC2A46D4), UINT32_C(0x507EC83F)},
14478          {UINT32_C(0xFAAFC26F), UINT32_C(0x344577D9), UINT32_C(0x3EB30156),
14479           UINT32_C(0x77CBB783), UINT32_C(0x1D5C9367), UINT32_C(0x3A846FFD),
14480           UINT32_C(0x9DF9F7BE), UINT32_C(0x5F0D280C)}},
14481         {{UINT32_C(0x77DF7F9F), UINT32_C(0xCC8EAC0A), UINT32_C(0xF33A62D4),
14482           UINT32_C(0x195BC6FF), UINT32_C(0x524D78FE), UINT32_C(0x18A33FFA),
14483           UINT32_C(0x6603F9C0), UINT32_C(0x10E58974)},
14484          {UINT32_C(0x0CDA2C3F), UINT32_C(0x31AF4B46), UINT32_C(0xADE169C3),
14485           UINT32_C(0xDDBF00C8), UINT32_C(0x71A7BC38), UINT32_C(0xA169C3E3),
14486           UINT32_C(0xA64B342E), UINT32_C(0x3FC352FF)}},
14487     },
14488     {
14489         {{UINT32_C(0xEE73C673), UINT32_C(0x58848315), UINT32_C(0x8ADB897E),
14490           UINT32_C(0x67D2F7C0), UINT32_C(0xF0658115), UINT32_C(0xE8CD786D),
14491           UINT32_C(0xAC54D2AB), UINT32_C(0x023D515A)},
14492          {UINT32_C(0x67559911), UINT32_C(0x0EDE61D8), UINT32_C(0x3C2B78B5),
14493           UINT32_C(0xBC12B106), UINT32_C(0x9E4707D8), UINT32_C(0xB5661A28),
14494           UINT32_C(0xADC095A4), UINT32_C(0x93FB4096)}},
14495         {{UINT32_C(0x33D5FA08), UINT32_C(0xEEB3810F), UINT32_C(0x33F4CAAF),
14496           UINT32_C(0x8D8FC354), UINT32_C(0x29EB08A3), UINT32_C(0xED870516),
14497           UINT32_C(0xD1D31EBC), UINT32_C(0x89FD91CA)},
14498          {UINT32_C(0xEDE2494B), UINT32_C(0xD2F1F832), UINT32_C(0xFA8EEA95),
14499           UINT32_C(0xCFEE1D77), UINT32_C(0x3B0F005C), UINT32_C(0x13603C4A),
14500           UINT32_C(0xD9EF68F4), UINT32_C(0x6DF97F85)}},
14501         {{UINT32_C(0x55410512), UINT32_C(0x578FBC0A), UINT32_C(0xDEC79EEE),
14502           UINT32_C(0x1FA404F2), UINT32_C(0x92B60820), UINT32_C(0x201FE215),
14503           UINT32_C(0x0A56193A), UINT32_C(0x9A9B3CE8)},
14504          {UINT32_C(0x10B49800), UINT32_C(0x8A5ECCB9), UINT32_C(0xBFDB1D8E),
14505           UINT32_C(0xA7373AEB), UINT32_C(0x4944B5DF), UINT32_C(0x8996BEFA),
14506           UINT32_C(0x7B44246C), UINT32_C(0x3102D3C0)}},
14507         {{UINT32_C(0x449C09BE), UINT32_C(0xD4A853B7), UINT32_C(0x51DDB7FE),
14508           UINT32_C(0x1F7080A4), UINT32_C(0xE1C27FC1), UINT32_C(0x8A9DE52C),
14509           UINT32_C(0x0C58B99D), UINT32_C(0x6585B54F)},
14510          {UINT32_C(0xB5A4AB53), UINT32_C(0x8EEB0601), UINT32_C(0x48C73AC6),
14511           UINT32_C(0x977D658D), UINT32_C(0x3D9BD223), UINT32_C(0xD5DA0903),
14512           UINT32_C(0xBE115965), UINT32_C(0x881A5838)}},
14513         {{UINT32_C(0xEB3FC303), UINT32_C(0x8EB70B77), UINT32_C(0x98BDB841),
14514           UINT32_C(0xED1C4DEF), UINT32_C(0x997DE9E4), UINT32_C(0x13E6BE06),
14515           UINT32_C(0x9334D46D), UINT32_C(0x4A94C0A1)},
14516          {UINT32_C(0x0F867DAF), UINT32_C(0x184C17C8), UINT32_C(0x33A64148),
14517           UINT32_C(0x4A658026), UINT32_C(0x0AE3D4AA), UINT32_C(0xD177F009),
14518           UINT32_C(0x98ED12C0), UINT32_C(0x8134AC8F)}},
14519         {{UINT32_C(0x7A58DDEC), UINT32_C(0x7A308A00), UINT32_C(0xFDF92DF2),
14520           UINT32_C(0x74A15C5F), UINT32_C(0x21B4E345), UINT32_C(0x210D260E),
14521           UINT32_C(0xC651E31E), UINT32_C(0x6446715B)},
14522          {UINT32_C(0x10B905B6), UINT32_C(0xB1AF1F84), UINT32_C(0xA62D366F),
14523           UINT32_C(0xEF6CD0F2), UINT32_C(0xD1F6B7E3), UINT32_C(0x77E47B01),
14524           UINT32_C(0x2B95BD12), UINT32_C(0x0F38B280)}},
14525         {{UINT32_C(0x8CCCDAE6), UINT32_C(0x52DA30E1), UINT32_C(0xBD86A13A),
14526           UINT32_C(0x9F3D6636), UINT32_C(0xF4EA6151), UINT32_C(0xADFA00C5),
14527           UINT32_C(0x1EC37639), UINT32_C(0x6B93BFA0)},
14528          {UINT32_C(0xF8FE22FC), UINT32_C(0x443F0023), UINT32_C(0xA81FEACC),
14529           UINT32_C(0xCB7848A4), UINT32_C(0x517E9E61), UINT32_C(0xCE5E650A),
14530           UINT32_C(0xA1968E3D), UINT32_C(0x5842DB7D)}},
14531         {{UINT32_C(0x98C06F78), UINT32_C(0x61DDC694), UINT32_C(0x7985B1A2),
14532           UINT32_C(0x680FEDE9), UINT32_C(0xFB53A327), UINT32_C(0x214CD2B8),
14533           UINT32_C(0xE425132B), UINT32_C(0x98EAC0B3)},
14534          {UINT32_C(0x33E5766D), UINT32_C(0x5EEDD76D), UINT32_C(0x540000A3),
14535           UINT32_C(0x5B280618), UINT32_C(0x65C894AE), UINT32_C(0x915D55CB),
14536           UINT32_C(0xD20D9523), UINT32_C(0x7B088A36)}},
14537         {{UINT32_C(0xC28DA278), UINT32_C(0x51A47312), UINT32_C(0xEFE64521),
14538           UINT32_C(0xE315CBA4), UINT32_C(0x49D8D0FF), UINT32_C(0x3EF70A18),
14539           UINT32_C(0xCABD48C5), UINT32_C(0x0990CB92)},
14540          {UINT32_C(0xA7C2FC76), UINT32_C(0x22ED6302), UINT32_C(0x2CB98186),
14541           UINT32_C(0xB50370EA), UINT32_C(0xF3F2BA8B), UINT32_C(0xDEA88C65),
14542           UINT32_C(0x09FEDEEA), UINT32_C(0x09062451)}},
14543         {{UINT32_C(0xDAC0F222), UINT32_C(0x742F9A2E), UINT32_C(0x95C88A8E),
14544           UINT32_C(0xE2A8842B), UINT32_C(0x9D817B14), UINT32_C(0x80C05765),
14545           UINT32_C(0x982D49AE), UINT32_C(0x7ED0521A)},
14546          {UINT32_C(0x907B10F7), UINT32_C(0x047E49D4), UINT32_C(0xDE8AD4CD),
14547           UINT32_C(0x8A3E23A7), UINT32_C(0xEB5292B1), UINT32_C(0xEBE8C13F),
14548           UINT32_C(0xA7EB70BD), UINT32_C(0x048A6209)}},
14549         {{UINT32_C(0x9AA34851), UINT32_C(0xB51665A0), UINT32_C(0x7C4AFCEE),
14550           UINT32_C(0x4DD5AC1B), UINT32_C(0x25A21937), UINT32_C(0x00DEE7AB),
14551           UINT32_C(0x80FAF232), UINT32_C(0x88E2681E)},
14552          {UINT32_C(0xB5411EE2), UINT32_C(0x79ECD66A), UINT32_C(0xF370BF53),
14553           UINT32_C(0x06008CE3), UINT32_C(0xC9BBB64C), UINT32_C(0xCFB1850E),
14554           UINT32_C(0x7149B14E), UINT32_C(0x5FBACB27)}},
14555         {{UINT32_C(0x9938AA0C), UINT32_C(0xA1F0EE07), UINT32_C(0x74CCE9C4),
14556           UINT32_C(0x6945E2BA), UINT32_C(0x46A98BEA), UINT32_C(0x16689FCE),
14557           UINT32_C(0xCF67DF91), UINT32_C(0x8D71F405)},
14558          {UINT32_C(0x69621150), UINT32_C(0x71E4CAC8), UINT32_C(0x89B380D8),
14559           UINT32_C(0x518FA200), UINT32_C(0x53F9E660), UINT32_C(0x3B3B85F1),
14560           UINT32_C(0xC6D9B022), UINT32_C(0x02643303)}},
14561         {{UINT32_C(0x07660C3E), UINT32_C(0xE8C478EC), UINT32_C(0xEF41F1DA),
14562           UINT32_C(0xA906C3A1), UINT32_C(0x46699B71), UINT32_C(0xE918F160),
14563           UINT32_C(0xE5BE7B36), UINT32_C(0x2B8A0B0E)},
14564          {UINT32_C(0x889F50A0), UINT32_C(0xC663F0EC), UINT32_C(0xF9214F81),
14565           UINT32_C(0x7413264B), UINT32_C(0x421A9087), UINT32_C(0x2E9FA9A0),
14566           UINT32_C(0x83546DCD), UINT32_C(0x85C59B7C)}},
14567         {{UINT32_C(0x8D920A29), UINT32_C(0xB4A6CF39), UINT32_C(0x1B3956A1),
14568           UINT32_C(0xC857AF48), UINT32_C(0xDD794B23), UINT32_C(0x519C7371),
14569           UINT32_C(0x8EFBF8F9), UINT32_C(0x47846220)},
14570          {UINT32_C(0x617E4C6C), UINT32_C(0x184C25E5), UINT32_C(0xD2E51A5E),
14571           UINT32_C(0x218FCC23), UINT32_C(0x28FA0FFC), UINT32_C(0xB4219719),
14572           UINT32_C(0x781A61D9), UINT32_C(0x6C0BCD71)}},
14573         {{UINT32_C(0xDC7B5568), UINT32_C(0x440D6DDF), UINT32_C(0x0DBBEC7C),
14574           UINT32_C(0x64C7CC31), UINT32_C(0xA2DC0CBA), UINT32_C(0x63D16D4E),
14575           UINT32_C(0x4504BE2C), UINT32_C(0x7BD9E0CC)},
14576          {UINT32_C(0x2DE780A8), UINT32_C(0x9C882895), UINT32_C(0xEF2B2486),
14577           UINT32_C(0x7C6685C2), UINT32_C(0x957FA7D8), UINT32_C(0xF1FB09E9),
14578           UINT32_C(0x46A77A98), UINT32_C(0x20C6B5A5)}},
14579         {{UINT32_C(0x33C0F0C1), UINT32_C(0x60C77573), UINT32_C(0xCADDA5FE),
14580           UINT32_C(0x40C93227), UINT32_C(0x9DD41D5F), UINT32_C(0xA48EBAA2),
14581           UINT32_C(0xEA9FD5AD), UINT32_C(0x4AAFBF3C)},
14582          {UINT32_C(0xC5A287BA), UINT32_C(0x7EB61836), UINT32_C(0xB31BA25E),
14583           UINT32_C(0x1D6A1BA2), UINT32_C(0xAD186E52), UINT32_C(0x60507257),
14584           UINT32_C(0x2BAB7451), UINT32_C(0x7FEC8EB0)}},
14585     },
14586     {
14587         {{UINT32_C(0xB8DA5FFE), UINT32_C(0x500E2FDB), UINT32_C(0x8CDD1B39),
14588           UINT32_C(0x6AE2D4EA), UINT32_C(0x1A5840CD), UINT32_C(0x38D12025),
14589           UINT32_C(0xC214D26D), UINT32_C(0x8D3B20CB)},
14590          {UINT32_C(0xC041E874), UINT32_C(0xEF6BB36C), UINT32_C(0x450F2218),
14591           UINT32_C(0x67660393), UINT32_C(0xA892BDFD), UINT32_C(0x1E1B7782),
14592           UINT32_C(0x8D962E62), UINT32_C(0x2D69514C)}},
14593         {{UINT32_C(0x9631B095), UINT32_C(0x9EDF5F78), UINT32_C(0x45BF8F20),
14594           UINT32_C(0xAC7DD687), UINT32_C(0xE3262EBC), UINT32_C(0x257CCE28),
14595           UINT32_C(0xE0E480A6), UINT32_C(0x5D32EFCB)},
14596          {UINT32_C(0x6FBB99E8), UINT32_C(0xED48E34C), UINT32_C(0x23FDE9B7),
14597           UINT32_C(0x50B1D58C), UINT32_C(0x6B6927C8), UINT32_C(0xC5164C2A),
14598           UINT32_C(0x8906B705), UINT32_C(0x8A0BC606)}},
14599         {{UINT32_C(0x2F747DA8), UINT32_C(0x3FA3C7C9), UINT32_C(0x14938E08),
14600           UINT32_C(0x2E8D2C2E), UINT32_C(0xB6A1C720), UINT32_C(0x155A8A5B),
14601           UINT32_C(0xB3133FD0), UINT32_C(0x6B4D8C9E)},
14602          {UINT32_C(0xCE131C1D), UINT32_C(0x079AC7F1), UINT32_C(0x815B7D2B),
14603           UINT32_C(0x9CF419AF), UINT32_C(0xE60B6245), UINT32_C(0x569EB7BA),
14604           UINT32_C(0x9A3DD94E), UINT32_C(0x03C79E60)}},
14605         {{UINT32_C(0xB9CE9502), UINT32_C(0x328F5296), UINT32_C(0xE45C3576),
14606           UINT32_C(0xCA44ADBD), UINT32_C(0x6194AE2C), UINT32_C(0x66987952),
14607           UINT32_C(0xBF9B8C49), UINT32_C(0x5875F8EF)},
14608          {UINT32_C(0xDA51CAB8), UINT32_C(0x525A4D53), UINT32_C(0x9DC268B2),
14609           UINT32_C(0x91A592DD), UINT32_C(0xE1E3C168), UINT32_C(0xD7EA7958),
14610           UINT32_C(0xA999ED30), UINT32_C(0x0D1E20E0)}},
14611         {{UINT32_C(0xFE8AD270), UINT32_C(0x55DA34E5), UINT32_C(0x61EC55F6),
14612           UINT32_C(0xB0412895), UINT32_C(0x534569C9), UINT32_C(0x0D45670F),
14613           UINT32_C(0xE23F69FB), UINT32_C(0x5A7E6764)},
14614          {UINT32_C(0xA8B28676), UINT32_C(0xBB6BBEC9), UINT32_C(0x093B0D1D),
14615           UINT32_C(0x4F924558), UINT32_C(0x0C29D841), UINT32_C(0xD4E4BF12),
14616           UINT32_C(0x578A237A), UINT32_C(0x67D2B4C8)}},
14617         {{UINT32_C(0x63EF2D73), UINT32_C(0x0BDF32D6), UINT32_C(0x4AE4303C),
14618           UINT32_C(0x7248DD2D), UINT32_C(0x6CE1E92A), UINT32_C(0xBB61BAB5),
14619           UINT32_C(0x1D7B9A6C), UINT32_C(0x126166E9)},
14620          {UINT32_C(0x11CEBC3C), UINT32_C(0x4CE7086A), UINT32_C(0x1C71426F),
14621           UINT32_C(0xE7ACB25E), UINT32_C(0x432CC4AF), UINT32_C(0xBFB65EDC),
14622           UINT32_C(0xCB018CF7), UINT32_C(0x3BCA5202)}},
14623         {{UINT32_C(0x76430A87), UINT32_C(0xACF034F2), UINT32_C(0x534C42ED),
14624           UINT32_C(0xBFDF19B3), UINT32_C(0x7946CB1A), UINT32_C(0x05654FE6),
14625           UINT32_C(0x80F17880), UINT32_C(0x0DB07E79)},
14626          {UINT32_C(0xFDCF8BC9), UINT32_C(0xE6E93101), UINT32_C(0xF798A8CD),
14627           UINT32_C(0xF3198B87), UINT32_C(0xC9683420), UINT32_C(0xC05444EF),
14628           UINT32_C(0x915D1BF1), UINT32_C(0x56E9AA68)}},
14629         {{UINT32_C(0x34000B11), UINT32_C(0xF27B298B), UINT32_C(0xF4196E50),
14630           UINT32_C(0x70ED8C95), UINT32_C(0x233C8764), UINT32_C(0xF3E16608),
14631           UINT32_C(0x41881557), UINT32_C(0x5B97655A)},
14632          {UINT32_C(0x128C195B), UINT32_C(0x5BF11C1A), UINT32_C(0x372C286D),
14633           UINT32_C(0xFFB64333), UINT32_C(0x7C83BB31), UINT32_C(0x084D3EF7),
14634           UINT32_C(0x745B7D75), UINT32_C(0x8ECF6C01)}},
14635         {{UINT32_C(0xC6F4FF82), UINT32_C(0x3D6052B9), UINT32_C(0x6607892F),
14636           UINT32_C(0x9305FE45), UINT32_C(0x5879425F), UINT32_C(0x232FD87E),
14637           UINT32_C(0xD6F47350), UINT32_C(0x4CAEDF73)},
14638          {UINT32_C(0x032FC50D), UINT32_C(0x889243D2), UINT32_C(0x0C9C11AC),
14639           UINT32_C(0xA6AF69D7), UINT32_C(0x802E8E06), UINT32_C(0x43B5429D),
14640           UINT32_C(0xD70FC802), UINT32_C(0x38F1DEA8)}},
14641         {{UINT32_C(0xC9595C08), UINT32_C(0x54F24344), UINT32_C(0x0240AAB3),
14642           UINT32_C(0x95A2E8FB), UINT32_C(0xC3544985), UINT32_C(0x07A5109D),
14643           UINT32_C(0xB5D30899), UINT32_C(0x96F44213)},
14644          {UINT32_C(0xAA347497), UINT32_C(0x03FAB192), UINT32_C(0xC9CFC073),
14645           UINT32_C(0x47FFD3DE), UINT32_C(0xD2C1D57F), UINT32_C(0x283AD765),
14646           UINT32_C(0x62DC271A), UINT32_C(0x1FDFFBAC)}},
14647         {{UINT32_C(0x95F80CA6), UINT32_C(0x2355C629), UINT32_C(0xCD8D880A),
14648           UINT32_C(0x90AE1DBB), UINT32_C(0xC54117E0), UINT32_C(0x563CC122),
14649           UINT32_C(0x813D7481), UINT32_C(0x1EF4991B)},
14650          {UINT32_C(0xCCE9AEDE), UINT32_C(0x8A310D77), UINT32_C(0x9318642E),
14651           UINT32_C(0xA401FAEF), UINT32_C(0xCF9AFDCB), UINT32_C(0xC1712A67),
14652           UINT32_C(0xBE499DE5), UINT32_C(0x8D97374C)}},
14653         {{UINT32_C(0x55A0BC07), UINT32_C(0x7437AA3B), UINT32_C(0xF726DD81),
14654           UINT32_C(0x004946D0), UINT32_C(0x0F341860), UINT32_C(0x33D41D1B),
14655           UINT32_C(0x17840F0D), UINT32_C(0x2A009EB5)},
14656          {UINT32_C(0xAA0DCDCF), UINT32_C(0x158F59AE), UINT32_C(0xEAB42135),
14657           UINT32_C(0xF686EF2D), UINT32_C(0x7A80C670), UINT32_C(0xFF6B8E82),
14658           UINT32_C(0xA04DF944), UINT32_C(0x38646963)}},
14659         {{UINT32_C(0x4B987E90), UINT32_C(0x6BB2705E), UINT32_C(0xD3C36316),
14660           UINT32_C(0x2F5E2C4D), UINT32_C(0xE5A9ECEC), UINT32_C(0x41B38905),
14661           UINT32_C(0x55BF8D1A), UINT32_C(0x2C6BA681)},
14662          {UINT32_C(0x3C92B20B), UINT32_C(0x1121B3B2), UINT32_C(0x904305D5),
14663           UINT32_C(0x6DE41B12), UINT32_C(0xD569EAC4), UINT32_C(0xA0496CF4),
14664           UINT32_C(0x11E5CF90), UINT32_C(0x5C64A06C)}},
14665         {{UINT32_C(0xE28783DF), UINT32_C(0xA65F12AB), UINT32_C(0x37322285),
14666           UINT32_C(0x2A891B0F), UINT32_C(0x9811C4EB), UINT32_C(0xD6FF4604),
14667           UINT32_C(0xA8505AC0), UINT32_C(0x7C960ED5)},
14668          {UINT32_C(0x2FCA110D), UINT32_C(0xE8689377), UINT32_C(0x60FD893E),
14669           UINT32_C(0x71AAE292), UINT32_C(0x7505671D), UINT32_C(0x8ADE5317),
14670           UINT32_C(0x8C508791), UINT32_C(0x721A07A5)}},
14671         {{UINT32_C(0xE5ECCA8C), UINT32_C(0xC1AE9A50), UINT32_C(0x07EB4329),
14672           UINT32_C(0x7528AEF5), UINT32_C(0xD1297D88), UINT32_C(0x8F0D0E03),
14673           UINT32_C(0x244BBC0C), UINT32_C(0x27C7BF76)},
14674          {UINT32_C(0xC7E7E9BB), UINT32_C(0x96EEDA7C), UINT32_C(0xF96C99B3),
14675           UINT32_C(0xC9749BF7), UINT32_C(0x467B4D43), UINT32_C(0x44C852D2),
14676           UINT32_C(0x937FA21D), UINT32_C(0x1691D71D)}},
14677         {{UINT32_C(0xF8058A68), UINT32_C(0x8CAC092F), UINT32_C(0xDAE38445),
14678           UINT32_C(0x6B892BCF), UINT32_C(0x97D76059), UINT32_C(0x82CBECE5),
14679           UINT32_C(0x3518F9E2), UINT32_C(0x5AEB6646)},
14680          {UINT32_C(0x392080B4), UINT32_C(0xA39C710C), UINT32_C(0x1502DE54),
14681           UINT32_C(0x575DC5F4), UINT32_C(0x3A3D2B4D), UINT32_C(0xA465DD5E),
14682           UINT32_C(0x638EAF45), UINT32_C(0x281AAE47)}},
14683     },
14684     {
14685         {{UINT32_C(0xE955A145), UINT32_C(0xBE40C92B), UINT32_C(0x324234B5),
14686           UINT32_C(0xD464D6BC), UINT32_C(0xB09D4AF8), UINT32_C(0xE8084747),
14687           UINT32_C(0x5268D6C3), UINT32_C(0x939C70BF)},
14688          {UINT32_C(0xD1DDBB48), UINT32_C(0x9C9C9D25), UINT32_C(0x790B5B42),
14689           UINT32_C(0x30D9EA7F), UINT32_C(0x4E3914B4), UINT32_C(0x367FD79B),
14690           UINT32_C(0x826EE4D7), UINT32_C(0x27615F29)}},
14691         {{UINT32_C(0x50A41246), UINT32_C(0x09BB6F16), UINT32_C(0xE5459A13),
14692           UINT32_C(0xC72BFF7A), UINT32_C(0xFF09B2F7), UINT32_C(0x0FC15846),
14693           UINT32_C(0x09CB693A), UINT32_C(0x6D904062)},
14694          {UINT32_C(0xF40FC67D), UINT32_C(0x98A132F8), UINT32_C(0xDF37CBFA),
14695           UINT32_C(0xC8B6573B), UINT32_C(0x99D7FC36), UINT32_C(0xC9CF9948),
14696           UINT32_C(0xA7235DDB), UINT32_C(0x0DD66ABA)}},
14697         {{UINT32_C(0xF96048BD), UINT32_C(0x0180B525), UINT32_C(0x544F1E70),
14698           UINT32_C(0xEB566786), UINT32_C(0x8EF4373C), UINT32_C(0x8BABBF9B),
14699           UINT32_C(0xD9E49178), UINT32_C(0x509BA431)},
14700          {UINT32_C(0x65A4A201), UINT32_C(0xF961A6F5), UINT32_C(0x8D44ED2D),
14701           UINT32_C(0xB6621DF9), UINT32_C(0xD7B4D744), UINT32_C(0xEADD3C0C),
14702           UINT32_C(0x0EAAB110), UINT32_C(0x75D27E99)}},
14703         {{UINT32_C(0x85DF5695), UINT32_C(0xEAC7AC76), UINT32_C(0xDA7540A3),
14704           UINT32_C(0x02C26274), UINT32_C(0xC659B610), UINT32_C(0xDEC1BBC4),
14705           UINT32_C(0x3AC61EEB), UINT32_C(0x54483C1B)},
14706          {UINT32_C(0x217E0283), UINT32_C(0x8B91209A), UINT32_C(0x3A17DDFE),
14707           UINT32_C(0x939FBDAF), UINT32_C(0x5BF98726), UINT32_C(0xA82C66D6),
14708           UINT32_C(0x915AAC76), UINT32_C(0x2BA82FA0)}},
14709         {{UINT32_C(0xAF4542E8), UINT32_C(0x99B324C1), UINT32_C(0xC0F225E0),
14710           UINT32_C(0x16EBC66F), UINT32_C(0x27FEF57B), UINT32_C(0xEAE69563),
14711           UINT32_C(0x961B03FA), UINT32_C(0x2996FE3C)},
14712          {UINT32_C(0x4F967A68), UINT32_C(0x0835212E), UINT32_C(0xF44352DC),
14713           UINT32_C(0x0AAABD99), UINT32_C(0x4B3A6B8D), UINT32_C(0x1874255F),
14714           UINT32_C(0x6D10B369), UINT32_C(0x45F5D8B2)}},
14715         {{UINT32_C(0xF7B7644B), UINT32_C(0x603DD497), UINT32_C(0x2D1386AA),
14716           UINT32_C(0x369BE676), UINT32_C(0x14C9FA94), UINT32_C(0x08C1B763),
14717           UINT32_C(0x384AF696), UINT32_C(0x734921D9)},
14718          {UINT32_C(0xD76E8EEB), UINT32_C(0xA1B5AF5B), UINT32_C(0x42F990E8),
14719           UINT32_C(0xB0EAE7A3), UINT32_C(0x069ED81D), UINT32_C(0x59E7C515),
14720           UINT32_C(0xB5A50610), UINT32_C(0x2D1B5E62)}},
14721         {{UINT32_C(0x85995BD3), UINT32_C(0xDC322810), UINT32_C(0x873E7A09),
14722           UINT32_C(0x35A47B05), UINT32_C(0xA70DE932), UINT32_C(0x0CDFE9BB),
14723           UINT32_C(0xD62FBC89), UINT32_C(0x049B899D)},
14724          {UINT32_C(0x652291DB), UINT32_C(0xF6BAA860), UINT32_C(0x9AF7478F),
14725           UINT32_C(0x58123B25), UINT32_C(0x47B9F204), UINT32_C(0xA05CCBC2),
14726           UINT32_C(0x82D999A7), UINT32_C(0x8A0B479D)}},
14727         {{UINT32_C(0x2D0F619A), UINT32_C(0xA72B9B52), UINT32_C(0x5919C420),
14728           UINT32_C(0xE73B66F7), UINT32_C(0xD21CFEFE), UINT32_C(0x92319C86),
14729           UINT32_C(0xF1635F0E), UINT32_C(0x58EEFC71)},
14730          {UINT32_C(0xDA909290), UINT32_C(0xDC481783), UINT32_C(0x66316584),
14731           UINT32_C(0x144E7A98), UINT32_C(0x45E1E3C8), UINT32_C(0xBD7E657F),
14732           UINT32_C(0xBD93938C), UINT32_C(0x5C9FCD1C)}},
14733         {{UINT32_C(0x436C1AB3), UINT32_C(0x2339E2FA), UINT32_C(0xC26768AA),
14734           UINT32_C(0x69C22269), UINT32_C(0x40FCBD90), UINT32_C(0x94DFCAF4),
14735           UINT32_C(0xC41D4F61), UINT32_C(0x56235739)},
14736          {UINT32_C(0x718468D3), UINT32_C(0x6E50D4DB), UINT32_C(0xCADCEC6C),
14737           UINT32_C(0xDEA80730), UINT32_C(0x63DC3C43), UINT32_C(0x924FF97E),
14738           UINT32_C(0x6752EA6A), UINT32_C(0x1B652825)}},
14739         {{UINT32_C(0xF07BE4BB), UINT32_C(0xAC2BDCDD), UINT32_C(0x8DB0A32D),
14740           UINT32_C(0xB46D8E96), UINT32_C(0xB618488D), UINT32_C(0xDD661C68),
14741           UINT32_C(0x75E1E4BF), UINT32_C(0x8ED22D4B)},
14742          {UINT32_C(0x3C177D80), UINT32_C(0x5DD2E5DF), UINT32_C(0x82803711),
14743           UINT32_C(0x5049C012), UINT32_C(0x73E0BA27), UINT32_C(0xFB243B3F),
14744           UINT32_C(0x8C7810D5), UINT32_C(0x0C756BA0)}},
14745         {{UINT32_C(0x6F16FBCA), UINT32_C(0xFC58F0BD), UINT32_C(0xA5E33B36),
14746           UINT32_C(0xA855BB8C), UINT32_C(0x99D08247), UINT32_C(0xB9239EB4),
14747           UINT32_C(0x49CAF40D), UINT32_C(0x27ABC78D)},
14748          {UINT32_C(0xA1285278), UINT32_C(0x88BE1595), UINT32_C(0x60F16638),
14749           UINT32_C(0x9D5AEE5B), UINT32_C(0x1FCE4327), UINT32_C(0x3F381529),
14750           UINT32_C(0xF19CAA04), UINT32_C(0x17206899)}},
14751         {{UINT32_C(0x9E047F55), UINT32_C(0x58616348), UINT32_C(0xE991FC4C),
14752           UINT32_C(0x0D6098A5), UINT32_C(0x99A33914), UINT32_C(0x47760F98),
14753           UINT32_C(0x5608C80E), UINT32_C(0x70C8F5D4)},
14754          {UINT32_C(0x06036DBE), UINT32_C(0x405F1191), UINT32_C(0x80CC0A27),
14755           UINT32_C(0xBF625895), UINT32_C(0x389FA7BF), UINT32_C(0xFB8A0330),
14756           UINT32_C(0x1FA0CBB4), UINT32_C(0x22B0B946)}},
14757         {{UINT32_C(0x1B1E2ACD), UINT32_C(0x84AE1981), UINT32_C(0x63961891),
14758           UINT32_C(0xFA23C205), UINT32_C(0x742C1653), UINT32_C(0xCF4C685E),
14759           UINT32_C(0x4D303078), UINT32_C(0x55BFC744)},
14760          {UINT32_C(0xBA03AAE4), UINT32_C(0xEB131CBB), UINT32_C(0x2C5B9EAB),
14761           UINT32_C(0xF338C0DB), UINT32_C(0xB7495209), UINT32_C(0xC1006396),
14762           UINT32_C(0xF7E6A4E6), UINT32_C(0x0FD928CF)}},
14763         {{UINT32_C(0x8633AB84), UINT32_C(0xA6BAC994), UINT32_C(0x75364642),
14764           UINT32_C(0xC165BF5A), UINT32_C(0x8C57070D), UINT32_C(0xB70BEB47),
14765           UINT32_C(0xD416322E), UINT32_C(0x838158A0)},
14766          {UINT32_C(0xD4957751), UINT32_C(0x501D2BFD), UINT32_C(0xC23AA730),
14767           UINT32_C(0xF1CDDF32), UINT32_C(0x5458F1C6), UINT32_C(0xF64558A8),
14768           UINT32_C(0x06E1209C), UINT32_C(0x51B6DDE3)}},
14769         {{UINT32_C(0xCC31D6BE), UINT32_C(0x0712C186), UINT32_C(0x33CD1D3F),
14770           UINT32_C(0x91C4064A), UINT32_C(0xC7C91F53), UINT32_C(0xCADAE5B0),
14771           UINT32_C(0xDEB2A2EE), UINT32_C(0x52AA408F)},
14772          {UINT32_C(0x202719D5), UINT32_C(0x058675CC), UINT32_C(0x1D087D07),
14773           UINT32_C(0x444F99F5), UINT32_C(0x9D7A8AF4), UINT32_C(0x4DB587E8),
14774           UINT32_C(0xDA17095A), UINT32_C(0x389376F5)}},
14775         {{UINT32_C(0x48FED385), UINT32_C(0x8262D370), UINT32_C(0x1AE92689),
14776           UINT32_C(0x3B1FB466), UINT32_C(0x24242CF4), UINT32_C(0xDA6F570F),
14777           UINT32_C(0x0DEAC5E9), UINT32_C(0x0532FC9E)},
14778          {UINT32_C(0x20C5BD7B), UINT32_C(0x5E8FB740), UINT32_C(0x002624B3),
14779           UINT32_C(0x5AE99925), UINT32_C(0x7AFADC15), UINT32_C(0xAD44A4D5),
14780           UINT32_C(0xDF409330), UINT32_C(0x6AECBC80)}},
14781     }};
14782
14783 /*-
14784  * Q := 2P, both projective, Q and P same pointers OK
14785  * Autogenerated: op3/dbl_proj.op3
14786  * https://eprint.iacr.org/2015/1060 Alg 6
14787  * ASSERT: a = -3
14788  */
14789 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
14790     /* temporary variables */
14791     fe_t t0, t1, t2, t3, t4;
14792     /* constants */
14793     const limb_t *b = const_b;
14794     /* set pointers for legacy curve arith */
14795     const limb_t *X = P->X;
14796     const limb_t *Y = P->Y;
14797     const limb_t *Z = P->Z;
14798     limb_t *X3 = Q->X;
14799     limb_t *Y3 = Q->Y;
14800     limb_t *Z3 = Q->Z;
14801
14802     /* the curve arith formula */
14803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t0, X);
14804     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t1, Y);
14805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t2, Z);
14806     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, X, Y);
14807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t3, t3);
14808     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y, Z);
14809     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, X, Z);
14810     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
14811     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, t2);
14812     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, Z3);
14813     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, Y3, Y3);
14814     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X3, Y3);
14815     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, t1, Y3);
14816     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
14817     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Y3);
14818     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, t3);
14819     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t2, t2);
14820     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t2, t3);
14821     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z3);
14822     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t2);
14823     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t0);
14824     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, Z3, Z3);
14825     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t3);
14826     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t0, t0);
14827     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t3, t0);
14828     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
14829     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, t0, Z3);
14830     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t0);
14831     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t4, t4);
14832     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, Z3);
14833     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, Z3);
14834     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, t1);
14835     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
14836     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
14837 }
14838
14839 /*-
14840  * R := Q + P where R and Q are projective, P affine.
14841  * R and Q same pointers OK
14842  * R and P same pointers not OK
14843  * Autogenerated: op3/add_mixed.op3
14844  * https://eprint.iacr.org/2015/1060 Alg 5
14845  * ASSERT: a = -3
14846  */
14847 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
14848     /* temporary variables */
14849     fe_t t0, t1, t2, t3, t4;
14850     /* constants */
14851     const limb_t *b = const_b;
14852     /* set pointers for legacy curve arith */
14853     const limb_t *X1 = Q->X;
14854     const limb_t *Y1 = Q->Y;
14855     const limb_t *Z1 = Q->Z;
14856     const limb_t *X2 = P->X;
14857     const limb_t *Y2 = P->Y;
14858     fe_t X3;
14859     fe_t Y3;
14860     fe_t Z3;
14861     limb_t nz;
14862
14863     /* check P for affine inf */
14864     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(&nz, P->Y);
14865
14866     /* the curve arith formula */
14867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
14868     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
14869     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X2, Y2);
14870     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X1, Y1);
14871     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
14872     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
14873     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
14874     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y2, Z1);
14875     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t4, Y1);
14876     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X2, Z1);
14877     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, X1);
14878     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z1);
14879     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
14880     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
14881     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
14882     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
14883     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
14884     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
14885     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Z1, Z1);
14886     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, Z1);
14887     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
14888     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
14889     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
14890     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
14891     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
14892     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
14893     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
14894     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
14895     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
14896     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
14897     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
14898     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
14899     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
14900     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
14901     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
14902     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
14903
14904     /* if P is inf, throw all that away and take Q */
14905     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->X, nz, Q->X, X3);
14906     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Y, nz, Q->Y, Y3);
14907     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Z, nz, Q->Z, Z3);
14908 }
14909
14910 /*-
14911  * R := Q + P all projective.
14912  * R and Q same pointers OK
14913  * R and P same pointers not OK
14914  * Autogenerated: op3/add_proj.op3
14915  * https://eprint.iacr.org/2015/1060 Alg 4
14916  * ASSERT: a = -3
14917  */
14918 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
14919     /* temporary variables */
14920     fe_t t0, t1, t2, t3, t4, t5;
14921     /* constants */
14922     const limb_t *b = const_b;
14923     /* set pointers for legacy curve arith */
14924     const limb_t *X1 = Q->X;
14925     const limb_t *Y1 = Q->Y;
14926     const limb_t *Z1 = Q->Z;
14927     const limb_t *X2 = P->X;
14928     const limb_t *Y2 = P->Y;
14929     const limb_t *Z2 = P->Z;
14930     limb_t *X3 = R->X;
14931     limb_t *Y3 = R->Y;
14932     limb_t *Z3 = R->Z;
14933
14934     /* the curve arith formula */
14935     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
14936     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
14937     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, Z1, Z2);
14938     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X1, Y1);
14939     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X2, Y2);
14940     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
14941     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
14942     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
14943     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, Y1, Z1);
14944     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, Y2, Z2);
14945     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, t4, t5);
14946     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, t1, t2);
14947     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t4, t4, t5);
14948     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X1, Z1);
14949     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X2, Z2);
14950     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, Y3);
14951     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t0, t2);
14952     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, X3, Y3);
14953     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, t2);
14954     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
14955     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
14956     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
14957     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
14958     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
14959     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
14960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t2, t2);
14961     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, t2);
14962     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
14963     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
14964     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
14965     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
14966     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
14967     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
14968     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
14969     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
14970     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
14971     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
14972     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
14973     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
14974     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
14975     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
14976     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
14977     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
14978 }
14979
14980 /* constants */
14981 #define RADIX 5
14982 #define DRADIX (1 << RADIX)
14983 #define DRADIX_WNAF ((DRADIX) << 1)
14984
14985 /*-
14986  * precomp for wnaf scalar multiplication:
14987  * precomp[0] = 1P
14988  * precomp[1] = 3P
14989  * precomp[2] = 5P
14990  * precomp[3] = 7P
14991  * precomp[4] = 9P
14992  * ...
14993  */
14994 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
14995     int i;
14996
14997     fe_copy(precomp[0].X, P->X);
14998     fe_copy(precomp[0].Y, P->Y);
14999     fe_copy(precomp[0].Z, const_one);
15000     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
15001
15002     for (i = 1; i < DRADIX / 2; i++)
15003         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
15004 }
15005
15006 /* fetch a scalar bit */
15007 static int scalar_get_bit(const unsigned char in[32], int idx) {
15008     int widx, rshift;
15009
15010     widx = idx >> 3;
15011     rshift = idx & 0x7;
15012
15013     if (idx < 0 || widx >= 32) return 0;
15014
15015     return (in[widx] >> rshift) & 0x1;
15016 }
15017
15018 /*-
15019  * Compute "regular" wnaf representation of a scalar.
15020  * See "Exponent Recoding and Regular Exponentiation Algorithms",
15021  * Tunstall et al., AfricaCrypt 2009, Alg 6.
15022  * It forces an odd scalar and outputs digits in
15023  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
15024  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
15025  */
15026 static void scalar_rwnaf(int8_t out[52], const unsigned char in[32]) {
15027     int i;
15028     int8_t window, d;
15029
15030     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
15031     for (i = 0; i < 51; i++) {
15032         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
15033         out[i] = d;
15034         window = (window - d) >> RADIX;
15035         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
15036         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
15037         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
15038         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
15039         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
15040     }
15041     out[i] = window;
15042 }
15043
15044 /*-
15045  * Compute "textbook" wnaf representation of a scalar.
15046  * NB: not constant time
15047  */
15048 static void scalar_wnaf(int8_t out[257], const unsigned char in[32]) {
15049     int i;
15050     int8_t window, d;
15051
15052     window = in[0] & (DRADIX_WNAF - 1);
15053     for (i = 0; i < 257; i++) {
15054         d = 0;
15055         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
15056             d -= DRADIX_WNAF;
15057         out[i] = d;
15058         window = (window - d) >> 1;
15059         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
15060     }
15061 }
15062
15063 /*-
15064  * Simultaneous scalar multiplication: interleaved "textbook" wnaf.
15065  * NB: not constant time
15066  */
15067 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
15068                               const unsigned char b[32], const pt_aff_t *P) {
15069     int i, d, is_neg, is_inf = 1, flipped = 0;
15070     int8_t anaf[257] = {0};
15071     int8_t bnaf[257] = {0};
15072     pt_prj_t Q = {0};
15073     pt_prj_t precomp[DRADIX / 2];
15074
15075     precomp_wnaf(precomp, P);
15076     scalar_wnaf(anaf, a);
15077     scalar_wnaf(bnaf, b);
15078
15079     for (i = 256; i >= 0; i--) {
15080         if (!is_inf) point_double(&Q, &Q);
15081         if ((d = bnaf[i])) {
15082             if ((is_neg = d < 0) != flipped) {
15083                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
15084                 flipped ^= 1;
15085             }
15086             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
15087             if (is_inf) {
15088                 /* initialize accumulator */
15089                 fe_copy(Q.X, &precomp[d].X);
15090                 fe_copy(Q.Y, &precomp[d].Y);
15091                 fe_copy(Q.Z, &precomp[d].Z);
15092                 is_inf = 0;
15093             } else
15094                 point_add_proj(&Q, &Q, &precomp[d]);
15095         }
15096         if ((d = anaf[i])) {
15097             if ((is_neg = d < 0) != flipped) {
15098                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
15099                 flipped ^= 1;
15100             }
15101             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
15102             if (is_inf) {
15103                 /* initialize accumulator */
15104                 fe_copy(Q.X, &lut_cmb[0][d].X);
15105                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
15106                 fe_copy(Q.Z, const_one);
15107                 is_inf = 0;
15108             } else
15109                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
15110         }
15111     }
15112
15113     if (is_inf) {
15114         /* initialize accumulator to inf: all-zero scalars */
15115         fe_set_zero(Q.X);
15116         fe_copy(Q.Y, const_one);
15117         fe_set_zero(Q.Z);
15118     }
15119
15120     if (flipped) {
15121         /* correct sign */
15122         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
15123     }
15124
15125     /* convert to affine -- NB depends on coordinate system */
15126     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
15127     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
15128     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
15129 }
15130
15131 /*-
15132  * Variable point scalar multiplication with "regular" wnaf.
15133  */
15134 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
15135                            const pt_aff_t *P) {
15136     int i, j, d, diff, is_neg;
15137     int8_t rnaf[52] = {0};
15138     pt_prj_t Q = {0}, lut = {0};
15139     pt_prj_t precomp[DRADIX / 2];
15140
15141     precomp_wnaf(precomp, P);
15142     scalar_rwnaf(rnaf, scalar);
15143
15144 #if defined(_MSC_VER)
15145     /* result still unsigned: yes we know */
15146 #pragma warning(push)
15147 #pragma warning(disable : 4146)
15148 #endif
15149
15150     /* initialize accumulator to high digit */
15151     d = (rnaf[51] - 1) >> 1;
15152     for (j = 0; j < DRADIX / 2; j++) {
15153         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
15154         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, diff, Q.X,
15155                                                               precomp[j].X);
15156         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, diff, Q.Y,
15157                                                               precomp[j].Y);
15158         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, diff, Q.Z,
15159                                                               precomp[j].Z);
15160     }
15161
15162     for (i = 50; i >= 0; i--) {
15163         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
15164         d = rnaf[i];
15165         /* is_neg = (d < 0) ? 1 : 0 */
15166         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
15167         /* d = abs(d) */
15168         d = (d ^ -is_neg) + is_neg;
15169         d = (d - 1) >> 1;
15170         for (j = 0; j < DRADIX / 2; j++) {
15171             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
15172             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15173                 lut.X, diff, lut.X, precomp[j].X);
15174             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15175                 lut.Y, diff, lut.Y, precomp[j].Y);
15176             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15177                 lut.Z, diff, lut.Z, precomp[j].Z);
15178         }
15179         /* negate lut point if digit is negative */
15180         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
15181         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(lut.Y, is_neg,
15182                                                               lut.Y, out->Y);
15183         point_add_proj(&Q, &Q, &lut);
15184     }
15185
15186 #if defined(_MSC_VER)
15187 #pragma warning(pop)
15188 #endif
15189
15190     /* conditionally subtract P if the scalar was even */
15191     fe_copy(lut.X, precomp[0].X);
15192     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, precomp[0].Y);
15193     fe_copy(lut.Z, precomp[0].Z);
15194     point_add_proj(&lut, &lut, &Q);
15195     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
15196                                                           lut.X, Q.X);
15197     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
15198                                                           lut.Y, Q.Y);
15199     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
15200                                                           lut.Z, Q.Z);
15201
15202     /* convert to affine -- NB depends on coordinate system */
15203     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
15204     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
15205     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
15206 }
15207
15208 /*-
15209  * Fixed scalar multiplication: comb with interleaving.
15210  */
15211 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
15212     int i, j, k, d, diff, is_neg = 0;
15213     int8_t rnaf[52] = {0};
15214     pt_prj_t Q = {0}, R = {0};
15215     pt_aff_t lut = {0};
15216
15217     scalar_rwnaf(rnaf, scalar);
15218
15219     /* initalize accumulator to inf */
15220     fe_set_zero(Q.X);
15221     fe_copy(Q.Y, const_one);
15222     fe_set_zero(Q.Z);
15223
15224 #if defined(_MSC_VER)
15225     /* result still unsigned: yes we know */
15226 #pragma warning(push)
15227 #pragma warning(disable : 4146)
15228 #endif
15229
15230     for (i = 1; i >= 0; i--) {
15231         for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
15232         for (j = 0; j < 27; j++) {
15233             if (j * 2 + i > 51) continue;
15234             d = rnaf[j * 2 + i];
15235             /* is_neg = (d < 0) ? 1 : 0 */
15236             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
15237             /* d = abs(d) */
15238             d = (d ^ -is_neg) + is_neg;
15239             d = (d - 1) >> 1;
15240             for (k = 0; k < DRADIX / 2; k++) {
15241                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
15242                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15243                     lut.X, diff, lut.X, lut_cmb[j][k].X);
15244                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15245                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
15246             }
15247             /* negate lut point if digit is negative */
15248             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
15249             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15250                 lut.Y, is_neg, lut.Y, out->Y);
15251             point_add_mixed(&Q, &Q, &lut);
15252         }
15253     }
15254
15255 #if defined(_MSC_VER)
15256 #pragma warning(pop)
15257 #endif
15258
15259     /* conditionally subtract P if the scalar was even */
15260     fe_copy(lut.X, lut_cmb[0][0].X);
15261     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, lut_cmb[0][0].Y);
15262     point_add_mixed(&R, &Q, &lut);
15263     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
15264                                                           R.X, Q.X);
15265     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
15266                                                           R.Y, Q.Y);
15267     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
15268                                                           R.Z, Q.Z);
15269
15270     /* convert to affine -- NB depends on coordinate system */
15271     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
15272     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
15273     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
15274 }
15275
15276 /*-
15277  * Wrapper: simultaneous scalar mutiplication.
15278  * outx, outy := a * G + b * P
15279  * where P = (inx, iny).
15280  * Everything is LE byte ordering.
15281  */
15282 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
15283                           const unsigned char a[32], const unsigned char b[32],
15284                           const unsigned char inx[32],
15285                           const unsigned char iny[32]) {
15286     pt_aff_t P;
15287
15288     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
15289     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
15290     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
15291     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
15292     /* simultaneous scalar multiplication */
15293     var_smul_wnaf_two(&P, a, b, &P);
15294
15295     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
15296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
15297     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
15298     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
15299 }
15300
15301 /*-
15302  * Wrapper: fixed scalar mutiplication.
15303  * outx, outy := scalar * G
15304  * Everything is LE byte ordering.
15305  */
15306 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
15307                         const unsigned char scalar[32]) {
15308     pt_aff_t P;
15309
15310     /* fixed scmul function */
15311     fixed_smul_cmb(&P, scalar);
15312     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
15313     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
15314     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
15315     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
15316 }
15317
15318 /*-
15319  * Wrapper: variable point scalar mutiplication.
15320  * outx, outy := scalar * P
15321  * where P = (inx, iny).
15322  * Everything is LE byte ordering.
15323  */
15324 static void point_mul(unsigned char outx[32], unsigned char outy[32],
15325                       const unsigned char scalar[32],
15326                       const unsigned char inx[32],
15327                       const unsigned char iny[32]) {
15328     pt_aff_t P;
15329
15330     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
15331     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
15332     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
15333     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
15334     /* var scmul function */
15335     var_smul_rwnaf(&P, scalar, &P);
15336     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
15337     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
15338     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
15339     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
15340 }
15341
15342
15343 #include <openssl/ec.h>
15344
15345 /* the zero field element */
15346 static const unsigned char const_zb[32] = {0};
15347
15348 /*-
15349  * An OpenSSL wrapper for simultaneous scalar multiplication.
15350  * r := n * G + m * q
15351  */
15352     int
15353     point_mul_two_id_GostR3410_2001_CryptoPro_C_ParamSet(
15354         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
15355         const BIGNUM *m, BN_CTX *ctx) {
15356     int ret = 0;
15357     unsigned char b_x[32];
15358     unsigned char b_y[32];
15359     unsigned char b_n[32];
15360     unsigned char b_m[32];
15361     BIGNUM *x = NULL, *y = NULL;
15362
15363     BN_CTX_start(ctx);
15364     x = BN_CTX_get(ctx);
15365     if ((y = BN_CTX_get(ctx)) == NULL
15366         /* pull out coords as bytes */
15367         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
15368         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
15369         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
15370         goto err;
15371     /* do the simultaneous scalar multiplication */
15372     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
15373     /* check for infinity */
15374     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
15375         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
15376         if (!EC_POINT_set_to_infinity(group, r)) goto err;
15377     } else {
15378         /* otherwise, pack the bytes into the result */
15379         if (BN_lebin2bn(b_x, 32, x) == NULL ||
15380             BN_lebin2bn(b_y, 32, y) == NULL ||
15381             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
15382             goto err;
15383     }
15384     ret = 1;
15385 err:
15386     BN_CTX_end(ctx);
15387     return ret;
15388 }
15389
15390 /*-
15391  * An OpenSSL wrapper for variable point scalar multiplication.
15392  * r := m * q
15393  */
15394     int
15395     point_mul_id_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
15396                                                      EC_POINT *r,
15397                                                      const EC_POINT *q,
15398                                                      const BIGNUM *m,
15399                                                      BN_CTX *ctx) {
15400     int ret = 0;
15401     unsigned char b_x[32];
15402     unsigned char b_y[32];
15403     unsigned char b_m[32];
15404     BIGNUM *x = NULL, *y = NULL;
15405
15406     BN_CTX_start(ctx);
15407     x = BN_CTX_get(ctx);
15408     if ((y = BN_CTX_get(ctx)) == NULL
15409         /* pull out coords as bytes */
15410         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
15411         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
15412         BN_bn2lebinpad(m, b_m, 32) != 32)
15413         goto err;
15414     /* do the variable scalar multiplication */
15415     point_mul(b_x, b_y, b_m, b_x, b_y);
15416     /* check for infinity */
15417     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
15418         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
15419         if (!EC_POINT_set_to_infinity(group, r)) goto err;
15420     } else {
15421         /* otherwise, pack the bytes into the result */
15422         if (BN_lebin2bn(b_x, 32, x) == NULL ||
15423             BN_lebin2bn(b_y, 32, y) == NULL ||
15424             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
15425             goto err;
15426     }
15427     ret = 1;
15428 err:
15429     BN_CTX_end(ctx);
15430     return ret;
15431 }
15432
15433 /*-
15434  * An OpenSSL wrapper for fixed scalar multiplication.
15435  * r := n * G
15436  */
15437     int
15438     point_mul_g_id_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
15439                                                        EC_POINT *r,
15440                                                        const BIGNUM *n,
15441                                                        BN_CTX *ctx) {
15442     int ret = 0;
15443     unsigned char b_x[32];
15444     unsigned char b_y[32];
15445     unsigned char b_n[32];
15446     BIGNUM *x = NULL, *y = NULL;
15447
15448     BN_CTX_start(ctx);
15449     x = BN_CTX_get(ctx);
15450     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
15451         goto err;
15452     /* do the fixed scalar multiplication */
15453     point_mul_g(b_x, b_y, b_n);
15454     /* check for infinity */
15455     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
15456         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
15457         if (!EC_POINT_set_to_infinity(group, r)) goto err;
15458     } else {
15459         /* otherwise, pack the bytes into the result */
15460         if (BN_lebin2bn(b_x, 32, x) == NULL ||
15461             BN_lebin2bn(b_y, 32, y) == NULL ||
15462             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
15463             goto err;
15464     }
15465     ret = 1;
15466 err:
15467     BN_CTX_end(ctx);
15468     return ret;
15469 }
15470
15471
15472
15473 #endif /* __SIZEOF_INT128__ */