]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - ecp_id_GostR3410_2001_CryptoPro_C_ParamSet.c
GOST ECC optimizations (#263)
[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 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
36 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
37
38 /* Projective points */
39 typedef struct {
40     fe_t X;
41     fe_t Y;
42     fe_t Z;
43 } pt_prj_t;
44
45 /* Affine points */
46 typedef struct {
47     fe_t X;
48     fe_t Y;
49 } pt_aff_t;
50
51 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
52 /*-
53  * MIT License
54  *
55  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
56  *
57  * Permission is hereby granted, free of charge, to any person obtaining a copy
58  * of this software and associated documentation files (the "Software"), to deal
59  * in the Software without restriction, including without limitation the rights
60  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
61  * copies of the Software, and to permit persons to whom the Software is
62  * furnished to do so, subject to the following conditions:
63  *
64  * The above copyright notice and this permission notice shall be included in
65  * all copies or substantial portions of the Software.
66  *
67  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
68  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
69  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
70  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
71  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
72  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
73  * SOFTWARE.
74  */
75
76 /* Autogenerated: word_by_word_montgomery --static id_GostR3410_2001_CryptoPro_C_ParamSet 64 0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B */
77 /* curve description: id_GostR3410_2001_CryptoPro_C_ParamSet */
78 /* machine_wordsize = 64 (from "64") */
79 /* requested operations: (all) */
80 /* m = 0x9b9f605f5a858107ab1ec85e6b41c8aacf846e86789051d37998f7b9022d759b (from "0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B") */
81 /*                                                                    */
82 /* NOTE: In addition to the bounds specified above each function, all */
83 /*   functions synthesized for this Montgomery arithmetic require the */
84 /*   input to be strictly less than the prime modulus (m), and also   */
85 /*   require the input to be in the unique saturated representation.  */
86 /*   All functions also ensure that these two properties are true of  */
87 /*   return values.                                                   */
88 /*  */
89 /* Computed values: */
90 /* eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) */
91 /* bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) + (z[28] << 224) + (z[29] << 232) + (z[30] << 240) + (z[31] << 248) */
92
93 #include <stdint.h>
94 typedef unsigned char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1;
95 typedef signed char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1;
96 typedef signed __int128 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int128;
97 typedef unsigned __int128 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128;
98
99 #if (-1 & 3) != 3
100 #error "This code only works on a two's complement system"
101 #endif
102
103 /*
104  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64 is an addition with carry.
105  * Postconditions:
106  *   out1 = (arg1 + arg2 + arg3) mod 2^64
107  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^64⌋
108  *
109  * Input Bounds:
110  *   arg1: [0x0 ~> 0x1]
111  *   arg2: [0x0 ~> 0xffffffffffffffff]
112  *   arg3: [0x0 ~> 0xffffffffffffffff]
113  * Output Bounds:
114  *   out1: [0x0 ~> 0xffffffffffffffff]
115  *   out2: [0x0 ~> 0x1]
116  */
117 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
118     uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
119     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint64_t arg2,
120     uint64_t arg3) {
121     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128 x1;
122     uint64_t x2;
123     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x3;
124     x1 = ((arg1 + (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128)arg2) +
125           arg3);
126     x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
127     x3 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(x1 >> 64);
128     *out1 = x2;
129     *out2 = x3;
130 }
131
132 /*
133  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64 is a subtraction with borrow.
134  * Postconditions:
135  *   out1 = (-arg1 + arg2 + -arg3) mod 2^64
136  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^64⌋
137  *
138  * Input Bounds:
139  *   arg1: [0x0 ~> 0x1]
140  *   arg2: [0x0 ~> 0xffffffffffffffff]
141  *   arg3: [0x0 ~> 0xffffffffffffffff]
142  * Output Bounds:
143  *   out1: [0x0 ~> 0xffffffffffffffff]
144  *   out2: [0x0 ~> 0x1]
145  */
146 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
147     uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
148     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint64_t arg2,
149     uint64_t arg3) {
150     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int128 x1;
151     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1 x2;
152     uint64_t x3;
153     x1 = ((arg2 - (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int128)arg1) -
154           arg3);
155     x2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(x1 >> 64);
156     x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
157     *out1 = x3;
158     *out2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(0x0 - x2);
159 }
160
161 /*
162  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64 is a multiplication, returning the full double-width result.
163  * Postconditions:
164  *   out1 = (arg1 * arg2) mod 2^64
165  *   out2 = ⌊arg1 * arg2 / 2^64⌋
166  *
167  * Input Bounds:
168  *   arg1: [0x0 ~> 0xffffffffffffffff]
169  *   arg2: [0x0 ~> 0xffffffffffffffff]
170  * Output Bounds:
171  *   out1: [0x0 ~> 0xffffffffffffffff]
172  *   out2: [0x0 ~> 0xffffffffffffffff]
173  */
174 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
175     uint64_t *out1, uint64_t *out2, uint64_t arg1, uint64_t arg2) {
176     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128 x1;
177     uint64_t x2;
178     uint64_t x3;
179     x1 = ((fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128)arg1 * arg2);
180     x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
181     x3 = (uint64_t)(x1 >> 64);
182     *out1 = x2;
183     *out2 = x3;
184 }
185
186 /*
187  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64 is a single-word conditional move.
188  * Postconditions:
189  *   out1 = (if arg1 = 0 then arg2 else arg3)
190  *
191  * Input Bounds:
192  *   arg1: [0x0 ~> 0x1]
193  *   arg2: [0x0 ~> 0xffffffffffffffff]
194  *   arg3: [0x0 ~> 0xffffffffffffffff]
195  * Output Bounds:
196  *   out1: [0x0 ~> 0xffffffffffffffff]
197  */
198 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
199     uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
200     uint64_t arg2, uint64_t arg3) {
201     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x1;
202     uint64_t x2;
203     uint64_t x3;
204     x1 = (!(!arg1));
205     x2 = ((fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(0x0 - x1) &
206           UINT64_C(0xffffffffffffffff));
207     x3 = ((x2 & arg3) | ((~x2) & arg2));
208     *out1 = x3;
209 }
210
211 /*
212  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul multiplies two field elements in the Montgomery domain.
213  * Preconditions:
214  *   0 ≤ eval arg1 < m
215  *   0 ≤ eval arg2 < m
216  * Postconditions:
217  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
218  *   0 ≤ eval out1 < m
219  *
220  * Input Bounds:
221  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
222  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
223  * Output Bounds:
224  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
225  */
226 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(
227     uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
228     uint64_t x1;
229     uint64_t x2;
230     uint64_t x3;
231     uint64_t x4;
232     uint64_t x5;
233     uint64_t x6;
234     uint64_t x7;
235     uint64_t x8;
236     uint64_t x9;
237     uint64_t x10;
238     uint64_t x11;
239     uint64_t x12;
240     uint64_t x13;
241     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
242     uint64_t x15;
243     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
244     uint64_t x17;
245     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x18;
246     uint64_t x19;
247     uint64_t x20;
248     uint64_t x21;
249     uint64_t x22;
250     uint64_t x23;
251     uint64_t x24;
252     uint64_t x25;
253     uint64_t x26;
254     uint64_t x27;
255     uint64_t x28;
256     uint64_t x29;
257     uint64_t x30;
258     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
259     uint64_t x32;
260     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
261     uint64_t x34;
262     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x35;
263     uint64_t x36;
264     uint64_t x37;
265     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
266     uint64_t x39;
267     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x40;
268     uint64_t x41;
269     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x42;
270     uint64_t x43;
271     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x44;
272     uint64_t x45;
273     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x46;
274     uint64_t x47;
275     uint64_t x48;
276     uint64_t x49;
277     uint64_t x50;
278     uint64_t x51;
279     uint64_t x52;
280     uint64_t x53;
281     uint64_t x54;
282     uint64_t x55;
283     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x56;
284     uint64_t x57;
285     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x58;
286     uint64_t x59;
287     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x60;
288     uint64_t x61;
289     uint64_t x62;
290     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
291     uint64_t x64;
292     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
293     uint64_t x66;
294     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
295     uint64_t x68;
296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
297     uint64_t x70;
298     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x71;
299     uint64_t x72;
300     uint64_t x73;
301     uint64_t x74;
302     uint64_t x75;
303     uint64_t x76;
304     uint64_t x77;
305     uint64_t x78;
306     uint64_t x79;
307     uint64_t x80;
308     uint64_t x81;
309     uint64_t x82;
310     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x83;
311     uint64_t x84;
312     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x85;
313     uint64_t x86;
314     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x87;
315     uint64_t x88;
316     uint64_t x89;
317     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
318     uint64_t x91;
319     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x92;
320     uint64_t x93;
321     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x94;
322     uint64_t x95;
323     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x96;
324     uint64_t x97;
325     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x98;
326     uint64_t x99;
327     uint64_t x100;
328     uint64_t x101;
329     uint64_t x102;
330     uint64_t x103;
331     uint64_t x104;
332     uint64_t x105;
333     uint64_t x106;
334     uint64_t x107;
335     uint64_t x108;
336     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x109;
337     uint64_t x110;
338     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x111;
339     uint64_t x112;
340     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x113;
341     uint64_t x114;
342     uint64_t x115;
343     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
344     uint64_t x117;
345     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
346     uint64_t x119;
347     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
348     uint64_t x121;
349     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x122;
350     uint64_t x123;
351     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x124;
352     uint64_t x125;
353     uint64_t x126;
354     uint64_t x127;
355     uint64_t x128;
356     uint64_t x129;
357     uint64_t x130;
358     uint64_t x131;
359     uint64_t x132;
360     uint64_t x133;
361     uint64_t x134;
362     uint64_t x135;
363     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x136;
364     uint64_t x137;
365     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x138;
366     uint64_t x139;
367     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x140;
368     uint64_t x141;
369     uint64_t x142;
370     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x143;
371     uint64_t x144;
372     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x145;
373     uint64_t x146;
374     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x147;
375     uint64_t x148;
376     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x149;
377     uint64_t x150;
378     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x151;
379     uint64_t x152;
380     uint64_t x153;
381     uint64_t x154;
382     uint64_t x155;
383     uint64_t x156;
384     uint64_t x157;
385     uint64_t x158;
386     uint64_t x159;
387     uint64_t x160;
388     uint64_t x161;
389     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x162;
390     uint64_t x163;
391     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x164;
392     uint64_t x165;
393     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x166;
394     uint64_t x167;
395     uint64_t x168;
396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
397     uint64_t x170;
398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
399     uint64_t x172;
400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x173;
401     uint64_t x174;
402     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x175;
403     uint64_t x176;
404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x177;
405     uint64_t x178;
406     uint64_t x179;
407     uint64_t x180;
408     uint64_t x181;
409     uint64_t x182;
410     uint64_t x183;
411     uint64_t x184;
412     uint64_t x185;
413     uint64_t x186;
414     uint64_t x187;
415     uint64_t x188;
416     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x189;
417     uint64_t x190;
418     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x191;
419     uint64_t x192;
420     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x193;
421     uint64_t x194;
422     uint64_t x195;
423     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x196;
424     uint64_t x197;
425     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x198;
426     uint64_t x199;
427     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x200;
428     uint64_t x201;
429     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x202;
430     uint64_t x203;
431     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x204;
432     uint64_t x205;
433     uint64_t x206;
434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x207;
435     uint64_t x208;
436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
437     uint64_t x210;
438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
439     uint64_t x212;
440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
441     uint64_t x214;
442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
443     uint64_t x216;
444     uint64_t x217;
445     uint64_t x218;
446     uint64_t x219;
447     x1 = (arg1[1]);
448     x2 = (arg1[2]);
449     x3 = (arg1[3]);
450     x4 = (arg1[0]);
451     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x5, &x6, x4,
452                                                          (arg2[3]));
453     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x7, &x8, x4,
454                                                          (arg2[2]));
455     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x9, &x10, x4,
456                                                          (arg2[1]));
457     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x11, &x12, x4,
458                                                          (arg2[0]));
459     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x13, &x14, 0x0,
460                                                               x12, x9);
461     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x15, &x16, x14,
462                                                               x10, x7);
463     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x17, &x18, x16,
464                                                               x8, x5);
465     x19 = (x18 + x6);
466     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
467         &x20, &x21, x11, UINT64_C(0xdf6e6c2c727c176d));
468     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
469         &x22, &x23, x20, UINT64_C(0x9b9f605f5a858107));
470     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
471         &x24, &x25, x20, UINT64_C(0xab1ec85e6b41c8aa));
472     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
473         &x26, &x27, x20, UINT64_C(0xcf846e86789051d3));
474     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
475         &x28, &x29, x20, UINT64_C(0x7998f7b9022d759b));
476     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x30, &x31, 0x0,
477                                                               x29, x26);
478     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x32, &x33, x31,
479                                                               x27, x24);
480     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x34, &x35, x33,
481                                                               x25, x22);
482     x36 = (x35 + x23);
483     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x37, &x38, 0x0,
484                                                               x11, x28);
485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x39, &x40, x38,
486                                                               x13, x30);
487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x41, &x42, x40,
488                                                               x15, x32);
489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x43, &x44, x42,
490                                                               x17, x34);
491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x45, &x46, x44,
492                                                               x19, x36);
493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x47, &x48, x1,
494                                                          (arg2[3]));
495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x49, &x50, x1,
496                                                          (arg2[2]));
497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x51, &x52, x1,
498                                                          (arg2[1]));
499     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x53, &x54, x1,
500                                                          (arg2[0]));
501     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x55, &x56, 0x0,
502                                                               x54, x51);
503     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x57, &x58, x56,
504                                                               x52, x49);
505     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x59, &x60, x58,
506                                                               x50, x47);
507     x61 = (x60 + x48);
508     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x62, &x63, 0x0,
509                                                               x39, x53);
510     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x64, &x65, x63,
511                                                               x41, x55);
512     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x66, &x67, x65,
513                                                               x43, x57);
514     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x68, &x69, x67,
515                                                               x45, x59);
516     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x70, &x71, x69,
517                                                               x46, x61);
518     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
519         &x72, &x73, x62, UINT64_C(0xdf6e6c2c727c176d));
520     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
521         &x74, &x75, x72, UINT64_C(0x9b9f605f5a858107));
522     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
523         &x76, &x77, x72, UINT64_C(0xab1ec85e6b41c8aa));
524     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
525         &x78, &x79, x72, UINT64_C(0xcf846e86789051d3));
526     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
527         &x80, &x81, x72, UINT64_C(0x7998f7b9022d759b));
528     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x82, &x83, 0x0,
529                                                               x81, x78);
530     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x84, &x85, x83,
531                                                               x79, x76);
532     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x86, &x87, x85,
533                                                               x77, x74);
534     x88 = (x87 + x75);
535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x89, &x90, 0x0,
536                                                               x62, x80);
537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x91, &x92, x90,
538                                                               x64, x82);
539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x93, &x94, x92,
540                                                               x66, x84);
541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x95, &x96, x94,
542                                                               x68, x86);
543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x97, &x98, x96,
544                                                               x70, x88);
545     x99 = ((uint64_t)x98 + x71);
546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x100, &x101, x2,
547                                                          (arg2[3]));
548     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x102, &x103, x2,
549                                                          (arg2[2]));
550     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x104, &x105, x2,
551                                                          (arg2[1]));
552     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x106, &x107, x2,
553                                                          (arg2[0]));
554     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x108, &x109, 0x0,
555                                                               x107, x104);
556     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x110, &x111,
557                                                               x109, x105, x102);
558     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x112, &x113,
559                                                               x111, x103, x100);
560     x114 = (x113 + x101);
561     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x115, &x116, 0x0,
562                                                               x91, x106);
563     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x117, &x118,
564                                                               x116, x93, x108);
565     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x119, &x120,
566                                                               x118, x95, x110);
567     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x121, &x122,
568                                                               x120, x97, x112);
569     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x123, &x124,
570                                                               x122, x99, x114);
571     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
572         &x125, &x126, x115, UINT64_C(0xdf6e6c2c727c176d));
573     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
574         &x127, &x128, x125, UINT64_C(0x9b9f605f5a858107));
575     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
576         &x129, &x130, x125, UINT64_C(0xab1ec85e6b41c8aa));
577     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
578         &x131, &x132, x125, UINT64_C(0xcf846e86789051d3));
579     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
580         &x133, &x134, x125, UINT64_C(0x7998f7b9022d759b));
581     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x135, &x136, 0x0,
582                                                               x134, x131);
583     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x137, &x138,
584                                                               x136, x132, x129);
585     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x139, &x140,
586                                                               x138, x130, x127);
587     x141 = (x140 + x128);
588     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x142, &x143, 0x0,
589                                                               x115, x133);
590     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x144, &x145,
591                                                               x143, x117, x135);
592     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x146, &x147,
593                                                               x145, x119, x137);
594     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x148, &x149,
595                                                               x147, x121, x139);
596     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x150, &x151,
597                                                               x149, x123, x141);
598     x152 = ((uint64_t)x151 + x124);
599     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x153, &x154, x3,
600                                                          (arg2[3]));
601     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x155, &x156, x3,
602                                                          (arg2[2]));
603     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x157, &x158, x3,
604                                                          (arg2[1]));
605     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x159, &x160, x3,
606                                                          (arg2[0]));
607     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x161, &x162, 0x0,
608                                                               x160, x157);
609     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x163, &x164,
610                                                               x162, x158, x155);
611     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x165, &x166,
612                                                               x164, x156, x153);
613     x167 = (x166 + x154);
614     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x168, &x169, 0x0,
615                                                               x144, x159);
616     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x170, &x171,
617                                                               x169, x146, x161);
618     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x172, &x173,
619                                                               x171, x148, x163);
620     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x174, &x175,
621                                                               x173, x150, x165);
622     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x176, &x177,
623                                                               x175, x152, x167);
624     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
625         &x178, &x179, x168, UINT64_C(0xdf6e6c2c727c176d));
626     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
627         &x180, &x181, x178, UINT64_C(0x9b9f605f5a858107));
628     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
629         &x182, &x183, x178, UINT64_C(0xab1ec85e6b41c8aa));
630     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
631         &x184, &x185, x178, UINT64_C(0xcf846e86789051d3));
632     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
633         &x186, &x187, x178, UINT64_C(0x7998f7b9022d759b));
634     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x188, &x189, 0x0,
635                                                               x187, x184);
636     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x190, &x191,
637                                                               x189, x185, x182);
638     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x192, &x193,
639                                                               x191, x183, x180);
640     x194 = (x193 + x181);
641     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x195, &x196, 0x0,
642                                                               x168, x186);
643     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x197, &x198,
644                                                               x196, x170, x188);
645     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x199, &x200,
646                                                               x198, x172, x190);
647     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x201, &x202,
648                                                               x200, x174, x192);
649     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x203, &x204,
650                                                               x202, x176, x194);
651     x205 = ((uint64_t)x204 + x177);
652     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
653         &x206, &x207, 0x0, x197, UINT64_C(0x7998f7b9022d759b));
654     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
655         &x208, &x209, x207, x199, UINT64_C(0xcf846e86789051d3));
656     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
657         &x210, &x211, x209, x201, UINT64_C(0xab1ec85e6b41c8aa));
658     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
659         &x212, &x213, x211, x203, UINT64_C(0x9b9f605f5a858107));
660     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x214, &x215,
661                                                                x213, x205, 0x0);
662     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x216, x215, x206,
663                                                             x197);
664     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x217, x215, x208,
665                                                             x199);
666     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x218, x215, x210,
667                                                             x201);
668     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x219, x215, x212,
669                                                             x203);
670     out1[0] = x216;
671     out1[1] = x217;
672     out1[2] = x218;
673     out1[3] = x219;
674 }
675
676 /*
677  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square squares a field element in the Montgomery domain.
678  * Preconditions:
679  *   0 ≤ eval arg1 < m
680  * Postconditions:
681  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
682  *   0 ≤ eval out1 < m
683  *
684  * Input Bounds:
685  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
686  * Output Bounds:
687  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
688  */
689 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(
690     uint64_t out1[4], const uint64_t arg1[4]) {
691     uint64_t x1;
692     uint64_t x2;
693     uint64_t x3;
694     uint64_t x4;
695     uint64_t x5;
696     uint64_t x6;
697     uint64_t x7;
698     uint64_t x8;
699     uint64_t x9;
700     uint64_t x10;
701     uint64_t x11;
702     uint64_t x12;
703     uint64_t x13;
704     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
705     uint64_t x15;
706     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
707     uint64_t x17;
708     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x18;
709     uint64_t x19;
710     uint64_t x20;
711     uint64_t x21;
712     uint64_t x22;
713     uint64_t x23;
714     uint64_t x24;
715     uint64_t x25;
716     uint64_t x26;
717     uint64_t x27;
718     uint64_t x28;
719     uint64_t x29;
720     uint64_t x30;
721     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
722     uint64_t x32;
723     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
724     uint64_t x34;
725     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x35;
726     uint64_t x36;
727     uint64_t x37;
728     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
729     uint64_t x39;
730     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x40;
731     uint64_t x41;
732     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x42;
733     uint64_t x43;
734     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x44;
735     uint64_t x45;
736     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x46;
737     uint64_t x47;
738     uint64_t x48;
739     uint64_t x49;
740     uint64_t x50;
741     uint64_t x51;
742     uint64_t x52;
743     uint64_t x53;
744     uint64_t x54;
745     uint64_t x55;
746     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x56;
747     uint64_t x57;
748     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x58;
749     uint64_t x59;
750     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x60;
751     uint64_t x61;
752     uint64_t x62;
753     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
754     uint64_t x64;
755     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
756     uint64_t x66;
757     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
758     uint64_t x68;
759     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
760     uint64_t x70;
761     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x71;
762     uint64_t x72;
763     uint64_t x73;
764     uint64_t x74;
765     uint64_t x75;
766     uint64_t x76;
767     uint64_t x77;
768     uint64_t x78;
769     uint64_t x79;
770     uint64_t x80;
771     uint64_t x81;
772     uint64_t x82;
773     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x83;
774     uint64_t x84;
775     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x85;
776     uint64_t x86;
777     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x87;
778     uint64_t x88;
779     uint64_t x89;
780     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
781     uint64_t x91;
782     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x92;
783     uint64_t x93;
784     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x94;
785     uint64_t x95;
786     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x96;
787     uint64_t x97;
788     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x98;
789     uint64_t x99;
790     uint64_t x100;
791     uint64_t x101;
792     uint64_t x102;
793     uint64_t x103;
794     uint64_t x104;
795     uint64_t x105;
796     uint64_t x106;
797     uint64_t x107;
798     uint64_t x108;
799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x109;
800     uint64_t x110;
801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x111;
802     uint64_t x112;
803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x113;
804     uint64_t x114;
805     uint64_t x115;
806     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
807     uint64_t x117;
808     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
809     uint64_t x119;
810     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
811     uint64_t x121;
812     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x122;
813     uint64_t x123;
814     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x124;
815     uint64_t x125;
816     uint64_t x126;
817     uint64_t x127;
818     uint64_t x128;
819     uint64_t x129;
820     uint64_t x130;
821     uint64_t x131;
822     uint64_t x132;
823     uint64_t x133;
824     uint64_t x134;
825     uint64_t x135;
826     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x136;
827     uint64_t x137;
828     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x138;
829     uint64_t x139;
830     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x140;
831     uint64_t x141;
832     uint64_t x142;
833     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x143;
834     uint64_t x144;
835     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x145;
836     uint64_t x146;
837     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x147;
838     uint64_t x148;
839     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x149;
840     uint64_t x150;
841     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x151;
842     uint64_t x152;
843     uint64_t x153;
844     uint64_t x154;
845     uint64_t x155;
846     uint64_t x156;
847     uint64_t x157;
848     uint64_t x158;
849     uint64_t x159;
850     uint64_t x160;
851     uint64_t x161;
852     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x162;
853     uint64_t x163;
854     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x164;
855     uint64_t x165;
856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x166;
857     uint64_t x167;
858     uint64_t x168;
859     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
860     uint64_t x170;
861     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
862     uint64_t x172;
863     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x173;
864     uint64_t x174;
865     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x175;
866     uint64_t x176;
867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x177;
868     uint64_t x178;
869     uint64_t x179;
870     uint64_t x180;
871     uint64_t x181;
872     uint64_t x182;
873     uint64_t x183;
874     uint64_t x184;
875     uint64_t x185;
876     uint64_t x186;
877     uint64_t x187;
878     uint64_t x188;
879     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x189;
880     uint64_t x190;
881     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x191;
882     uint64_t x192;
883     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x193;
884     uint64_t x194;
885     uint64_t x195;
886     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x196;
887     uint64_t x197;
888     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x198;
889     uint64_t x199;
890     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x200;
891     uint64_t x201;
892     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x202;
893     uint64_t x203;
894     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x204;
895     uint64_t x205;
896     uint64_t x206;
897     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x207;
898     uint64_t x208;
899     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
900     uint64_t x210;
901     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
902     uint64_t x212;
903     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
904     uint64_t x214;
905     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
906     uint64_t x216;
907     uint64_t x217;
908     uint64_t x218;
909     uint64_t x219;
910     x1 = (arg1[1]);
911     x2 = (arg1[2]);
912     x3 = (arg1[3]);
913     x4 = (arg1[0]);
914     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x5, &x6, x4,
915                                                          (arg1[3]));
916     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x7, &x8, x4,
917                                                          (arg1[2]));
918     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x9, &x10, x4,
919                                                          (arg1[1]));
920     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x11, &x12, x4,
921                                                          (arg1[0]));
922     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x13, &x14, 0x0,
923                                                               x12, x9);
924     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x15, &x16, x14,
925                                                               x10, x7);
926     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x17, &x18, x16,
927                                                               x8, x5);
928     x19 = (x18 + x6);
929     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
930         &x20, &x21, x11, UINT64_C(0xdf6e6c2c727c176d));
931     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
932         &x22, &x23, x20, UINT64_C(0x9b9f605f5a858107));
933     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
934         &x24, &x25, x20, UINT64_C(0xab1ec85e6b41c8aa));
935     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
936         &x26, &x27, x20, UINT64_C(0xcf846e86789051d3));
937     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
938         &x28, &x29, x20, UINT64_C(0x7998f7b9022d759b));
939     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x30, &x31, 0x0,
940                                                               x29, x26);
941     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x32, &x33, x31,
942                                                               x27, x24);
943     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x34, &x35, x33,
944                                                               x25, x22);
945     x36 = (x35 + x23);
946     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x37, &x38, 0x0,
947                                                               x11, x28);
948     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x39, &x40, x38,
949                                                               x13, x30);
950     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x41, &x42, x40,
951                                                               x15, x32);
952     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x43, &x44, x42,
953                                                               x17, x34);
954     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x45, &x46, x44,
955                                                               x19, x36);
956     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x47, &x48, x1,
957                                                          (arg1[3]));
958     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x49, &x50, x1,
959                                                          (arg1[2]));
960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x51, &x52, x1,
961                                                          (arg1[1]));
962     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x53, &x54, x1,
963                                                          (arg1[0]));
964     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x55, &x56, 0x0,
965                                                               x54, x51);
966     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x57, &x58, x56,
967                                                               x52, x49);
968     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x59, &x60, x58,
969                                                               x50, x47);
970     x61 = (x60 + x48);
971     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x62, &x63, 0x0,
972                                                               x39, x53);
973     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x64, &x65, x63,
974                                                               x41, x55);
975     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x66, &x67, x65,
976                                                               x43, x57);
977     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x68, &x69, x67,
978                                                               x45, x59);
979     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x70, &x71, x69,
980                                                               x46, x61);
981     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
982         &x72, &x73, x62, UINT64_C(0xdf6e6c2c727c176d));
983     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
984         &x74, &x75, x72, UINT64_C(0x9b9f605f5a858107));
985     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
986         &x76, &x77, x72, UINT64_C(0xab1ec85e6b41c8aa));
987     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
988         &x78, &x79, x72, UINT64_C(0xcf846e86789051d3));
989     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
990         &x80, &x81, x72, UINT64_C(0x7998f7b9022d759b));
991     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x82, &x83, 0x0,
992                                                               x81, x78);
993     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x84, &x85, x83,
994                                                               x79, x76);
995     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x86, &x87, x85,
996                                                               x77, x74);
997     x88 = (x87 + x75);
998     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x89, &x90, 0x0,
999                                                               x62, x80);
1000     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x91, &x92, x90,
1001                                                               x64, x82);
1002     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x93, &x94, x92,
1003                                                               x66, x84);
1004     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x95, &x96, x94,
1005                                                               x68, x86);
1006     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x97, &x98, x96,
1007                                                               x70, x88);
1008     x99 = ((uint64_t)x98 + x71);
1009     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x100, &x101, x2,
1010                                                          (arg1[3]));
1011     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x102, &x103, x2,
1012                                                          (arg1[2]));
1013     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x104, &x105, x2,
1014                                                          (arg1[1]));
1015     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x106, &x107, x2,
1016                                                          (arg1[0]));
1017     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x108, &x109, 0x0,
1018                                                               x107, x104);
1019     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x110, &x111,
1020                                                               x109, x105, x102);
1021     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x112, &x113,
1022                                                               x111, x103, x100);
1023     x114 = (x113 + x101);
1024     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x115, &x116, 0x0,
1025                                                               x91, x106);
1026     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x117, &x118,
1027                                                               x116, x93, x108);
1028     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x119, &x120,
1029                                                               x118, x95, x110);
1030     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x121, &x122,
1031                                                               x120, x97, x112);
1032     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x123, &x124,
1033                                                               x122, x99, x114);
1034     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1035         &x125, &x126, x115, UINT64_C(0xdf6e6c2c727c176d));
1036     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1037         &x127, &x128, x125, UINT64_C(0x9b9f605f5a858107));
1038     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1039         &x129, &x130, x125, UINT64_C(0xab1ec85e6b41c8aa));
1040     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1041         &x131, &x132, x125, UINT64_C(0xcf846e86789051d3));
1042     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1043         &x133, &x134, x125, UINT64_C(0x7998f7b9022d759b));
1044     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x135, &x136, 0x0,
1045                                                               x134, x131);
1046     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x137, &x138,
1047                                                               x136, x132, x129);
1048     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x139, &x140,
1049                                                               x138, x130, x127);
1050     x141 = (x140 + x128);
1051     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x142, &x143, 0x0,
1052                                                               x115, x133);
1053     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x144, &x145,
1054                                                               x143, x117, x135);
1055     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x146, &x147,
1056                                                               x145, x119, x137);
1057     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x148, &x149,
1058                                                               x147, x121, x139);
1059     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x150, &x151,
1060                                                               x149, x123, x141);
1061     x152 = ((uint64_t)x151 + x124);
1062     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x153, &x154, x3,
1063                                                          (arg1[3]));
1064     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x155, &x156, x3,
1065                                                          (arg1[2]));
1066     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x157, &x158, x3,
1067                                                          (arg1[1]));
1068     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x159, &x160, x3,
1069                                                          (arg1[0]));
1070     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x161, &x162, 0x0,
1071                                                               x160, x157);
1072     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x163, &x164,
1073                                                               x162, x158, x155);
1074     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x165, &x166,
1075                                                               x164, x156, x153);
1076     x167 = (x166 + x154);
1077     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x168, &x169, 0x0,
1078                                                               x144, x159);
1079     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x170, &x171,
1080                                                               x169, x146, x161);
1081     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x172, &x173,
1082                                                               x171, x148, x163);
1083     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x174, &x175,
1084                                                               x173, x150, x165);
1085     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x176, &x177,
1086                                                               x175, x152, x167);
1087     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1088         &x178, &x179, x168, UINT64_C(0xdf6e6c2c727c176d));
1089     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1090         &x180, &x181, x178, UINT64_C(0x9b9f605f5a858107));
1091     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1092         &x182, &x183, x178, UINT64_C(0xab1ec85e6b41c8aa));
1093     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1094         &x184, &x185, x178, UINT64_C(0xcf846e86789051d3));
1095     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1096         &x186, &x187, x178, UINT64_C(0x7998f7b9022d759b));
1097     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x188, &x189, 0x0,
1098                                                               x187, x184);
1099     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x190, &x191,
1100                                                               x189, x185, x182);
1101     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x192, &x193,
1102                                                               x191, x183, x180);
1103     x194 = (x193 + x181);
1104     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x195, &x196, 0x0,
1105                                                               x168, x186);
1106     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x197, &x198,
1107                                                               x196, x170, x188);
1108     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x199, &x200,
1109                                                               x198, x172, x190);
1110     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x201, &x202,
1111                                                               x200, x174, x192);
1112     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x203, &x204,
1113                                                               x202, x176, x194);
1114     x205 = ((uint64_t)x204 + x177);
1115     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1116         &x206, &x207, 0x0, x197, UINT64_C(0x7998f7b9022d759b));
1117     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1118         &x208, &x209, x207, x199, UINT64_C(0xcf846e86789051d3));
1119     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1120         &x210, &x211, x209, x201, UINT64_C(0xab1ec85e6b41c8aa));
1121     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1122         &x212, &x213, x211, x203, UINT64_C(0x9b9f605f5a858107));
1123     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x214, &x215,
1124                                                                x213, x205, 0x0);
1125     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x216, x215, x206,
1126                                                             x197);
1127     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x217, x215, x208,
1128                                                             x199);
1129     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x218, x215, x210,
1130                                                             x201);
1131     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x219, x215, x212,
1132                                                             x203);
1133     out1[0] = x216;
1134     out1[1] = x217;
1135     out1[2] = x218;
1136     out1[3] = x219;
1137 }
1138
1139 /*
1140  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add adds two field elements in the Montgomery domain.
1141  * Preconditions:
1142  *   0 ≤ eval arg1 < m
1143  *   0 ≤ eval arg2 < m
1144  * Postconditions:
1145  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
1146  *   0 ≤ eval out1 < m
1147  *
1148  * Input Bounds:
1149  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1150  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1151  * Output Bounds:
1152  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1153  */
1154 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(
1155     uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
1156     uint64_t x1;
1157     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
1158     uint64_t x3;
1159     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
1160     uint64_t x5;
1161     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
1162     uint64_t x7;
1163     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
1164     uint64_t x9;
1165     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
1166     uint64_t x11;
1167     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
1168     uint64_t x13;
1169     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
1170     uint64_t x15;
1171     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
1172     uint64_t x17;
1173     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x18;
1174     uint64_t x19;
1175     uint64_t x20;
1176     uint64_t x21;
1177     uint64_t x22;
1178     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1179         &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
1180     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1181         &x3, &x4, x2, (arg1[1]), (arg2[1]));
1182     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1183         &x5, &x6, x4, (arg1[2]), (arg2[2]));
1184     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1185         &x7, &x8, x6, (arg1[3]), (arg2[3]));
1186     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1187         &x9, &x10, 0x0, x1, UINT64_C(0x7998f7b9022d759b));
1188     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1189         &x11, &x12, x10, x3, UINT64_C(0xcf846e86789051d3));
1190     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1191         &x13, &x14, x12, x5, UINT64_C(0xab1ec85e6b41c8aa));
1192     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1193         &x15, &x16, x14, x7, UINT64_C(0x9b9f605f5a858107));
1194     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x17, &x18, x16,
1195                                                                x8, 0x0);
1196     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x19, x18, x9, x1);
1197     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x20, x18, x11, x3);
1198     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x21, x18, x13, x5);
1199     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x22, x18, x15, x7);
1200     out1[0] = x19;
1201     out1[1] = x20;
1202     out1[2] = x21;
1203     out1[3] = x22;
1204 }
1205
1206 /*
1207  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub subtracts two field elements in the Montgomery domain.
1208  * Preconditions:
1209  *   0 ≤ eval arg1 < m
1210  *   0 ≤ eval arg2 < m
1211  * Postconditions:
1212  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
1213  *   0 ≤ eval out1 < m
1214  *
1215  * Input Bounds:
1216  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1217  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1218  * Output Bounds:
1219  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1220  */
1221 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(
1222     uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
1223     uint64_t x1;
1224     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
1225     uint64_t x3;
1226     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
1227     uint64_t x5;
1228     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
1229     uint64_t x7;
1230     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
1231     uint64_t x9;
1232     uint64_t x10;
1233     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x11;
1234     uint64_t x12;
1235     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x13;
1236     uint64_t x14;
1237     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x15;
1238     uint64_t x16;
1239     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x17;
1240     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1241         &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
1242     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1243         &x3, &x4, x2, (arg1[1]), (arg2[1]));
1244     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1245         &x5, &x6, x4, (arg1[2]), (arg2[2]));
1246     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1247         &x7, &x8, x6, (arg1[3]), (arg2[3]));
1248     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
1249         &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
1250     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1251         &x10, &x11, 0x0, x1, (x9 & UINT64_C(0x7998f7b9022d759b)));
1252     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1253         &x12, &x13, x11, x3, (x9 & UINT64_C(0xcf846e86789051d3)));
1254     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1255         &x14, &x15, x13, x5, (x9 & UINT64_C(0xab1ec85e6b41c8aa)));
1256     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1257         &x16, &x17, x15, x7, (x9 & UINT64_C(0x9b9f605f5a858107)));
1258     out1[0] = x10;
1259     out1[1] = x12;
1260     out1[2] = x14;
1261     out1[3] = x16;
1262 }
1263
1264 /*
1265  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp negates a field element in the Montgomery domain.
1266  * Preconditions:
1267  *   0 ≤ eval arg1 < m
1268  * Postconditions:
1269  *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
1270  *   0 ≤ eval out1 < m
1271  *
1272  * Input Bounds:
1273  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1274  * Output Bounds:
1275  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1276  */
1277 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(
1278     uint64_t out1[4], const uint64_t arg1[4]) {
1279     uint64_t x1;
1280     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
1281     uint64_t x3;
1282     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
1283     uint64_t x5;
1284     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
1285     uint64_t x7;
1286     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
1287     uint64_t x9;
1288     uint64_t x10;
1289     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x11;
1290     uint64_t x12;
1291     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x13;
1292     uint64_t x14;
1293     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x15;
1294     uint64_t x16;
1295     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x17;
1296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x1, &x2, 0x0,
1297                                                                0x0, (arg1[0]));
1298     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x3, &x4, x2,
1299                                                                0x0, (arg1[1]));
1300     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x5, &x6, x4,
1301                                                                0x0, (arg1[2]));
1302     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x7, &x8, x6,
1303                                                                0x0, (arg1[3]));
1304     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
1305         &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
1306     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1307         &x10, &x11, 0x0, x1, (x9 & UINT64_C(0x7998f7b9022d759b)));
1308     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1309         &x12, &x13, x11, x3, (x9 & UINT64_C(0xcf846e86789051d3)));
1310     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1311         &x14, &x15, x13, x5, (x9 & UINT64_C(0xab1ec85e6b41c8aa)));
1312     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1313         &x16, &x17, x15, x7, (x9 & UINT64_C(0x9b9f605f5a858107)));
1314     out1[0] = x10;
1315     out1[1] = x12;
1316     out1[2] = x14;
1317     out1[3] = x16;
1318 }
1319
1320 /*
1321  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery translates a field element out of the Montgomery domain.
1322  * Preconditions:
1323  *   0 ≤ eval arg1 < m
1324  * Postconditions:
1325  *   eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^4) mod m
1326  *   0 ≤ eval out1 < m
1327  *
1328  * Input Bounds:
1329  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1330  * Output Bounds:
1331  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1332  */
1333 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(
1334     uint64_t out1[4], const uint64_t arg1[4]) {
1335     uint64_t x1;
1336     uint64_t x2;
1337     uint64_t x3;
1338     uint64_t x4;
1339     uint64_t x5;
1340     uint64_t x6;
1341     uint64_t x7;
1342     uint64_t x8;
1343     uint64_t x9;
1344     uint64_t x10;
1345     uint64_t x11;
1346     uint64_t x12;
1347     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x13;
1348     uint64_t x14;
1349     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x15;
1350     uint64_t x16;
1351     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x17;
1352     uint64_t x18;
1353     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x19;
1354     uint64_t x20;
1355     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
1356     uint64_t x22;
1357     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
1358     uint64_t x24;
1359     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
1360     uint64_t x26;
1361     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
1362     uint64_t x28;
1363     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
1364     uint64_t x30;
1365     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
1366     uint64_t x32;
1367     uint64_t x33;
1368     uint64_t x34;
1369     uint64_t x35;
1370     uint64_t x36;
1371     uint64_t x37;
1372     uint64_t x38;
1373     uint64_t x39;
1374     uint64_t x40;
1375     uint64_t x41;
1376     uint64_t x42;
1377     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x43;
1378     uint64_t x44;
1379     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x45;
1380     uint64_t x46;
1381     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x47;
1382     uint64_t x48;
1383     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x49;
1384     uint64_t x50;
1385     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x51;
1386     uint64_t x52;
1387     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x53;
1388     uint64_t x54;
1389     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x55;
1390     uint64_t x56;
1391     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x57;
1392     uint64_t x58;
1393     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
1394     uint64_t x60;
1395     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
1396     uint64_t x62;
1397     uint64_t x63;
1398     uint64_t x64;
1399     uint64_t x65;
1400     uint64_t x66;
1401     uint64_t x67;
1402     uint64_t x68;
1403     uint64_t x69;
1404     uint64_t x70;
1405     uint64_t x71;
1406     uint64_t x72;
1407     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x73;
1408     uint64_t x74;
1409     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x75;
1410     uint64_t x76;
1411     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x77;
1412     uint64_t x78;
1413     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x79;
1414     uint64_t x80;
1415     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x81;
1416     uint64_t x82;
1417     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x83;
1418     uint64_t x84;
1419     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x85;
1420     uint64_t x86;
1421     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x87;
1422     uint64_t x88;
1423     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x89;
1424     uint64_t x90;
1425     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x91;
1426     uint64_t x92;
1427     uint64_t x93;
1428     uint64_t x94;
1429     uint64_t x95;
1430     uint64_t x96;
1431     uint64_t x97;
1432     uint64_t x98;
1433     uint64_t x99;
1434     uint64_t x100;
1435     uint64_t x101;
1436     uint64_t x102;
1437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x103;
1438     uint64_t x104;
1439     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x105;
1440     uint64_t x106;
1441     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x107;
1442     uint64_t x108;
1443     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x109;
1444     uint64_t x110;
1445     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x111;
1446     uint64_t x112;
1447     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x113;
1448     uint64_t x114;
1449     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x115;
1450     uint64_t x116;
1451     uint64_t x117;
1452     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
1453     uint64_t x119;
1454     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
1455     uint64_t x121;
1456     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x122;
1457     uint64_t x123;
1458     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x124;
1459     uint64_t x125;
1460     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x126;
1461     uint64_t x127;
1462     uint64_t x128;
1463     uint64_t x129;
1464     uint64_t x130;
1465     x1 = (arg1[0]);
1466     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1467         &x2, &x3, x1, UINT64_C(0xdf6e6c2c727c176d));
1468     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1469         &x4, &x5, x2, UINT64_C(0x9b9f605f5a858107));
1470     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1471         &x6, &x7, x2, UINT64_C(0xab1ec85e6b41c8aa));
1472     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1473         &x8, &x9, x2, UINT64_C(0xcf846e86789051d3));
1474     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1475         &x10, &x11, x2, UINT64_C(0x7998f7b9022d759b));
1476     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x12, &x13, 0x0,
1477                                                               x11, x8);
1478     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x14, &x15, x13,
1479                                                               x9, x6);
1480     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x16, &x17, x15,
1481                                                               x7, x4);
1482     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x18, &x19, 0x0,
1483                                                               x1, x10);
1484     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x20, &x21, x19,
1485                                                               0x0, x12);
1486     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x22, &x23, x21,
1487                                                               0x0, x14);
1488     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x24, &x25, x23,
1489                                                               0x0, x16);
1490     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x26, &x27, 0x0,
1491                                                               x20, (arg1[1]));
1492     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x28, &x29, x27,
1493                                                               x22, 0x0);
1494     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x30, &x31, x29,
1495                                                               x24, 0x0);
1496     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1497         &x32, &x33, x26, UINT64_C(0xdf6e6c2c727c176d));
1498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1499         &x34, &x35, x32, UINT64_C(0x9b9f605f5a858107));
1500     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1501         &x36, &x37, x32, UINT64_C(0xab1ec85e6b41c8aa));
1502     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1503         &x38, &x39, x32, UINT64_C(0xcf846e86789051d3));
1504     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1505         &x40, &x41, x32, UINT64_C(0x7998f7b9022d759b));
1506     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x42, &x43, 0x0,
1507                                                               x41, x38);
1508     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x44, &x45, x43,
1509                                                               x39, x36);
1510     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x46, &x47, x45,
1511                                                               x37, x34);
1512     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x48, &x49, 0x0,
1513                                                               x26, x40);
1514     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x50, &x51, x49,
1515                                                               x28, x42);
1516     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x52, &x53, x51,
1517                                                               x30, x44);
1518     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1519         &x54, &x55, x53, (x31 + (x25 + (x17 + x5))), x46);
1520     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x56, &x57, 0x0,
1521                                                               x50, (arg1[2]));
1522     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x58, &x59, x57,
1523                                                               x52, 0x0);
1524     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x60, &x61, x59,
1525                                                               x54, 0x0);
1526     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1527         &x62, &x63, x56, UINT64_C(0xdf6e6c2c727c176d));
1528     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1529         &x64, &x65, x62, UINT64_C(0x9b9f605f5a858107));
1530     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1531         &x66, &x67, x62, UINT64_C(0xab1ec85e6b41c8aa));
1532     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1533         &x68, &x69, x62, UINT64_C(0xcf846e86789051d3));
1534     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1535         &x70, &x71, x62, UINT64_C(0x7998f7b9022d759b));
1536     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x72, &x73, 0x0,
1537                                                               x71, x68);
1538     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x74, &x75, x73,
1539                                                               x69, x66);
1540     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x76, &x77, x75,
1541                                                               x67, x64);
1542     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x78, &x79, 0x0,
1543                                                               x56, x70);
1544     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x80, &x81, x79,
1545                                                               x58, x72);
1546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x82, &x83, x81,
1547                                                               x60, x74);
1548     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1549         &x84, &x85, x83, (x61 + (x55 + (x47 + x35))), x76);
1550     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x86, &x87, 0x0,
1551                                                               x80, (arg1[3]));
1552     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x88, &x89, x87,
1553                                                               x82, 0x0);
1554     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x90, &x91, x89,
1555                                                               x84, 0x0);
1556     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1557         &x92, &x93, x86, UINT64_C(0xdf6e6c2c727c176d));
1558     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1559         &x94, &x95, x92, UINT64_C(0x9b9f605f5a858107));
1560     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1561         &x96, &x97, x92, UINT64_C(0xab1ec85e6b41c8aa));
1562     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1563         &x98, &x99, x92, UINT64_C(0xcf846e86789051d3));
1564     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1565         &x100, &x101, x92, UINT64_C(0x7998f7b9022d759b));
1566     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x102, &x103, 0x0,
1567                                                               x101, x98);
1568     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x104, &x105,
1569                                                               x103, x99, x96);
1570     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x106, &x107,
1571                                                               x105, x97, x94);
1572     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x108, &x109, 0x0,
1573                                                               x86, x100);
1574     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x110, &x111,
1575                                                               x109, x88, x102);
1576     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x112, &x113,
1577                                                               x111, x90, x104);
1578     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1579         &x114, &x115, x113, (x91 + (x85 + (x77 + x65))), x106);
1580     x116 = (x115 + (x107 + x95));
1581     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1582         &x117, &x118, 0x0, x110, UINT64_C(0x7998f7b9022d759b));
1583     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1584         &x119, &x120, x118, x112, UINT64_C(0xcf846e86789051d3));
1585     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1586         &x121, &x122, x120, x114, UINT64_C(0xab1ec85e6b41c8aa));
1587     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
1588         &x123, &x124, x122, x116, UINT64_C(0x9b9f605f5a858107));
1589     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x125, &x126,
1590                                                                x124, 0x0, 0x0);
1591     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x127, x126, x117,
1592                                                             x110);
1593     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x128, x126, x119,
1594                                                             x112);
1595     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x129, x126, x121,
1596                                                             x114);
1597     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x130, x126, x123,
1598                                                             x116);
1599     out1[0] = x127;
1600     out1[1] = x128;
1601     out1[2] = x129;
1602     out1[3] = x130;
1603 }
1604
1605 /*
1606  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery translates a field element into the Montgomery domain.
1607  * Preconditions:
1608  *   0 ≤ eval arg1 < m
1609  * Postconditions:
1610  *   eval (from_montgomery out1) mod m = eval arg1 mod m
1611  *   0 ≤ eval out1 < m
1612  *
1613  * Input Bounds:
1614  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1615  * Output Bounds:
1616  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1617  */
1618 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(
1619     uint64_t out1[4], const uint64_t arg1[4]) {
1620     uint64_t x1;
1621     uint64_t x2;
1622     uint64_t x3;
1623     uint64_t x4;
1624     uint64_t x5;
1625     uint64_t x6;
1626     uint64_t x7;
1627     uint64_t x8;
1628     uint64_t x9;
1629     uint64_t x10;
1630     uint64_t x11;
1631     uint64_t x12;
1632     uint64_t x13;
1633     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
1634     uint64_t x15;
1635     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
1636     uint64_t x17;
1637     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x18;
1638     uint64_t x19;
1639     uint64_t x20;
1640     uint64_t x21;
1641     uint64_t x22;
1642     uint64_t x23;
1643     uint64_t x24;
1644     uint64_t x25;
1645     uint64_t x26;
1646     uint64_t x27;
1647     uint64_t x28;
1648     uint64_t x29;
1649     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
1650     uint64_t x31;
1651     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
1652     uint64_t x33;
1653     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
1654     uint64_t x35;
1655     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
1656     uint64_t x37;
1657     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
1658     uint64_t x39;
1659     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x40;
1660     uint64_t x41;
1661     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x42;
1662     uint64_t x43;
1663     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x44;
1664     uint64_t x45;
1665     uint64_t x46;
1666     uint64_t x47;
1667     uint64_t x48;
1668     uint64_t x49;
1669     uint64_t x50;
1670     uint64_t x51;
1671     uint64_t x52;
1672     uint64_t x53;
1673     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x54;
1674     uint64_t x55;
1675     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x56;
1676     uint64_t x57;
1677     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x58;
1678     uint64_t x59;
1679     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x60;
1680     uint64_t x61;
1681     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x62;
1682     uint64_t x63;
1683     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x64;
1684     uint64_t x65;
1685     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x66;
1686     uint64_t x67;
1687     uint64_t x68;
1688     uint64_t x69;
1689     uint64_t x70;
1690     uint64_t x71;
1691     uint64_t x72;
1692     uint64_t x73;
1693     uint64_t x74;
1694     uint64_t x75;
1695     uint64_t x76;
1696     uint64_t x77;
1697     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
1698     uint64_t x79;
1699     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
1700     uint64_t x81;
1701     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
1702     uint64_t x83;
1703     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
1704     uint64_t x85;
1705     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
1706     uint64_t x87;
1707     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
1708     uint64_t x89;
1709     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
1710     uint64_t x91;
1711     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x92;
1712     uint64_t x93;
1713     uint64_t x94;
1714     uint64_t x95;
1715     uint64_t x96;
1716     uint64_t x97;
1717     uint64_t x98;
1718     uint64_t x99;
1719     uint64_t x100;
1720     uint64_t x101;
1721     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x102;
1722     uint64_t x103;
1723     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x104;
1724     uint64_t x105;
1725     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x106;
1726     uint64_t x107;
1727     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
1728     uint64_t x109;
1729     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
1730     uint64_t x111;
1731     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
1732     uint64_t x113;
1733     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
1734     uint64_t x115;
1735     uint64_t x116;
1736     uint64_t x117;
1737     uint64_t x118;
1738     uint64_t x119;
1739     uint64_t x120;
1740     uint64_t x121;
1741     uint64_t x122;
1742     uint64_t x123;
1743     uint64_t x124;
1744     uint64_t x125;
1745     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x126;
1746     uint64_t x127;
1747     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x128;
1748     uint64_t x129;
1749     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x130;
1750     uint64_t x131;
1751     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x132;
1752     uint64_t x133;
1753     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x134;
1754     uint64_t x135;
1755     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x136;
1756     uint64_t x137;
1757     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x138;
1758     uint64_t x139;
1759     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x140;
1760     uint64_t x141;
1761     uint64_t x142;
1762     uint64_t x143;
1763     uint64_t x144;
1764     uint64_t x145;
1765     uint64_t x146;
1766     uint64_t x147;
1767     uint64_t x148;
1768     uint64_t x149;
1769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x150;
1770     uint64_t x151;
1771     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x152;
1772     uint64_t x153;
1773     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x154;
1774     uint64_t x155;
1775     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x156;
1776     uint64_t x157;
1777     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x158;
1778     uint64_t x159;
1779     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x160;
1780     uint64_t x161;
1781     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x162;
1782     uint64_t x163;
1783     uint64_t x164;
1784     uint64_t x165;
1785     uint64_t x166;
1786     uint64_t x167;
1787     uint64_t x168;
1788     uint64_t x169;
1789     uint64_t x170;
1790     uint64_t x171;
1791     uint64_t x172;
1792     uint64_t x173;
1793     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
1794     uint64_t x175;
1795     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
1796     uint64_t x177;
1797     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
1798     uint64_t x179;
1799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
1800     uint64_t x181;
1801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
1802     uint64_t x183;
1803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
1804     uint64_t x185;
1805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x186;
1806     uint64_t x187;
1807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x188;
1808     uint64_t x189;
1809     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x190;
1810     uint64_t x191;
1811     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x192;
1812     uint64_t x193;
1813     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x194;
1814     uint64_t x195;
1815     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x196;
1816     uint64_t x197;
1817     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x198;
1818     uint64_t x199;
1819     uint64_t x200;
1820     uint64_t x201;
1821     uint64_t x202;
1822     x1 = (arg1[1]);
1823     x2 = (arg1[2]);
1824     x3 = (arg1[3]);
1825     x4 = (arg1[0]);
1826     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1827         &x5, &x6, x4, UINT64_C(0x807a394ede097652));
1828     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1829         &x7, &x8, x4, UINT64_C(0x186304212849c07b));
1830     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1831         &x9, &x10, x4, UINT64_C(0x1017bb39c2d346c5));
1832     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1833         &x11, &x12, x4, UINT64_C(0x409973b4c427fcea));
1834     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x13, &x14, 0x0,
1835                                                               x12, x9);
1836     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x15, &x16, x14,
1837                                                               x10, x7);
1838     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x17, &x18, x16,
1839                                                               x8, x5);
1840     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1841         &x19, &x20, x11, UINT64_C(0xdf6e6c2c727c176d));
1842     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1843         &x21, &x22, x19, UINT64_C(0x9b9f605f5a858107));
1844     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1845         &x23, &x24, x19, UINT64_C(0xab1ec85e6b41c8aa));
1846     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1847         &x25, &x26, x19, UINT64_C(0xcf846e86789051d3));
1848     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1849         &x27, &x28, x19, UINT64_C(0x7998f7b9022d759b));
1850     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x29, &x30, 0x0,
1851                                                               x28, x25);
1852     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x31, &x32, x30,
1853                                                               x26, x23);
1854     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x33, &x34, x32,
1855                                                               x24, x21);
1856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x35, &x36, 0x0,
1857                                                               x11, x27);
1858     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x37, &x38, x36,
1859                                                               x13, x29);
1860     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x39, &x40, x38,
1861                                                               x15, x31);
1862     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x41, &x42, x40,
1863                                                               x17, x33);
1864     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1865         &x43, &x44, x42, (x18 + x6), (x34 + x22));
1866     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1867         &x45, &x46, x1, UINT64_C(0x807a394ede097652));
1868     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1869         &x47, &x48, x1, UINT64_C(0x186304212849c07b));
1870     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1871         &x49, &x50, x1, UINT64_C(0x1017bb39c2d346c5));
1872     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1873         &x51, &x52, x1, UINT64_C(0x409973b4c427fcea));
1874     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x53, &x54, 0x0,
1875                                                               x52, x49);
1876     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x55, &x56, x54,
1877                                                               x50, x47);
1878     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x57, &x58, x56,
1879                                                               x48, x45);
1880     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x59, &x60, 0x0,
1881                                                               x37, x51);
1882     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x61, &x62, x60,
1883                                                               x39, x53);
1884     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x63, &x64, x62,
1885                                                               x41, x55);
1886     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x65, &x66, x64,
1887                                                               x43, x57);
1888     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1889         &x67, &x68, x59, UINT64_C(0xdf6e6c2c727c176d));
1890     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1891         &x69, &x70, x67, UINT64_C(0x9b9f605f5a858107));
1892     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1893         &x71, &x72, x67, UINT64_C(0xab1ec85e6b41c8aa));
1894     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1895         &x73, &x74, x67, UINT64_C(0xcf846e86789051d3));
1896     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1897         &x75, &x76, x67, UINT64_C(0x7998f7b9022d759b));
1898     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x77, &x78, 0x0,
1899                                                               x76, x73);
1900     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x79, &x80, x78,
1901                                                               x74, x71);
1902     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x81, &x82, x80,
1903                                                               x72, x69);
1904     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x83, &x84, 0x0,
1905                                                               x59, x75);
1906     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x85, &x86, x84,
1907                                                               x61, x77);
1908     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x87, &x88, x86,
1909                                                               x63, x79);
1910     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x89, &x90, x88,
1911                                                               x65, x81);
1912     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1913         &x91, &x92, x90, (((uint64_t)x66 + x44) + (x58 + x46)), (x82 + x70));
1914     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1915         &x93, &x94, x2, UINT64_C(0x807a394ede097652));
1916     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1917         &x95, &x96, x2, UINT64_C(0x186304212849c07b));
1918     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1919         &x97, &x98, x2, UINT64_C(0x1017bb39c2d346c5));
1920     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1921         &x99, &x100, x2, UINT64_C(0x409973b4c427fcea));
1922     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x101, &x102, 0x0,
1923                                                               x100, x97);
1924     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x103, &x104,
1925                                                               x102, x98, x95);
1926     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x105, &x106,
1927                                                               x104, x96, x93);
1928     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x107, &x108, 0x0,
1929                                                               x85, x99);
1930     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x109, &x110,
1931                                                               x108, x87, x101);
1932     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x111, &x112,
1933                                                               x110, x89, x103);
1934     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x113, &x114,
1935                                                               x112, x91, x105);
1936     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1937         &x115, &x116, x107, UINT64_C(0xdf6e6c2c727c176d));
1938     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1939         &x117, &x118, x115, UINT64_C(0x9b9f605f5a858107));
1940     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1941         &x119, &x120, x115, UINT64_C(0xab1ec85e6b41c8aa));
1942     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1943         &x121, &x122, x115, UINT64_C(0xcf846e86789051d3));
1944     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1945         &x123, &x124, x115, UINT64_C(0x7998f7b9022d759b));
1946     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x125, &x126, 0x0,
1947                                                               x124, x121);
1948     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x127, &x128,
1949                                                               x126, x122, x119);
1950     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x129, &x130,
1951                                                               x128, x120, x117);
1952     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x131, &x132, 0x0,
1953                                                               x107, x123);
1954     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x133, &x134,
1955                                                               x132, x109, x125);
1956     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x135, &x136,
1957                                                               x134, x111, x127);
1958     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x137, &x138,
1959                                                               x136, x113, x129);
1960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
1961         &x139, &x140, x138, (((uint64_t)x114 + x92) + (x106 + x94)),
1962         (x130 + x118));
1963     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1964         &x141, &x142, x3, UINT64_C(0x807a394ede097652));
1965     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1966         &x143, &x144, x3, UINT64_C(0x186304212849c07b));
1967     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1968         &x145, &x146, x3, UINT64_C(0x1017bb39c2d346c5));
1969     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1970         &x147, &x148, x3, UINT64_C(0x409973b4c427fcea));
1971     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x149, &x150, 0x0,
1972                                                               x148, x145);
1973     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x151, &x152,
1974                                                               x150, x146, x143);
1975     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x153, &x154,
1976                                                               x152, x144, x141);
1977     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x155, &x156, 0x0,
1978                                                               x133, x147);
1979     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x157, &x158,
1980                                                               x156, x135, x149);
1981     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x159, &x160,
1982                                                               x158, x137, x151);
1983     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x161, &x162,
1984                                                               x160, x139, x153);
1985     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1986         &x163, &x164, x155, UINT64_C(0xdf6e6c2c727c176d));
1987     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1988         &x165, &x166, x163, UINT64_C(0x9b9f605f5a858107));
1989     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1990         &x167, &x168, x163, UINT64_C(0xab1ec85e6b41c8aa));
1991     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1992         &x169, &x170, x163, UINT64_C(0xcf846e86789051d3));
1993     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
1994         &x171, &x172, x163, UINT64_C(0x7998f7b9022d759b));
1995     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x173, &x174, 0x0,
1996                                                               x172, x169);
1997     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x175, &x176,
1998                                                               x174, x170, x167);
1999     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x177, &x178,
2000                                                               x176, x168, x165);
2001     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x179, &x180, 0x0,
2002                                                               x155, x171);
2003     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x181, &x182,
2004                                                               x180, x157, x173);
2005     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x183, &x184,
2006                                                               x182, x159, x175);
2007     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x185, &x186,
2008                                                               x184, x161, x177);
2009     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
2010         &x187, &x188, x186, (((uint64_t)x162 + x140) + (x154 + x142)),
2011         (x178 + x166));
2012     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
2013         &x189, &x190, 0x0, x181, UINT64_C(0x7998f7b9022d759b));
2014     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
2015         &x191, &x192, x190, x183, UINT64_C(0xcf846e86789051d3));
2016     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
2017         &x193, &x194, x192, x185, UINT64_C(0xab1ec85e6b41c8aa));
2018     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
2019         &x195, &x196, x194, x187, UINT64_C(0x9b9f605f5a858107));
2020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x197, &x198,
2021                                                                x196, x188, 0x0);
2022     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x199, x198, x189,
2023                                                             x181);
2024     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x200, x198, x191,
2025                                                             x183);
2026     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x201, x198, x193,
2027                                                             x185);
2028     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x202, x198, x195,
2029                                                             x187);
2030     out1[0] = x199;
2031     out1[1] = x200;
2032     out1[2] = x201;
2033     out1[3] = x202;
2034 }
2035
2036 /*
2037  * 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.
2038  * Preconditions:
2039  *   0 ≤ eval arg1 < m
2040  * Postconditions:
2041  *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
2042  *
2043  * Input Bounds:
2044  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
2045  * Output Bounds:
2046  *   out1: [0x0 ~> 0xffffffffffffffff]
2047  */
2048 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(
2049     uint64_t *out1, const uint64_t arg1[4]) {
2050     uint64_t x1;
2051     x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | (uint64_t)0x0))));
2052     *out1 = x1;
2053 }
2054
2055 /*
2056  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz is a multi-limb conditional select.
2057  * Postconditions:
2058  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
2059  *
2060  * Input Bounds:
2061  *   arg1: [0x0 ~> 0x1]
2062  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
2063  *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
2064  * Output Bounds:
2065  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
2066  */
2067 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
2068     uint64_t out1[4], fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
2069     const uint64_t arg2[4], const uint64_t arg3[4]) {
2070     uint64_t x1;
2071     uint64_t x2;
2072     uint64_t x3;
2073     uint64_t x4;
2074     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
2075         &x1, arg1, (arg2[0]), (arg3[0]));
2076     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
2077         &x2, arg1, (arg2[1]), (arg3[1]));
2078     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
2079         &x3, arg1, (arg2[2]), (arg3[2]));
2080     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
2081         &x4, arg1, (arg2[3]), (arg3[3]));
2082     out1[0] = x1;
2083     out1[1] = x2;
2084     out1[2] = x3;
2085     out1[3] = x4;
2086 }
2087
2088 /*
2089  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
2090  * Preconditions:
2091  *   0 ≤ eval arg1 < m
2092  * Postconditions:
2093  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
2094  *
2095  * Input Bounds:
2096  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
2097  * Output Bounds:
2098  *   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]]
2099  */
2100 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(
2101     uint8_t out1[32], const uint64_t arg1[4]) {
2102     uint64_t x1;
2103     uint64_t x2;
2104     uint64_t x3;
2105     uint64_t x4;
2106     uint64_t x5;
2107     uint8_t x6;
2108     uint64_t x7;
2109     uint8_t x8;
2110     uint64_t x9;
2111     uint8_t x10;
2112     uint64_t x11;
2113     uint8_t x12;
2114     uint64_t x13;
2115     uint8_t x14;
2116     uint64_t x15;
2117     uint8_t x16;
2118     uint8_t x17;
2119     uint8_t x18;
2120     uint8_t x19;
2121     uint64_t x20;
2122     uint8_t x21;
2123     uint64_t x22;
2124     uint8_t x23;
2125     uint64_t x24;
2126     uint8_t x25;
2127     uint64_t x26;
2128     uint8_t x27;
2129     uint64_t x28;
2130     uint8_t x29;
2131     uint64_t x30;
2132     uint8_t x31;
2133     uint8_t x32;
2134     uint8_t x33;
2135     uint8_t x34;
2136     uint64_t x35;
2137     uint8_t x36;
2138     uint64_t x37;
2139     uint8_t x38;
2140     uint64_t x39;
2141     uint8_t x40;
2142     uint64_t x41;
2143     uint8_t x42;
2144     uint64_t x43;
2145     uint8_t x44;
2146     uint64_t x45;
2147     uint8_t x46;
2148     uint8_t x47;
2149     uint8_t x48;
2150     uint8_t x49;
2151     uint64_t x50;
2152     uint8_t x51;
2153     uint64_t x52;
2154     uint8_t x53;
2155     uint64_t x54;
2156     uint8_t x55;
2157     uint64_t x56;
2158     uint8_t x57;
2159     uint64_t x58;
2160     uint8_t x59;
2161     uint64_t x60;
2162     uint8_t x61;
2163     uint8_t x62;
2164     uint8_t x63;
2165     x1 = (arg1[3]);
2166     x2 = (arg1[2]);
2167     x3 = (arg1[1]);
2168     x4 = (arg1[0]);
2169     x5 = (x4 >> 8);
2170     x6 = (uint8_t)(x4 & UINT8_C(0xff));
2171     x7 = (x5 >> 8);
2172     x8 = (uint8_t)(x5 & UINT8_C(0xff));
2173     x9 = (x7 >> 8);
2174     x10 = (uint8_t)(x7 & UINT8_C(0xff));
2175     x11 = (x9 >> 8);
2176     x12 = (uint8_t)(x9 & UINT8_C(0xff));
2177     x13 = (x11 >> 8);
2178     x14 = (uint8_t)(x11 & UINT8_C(0xff));
2179     x15 = (x13 >> 8);
2180     x16 = (uint8_t)(x13 & UINT8_C(0xff));
2181     x17 = (uint8_t)(x15 >> 8);
2182     x18 = (uint8_t)(x15 & UINT8_C(0xff));
2183     x19 = (uint8_t)(x17 & UINT8_C(0xff));
2184     x20 = (x3 >> 8);
2185     x21 = (uint8_t)(x3 & UINT8_C(0xff));
2186     x22 = (x20 >> 8);
2187     x23 = (uint8_t)(x20 & UINT8_C(0xff));
2188     x24 = (x22 >> 8);
2189     x25 = (uint8_t)(x22 & UINT8_C(0xff));
2190     x26 = (x24 >> 8);
2191     x27 = (uint8_t)(x24 & UINT8_C(0xff));
2192     x28 = (x26 >> 8);
2193     x29 = (uint8_t)(x26 & UINT8_C(0xff));
2194     x30 = (x28 >> 8);
2195     x31 = (uint8_t)(x28 & UINT8_C(0xff));
2196     x32 = (uint8_t)(x30 >> 8);
2197     x33 = (uint8_t)(x30 & UINT8_C(0xff));
2198     x34 = (uint8_t)(x32 & UINT8_C(0xff));
2199     x35 = (x2 >> 8);
2200     x36 = (uint8_t)(x2 & UINT8_C(0xff));
2201     x37 = (x35 >> 8);
2202     x38 = (uint8_t)(x35 & UINT8_C(0xff));
2203     x39 = (x37 >> 8);
2204     x40 = (uint8_t)(x37 & UINT8_C(0xff));
2205     x41 = (x39 >> 8);
2206     x42 = (uint8_t)(x39 & UINT8_C(0xff));
2207     x43 = (x41 >> 8);
2208     x44 = (uint8_t)(x41 & UINT8_C(0xff));
2209     x45 = (x43 >> 8);
2210     x46 = (uint8_t)(x43 & UINT8_C(0xff));
2211     x47 = (uint8_t)(x45 >> 8);
2212     x48 = (uint8_t)(x45 & UINT8_C(0xff));
2213     x49 = (uint8_t)(x47 & UINT8_C(0xff));
2214     x50 = (x1 >> 8);
2215     x51 = (uint8_t)(x1 & UINT8_C(0xff));
2216     x52 = (x50 >> 8);
2217     x53 = (uint8_t)(x50 & UINT8_C(0xff));
2218     x54 = (x52 >> 8);
2219     x55 = (uint8_t)(x52 & UINT8_C(0xff));
2220     x56 = (x54 >> 8);
2221     x57 = (uint8_t)(x54 & UINT8_C(0xff));
2222     x58 = (x56 >> 8);
2223     x59 = (uint8_t)(x56 & UINT8_C(0xff));
2224     x60 = (x58 >> 8);
2225     x61 = (uint8_t)(x58 & UINT8_C(0xff));
2226     x62 = (uint8_t)(x60 >> 8);
2227     x63 = (uint8_t)(x60 & UINT8_C(0xff));
2228     out1[0] = x6;
2229     out1[1] = x8;
2230     out1[2] = x10;
2231     out1[3] = x12;
2232     out1[4] = x14;
2233     out1[5] = x16;
2234     out1[6] = x18;
2235     out1[7] = x19;
2236     out1[8] = x21;
2237     out1[9] = x23;
2238     out1[10] = x25;
2239     out1[11] = x27;
2240     out1[12] = x29;
2241     out1[13] = x31;
2242     out1[14] = x33;
2243     out1[15] = x34;
2244     out1[16] = x36;
2245     out1[17] = x38;
2246     out1[18] = x40;
2247     out1[19] = x42;
2248     out1[20] = x44;
2249     out1[21] = x46;
2250     out1[22] = x48;
2251     out1[23] = x49;
2252     out1[24] = x51;
2253     out1[25] = x53;
2254     out1[26] = x55;
2255     out1[27] = x57;
2256     out1[28] = x59;
2257     out1[29] = x61;
2258     out1[30] = x63;
2259     out1[31] = x62;
2260 }
2261
2262 /*
2263  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
2264  * Preconditions:
2265  *   0 ≤ bytes_eval arg1 < m
2266  * Postconditions:
2267  *   eval out1 mod m = bytes_eval arg1 mod m
2268  *   0 ≤ eval out1 < m
2269  *
2270  * Input Bounds:
2271  *   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]]
2272  * Output Bounds:
2273  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
2274  */
2275 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(
2276     uint64_t out1[4], const uint8_t arg1[32]) {
2277     uint64_t x1;
2278     uint64_t x2;
2279     uint64_t x3;
2280     uint64_t x4;
2281     uint64_t x5;
2282     uint64_t x6;
2283     uint64_t x7;
2284     uint8_t x8;
2285     uint64_t x9;
2286     uint64_t x10;
2287     uint64_t x11;
2288     uint64_t x12;
2289     uint64_t x13;
2290     uint64_t x14;
2291     uint64_t x15;
2292     uint8_t x16;
2293     uint64_t x17;
2294     uint64_t x18;
2295     uint64_t x19;
2296     uint64_t x20;
2297     uint64_t x21;
2298     uint64_t x22;
2299     uint64_t x23;
2300     uint8_t x24;
2301     uint64_t x25;
2302     uint64_t x26;
2303     uint64_t x27;
2304     uint64_t x28;
2305     uint64_t x29;
2306     uint64_t x30;
2307     uint64_t x31;
2308     uint8_t x32;
2309     uint64_t x33;
2310     uint64_t x34;
2311     uint64_t x35;
2312     uint64_t x36;
2313     uint64_t x37;
2314     uint64_t x38;
2315     uint64_t x39;
2316     x1 = ((uint64_t)(arg1[31]) << 56);
2317     x2 = ((uint64_t)(arg1[30]) << 48);
2318     x3 = ((uint64_t)(arg1[29]) << 40);
2319     x4 = ((uint64_t)(arg1[28]) << 32);
2320     x5 = ((uint64_t)(arg1[27]) << 24);
2321     x6 = ((uint64_t)(arg1[26]) << 16);
2322     x7 = ((uint64_t)(arg1[25]) << 8);
2323     x8 = (arg1[24]);
2324     x9 = ((uint64_t)(arg1[23]) << 56);
2325     x10 = ((uint64_t)(arg1[22]) << 48);
2326     x11 = ((uint64_t)(arg1[21]) << 40);
2327     x12 = ((uint64_t)(arg1[20]) << 32);
2328     x13 = ((uint64_t)(arg1[19]) << 24);
2329     x14 = ((uint64_t)(arg1[18]) << 16);
2330     x15 = ((uint64_t)(arg1[17]) << 8);
2331     x16 = (arg1[16]);
2332     x17 = ((uint64_t)(arg1[15]) << 56);
2333     x18 = ((uint64_t)(arg1[14]) << 48);
2334     x19 = ((uint64_t)(arg1[13]) << 40);
2335     x20 = ((uint64_t)(arg1[12]) << 32);
2336     x21 = ((uint64_t)(arg1[11]) << 24);
2337     x22 = ((uint64_t)(arg1[10]) << 16);
2338     x23 = ((uint64_t)(arg1[9]) << 8);
2339     x24 = (arg1[8]);
2340     x25 = ((uint64_t)(arg1[7]) << 56);
2341     x26 = ((uint64_t)(arg1[6]) << 48);
2342     x27 = ((uint64_t)(arg1[5]) << 40);
2343     x28 = ((uint64_t)(arg1[4]) << 32);
2344     x29 = ((uint64_t)(arg1[3]) << 24);
2345     x30 = ((uint64_t)(arg1[2]) << 16);
2346     x31 = ((uint64_t)(arg1[1]) << 8);
2347     x32 = (arg1[0]);
2348     x33 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + (x26 + x25)))))));
2349     x34 = (x33 & UINT64_C(0xffffffffffffffff));
2350     x35 = (x8 + (x7 + (x6 + (x5 + (x4 + (x3 + (x2 + x1)))))));
2351     x36 = (x16 + (x15 + (x14 + (x13 + (x12 + (x11 + (x10 + x9)))))));
2352     x37 = (x24 + (x23 + (x22 + (x21 + (x20 + (x19 + (x18 + x17)))))));
2353     x38 = (x37 & UINT64_C(0xffffffffffffffff));
2354     x39 = (x36 & UINT64_C(0xffffffffffffffff));
2355     out1[0] = x34;
2356     out1[1] = x38;
2357     out1[2] = x39;
2358     out1[3] = x35;
2359 }
2360
2361 /* END verbatim fiat code */
2362
2363 /*-
2364  * Finite field inversion via FLT.
2365  * NB: this is not a real Fiat function, just named that way for consistency.
2366  * Autogenerated: ecp/id_GostR3410_2001_CryptoPro_C_ParamSet/fe_inv.op3
2367  * sliding window w=5
2368  */
2369 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(fe_t output,
2370                                                             const fe_t t1) {
2371     int i;
2372     /* temporary variables */
2373     fe_t acc, t11, t13, t15, t17, t19, t21, t23, t25, t27, t29, t3, t31, t5, t7,
2374         t9;
2375
2376     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t1);
2377     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t1, acc);
2378     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t5, t3, acc);
2379     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t7, t5, acc);
2380     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t9, t7, acc);
2381     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t11, t9, acc);
2382     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t13, t11, acc);
2383     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t15, t13, acc);
2384     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t17, t15, acc);
2385     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t19, t17, acc);
2386     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t21, t19, acc);
2387     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t23, t21, acc);
2388     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t25, t23, acc);
2389     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t27, t25, acc);
2390     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t29, t27, acc);
2391     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t31, t29, acc);
2392     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t9);
2393     for (i = 0; i < 4; i++)
2394         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2395     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
2396     for (i = 0; i < 5; i++)
2397         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
2399     for (i = 0; i < 5; i++)
2400         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2401     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t27);
2402     for (i = 0; i < 7; i++)
2403         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2405     for (i = 0; i < 5; i++)
2406         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2407     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
2408     for (i = 0; i < 5; i++)
2409         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
2411     for (i = 0; i < 5; i++)
2412         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2413     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
2414     for (i = 0; i < 8; i++)
2415         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2416     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
2417     for (i = 0; i < 7; i++)
2418         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2419     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2420     for (i = 0; i < 6; i++)
2421         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2422     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2423     for (i = 0; i < 5; i++)
2424         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2425     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
2426     for (i = 0; i < 5; i++)
2427         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2428     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
2429     for (i = 0; i < 7; i++)
2430         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2431     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
2432     for (i = 0; i < 6; i++)
2433         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
2435     for (i = 0; i < 5; i++)
2436         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2438     for (i = 0; i < 5; i++)
2439         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
2441     for (i = 0; i < 6; i++)
2442         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2443     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
2444     for (i = 0; i < 5; i++)
2445         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
2447     for (i = 0; i < 6; i++)
2448         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2449     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2450     for (i = 0; i < 5; i++)
2451         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2452     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
2453     for (i = 0; i < 8; i++)
2454         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2455     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
2456     for (i = 0; i < 5; i++)
2457         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2458     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
2459     for (i = 0; i < 7; i++)
2460         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2461     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t31);
2462     for (i = 0; i < 5; i++)
2463         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2464     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2465     for (i = 0; i < 5; i++)
2466         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2467     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
2468     for (i = 0; i < 6; i++)
2469         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2470     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
2471     for (i = 0; i < 6; i++)
2472         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2473     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
2474     for (i = 0; i < 6; i++)
2475         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2476     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
2477     for (i = 0; i < 7; i++)
2478         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2479     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t9);
2480     for (i = 0; i < 8; i++)
2481         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2482     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t5);
2483     for (i = 0; i < 6; i++)
2484         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
2486     for (i = 0; i < 6; i++)
2487         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2488     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t19);
2489     for (i = 0; i < 5; i++)
2490         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
2492     for (i = 0; i < 7; i++)
2493         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2494     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
2495     for (i = 0; i < 5; i++)
2496         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t17);
2498     for (i = 0; i < 5; i++)
2499         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2500     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
2501     for (i = 0; i < 5; i++)
2502         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2503     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
2504     for (i = 0; i < 5; i++)
2505         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2506     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
2507     for (i = 0; i < 7; i++)
2508         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2509     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
2510     for (i = 0; i < 7; i++)
2511         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2512     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
2513     for (i = 0; i < 6; i++)
2514         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2515     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
2516     for (i = 0; i < 5; i++)
2517         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2518     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
2519     for (i = 0; i < 7; i++)
2520         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
2521     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(output, acc, t25);
2522 }
2523
2524 /* curve coefficient constants */
2525
2526 static const limb_t const_one[4] = {
2527     UINT64_C(0x86670846FDD28A65), UINT64_C(0x307B9179876FAE2C),
2528     UINT64_C(0x54E137A194BE3755), UINT64_C(0x64609FA0A57A7EF8)};
2529
2530 static const limb_t const_b[4] = {
2531     UINT64_C(0x4BE8A4E93BDA2ACF), UINT64_C(0x79CC0E3E90D382DD),
2532     UINT64_C(0x3BA4C8B01D9CC79B), UINT64_C(0x5CC73B5A966609E9)};
2533
2534 /* LUT for scalar multiplication by comb interleaving */
2535 static const pt_aff_t lut_cmb[27][16] = {
2536     {
2537         {{UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2538           UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000)},
2539          {UINT64_C(0xD082E00700254F12), UINT64_C(0xC5BA8184EB1F1421),
2540           UINT64_C(0x4EC9E7D0F010780D), UINT64_C(0x7846B5B72794C8D5)}},
2541         {{UINT64_C(0x870FB0417225A595), UINT64_C(0x6CAFAE705FD57F04),
2542           UINT64_C(0xFEC1C2AC2E7DB9BA), UINT64_C(0x9230823E127A5862)},
2543          {UINT64_C(0xF6CFDB6DE4464836), UINT64_C(0x3D79631B9A945AC0),
2544           UINT64_C(0xA1FCF2DF3D0C880D), UINT64_C(0x17C83E500EE6A611)}},
2545         {{UINT64_C(0x3C79C11AE42734FD), UINT64_C(0x1614B2BEAC4040C3),
2546           UINT64_C(0xDD1437252C3A23A5), UINT64_C(0x1A02DA838AF4F7CD)},
2547          {UINT64_C(0x23D588D6E7D6991A), UINT64_C(0x5F332676D2B3E364),
2548           UINT64_C(0x353826809134BA88), UINT64_C(0x08ECA826D27090E5)}},
2549         {{UINT64_C(0x231F8DC826761106), UINT64_C(0x7363050E3D78B14B),
2550           UINT64_C(0xC3B9A1B8C05C4381), UINT64_C(0x29727635B8ACD9AC)},
2551          {UINT64_C(0xDD416AE92ED54E6C), UINT64_C(0x546084350B48A87C),
2552           UINT64_C(0x2C8DEEA497093D22), UINT64_C(0x87D2924C0D716BAF)}},
2553         {{UINT64_C(0x43281D30619206D6), UINT64_C(0x4A8FFC8768744E44),
2554           UINT64_C(0xB1011A3D708208D5), UINT64_C(0x2FE86E7BA035B0B9)},
2555          {UINT64_C(0x82F43088A3762860), UINT64_C(0x67B5A303B33595D4),
2556           UINT64_C(0x262F16EBB477BECD), UINT64_C(0x1D38D4A723E2816A)}},
2557         {{UINT64_C(0x91BBA3C0AD83C032), UINT64_C(0x7DBC2EB6234F2FF3),
2558           UINT64_C(0xE2C00C156D18A737), UINT64_C(0x71D1AE8BCCF6DC2D)},
2559          {UINT64_C(0x6183816A2DB77239), UINT64_C(0xC545A5120E228C41),
2560           UINT64_C(0x3B96D6BC0F49A679), UINT64_C(0x9831D683E49E39C2)}},
2561         {{UINT64_C(0xEEAA17A920DA13D9), UINT64_C(0xEE3130FB8ABECADE),
2562           UINT64_C(0xBFB2CE6AA6E3D089), UINT64_C(0x22BCDCEEE627A07C)},
2563          {UINT64_C(0x86D7A50C955A1D9E), UINT64_C(0xCD60A425E4E00B9E),
2564           UINT64_C(0x5407A6F8615B9E91), UINT64_C(0x7F17B1714F1CA93D)}},
2565         {{UINT64_C(0xBC351DE00DB59F2C), UINT64_C(0x1470E6A19CDAF8AF),
2566           UINT64_C(0x461ED28960D3B27A), UINT64_C(0x122C8F4B49C7F789)},
2567          {UINT64_C(0xAB56E614069FC8CE), UINT64_C(0x9836B010C34E487C),
2568           UINT64_C(0x9EE067033FE009EB), UINT64_C(0x88C8DC64AA019563)}},
2569         {{UINT64_C(0xD0B4A99663DDBB1F), UINT64_C(0x483286E51D154696),
2570           UINT64_C(0xF0586DB89F0D6F4E), UINT64_C(0x38167987980446C8)},
2571          {UINT64_C(0x86A2ABACE4166B55), UINT64_C(0x4E7B4F96A8366C64),
2572           UINT64_C(0x20CF2108ED997D8E), UINT64_C(0x20EA98441D01C009)}},
2573         {{UINT64_C(0x028B520EB89CE05A), UINT64_C(0xEF41147D4FAAD420),
2574           UINT64_C(0xB280CCD3121A2A0A), UINT64_C(0x4C677C8386E8F591)},
2575          {UINT64_C(0xB42F67B2A390AA99), UINT64_C(0xC4EF553B19F8A01A),
2576           UINT64_C(0x867611396979027F), UINT64_C(0x6F17766382C202BE)}},
2577         {{UINT64_C(0xBEF6B99627C5C7CC), UINT64_C(0xB2D34F8B10799DB8),
2578           UINT64_C(0x132E1A3D48AD9B1E), UINT64_C(0x2971BFEDE68B9907)},
2579          {UINT64_C(0x312F6D31C6B743B5), UINT64_C(0xCF123317A718E0A8),
2580           UINT64_C(0xCF1E5266FD58637C), UINT64_C(0x56BA8362E046167C)}},
2581         {{UINT64_C(0xD680969D0E910D7F), UINT64_C(0x634FB3C28A4689F9),
2582           UINT64_C(0xA79A56DF09FDD299), UINT64_C(0x9065269E89411C3D)},
2583          {UINT64_C(0x5D22254E82C6076C), UINT64_C(0xDE7D78F081FEA171),
2584           UINT64_C(0xE136696410BCDA87), UINT64_C(0x98B58F5A97638B85)}},
2585         {{UINT64_C(0xA532DED4FB5EDF3F), UINT64_C(0x604E5631833A7E2F),
2586           UINT64_C(0x7C4051D33A09C74E), UINT64_C(0x51D1108AEDFBEB4B)},
2587          {UINT64_C(0x9AE61F9E4DF1AB4D), UINT64_C(0xFD4966F3163DB1A5),
2588           UINT64_C(0xF6C44E557075AD6D), UINT64_C(0x670D0D6F4AF24611)}},
2589         {{UINT64_C(0xD99925FFD369D301), UINT64_C(0xC17E97677665BCF4),
2590           UINT64_C(0xB5A908F1CB5A2128), UINT64_C(0x1981791D9C726C9F)},
2591          {UINT64_C(0xC4249418E0861F4E), UINT64_C(0x2A63399FEE045D5E),
2592           UINT64_C(0x246958FDA1B974FF), UINT64_C(0x668016A20FC6F7A0)}},
2593         {{UINT64_C(0xEB7018ADEDE07C08), UINT64_C(0xDF3C12592E33D1D9),
2594           UINT64_C(0xEE0913DADC24E3DE), UINT64_C(0x1C632D5B35EB6B0D)},
2595          {UINT64_C(0xC69396DD2C56E1B2), UINT64_C(0x01F0B034A837CE8F),
2596           UINT64_C(0x7842B98DB6882E32), UINT64_C(0x8FAC92309E61FCA6)}},
2597         {{UINT64_C(0x1DBB7D998A782CFE), UINT64_C(0xEB945B49C9322BE7),
2598           UINT64_C(0xDCCB4E6EE208123B), UINT64_C(0x1C7C265CFC024524)},
2599          {UINT64_C(0xAD000D8A6102BC63), UINT64_C(0x7D7F3C7B82575943),
2600           UINT64_C(0x8D2F08810D547A95), UINT64_C(0x7012377AD94FFA6D)}},
2601     },
2602     {
2603         {{UINT64_C(0xE3F78DE51EB6CBF7), UINT64_C(0xF4E08A6172FA65DB),
2604           UINT64_C(0x670B0E06502A247E), UINT64_C(0x7A45D73E9877E492)},
2605          {UINT64_C(0x5FD754AD3DD0CDBC), UINT64_C(0xA5C2B15E0125AB1F),
2606           UINT64_C(0xC503836FE614B7A9), UINT64_C(0x5548C4242C50DCFE)}},
2607         {{UINT64_C(0xCEE7BE65B9B38743), UINT64_C(0xD5E4171594BE028E),
2608           UINT64_C(0x08EC3CA3B5C45F7D), UINT64_C(0x1ACFAC17FB51261A)},
2609          {UINT64_C(0x45098D93A9C04381), UINT64_C(0x717FC0DCA5B45DC8),
2610           UINT64_C(0xF352A9C2EABEE4E5), UINT64_C(0x1964AF20F311B457)}},
2611         {{UINT64_C(0x8C2298080802A755), UINT64_C(0x46F0A7CA6140CDA7),
2612           UINT64_C(0xF0EEB7AEBC62603B), UINT64_C(0x8432E1524BF4B451)},
2613          {UINT64_C(0x3C31982563967F94), UINT64_C(0xF04EACB6A042AE13),
2614           UINT64_C(0xD7CB2DBC650A6ADB), UINT64_C(0x38A36EE378C9E166)}},
2615         {{UINT64_C(0x3527A5C5D3EE8657), UINT64_C(0xBAA0DE97101645F9),
2616           UINT64_C(0xC59C9803CE9D6A48), UINT64_C(0x43D12449F8F39FDF)},
2617          {UINT64_C(0x65B3AB988DF7A72B), UINT64_C(0xD225AF8EAFDA9048),
2618           UINT64_C(0x88C368B8338A3694), UINT64_C(0x4A5A3C24FBC813F1)}},
2619         {{UINT64_C(0xCBCB725A9E2118B5), UINT64_C(0x113F36C5CAA54794),
2620           UINT64_C(0x5900990E4A0A2267), UINT64_C(0x4E329EB10A9C1F11)},
2621          {UINT64_C(0xF47F4077CD8918A7), UINT64_C(0x18A3C0713877B404),
2622           UINT64_C(0xCDEF4FE3EFEB2B6B), UINT64_C(0x360982DBDE4D0540)}},
2623         {{UINT64_C(0x42AB64F2D5F8DACA), UINT64_C(0x604A9676EE88523D),
2624           UINT64_C(0xD430CCABAEFD1283), UINT64_C(0x3DA9D0E554465F7C)},
2625          {UINT64_C(0x5EC145DF41A4216B), UINT64_C(0x7C8F2C51F7E7FBD9),
2626           UINT64_C(0xA2E58A23BD483D26), UINT64_C(0x4739F7F9E4A908C8)}},
2627         {{UINT64_C(0x37DDF87279370382), UINT64_C(0x9D26A55F12C8E90E),
2628           UINT64_C(0xFC1FA6CDE8EB0CA4), UINT64_C(0x826A29E5C29DC4F9)},
2629          {UINT64_C(0x15ECB621AA29F814), UINT64_C(0x4C8A81289DF1DFF7),
2630           UINT64_C(0xBB22301966B549BB), UINT64_C(0x6CB21ACBB81A2863)}},
2631         {{UINT64_C(0xDD31ACC211DA6928), UINT64_C(0xF98867B0A903D58F),
2632           UINT64_C(0xAD283697D3679348), UINT64_C(0x67BFEFF9301C3571)},
2633          {UINT64_C(0xB745CAE6780BBBCE), UINT64_C(0x1A9C661862F2EC5D),
2634           UINT64_C(0xF9895684A1475BEB), UINT64_C(0x93E5ACE64731A11D)}},
2635         {{UINT64_C(0x0F6E94607539483E), UINT64_C(0x5728E6DD9EF4EF16),
2636           UINT64_C(0xE1DA86E1062E946E), UINT64_C(0x272EBC47F2E07759)},
2637          {UINT64_C(0xE5E688E3909A578F), UINT64_C(0x9F25D6D17CFD1B7D),
2638           UINT64_C(0xC582260FADE1E2A4), UINT64_C(0x2F50F74EA050071E)}},
2639         {{UINT64_C(0xE0A8FE3F2DF4D40D), UINT64_C(0xB126E4EF07791F88),
2640           UINT64_C(0x69759DB42A88D242), UINT64_C(0x52592A3BC9C1981C)},
2641          {UINT64_C(0xD0F4172872F649A1), UINT64_C(0x9FF19B2B0750EBAB),
2642           UINT64_C(0xEFC047F9E0D7D222), UINT64_C(0x81491CA12E8140AF)}},
2643         {{UINT64_C(0x2DA40FF1675F821B), UINT64_C(0x2C91A2879E2E0502),
2644           UINT64_C(0x993ECFF4077D81FE), UINT64_C(0x3ABA2F2C71CC3DAE)},
2645          {UINT64_C(0xED007670168413DB), UINT64_C(0xC07D61B5AFBD4E82),
2646           UINT64_C(0xF078262E6BBADA24), UINT64_C(0x0E0EDC629E6413CC)}},
2647         {{UINT64_C(0x6CD0451DB7D099F9), UINT64_C(0x8FB218E6F8B12C83),
2648           UINT64_C(0x4D8C3B26E55EE1E4), UINT64_C(0x949649064A6FCD90)},
2649          {UINT64_C(0x9ABB96854BEACA48), UINT64_C(0x6A749487868EFEC7),
2650           UINT64_C(0x46BB9B42C8D2932C), UINT64_C(0x82384321DE007BAC)}},
2651         {{UINT64_C(0xDBECB743A942DB71), UINT64_C(0x21B5211521A6BC46),
2652           UINT64_C(0xE49B689424C17D78), UINT64_C(0x737FD3F189A08E17)},
2653          {UINT64_C(0xF833E404C36E4E57), UINT64_C(0x512C114A01E17CE6),
2654           UINT64_C(0x65A23D7350D75050), UINT64_C(0x838CA746F2F2D438)}},
2655         {{UINT64_C(0x28F9220CA20632B7), UINT64_C(0x72D8C347642358D6),
2656           UINT64_C(0xAB15FE1BE89CAA6F), UINT64_C(0x2A09B1436E16374A)},
2657          {UINT64_C(0x4CED0986B983CFE8), UINT64_C(0xD9B067B697B84E88),
2658           UINT64_C(0x926FC5F5C2350F8F), UINT64_C(0x31D7735884E2078F)}},
2659         {{UINT64_C(0xA7815CE77FF17BA1), UINT64_C(0xBE80BB6CA26BBA1B),
2660           UINT64_C(0x66DAE535F86DF104), UINT64_C(0x72739199AB1B9C09)},
2661          {UINT64_C(0x8E93F3C854056E67), UINT64_C(0xDC5E3855EBF23595),
2662           UINT64_C(0x70D1033C78123000), UINT64_C(0x50874350F22DD2BD)}},
2663         {{UINT64_C(0x533F213BC2700468), UINT64_C(0x31E6AA9C11BEA732),
2664           UINT64_C(0xCB5E184E4491DC82), UINT64_C(0x8A68049A5BD63975)},
2665          {UINT64_C(0x1724AC47F86A41D1), UINT64_C(0xDF9A0CA3ECA0DA11),
2666           UINT64_C(0xE5E1489C71F0EA19), UINT64_C(0x0E20661AC9DC7BF2)}},
2667     },
2668     {
2669         {{UINT64_C(0x5EB4E319F86D9DA8), UINT64_C(0x3CBF130EE0A46703),
2670           UINT64_C(0x166D52DA00A4AB17), UINT64_C(0x27A80547B7030861)},
2671          {UINT64_C(0xA7601086399C32BA), UINT64_C(0x571E4E4BC2F0A5E5),
2672           UINT64_C(0x72D12F6B39BED44D), UINT64_C(0x8FDCCE3D1AF8F25F)}},
2673         {{UINT64_C(0x281F7AF97DFEB40D), UINT64_C(0x0CCE33B9D7F767D5),
2674           UINT64_C(0x3E8BF3F48818C1E6), UINT64_C(0x6D909D0D4BA4647A)},
2675          {UINT64_C(0x91D77BA0FAC574D1), UINT64_C(0xD259266168CA7FEC),
2676           UINT64_C(0xC4C7D6B5281F269C), UINT64_C(0x7A41CD78DA42CDDD)}},
2677         {{UINT64_C(0xBC8E0D27A3B8F255), UINT64_C(0xF5E2A8B11C3E5190),
2678           UINT64_C(0x8C38862BD609F668), UINT64_C(0x4E31C18E0631D50F)},
2679          {UINT64_C(0x9013EDDBF13E0CCD), UINT64_C(0x83B04E6841EFDAF7),
2680           UINT64_C(0x15EC4BB8DC82597F), UINT64_C(0x5059515056117705)}},
2681         {{UINT64_C(0xD25F244D1E0E0161), UINT64_C(0x6C975D7B1A437FBA),
2682           UINT64_C(0x305DB2DF95F2AD8C), UINT64_C(0x17D6E0053B9CC742)},
2683          {UINT64_C(0x6A849F76E60BC3C3), UINT64_C(0x35523E08BF8C3790),
2684           UINT64_C(0xF18B5335239140E2), UINT64_C(0x5E8570557CA5FF40)}},
2685         {{UINT64_C(0xB48F07A4A4250E95), UINT64_C(0x068735AEC7F17667),
2686           UINT64_C(0x30F8D31394771B24), UINT64_C(0x598EA397A495A064)},
2687          {UINT64_C(0xBF19252968B76855), UINT64_C(0x897E3CC6C7C0D2D6),
2688           UINT64_C(0xA2A4948F64EC9649), UINT64_C(0x1027891AAE7C8598)}},
2689         {{UINT64_C(0x0442E6CB04585685), UINT64_C(0x09BA61DA82A2D258),
2690           UINT64_C(0x7C5400B10AE5466D), UINT64_C(0x0A0B71B0C2133893)},
2691          {UINT64_C(0x04E3D98AD5EF6E93), UINT64_C(0x177EA5F8F332BDF2),
2692           UINT64_C(0xE7CF3F71C3FAE583), UINT64_C(0x40C451338AE0CFD7)}},
2693         {{UINT64_C(0x6BE94FC39B82E738), UINT64_C(0x212FB8048BC262E2),
2694           UINT64_C(0xE17F6A7AB22E21FF), UINT64_C(0x22B7BDAB15E960BB)},
2695          {UINT64_C(0xE154C945771350C2), UINT64_C(0x6505B8EB882DB07B),
2696           UINT64_C(0x149A0A16C7E3ABD3), UINT64_C(0x78F78ABF81C30AAE)}},
2697         {{UINT64_C(0x6ED81415C954BC0A), UINT64_C(0x316E801270E55349),
2698           UINT64_C(0xEC02323B50399C09), UINT64_C(0x963BA97B8559C3A9)},
2699          {UINT64_C(0x39FCE50E037EC345), UINT64_C(0x422A082DD5BF03FB),
2700           UINT64_C(0x59ED39E418DCC77E), UINT64_C(0x4CFC3F11A40AA978)}},
2701         {{UINT64_C(0x85A5692255D7C9B6), UINT64_C(0x5BC590E2B451111B),
2702           UINT64_C(0x3BCB23158782C71B), UINT64_C(0x1F3456C4632246A9)},
2703          {UINT64_C(0xEA577AD99CFBBE19), UINT64_C(0x051BEE4035CCE939),
2704           UINT64_C(0xDC3008991A0C589C), UINT64_C(0x14877ECED2095619)}},
2705         {{UINT64_C(0xB64D0EC695024C5E), UINT64_C(0xB0597195B94CDF74),
2706           UINT64_C(0x3B97B51316844010), UINT64_C(0x48799881CCBABC63)},
2707          {UINT64_C(0x0E3119AED9819075), UINT64_C(0xA5DCA9C1EB0299FD),
2708           UINT64_C(0x8063D7884A404D13), UINT64_C(0x974D2A1A8044EBE2)}},
2709         {{UINT64_C(0xB6589045B8E14640), UINT64_C(0xFAD60A435507B9BE),
2710           UINT64_C(0x9D540C1C56FF32BC), UINT64_C(0x47ECC24F74265A69)},
2711          {UINT64_C(0x0C829F18DB3E64C9), UINT64_C(0xF7C0C6D772E87B2B),
2712           UINT64_C(0xCB3FC51216B616CE), UINT64_C(0x549B9227B94F69B1)}},
2713         {{UINT64_C(0xB151DEE9DB235273), UINT64_C(0x2FD9496F6D65606C),
2714           UINT64_C(0x6A5E172DD62B5B0D), UINT64_C(0x181E605DEA0AE249)},
2715          {UINT64_C(0x66D7EB098911490A), UINT64_C(0x85E174A32E70DEF2),
2716           UINT64_C(0x2DA133544EF8CFA9), UINT64_C(0x1B87FE623E69BD22)}},
2717         {{UINT64_C(0x2DF420CA2BB09564), UINT64_C(0x1AC26F767ACEE4D4),
2718           UINT64_C(0x50C68E6F2BC7EF7A), UINT64_C(0x4730D654B445B2FE)},
2719          {UINT64_C(0x90C040D98B57D38D), UINT64_C(0x28793DB533CA2C77),
2720           UINT64_C(0x22D2B573AC6A4BE8), UINT64_C(0x68C0DBDDB72E7E01)}},
2721         {{UINT64_C(0xDF70BCDC09E2D3FF), UINT64_C(0xB6E599709F20F624),
2722           UINT64_C(0x5E04FDE76DE3119E), UINT64_C(0x1C9B43FFD5705A5D)},
2723          {UINT64_C(0x7C23A517681270B0), UINT64_C(0xDD7FC8339303BF40),
2724           UINT64_C(0x3028E496458EE80A), UINT64_C(0x0C72006352590EEF)}},
2725         {{UINT64_C(0x27B297102850A5AE), UINT64_C(0xD1E6FBBAAA3E0397),
2726           UINT64_C(0xCFB44044DF8FCBD6), UINT64_C(0x7CD86272C52B90FD)},
2727          {UINT64_C(0xB0E7FA93EBA52025), UINT64_C(0x6416630304084EF3),
2728           UINT64_C(0xD7C7DCBE43840178), UINT64_C(0x8BC7FF7722FB81A2)}},
2729         {{UINT64_C(0xABDC5206DAFCE699), UINT64_C(0x522A913783C5F3A3),
2730           UINT64_C(0xBAA936370E666E5C), UINT64_C(0x0FD813DAD2D33B62)},
2731          {UINT64_C(0x833919085D417354), UINT64_C(0xE5AADE1DA6B9B447),
2732           UINT64_C(0xBDE90A3CD68321B1), UINT64_C(0x43FF95140411531B)}},
2733     },
2734     {
2735         {{UINT64_C(0xD61DEE6439648345), UINT64_C(0xF8B3FA1C7FCB5B5E),
2736           UINT64_C(0xDD531CE124C29C71), UINT64_C(0x7A23608BFFB825FE)},
2737          {UINT64_C(0x8D607B82F0DE896D), UINT64_C(0x6E49733006EDDAFE),
2738           UINT64_C(0x8B49EFF0C935E754), UINT64_C(0x90D54646EE08BDBF)}},
2739         {{UINT64_C(0xF44FBB169044FD39), UINT64_C(0xA72128C4DFB38141),
2740           UINT64_C(0x8467F68801954CC0), UINT64_C(0x741C23EEB560B5C5)},
2741          {UINT64_C(0xA7F422019765CF34), UINT64_C(0xB26C97BF8A2AB61A),
2742           UINT64_C(0xAA948763CBD45AF3), UINT64_C(0x74C993C2E21479F5)}},
2743         {{UINT64_C(0xD968CE1ABFA717A5), UINT64_C(0x45C1103D48E92615),
2744           UINT64_C(0x4CCEBE85DD98207D), UINT64_C(0x8A75DF6EE65E5FE6)},
2745          {UINT64_C(0x9E582C40418C47C5), UINT64_C(0x2E9EE003A450009B),
2746           UINT64_C(0x7C079613DD60D3D2), UINT64_C(0x80A78C4A9935D8CA)}},
2747         {{UINT64_C(0xF6CDED58D3C9B903), UINT64_C(0x4F27927DEF455E7A),
2748           UINT64_C(0xF9DBBB9E833BB3C1), UINT64_C(0x4107CFBF6BA3770A)},
2749          {UINT64_C(0x61871175520FCB57), UINT64_C(0xEA3A307B47A12C8E),
2750           UINT64_C(0x940DDEE8C24E9E75), UINT64_C(0x8AE8F22CF33541BB)}},
2751         {{UINT64_C(0xE4C898703973DC0B), UINT64_C(0xCC3DD1AC55DFAAF0),
2752           UINT64_C(0xB63D596B27372EFE), UINT64_C(0x1B92A19245A33718)},
2753          {UINT64_C(0x0EABEBEE00607319), UINT64_C(0x69B7355E7C3E35EE),
2754           UINT64_C(0xF7354E352233C454), UINT64_C(0x1E2BAADA1E722C0A)}},
2755         {{UINT64_C(0xD0E47FE23B9FE86D), UINT64_C(0x878F403FDAA1C7BC),
2756           UINT64_C(0x5447AD5490F5DED7), UINT64_C(0x4E8A997B1E58B03B)},
2757          {UINT64_C(0x9AD0E4812E926FA8), UINT64_C(0x871EFB9E8D0EF3AA),
2758           UINT64_C(0xADD7DD147E714DF6), UINT64_C(0x9A30245A2308EE02)}},
2759         {{UINT64_C(0x44838B15904F0D11), UINT64_C(0x6177587A2A2A70FF),
2760           UINT64_C(0x402938502C2F7943), UINT64_C(0x8F85119167581701)},
2761          {UINT64_C(0x564383D1842E6434), UINT64_C(0x251AF59DAF2C0078),
2762           UINT64_C(0x8A81772D3354A264), UINT64_C(0x9AAFA350DFD2D0EA)}},
2763         {{UINT64_C(0x4739793235461CAD), UINT64_C(0x0F86BD4362C5BFFA),
2764           UINT64_C(0x5F166BC07785490D), UINT64_C(0x7DCCC9882BD61B3E)},
2765          {UINT64_C(0x44C3299A9394375B), UINT64_C(0x0C5F2803405A34BD),
2766           UINT64_C(0x3AD60F1D4237E728), UINT64_C(0x6E7E06D072EC2562)}},
2767         {{UINT64_C(0x44AD84713C5840A6), UINT64_C(0x40C3CE2B4752BC62),
2768           UINT64_C(0x94B14C21EC3FD75F), UINT64_C(0x65E0E6AF2629C0C0)},
2769          {UINT64_C(0xA3FE2F5555936454), UINT64_C(0x252AD743780E25E5),
2770           UINT64_C(0x22F9951BFF4E107A), UINT64_C(0x1B8A7DDE554CEA49)}},
2771         {{UINT64_C(0xBBDCC2C089F1C6FA), UINT64_C(0x548FEF29C360A51D),
2772           UINT64_C(0x094DAD451290EC92), UINT64_C(0x792F6FB9AF55BF30)},
2773          {UINT64_C(0x37EF4ABE707FBF4E), UINT64_C(0x0F43AB0DFC4B6BD0),
2774           UINT64_C(0x850015B72D6EE5D9), UINT64_C(0x09273F3535C1FD65)}},
2775         {{UINT64_C(0xCECF1B90A6C3209B), UINT64_C(0xFB4BC864ABD433C0),
2776           UINT64_C(0x38246AAA3EEEF8BA), UINT64_C(0x4BC7904E9ED13F88)},
2777          {UINT64_C(0xA61C369A8E783066), UINT64_C(0x496FB8314D1C832C),
2778           UINT64_C(0x1907687A03AD64D5), UINT64_C(0x49516EA583425766)}},
2779         {{UINT64_C(0x8108B704B1714E53), UINT64_C(0xB458CB4B82E39BE7),
2780           UINT64_C(0xFCBD51CC097049DE), UINT64_C(0x415F4079722E8CBA)},
2781          {UINT64_C(0xCDB06F5E342DF9C6), UINT64_C(0x64885CD11281AC74),
2782           UINT64_C(0x932A05E45366673D), UINT64_C(0x7333520BE83AD23D)}},
2783         {{UINT64_C(0xDAA0A1EFC54B523C), UINT64_C(0xA3E80053B3C261C8),
2784           UINT64_C(0x352CC612558FCFA5), UINT64_C(0x1B9B755D85852B14)},
2785          {UINT64_C(0x19EE2CB6A1B541FF), UINT64_C(0x2B531CE2D5786B4F),
2786           UINT64_C(0xEF5EA6DF08C3E15B), UINT64_C(0x82161B0487111129)}},
2787         {{UINT64_C(0x5AB533A5FCEABAED), UINT64_C(0x4C2147A54A4D8E44),
2788           UINT64_C(0xD8EEE795DA02D43D), UINT64_C(0x8CB648DFA15C1CD0)},
2789          {UINT64_C(0x4869FB6CA788DDDE), UINT64_C(0xF9554D1477C03759),
2790           UINT64_C(0x4D25B41A96187DB9), UINT64_C(0x662FBAB33FE0B3F3)}},
2791         {{UINT64_C(0xD3AF4D09A58A5B2E), UINT64_C(0x3C5DD2985CE88DBE),
2792           UINT64_C(0x89DDA42E7426C2A4), UINT64_C(0x2D832B0749095424)},
2793          {UINT64_C(0x24EFCC0362AA84CF), UINT64_C(0x348C19DEE86923D7),
2794           UINT64_C(0x453E928635DB5CB1), UINT64_C(0x03F48EEB8DB21CF3)}},
2795         {{UINT64_C(0xBCF9600FF4035856), UINT64_C(0xE77CEC83AF820E18),
2796           UINT64_C(0xC87D43C17F2FBCC1), UINT64_C(0x574C4CAE6290B18D)},
2797          {UINT64_C(0x8BD8AE45E56E1EFE), UINT64_C(0xB1EFD68475D6FCC9),
2798           UINT64_C(0x9829F227A361E753), UINT64_C(0x9A50B4255211B784)}},
2799     },
2800     {
2801         {{UINT64_C(0x26F1959036396F78), UINT64_C(0x350D1A769AD1982C),
2802           UINT64_C(0x33BDB4AB947F352E), UINT64_C(0x6CA38B05FFE1E1E1)},
2803          {UINT64_C(0x055364C26F2A8CA0), UINT64_C(0xAF15075D2969CA7E),
2804           UINT64_C(0x2916D58FC3B9CB70), UINT64_C(0x18D94A8BD7325693)}},
2805         {{UINT64_C(0x87C41809F36EB789), UINT64_C(0x8C3517F9A7436F54),
2806           UINT64_C(0xE7C02E1D3D785160), UINT64_C(0x5BAFE72E418C7ABF)},
2807          {UINT64_C(0xA00A8E76CD9B27C2), UINT64_C(0x667918087DA06823),
2808           UINT64_C(0x342A03D920EC00B4), UINT64_C(0x44502A7E6122589A)}},
2809         {{UINT64_C(0x3A492F735BDAE972), UINT64_C(0x5184D076126A07DE),
2810           UINT64_C(0xAE49313CB56A38F0), UINT64_C(0x66CCC24E9EC47E0A)},
2811          {UINT64_C(0xAE84941BC03CF3E1), UINT64_C(0x771AFC575A73440B),
2812           UINT64_C(0xABF93DC8C433E43C), UINT64_C(0x974EE822243C6828)}},
2813         {{UINT64_C(0x468D7FDBA7A5F66C), UINT64_C(0xBBB2C482B18DEFCC),
2814           UINT64_C(0x188B8CACFA2E7DEA), UINT64_C(0x7894BC93BE0200B9)},
2815          {UINT64_C(0xA31813386B84750E), UINT64_C(0x8B14BDB237356096),
2816           UINT64_C(0xA9200FE7D62F4813), UINT64_C(0x8DF664A36F7627CE)}},
2817         {{UINT64_C(0x39BF14DDDD996CF1), UINT64_C(0xD00B3BF5F7F42D26),
2818           UINT64_C(0xF1AF5A20017718A3), UINT64_C(0x34A1E94BABCAE05D)},
2819          {UINT64_C(0xAD75D1B5C635D333), UINT64_C(0x97E5BD3987210A5A),
2820           UINT64_C(0x11684CA6A0327BF4), UINT64_C(0x25C511179B8F0A46)}},
2821         {{UINT64_C(0x7E5CD79FA935A9B9), UINT64_C(0x15DC70C2A22DCD16),
2822           UINT64_C(0x5CDA47E678A420F4), UINT64_C(0x37E0364EEA631104)},
2823          {UINT64_C(0xE7C469565E47B630), UINT64_C(0x7BD4C4A7E42C4DCB),
2824           UINT64_C(0xA76B87A71C91117E), UINT64_C(0x2AA043DDADA4B5E1)}},
2825         {{UINT64_C(0x6BB06B5A875DED57), UINT64_C(0x89452B3BFEAD7B14),
2826           UINT64_C(0x0CBD5CA8A6E39E1F), UINT64_C(0x2DC5917C3BFA7A3D)},
2827          {UINT64_C(0x6395D5B8F840B6E8), UINT64_C(0xAEC9342FED8589EE),
2828           UINT64_C(0x8332A1B877979E67), UINT64_C(0x29B55822C59F97DB)}},
2829         {{UINT64_C(0xFD145FF77D65A8F4), UINT64_C(0x8FFF7EE0119C9AFC),
2830           UINT64_C(0x0100D0E9AFCD6214), UINT64_C(0x98DE55E5A3B988B3)},
2831          {UINT64_C(0x0BACCB2E00151BF2), UINT64_C(0x2B422D0966091583),
2832           UINT64_C(0xC4D15E1693C66A3B), UINT64_C(0x1C107559727DE9E6)}},
2833         {{UINT64_C(0xC019C7D73CB76EDF), UINT64_C(0x6456DD91151F5E14),
2834           UINT64_C(0x29E95B6657CC7078), UINT64_C(0x9193F4D9E9BDBCEC)},
2835          {UINT64_C(0x375837B04806F8CB), UINT64_C(0x52D5528AAA954620),
2836           UINT64_C(0xE71F9F601B9D6D34), UINT64_C(0x910E4FA1DF95759C)}},
2837         {{UINT64_C(0x8D31B2EEFCADB5EA), UINT64_C(0x0814FF77A63C7498),
2838           UINT64_C(0x236569C05E3D927E), UINT64_C(0x7F669DAD95BBB9D9)},
2839          {UINT64_C(0x29158C9A305B0347), UINT64_C(0x99B9B7E752D468EB),
2840           UINT64_C(0x6C4CABC3B4342443), UINT64_C(0x125AFBEA0A803ED4)}},
2841         {{UINT64_C(0x850A150B101FAA4E), UINT64_C(0xB586BCDA11ECDABC),
2842           UINT64_C(0x9692EF834DAD2264), UINT64_C(0x0951716ED2B67F5E)},
2843          {UINT64_C(0xA2295F20924DD16D), UINT64_C(0xD8327275D0CE88CD),
2844           UINT64_C(0x45F8DD0CC683ADA3), UINT64_C(0x4A798B3388C26024)}},
2845         {{UINT64_C(0x225395CFCAF71198), UINT64_C(0xEE223712CA3F67CF),
2846           UINT64_C(0x972B019981280061), UINT64_C(0x0CB20E7A280ECC12)},
2847          {UINT64_C(0x06F04DA870F54717), UINT64_C(0x5288425E410B9712),
2848           UINT64_C(0x6C29A51474CEFB4A), UINT64_C(0x4218ECCA849E2FD6)}},
2849         {{UINT64_C(0xD85663A3B33574B6), UINT64_C(0x7469CFB1FAF7D3A2),
2850           UINT64_C(0x9C587EC43CFA8876), UINT64_C(0x5DAE46AEDB24ED63)},
2851          {UINT64_C(0x66C8DA33C413E494), UINT64_C(0xB8B256B665942568),
2852           UINT64_C(0x0F09178EA7A4CAAD), UINT64_C(0x577D4ADCAFEBC90B)}},
2853         {{UINT64_C(0x49009BA692D6C3B4), UINT64_C(0xE9CF4915B884FAAC),
2854           UINT64_C(0xC12377D36F3DBE23), UINT64_C(0x2F6E0E86EA6B680C)},
2855          {UINT64_C(0x5DF2CD5AE6C5E24D), UINT64_C(0xAAE7E145EE608DD3),
2856           UINT64_C(0x5357CFF28A7ED956), UINT64_C(0x8377126C3912DBA4)}},
2857         {{UINT64_C(0x6E83A6C6F83BC3F6), UINT64_C(0x3633E1E4C0CC09C6),
2858           UINT64_C(0x0C2A268BBC4B73A5), UINT64_C(0x688369D3125688EB)},
2859          {UINT64_C(0x64EE03E173E75809), UINT64_C(0x21773EE98E110C46),
2860           UINT64_C(0xF0BC6BE9A6A648B1), UINT64_C(0x399121837E0041E7)}},
2861         {{UINT64_C(0xCC09774A26F5716E), UINT64_C(0x01CB17F9FDFB59E9),
2862           UINT64_C(0xA88D1269AE8938B4), UINT64_C(0x99A40D17D13047C9)},
2863          {UINT64_C(0xE469C9846FC672A3), UINT64_C(0xDA6534B65638B928),
2864           UINT64_C(0xC56EAB20CDE40C83), UINT64_C(0x2C1582B1BD93AF10)}},
2865     },
2866     {
2867         {{UINT64_C(0xE4C19851A3F45C37), UINT64_C(0xCA0FEFF2C7D78FE9),
2868           UINT64_C(0x027B41D89A7E444B), UINT64_C(0x1F1B242F15D38CBB)},
2869          {UINT64_C(0x1C6C132CF1F50AB9), UINT64_C(0x2A02A3A45DFE7530),
2870           UINT64_C(0x2B1EB8E26E29159F), UINT64_C(0x5F3F4AB72EEDE876)}},
2871         {{UINT64_C(0x362CE0130F2DF95C), UINT64_C(0x82E4E19226480BFA),
2872           UINT64_C(0x9AAC9A966BEFF080), UINT64_C(0x5A1636F68EE2B59C)},
2873          {UINT64_C(0x600E0339FA049CCB), UINT64_C(0x56680F80F2F57163),
2874           UINT64_C(0x2C395CC17B4240A7), UINT64_C(0x32EDFE4A9C86BB64)}},
2875         {{UINT64_C(0x8D9842AB711AEF69), UINT64_C(0x7A1C2429890831F0),
2876           UINT64_C(0x924478DF54CDA99A), UINT64_C(0x791A1D45E25A02E2)},
2877          {UINT64_C(0x1433F569170F4C21), UINT64_C(0x9F42C8C1CA5F8BD8),
2878           UINT64_C(0x377740F7067B3201), UINT64_C(0x75145FFF2ECE5D81)}},
2879         {{UINT64_C(0xCBFE782A39638F43), UINT64_C(0xB0C0EC09E07553D2),
2880           UINT64_C(0x8D1C41F7115C673A), UINT64_C(0x8510551AEB39E385)},
2881          {UINT64_C(0x92000181BA275803), UINT64_C(0x8AF63F4A27B9A42A),
2882           UINT64_C(0xD50ECF0F52297029), UINT64_C(0x1DCA33A566883C56)}},
2883         {{UINT64_C(0xB2C44933C51DF9D9), UINT64_C(0xCA6F9FB0E66D80AE),
2884           UINT64_C(0x78CD2EEB82839BA4), UINT64_C(0x8FF8BCC8F7AFBCF3)},
2885          {UINT64_C(0x5AD00C704164959B), UINT64_C(0xAD901C71E83ED8D5),
2886           UINT64_C(0x56FFC0A92B52650D), UINT64_C(0x0689B171780126A8)}},
2887         {{UINT64_C(0x2E902A395EAC1DD8), UINT64_C(0x7681EABA7CAC283F),
2888           UINT64_C(0x03608CD878525B7C), UINT64_C(0x09665B805EB95540)},
2889          {UINT64_C(0xF09F9805306EE831), UINT64_C(0xFB00B1C6E41D453A),
2890           UINT64_C(0xD8BB95597C93E727), UINT64_C(0x3B74FEE72CE63FD8)}},
2891         {{UINT64_C(0x73F48B330A22DABA), UINT64_C(0x797DE0FBC8FC3E20),
2892           UINT64_C(0x69C1BEE29E79222D), UINT64_C(0x3052F67A1DF4C549)},
2893          {UINT64_C(0xFE9128A9ED78B6FB), UINT64_C(0xD9460CFF29CCF94F),
2894           UINT64_C(0x53737484C1FD1DAA), UINT64_C(0x83ADCD011EDAEEB2)}},
2895         {{UINT64_C(0x189EC9AA2BA4195A), UINT64_C(0x61345757C522BE92),
2896           UINT64_C(0x35BAB72A39EFB05D), UINT64_C(0x82B27322AE0AC461)},
2897          {UINT64_C(0xFEBF0F8CC07F4382), UINT64_C(0x1CA2B3D7DAD2ED8E),
2898           UINT64_C(0x4800A0370A27F89C), UINT64_C(0x77D1B2FC9815D971)}},
2899         {{UINT64_C(0xF9F46089CA0FC66A), UINT64_C(0x5BC406DE8C23E4E1),
2900           UINT64_C(0x1D7F3BA98DBF6DD5), UINT64_C(0x685B9111679D5587)},
2901          {UINT64_C(0x93554084B85BE0D0), UINT64_C(0xB081E9CA7B9EB16C),
2902           UINT64_C(0x58C428DC60F0D0B0), UINT64_C(0x12442C1A30B3C6D9)}},
2903         {{UINT64_C(0x147B843C567226BE), UINT64_C(0x2B2BFFAB429A8FFA),
2904           UINT64_C(0x7A4678EBCD435C2F), UINT64_C(0x200E85133C0B887A)},
2905          {UINT64_C(0x9D457AAD90605CDD), UINT64_C(0x6736A242157F29A5),
2906           UINT64_C(0x779B0D25549FCA4D), UINT64_C(0x57477EE917FDB4D9)}},
2907         {{UINT64_C(0xD9B15FD1ECF06CDD), UINT64_C(0xECF75FC0C1CC2CFC),
2908           UINT64_C(0x273867C3A56B39E5), UINT64_C(0x72F3ED4579340B7D)},
2909          {UINT64_C(0xF31C9E4C55B6C9B9), UINT64_C(0xED96826E0448FE57),
2910           UINT64_C(0xE2DF54AD8BB7A02F), UINT64_C(0x945E7B6BD79D71CC)}},
2911         {{UINT64_C(0x32B6CE429270E878), UINT64_C(0x980C8F6ED6EEBEB9),
2912           UINT64_C(0xC5717C8555808237), UINT64_C(0x4469D0A0CCA3F298)},
2913          {UINT64_C(0x2B9DD7E91A18C0E8), UINT64_C(0xE9D124016A0EC412),
2914           UINT64_C(0xF889DE9831F44B32), UINT64_C(0x692EE1E678854A7F)}},
2915         {{UINT64_C(0xF2360597ADEECA22), UINT64_C(0x94623EBC99A4C198),
2916           UINT64_C(0x5A0D49C4E4169D20), UINT64_C(0x7BE2C5BBBF0384F0)},
2917          {UINT64_C(0x42DB0D408C537851), UINT64_C(0x198A09A465C50782),
2918           UINT64_C(0x72F80BB745AD7EE0), UINT64_C(0x4F83164B11FCED06)}},
2919         {{UINT64_C(0x54E5B07C95712AF0), UINT64_C(0x95E7F5D91E893387),
2920           UINT64_C(0x383BC5AEC61D7766), UINT64_C(0x09F626ED681C28DD)},
2921          {UINT64_C(0x0D32B726DF97E3C9), UINT64_C(0x2AC622387C7C4786),
2922           UINT64_C(0xECEA0C6AD3F5AD40), UINT64_C(0x0D26633EA870A132)}},
2923         {{UINT64_C(0x40A05A14C3D42D26), UINT64_C(0x06577CA1F3BDE0E3),
2924           UINT64_C(0x03DAA258418B73FB), UINT64_C(0x205E02E60EFDEB86)},
2925          {UINT64_C(0xF5479E4D99F90D56), UINT64_C(0x4E699BF3368CB6E3),
2926           UINT64_C(0x534F674362E4A879), UINT64_C(0x18473603A9D78191)}},
2927         {{UINT64_C(0xA23D79CF5C1ED4F9), UINT64_C(0xFADE1CF5F2248B01),
2928           UINT64_C(0xA3D528276F4D2164), UINT64_C(0x1F211C0310B731E5)},
2929          {UINT64_C(0x0B415884D97229E2), UINT64_C(0xCABB7D8980FCC283),
2930           UINT64_C(0xDB9BC75298EF388A), UINT64_C(0x50AF2A4A93E80262)}},
2931     },
2932     {
2933         {{UINT64_C(0xD11E80F1D57DD821), UINT64_C(0x11CAE463DDA2AB29),
2934           UINT64_C(0x21CAFD16E628F315), UINT64_C(0x296A84E97DF70CD4)},
2935          {UINT64_C(0x9ECF75136E9EF995), UINT64_C(0xAE87525706E28855),
2936           UINT64_C(0x78E1B7E95DED383C), UINT64_C(0x6C5D8ECC5E940F7F)}},
2937         {{UINT64_C(0xCBD3ACB9998EE9A3), UINT64_C(0x990CDFF6D0DCF584),
2938           UINT64_C(0x0FB4346CC7CE5DDA), UINT64_C(0x5EDEEF9B355E268F)},
2939          {UINT64_C(0xACD8B4A2C215036D), UINT64_C(0x70D3699591C7486B),
2940           UINT64_C(0x72D5243D52C6694B), UINT64_C(0x54163B48E5F8B99C)}},
2941         {{UINT64_C(0xD2AEA2FF1D76A94A), UINT64_C(0xC5B4FBF1379F780B),
2942           UINT64_C(0x700042F7B33AC708), UINT64_C(0x7DA790BF8183E0CA)},
2943          {UINT64_C(0x95681FE6EBA72FA8), UINT64_C(0x1F0A390EE22E254E),
2944           UINT64_C(0x465A58F8BF07A8A5), UINT64_C(0x840EA2E7FB1FCE40)}},
2945         {{UINT64_C(0xD955C5B544048484), UINT64_C(0x7107D5956935C5E4),
2946           UINT64_C(0xFC6574448A0FCE44), UINT64_C(0x97DF2B4D2800E517)},
2947          {UINT64_C(0x0B1BB3282C482414), UINT64_C(0x152614CC4E48CDBE),
2948           UINT64_C(0x48051FB642EDE4E0), UINT64_C(0x91125B933DBFFE52)}},
2949         {{UINT64_C(0xA2F526C7CF898F54), UINT64_C(0x8788CA1283080857),
2950           UINT64_C(0x2F4427234562F7B0), UINT64_C(0x837772ABC044560C)},
2951          {UINT64_C(0x51AD2F7131BCB2EA), UINT64_C(0x0F1D33FCAFC5C03D),
2952           UINT64_C(0xDBFE541F7BD352A4), UINT64_C(0x8B44139964B8343D)}},
2953         {{UINT64_C(0xFEB96B8C44DCD145), UINT64_C(0xEEB3007CEFF22D0D),
2954           UINT64_C(0xAF64DFC1252A8C8F), UINT64_C(0x5D9B0A05D131E0C5)},
2955          {UINT64_C(0x28C943EFABFED144), UINT64_C(0xDFBF730CB6A2273D),
2956           UINT64_C(0x6CC5BE44E2A1BFBD), UINT64_C(0x55FAC03309030FCD)}},
2957         {{UINT64_C(0xFAA58543728F39EC), UINT64_C(0x9B2F10BA40B37B15),
2958           UINT64_C(0x96505C7F7254A419), UINT64_C(0x04F4ACE5879C7FF9)},
2959          {UINT64_C(0xC0B4B576BC5FDA53), UINT64_C(0x12549929F7ABCD3C),
2960           UINT64_C(0x00F5631E313FEC34), UINT64_C(0x89EA4459798C7CFB)}},
2961         {{UINT64_C(0x671137B50E2020C1), UINT64_C(0x77727861A4DC66C3),
2962           UINT64_C(0x8CE05ED181492A26), UINT64_C(0x42BEA541A0C3F612)},
2963          {UINT64_C(0x6D39E3D1B0E461EB), UINT64_C(0x459A8E1309FA806F),
2964           UINT64_C(0xE2A185C1466CB93B), UINT64_C(0x17D131CEE21ECB34)}},
2965         {{UINT64_C(0x2141E262387A15BF), UINT64_C(0x675B5E7C6BE61C42),
2966           UINT64_C(0xEEC1BDD4F1CF93EF), UINT64_C(0x6ACF383823BAB1F9)},
2967          {UINT64_C(0xA2F84E23B0B39C86), UINT64_C(0xE955DBBCE244E0E3),
2968           UINT64_C(0xE0155980B7A8102A), UINT64_C(0x1E117DC8B23012FA)}},
2969         {{UINT64_C(0xC92A36AA6EB36280), UINT64_C(0x5AED3A1D5E906D78),
2970           UINT64_C(0x8D336221AE4E430A), UINT64_C(0x3F184F1DD3AA50AD)},
2971          {UINT64_C(0xD14810EC916D9741), UINT64_C(0x2900169F3322D9B3),
2972           UINT64_C(0xAFF1A06004728254), UINT64_C(0x89C4C67326F60B5F)}},
2973         {{UINT64_C(0x5216E0AEB7F0D157), UINT64_C(0x3B8D2226C9F38AAD),
2974           UINT64_C(0x283E3E3FBB34AA79), UINT64_C(0x94DA80FA565CAB83)},
2975          {UINT64_C(0xDDB51943E6ED4A46), UINT64_C(0xF3AFFA9A7CDD5FE6),
2976           UINT64_C(0x0AB493CCB648A84F), UINT64_C(0x128356B6F15EE45F)}},
2977         {{UINT64_C(0xD2AD34F4BD0F02C4), UINT64_C(0x3DC9B6D1719BCF1E),
2978           UINT64_C(0x11EDB8F112EB5AE8), UINT64_C(0x33AC71D871180F90)},
2979          {UINT64_C(0x0AE988FEB59621D7), UINT64_C(0x32042B528F348211),
2980           UINT64_C(0x7E6787C4EB0CEBD3), UINT64_C(0x8C4D254926B8A526)}},
2981         {{UINT64_C(0xA3B461544D40ED72), UINT64_C(0x3A096546F6CF3972),
2982           UINT64_C(0x9C7BC931B3E46D8C), UINT64_C(0x85B77BAD90486C75)},
2983          {UINT64_C(0x95B706E56EBD35E0), UINT64_C(0xC1E18243101E098E),
2984           UINT64_C(0xF17C23FFF01C17E1), UINT64_C(0x3223527285EC224E)}},
2985         {{UINT64_C(0xE816235DFD24FA16), UINT64_C(0x5306CBC30B3AEBD7),
2986           UINT64_C(0xDEF60A9A8BE25CB7), UINT64_C(0x4B889A0F512999C2)},
2987          {UINT64_C(0xAB86A7F867B29FD9), UINT64_C(0xB81C532DB5461BCB),
2988           UINT64_C(0x810E9A0CD34D9819), UINT64_C(0x1E3530093092515D)}},
2989         {{UINT64_C(0x4682633921FB0BD9), UINT64_C(0x9CCE9A43003BAE50),
2990           UINT64_C(0xCD2216C32EB45B4A), UINT64_C(0x13598548C7E0F2C3)},
2991          {UINT64_C(0x8B0BFD7254611984), UINT64_C(0x705CB52589C0B05A),
2992           UINT64_C(0xD9073D87CE880DD8), UINT64_C(0x1EA534CD003DCAEB)}},
2993         {{UINT64_C(0xC7AAC256C58B4413), UINT64_C(0x301109D6E8054F96),
2994           UINT64_C(0x0A1F44D29C7E7860), UINT64_C(0x55D122BB96F15424)},
2995          {UINT64_C(0x9A63098F1C14A8A9), UINT64_C(0x8E01A9DC4221CDFB),
2996           UINT64_C(0x11C91FCF357B360A), UINT64_C(0x70C47AEA036A3CF4)}},
2997     },
2998     {
2999         {{UINT64_C(0xC0457C4F036A843D), UINT64_C(0x6E3E0801F1F593CB),
3000           UINT64_C(0x1AADF2D88C53873B), UINT64_C(0x5CEC5C7B0D140C8D)},
3001          {UINT64_C(0x4341A9AB328002E4), UINT64_C(0x11F22331C410D034),
3002           UINT64_C(0x0FCF69EF5DB6A39D), UINT64_C(0x3DD32A53B84FDA1F)}},
3003         {{UINT64_C(0x19E52339AF8C811A), UINT64_C(0xC8B8380092D46C4F),
3004           UINT64_C(0x891C4185CA8463A3), UINT64_C(0x5B51651F98F3FF1B)},
3005          {UINT64_C(0x3D1496070FB39DCA), UINT64_C(0x39ECCDE2B1051394),
3006           UINT64_C(0x3633DE271A14522B), UINT64_C(0x5FE551147C59A9A5)}},
3007         {{UINT64_C(0x68C8E0C62F0B507F), UINT64_C(0xDABC8EEF05B62C5E),
3008           UINT64_C(0x297C943AE6165C1E), UINT64_C(0x337C6B947D7CA6D6)},
3009          {UINT64_C(0x66F98FE4D6066191), UINT64_C(0x745BFEBA58945DA9),
3010           UINT64_C(0x600447873B29A546), UINT64_C(0x2815651EE2D4EDF2)}},
3011         {{UINT64_C(0x54A3BE7463661218), UINT64_C(0x89C5636415E79415),
3012           UINT64_C(0xE03C6963405E4932), UINT64_C(0x86E101EA9A619956)},
3013          {UINT64_C(0x47BAF2F3400DC92B), UINT64_C(0x5C44512C291E4059),
3014           UINT64_C(0xD7F84B8EEC6D7BF9), UINT64_C(0x6CF4254025AB8D79)}},
3015         {{UINT64_C(0xD6E1B75DB885DAFC), UINT64_C(0x7A33CE4B6128014E),
3016           UINT64_C(0x80DF9948EA9FF260), UINT64_C(0x99E0A11CD2B5872B)},
3017          {UINT64_C(0x960BDC3DE2435510), UINT64_C(0x4B0ECC5314F7A99C),
3018           UINT64_C(0xE815DB8B5AC6170B), UINT64_C(0x3095615617D5F2DD)}},
3019         {{UINT64_C(0xA035E3CE57166FCE), UINT64_C(0x71AD409540A75B80),
3020           UINT64_C(0x639C4EA7DB7D0BFB), UINT64_C(0x7A90BE97B12DBE6B)},
3021          {UINT64_C(0x091AA30F75F86A60), UINT64_C(0x67C0F795509AEEFC),
3022           UINT64_C(0xF028C12A331629C5), UINT64_C(0x90D26B1C8A1F7478)}},
3023         {{UINT64_C(0x6F01554EB6AC2AD5), UINT64_C(0x9DD0576EBC9A48D6),
3024           UINT64_C(0xAB37201397AE2605), UINT64_C(0x1525D8B5BB83852B)},
3025          {UINT64_C(0xD50680C3E46E4C61), UINT64_C(0x29FBBA5CECB8F06F),
3026           UINT64_C(0x60A48AB4B16637A3), UINT64_C(0x8BB47967CD1490D3)}},
3027         {{UINT64_C(0xA35A01874B7C7EA6), UINT64_C(0xFE01521AB4D6409A),
3028           UINT64_C(0x57CECE628FDE1E30), UINT64_C(0x1A9A9B2DF4F51D55)},
3029          {UINT64_C(0x0D33556BE221AC58), UINT64_C(0x0A4A1A34152508AD),
3030           UINT64_C(0x1FD61DA10144AA33), UINT64_C(0x4804BE6AEDC7C5F8)}},
3031         {{UINT64_C(0x071EC8155B363A84), UINT64_C(0x359C2A9FFE11ED05),
3032           UINT64_C(0x0FDF80C9B8BBF9BD), UINT64_C(0x928E51A4103ACCBE)},
3033          {UINT64_C(0xD152B6E7D5E8A222), UINT64_C(0x6368E3A8CBE022C9),
3034           UINT64_C(0x2E5055DE3128B659), UINT64_C(0x51E23651D21F1062)}},
3035         {{UINT64_C(0x5CE999D734834BF7), UINT64_C(0xE386394C3DC831E9),
3036           UINT64_C(0x6DBD5ECA7FE48564), UINT64_C(0x804BC07F556841A5)},
3037          {UINT64_C(0x2A8B616C229A9175), UINT64_C(0xAEEB533AA1B3EF97),
3038           UINT64_C(0x9D858F9D6F145037), UINT64_C(0x247FFAB07F6A8EBB)}},
3039         {{UINT64_C(0xE616E779099EB4F3), UINT64_C(0x4F360D2EF1B1926C),
3040           UINT64_C(0x28EE1F9117055397), UINT64_C(0x9994D7FF844AFCF3)},
3041          {UINT64_C(0x8824A94912CBD801), UINT64_C(0xA3AFED4D6A4484DD),
3042           UINT64_C(0xCB16CD673B5E36A5), UINT64_C(0x5490C30DBC3BBEA9)}},
3043         {{UINT64_C(0xEA43CA5AD7601122), UINT64_C(0x9CF2A15BD248EB72),
3044           UINT64_C(0x4CE8AB75B71D18D0), UINT64_C(0x2576C5B1041A19A5)},
3045          {UINT64_C(0xDE20FD028CC1496E), UINT64_C(0xC9FE5B0C0BE51831),
3046           UINT64_C(0x9DC17E323A53ABBC), UINT64_C(0x94E24DD9F4C806FA)}},
3047         {{UINT64_C(0x2A9CF5F10DF1A4B3), UINT64_C(0xE019675415063C08),
3048           UINT64_C(0xCE9CF2C6CCF88F77), UINT64_C(0x51ACC7B5EFE91C6C)},
3049          {UINT64_C(0x0C2302EFA799FE2E), UINT64_C(0x5EE756A469C0D117),
3050           UINT64_C(0x7E907EC2F4EAB1A1), UINT64_C(0x19EEF95BD98022DD)}},
3051         {{UINT64_C(0xB170D483A8E7FFA5), UINT64_C(0x2052600A39180FAC),
3052           UINT64_C(0x8EAD52D4A68AF290), UINT64_C(0x01B88CFEFF9E3641)},
3053          {UINT64_C(0x3D9077F765BC2D0C), UINT64_C(0x2AF9CF673ABCDB1C),
3054           UINT64_C(0xEA104E747295DADA), UINT64_C(0x7DF23470EB1E5D6E)}},
3055         {{UINT64_C(0x0F54D98D8E53F40B), UINT64_C(0xBFC22E9BAF360481),
3056           UINT64_C(0x309973B6E132666B), UINT64_C(0x1F40D11F25E783E0)},
3057          {UINT64_C(0x8EEBC9D7F00AC3EB), UINT64_C(0xBD725D822F9ADCC7),
3058           UINT64_C(0x4776781066EFDDCC), UINT64_C(0x60B0B1004ECCAF67)}},
3059         {{UINT64_C(0x498E2074B98C7E96), UINT64_C(0xBEBF518308BF31A9),
3060           UINT64_C(0x00DD4AAD3894DBE7), UINT64_C(0x66C047A4429878F6)},
3061          {UINT64_C(0x16F2CB336D0F1AB1), UINT64_C(0x5FA2F18158669ACB),
3062           UINT64_C(0xFA4B2F49486F1BE7), UINT64_C(0x1ECAAF6B5698F41B)}},
3063     },
3064     {
3065         {{UINT64_C(0x2999C2124DCC455E), UINT64_C(0x83897E49BEF617B8),
3066           UINT64_C(0x6B49CE265A218E0F), UINT64_C(0x49A5C9EB88EF7EA7)},
3067          {UINT64_C(0xF0EDA5FFF63EC82C), UINT64_C(0x736D933DEAD471CD),
3068           UINT64_C(0x10E4431DDF8071C4), UINT64_C(0x8C59C10738E1523C)}},
3069         {{UINT64_C(0x569FB74E5A54A4AB), UINT64_C(0x72788868F3384C14),
3070           UINT64_C(0xBC840717107B417F), UINT64_C(0x6682C1077E13210C)},
3071          {UINT64_C(0xB3359FC277B20150), UINT64_C(0xEB923E66A9E03222),
3072           UINT64_C(0x490C39FCA10CF332), UINT64_C(0x69099C2D49BA035D)}},
3073         {{UINT64_C(0x6498672003CB2C6E), UINT64_C(0x994054A1328B22BA),
3074           UINT64_C(0x4155C6B96F0542DA), UINT64_C(0x216CF760A3B93FFB)},
3075          {UINT64_C(0x744861845C2AD753), UINT64_C(0xE517984EA0CD3660),
3076           UINT64_C(0x6530BC863D7DA8A1), UINT64_C(0x04328CF92E46CA79)}},
3077         {{UINT64_C(0x4100ADED4798CD35), UINT64_C(0xC832796D635BAECD),
3078           UINT64_C(0x7EF1EA955B80E18C), UINT64_C(0x6889A91B426B1AA9)},
3079          {UINT64_C(0xC40A0A870927C6F8), UINT64_C(0xD60CFD1C2B86ED45),
3080           UINT64_C(0x98731DFFD57350A1), UINT64_C(0x1C52EAE91DE4341F)}},
3081         {{UINT64_C(0xC287E33B23A40FAA), UINT64_C(0xB96D9F517A633BDC),
3082           UINT64_C(0xF6A5B779E6D0F326), UINT64_C(0x10203FE1F619DE4B)},
3083          {UINT64_C(0x011FB53EC4F18BF8), UINT64_C(0xAEBB82F6BCA32CA0),
3084           UINT64_C(0x06BF8ED5F881818D), UINT64_C(0x3A6A3E3518247E6A)}},
3085         {{UINT64_C(0x3BF2E96E00625DC1), UINT64_C(0xD81AD1565A288F80),
3086           UINT64_C(0x04C3269EB7CE9B13), UINT64_C(0x3E18EAFC2F9E2713)},
3087          {UINT64_C(0x20F0E05D9D0BC74A), UINT64_C(0xACDB4B75D8140790),
3088           UINT64_C(0x12918A7EF1B5B265), UINT64_C(0x22A70AF96896342E)}},
3089         {{UINT64_C(0x326A28A29C4B6B08), UINT64_C(0x21302F37A17D3D57),
3090           UINT64_C(0x181378E7CE36F438), UINT64_C(0x42B07EBAFED12DE1)},
3091          {UINT64_C(0x081DDD200468AD4C), UINT64_C(0x32822EC364DF34AE),
3092           UINT64_C(0xE9F8D7C204B2192D), UINT64_C(0x6ABC7220918666F8)}},
3093         {{UINT64_C(0x9333070104AF3956), UINT64_C(0xEEB7AA8E872BD30D),
3094           UINT64_C(0xFC96D106D0E67494), UINT64_C(0x516028CF3A918DFB)},
3095          {UINT64_C(0xFAF0B6F7FB27B6EC), UINT64_C(0x0FAD73AD515DA78D),
3096           UINT64_C(0x5F136068D8CF1934), UINT64_C(0x0A526E04B6052802)}},
3097         {{UINT64_C(0x20DF0DEBE4685212), UINT64_C(0x71D4BAC1A41B293F),
3098           UINT64_C(0xBCC32A2F2FA8BBAC), UINT64_C(0x32A8723AF30CC343)},
3099          {UINT64_C(0x71E6DAAFEF95ACFE), UINT64_C(0x27D158F69F445394),
3100           UINT64_C(0x2140F78DE186B246), UINT64_C(0x4CAF98C3CB1C83AD)}},
3101         {{UINT64_C(0x94E264FCB6F63AA9), UINT64_C(0xF4637B024D0FE485),
3102           UINT64_C(0xA4BC0A03069CCB4E), UINT64_C(0x99A81E379E25E817)},
3103          {UINT64_C(0xE3B804A78F4D37BB), UINT64_C(0x57F272A5E38E654C),
3104           UINT64_C(0x00D1852C05928F65), UINT64_C(0x3031B7134345DD06)}},
3105         {{UINT64_C(0x6E42AF1157536140), UINT64_C(0xDC5B7CDC005A403F),
3106           UINT64_C(0xE6EE185E26527417), UINT64_C(0x1003D0137C685BCF)},
3107          {UINT64_C(0xC2206BF6192979E6), UINT64_C(0xD1C370DB6FE38214),
3108           UINT64_C(0x78D105B792F3C044), UINT64_C(0x2F0DF6B8BFDF8DFA)}},
3109         {{UINT64_C(0xB02FCA3844D04C4A), UINT64_C(0x956A2F7CA44566C6),
3110           UINT64_C(0x60672DF39F1F09C6), UINT64_C(0x6459A9492160C362)},
3111          {UINT64_C(0xDAE5434108714451), UINT64_C(0x48B77A0DBFFD7CF6),
3112           UINT64_C(0x615ADBFE3EDBC8D4), UINT64_C(0x3338E55735B67D2F)}},
3113         {{UINT64_C(0x601D49D1DD24A0F0), UINT64_C(0x60A48DB748EF27B9),
3114           UINT64_C(0x97F2212C97A8BAC6), UINT64_C(0x376B0292155AB524)},
3115          {UINT64_C(0xA25881BA62E2A961), UINT64_C(0xEB74CC802B8C56F7),
3116           UINT64_C(0xBE5C5DD4DA57C41A), UINT64_C(0x53D0D0372D16AFA0)}},
3117         {{UINT64_C(0xE47C9EABCA291206), UINT64_C(0x25DADB6442D5C667),
3118           UINT64_C(0x8C154CB6D886993E), UINT64_C(0x11DEC39C806B932F)},
3119          {UINT64_C(0x51A4DCF313D4B4E5), UINT64_C(0xAA1DAD6D9D1D822A),
3120           UINT64_C(0x2BB2E14DCEEF2E29), UINT64_C(0x429C13C7B2343BE3)}},
3121         {{UINT64_C(0x4E8E953F297F709D), UINT64_C(0x23183A3D262D862A),
3122           UINT64_C(0xE164A10DEA12D93F), UINT64_C(0x386C2873FE703920)},
3123          {UINT64_C(0xD59E1582E5C51C7E), UINT64_C(0xA8C93B5B020F6A2E),
3124           UINT64_C(0x51518BD0160CD058), UINT64_C(0x3337801AB1D38AC7)}},
3125         {{UINT64_C(0x6E2515332F5D9E25), UINT64_C(0x88E76135B0D6B0DB),
3126           UINT64_C(0x5C1978329E6762D1), UINT64_C(0x1232677384E620AC)},
3127          {UINT64_C(0x3B88DF270E2694DD), UINT64_C(0x30FED9E330A23CAA),
3128           UINT64_C(0xE12DD93EA23DF142), UINT64_C(0x06778F512EA77C07)}},
3129     },
3130     {
3131         {{UINT64_C(0x5D5BE00E49E5F6B4), UINT64_C(0x2F47E7C7721EF9DC),
3132           UINT64_C(0x338F7B007EAFC098), UINT64_C(0x0F5F06E3AF8C2475)},
3133          {UINT64_C(0x2A4B845C63122B22), UINT64_C(0xED44006089A4CE9A),
3134           UINT64_C(0xC9EEB6409A86D9BC), UINT64_C(0x12C3E0F32F39B439)}},
3135         {{UINT64_C(0xB444B88B17766F6C), UINT64_C(0xF9B100E6A41FD692),
3136           UINT64_C(0x81EAFCD15C149B30), UINT64_C(0x37DD6F6E1D521A1E)},
3137          {UINT64_C(0x14DBE8C3389DCD6E), UINT64_C(0xCD24D6550DCBC7FC),
3138           UINT64_C(0x05F8D48EE00F9102), UINT64_C(0x403954E6509D18D4)}},
3139         {{UINT64_C(0xA04FDDDFE4FE16EC), UINT64_C(0xB9E7FA7390E15C0C),
3140           UINT64_C(0x7D6A7206C77FAB6B), UINT64_C(0x3FFDCCD13E221F12)},
3141          {UINT64_C(0x120C05B147B5BB7F), UINT64_C(0xFA3614C05B7E2B96),
3142           UINT64_C(0xF3A4F07F4A6AC6E0), UINT64_C(0x0324BF48C8AD4F23)}},
3143         {{UINT64_C(0x508A037055DF2F18), UINT64_C(0x1C6C91EAB872F209),
3144           UINT64_C(0xDC3F6C5A8E12F437), UINT64_C(0x65F5058FC91AFD75)},
3145          {UINT64_C(0x0C43613D5A859A1D), UINT64_C(0x83A2610E5BF96A6B),
3146           UINT64_C(0x1A98AA4C1496AEAD), UINT64_C(0x3AB1CE5EE6CAA901)}},
3147         {{UINT64_C(0x9420ABFEFFB3E411), UINT64_C(0xCE60976031404E74),
3148           UINT64_C(0x3D4C23C502C49837), UINT64_C(0x6B79FB14D0868A3C)},
3149          {UINT64_C(0xB4EEE8DB6B5861EA), UINT64_C(0x495E2B469D948195),
3150           UINT64_C(0x2BB0BD941CE15EC9), UINT64_C(0x6CE79F80DED25955)}},
3151         {{UINT64_C(0xA6B98C1D5820DF65), UINT64_C(0xE8284737909356B5),
3152           UINT64_C(0x38E8609A091340E1), UINT64_C(0x98EC077B10666012)},
3153          {UINT64_C(0xFB243B1EBF075DAE), UINT64_C(0x32312BACA270FE31),
3154           UINT64_C(0x214511200CAA5F8E), UINT64_C(0x8F60118F2A515015)}},
3155         {{UINT64_C(0x4F211C9ECBDEB88E), UINT64_C(0xF6D3CC3AB6D680FD),
3156           UINT64_C(0xE193829D8BF4B4A7), UINT64_C(0x3223EF4E2D620371)},
3157          {UINT64_C(0xC3E35420C0E5245A), UINT64_C(0xD3F4F894B4ADE2EA),
3158           UINT64_C(0x464FCB6CF2CE985E), UINT64_C(0x79CF596D7B987FA7)}},
3159         {{UINT64_C(0x0730748C0C0016FF), UINT64_C(0xD02115C5A2949069),
3160           UINT64_C(0xAA6F794D40E9C7F9), UINT64_C(0x9514FA7B79149C37)},
3161          {UINT64_C(0x6E2F27785A46BCE0), UINT64_C(0xF55D46C60837ACD5),
3162           UINT64_C(0xF965C4681E4223E6), UINT64_C(0x0BFF0A9185D90A07)}},
3163         {{UINT64_C(0x9ED903581923C8AF), UINT64_C(0xC425B633A470AE00),
3164           UINT64_C(0xF9F4B1621C50FDAD), UINT64_C(0x0999D072A8CA2BD5)},
3165          {UINT64_C(0xCB122FBDAF74D4C3), UINT64_C(0x372C13F02C283752),
3166           UINT64_C(0x9F42A90382138B19), UINT64_C(0x573A2CEE3EB8CB95)}},
3167         {{UINT64_C(0x6C3A6BE33AC2E191), UINT64_C(0x4149E0EB1B222DB2),
3168           UINT64_C(0x5BA91005A4AACC55), UINT64_C(0x176BD33D1BFADBD0)},
3169          {UINT64_C(0x4AEAF14EA8DA0FEA), UINT64_C(0xB12401F9A7FF8E1C),
3170           UINT64_C(0xF1EF39AE0F192414), UINT64_C(0x95D433D3416743C1)}},
3171         {{UINT64_C(0x29ECF54D9AA0C238), UINT64_C(0x3762F1D78FCA6419),
3172           UINT64_C(0x761D786A64D3AAA9), UINT64_C(0x7A8A677DDAEC7BF4)},
3173          {UINT64_C(0xC2829EAD324676F4), UINT64_C(0x4E504A474D0B291E),
3174           UINT64_C(0x360CE7FEF8C4F384), UINT64_C(0x33A577B578CDA37D)}},
3175         {{UINT64_C(0x1BBFC128333103FD), UINT64_C(0x3D36045CE45C9DBE),
3176           UINT64_C(0xA8D53F5A15C9013D), UINT64_C(0x99D62F8AA33FDCFD)},
3177          {UINT64_C(0x73E539610A81F581), UINT64_C(0xD01AD20ED00BC0D9),
3178           UINT64_C(0x59701F4D1F6D9B73), UINT64_C(0x0F4EBFBCE098E536)}},
3179         {{UINT64_C(0xBDB9368A91E3C062), UINT64_C(0xCD66A0B19B17AAE5),
3180           UINT64_C(0xB6636DD7B4537E05), UINT64_C(0x37D94B8E73B119CE)},
3181          {UINT64_C(0xA5F8E90FC7428FF9), UINT64_C(0xE7E5B2B7F8EA9F03),
3182           UINT64_C(0xB7F20FB85B3506DA), UINT64_C(0x0F4AB6D5E494FFDA)}},
3183         {{UINT64_C(0x3ACEE3BD85365933), UINT64_C(0x9D5223D3BF510114),
3184           UINT64_C(0xE0D7D9A7A08D01B0), UINT64_C(0x28FD329AB2F1F61F)},
3185          {UINT64_C(0x3E16A2E2A5909DD3), UINT64_C(0x284A8708B4FECB35),
3186           UINT64_C(0x190F7B3A73D5BFBA), UINT64_C(0x7E07982E92EE4BBE)}},
3187         {{UINT64_C(0xA30A4C2244945687), UINT64_C(0x657C0F2ED688A301),
3188           UINT64_C(0x9B558D4ABBB3E65A), UINT64_C(0x8044D57EA6E57844)},
3189          {UINT64_C(0xF202E50EE3957E21), UINT64_C(0x4957E651CE62FCC9),
3190           UINT64_C(0xF7B9EBA4C4ECE0B8), UINT64_C(0x29532CEC61167229)}},
3191         {{UINT64_C(0xE9DC8EA63EEF3D71), UINT64_C(0xEBF76BD43E8EC117),
3192           UINT64_C(0x48CEB78D2EA072B9), UINT64_C(0x82ECDFC473EFC32D)},
3193          {UINT64_C(0x51B02CB3E2C89E7D), UINT64_C(0xE9D0740CF4D9100F),
3194           UINT64_C(0xBB556EFE8A5E3F48), UINT64_C(0x864E52DA1D01B44E)}},
3195     },
3196     {
3197         {{UINT64_C(0x5A75E0BD14EA6DC5), UINT64_C(0x09F2AA76532EFED7),
3198           UINT64_C(0xE6DAE0A983CE5A18), UINT64_C(0x00F9BCB7CEB4E78D)},
3199          {UINT64_C(0x128FB51C71F79BF3), UINT64_C(0x78C7978880D5DBC3),
3200           UINT64_C(0x2752F02C9B816B9E), UINT64_C(0x88CFBA0CEB7622E2)}},
3201         {{UINT64_C(0x845AB940268432A3), UINT64_C(0xA8D0231B2F94F6D3),
3202           UINT64_C(0xBDFB3F91FEC02130), UINT64_C(0x07A61AE45F62419F)},
3203          {UINT64_C(0xD1C951DF192EBF1A), UINT64_C(0x22CDCFF5FA232E34),
3204           UINT64_C(0xDFDF121B3A7581DD), UINT64_C(0x9865ECA2710403A5)}},
3205         {{UINT64_C(0x609F4527F8180BAB), UINT64_C(0x93AB107250A6D914),
3206           UINT64_C(0x299D5013E2EEE3BD), UINT64_C(0x36EFCE5B42959C14)},
3207          {UINT64_C(0x49CDA60D1045FFCB), UINT64_C(0xA8B2492E45723371),
3208           UINT64_C(0xCB75789BF243FDBB), UINT64_C(0x8E1079D7871D500D)}},
3209         {{UINT64_C(0x69852694DB14298E), UINT64_C(0xBAA92A9541A56B6D),
3210           UINT64_C(0xC73718483DBFDBA4), UINT64_C(0x94B3155C947747F8)},
3211          {UINT64_C(0x97BCDD197552426B), UINT64_C(0x4FB3E76D32682121),
3212           UINT64_C(0x875AA0F78BC15FCA), UINT64_C(0x4065BCDFF1FD2315)}},
3213         {{UINT64_C(0x2D1C0519B7F1ED04), UINT64_C(0xED9A1BB7EA2535E1),
3214           UINT64_C(0xE4728CD6ABAE813E), UINT64_C(0x2CD7D44721A771D0)},
3215          {UINT64_C(0x88E2A78559B9E964), UINT64_C(0x2677FBD76F9B5374),
3216           UINT64_C(0x3967D6C52645B626), UINT64_C(0x8843F7DF5A1C315B)}},
3217         {{UINT64_C(0x673CD273C7055A4E), UINT64_C(0x052AC45CEE827873),
3218           UINT64_C(0xC26B9214CE1981F3), UINT64_C(0x3C39C13C2B8EEF59)},
3219          {UINT64_C(0xDD9E1B9B0B276D47), UINT64_C(0x6729A5347287F9A1),
3220           UINT64_C(0x43E1471C061DAD53), UINT64_C(0x6082FAD9118B56C8)}},
3221         {{UINT64_C(0x9C3872AAF99186D6), UINT64_C(0x1D9E8DB675AC99BF),
3222           UINT64_C(0x6FA7A0FFE338DBD3), UINT64_C(0x1EDF44ECD1FEF2F9)},
3223          {UINT64_C(0xBAF9D33A1F9114BF), UINT64_C(0x89AF08E53007B6A5),
3224           UINT64_C(0xAA04B1698436D917), UINT64_C(0x8381E76A6AFCF5E0)}},
3225         {{UINT64_C(0xC51848A4C1D799BA), UINT64_C(0x6C3D43A97F40B34B),
3226           UINT64_C(0xE8DAE074A5CB7B95), UINT64_C(0x5375B1EEBB5F8AEC)},
3227          {UINT64_C(0x461290EE507099E6), UINT64_C(0xB95934AA3BAD89AD),
3228           UINT64_C(0x9A6E5C22701A4D9C), UINT64_C(0x2CA791445E1389F6)}},
3229         {{UINT64_C(0xBF82F7860E5108FC), UINT64_C(0x3620CCC4644D06DE),
3230           UINT64_C(0xB65DE8538E5C4753), UINT64_C(0x6DAB72419FEDFD16)},
3231          {UINT64_C(0x4CECAC87546DCBA4), UINT64_C(0xA7BBE65D3E2D0684),
3232           UINT64_C(0x092AA490DA1E4FFA), UINT64_C(0x78F448BE41AD32AF)}},
3233         {{UINT64_C(0x321580FE4A33F071), UINT64_C(0xBEA845D15EE5E685),
3234           UINT64_C(0xC73CAECE47AC8ACF), UINT64_C(0x0E15E55DA9F65F05)},
3235          {UINT64_C(0x5FC47420A59506E7), UINT64_C(0x501417FF01DBD2DD),
3236           UINT64_C(0x8EF23280FB1205A6), UINT64_C(0x1AA26168E0F43AE8)}},
3237         {{UINT64_C(0xD41F73B18149EB2A), UINT64_C(0xC297AF04AD95D531),
3238           UINT64_C(0x2017176F749E415D), UINT64_C(0x5AF89C738357CE9A)},
3239          {UINT64_C(0x301F7C7908A0FF9C), UINT64_C(0x0C2999B598695C57),
3240           UINT64_C(0x856799576E4D8FF5), UINT64_C(0x2CC0FF3E6F493B1C)}},
3241         {{UINT64_C(0xFE90F9044AF481F5), UINT64_C(0x0562C78B31BC4919),
3242           UINT64_C(0xAA44AA5670E4F140), UINT64_C(0x1B61DEB4A175159A)},
3243          {UINT64_C(0x85315DE1A7A7E648), UINT64_C(0x4BC1F51D6C012B33),
3244           UINT64_C(0x40CB5DE3060CDEE6), UINT64_C(0x969F919632A1E138)}},
3245         {{UINT64_C(0x3B317508E05F23B5), UINT64_C(0x7B1A93AE512D1156),
3246           UINT64_C(0x3A283415CB58EC19), UINT64_C(0x193A53A18E27CAD9)},
3247          {UINT64_C(0xCF6BBEBA03DE1BA8), UINT64_C(0xFA5544CA47A02393),
3248           UINT64_C(0x8B3AAC1A8627F5EB), UINT64_C(0x02FAD2EC62EAF195)}},
3249         {{UINT64_C(0x4F8D8ADA259CCF0F), UINT64_C(0xE4E6786B562991D7),
3250           UINT64_C(0xA1C63473597C3FD3), UINT64_C(0x1F5B9017ACAB6F16)},
3251          {UINT64_C(0x95B201BD592D437A), UINT64_C(0x54432A75ED14F859),
3252           UINT64_C(0x67EF73FB0B551AC1), UINT64_C(0x0A48F0437F1AB9CA)}},
3253         {{UINT64_C(0xECEE508E4A35445C), UINT64_C(0x80BE9F07B3EA6F9B),
3254           UINT64_C(0xD914B25687E4B78E), UINT64_C(0x97F79CC9F89B8E4B)},
3255          {UINT64_C(0x6A5B4F2BC359FB12), UINT64_C(0x54E6E37A99CF6FFA),
3256           UINT64_C(0x1133C4B2F7C66CA8), UINT64_C(0x6F679B280345866B)}},
3257         {{UINT64_C(0x0006F7A144E77CDF), UINT64_C(0xD8077F9F42033333),
3258           UINT64_C(0x0414ECE521EAF35F), UINT64_C(0x1211576B5623803C)},
3259          {UINT64_C(0xEDADD215140309A7), UINT64_C(0xC349C6575EBAE3BB),
3260           UINT64_C(0xBD40427C821DE06B), UINT64_C(0x8949ACA33F5D2F97)}},
3261     },
3262     {
3263         {{UINT64_C(0xAC1F87E6022E3D44), UINT64_C(0xDFC17BEDB39F6B10),
3264           UINT64_C(0xEAAE416807119C4A), UINT64_C(0x8B3B40BCDBD47D36)},
3265          {UINT64_C(0x6683A561861B7B59), UINT64_C(0xF9BFFB1713A6C76D),
3266           UINT64_C(0xE4E72EA4A30A05AC), UINT64_C(0x77C219E8BA0D2AD6)}},
3267         {{UINT64_C(0x5019824E66BE6944), UINT64_C(0x811ACEBE7B131070),
3268           UINT64_C(0x9730DCF03BA34677), UINT64_C(0x5B9C5CF57BC9CFC8)},
3269          {UINT64_C(0x1CBD950FB283C8CC), UINT64_C(0xF66DBDDA3973A325),
3270           UINT64_C(0x4EC5EBC26FA60257), UINT64_C(0x0C01D57736FF26B3)}},
3271         {{UINT64_C(0xBB2219547CE2BE74), UINT64_C(0x23E44E0E841E6C0C),
3272           UINT64_C(0xE760D33D77C3824E), UINT64_C(0x5B656FBE7EB3CE34)},
3273          {UINT64_C(0xEC50E509C5F3D66E), UINT64_C(0x5326C2B8496EF8BA),
3274           UINT64_C(0x3F9485F63D4B20D4), UINT64_C(0x11B74A8551C21B0E)}},
3275         {{UINT64_C(0xC3EAEB0425E30336), UINT64_C(0xA9D6C70FA6E3637F),
3276           UINT64_C(0xF818C37E86F77F68), UINT64_C(0x786ED3C2C60DF35A)},
3277          {UINT64_C(0xACA70EA0D56D705A), UINT64_C(0xCE61608C7BF4EF10),
3278           UINT64_C(0x49AD1CD81722C179), UINT64_C(0x1B84FBE9687F3222)}},
3279         {{UINT64_C(0x8A0F4BF135EE0BA9), UINT64_C(0x42AD284603952A08),
3280           UINT64_C(0x1E0E1E3B3B60B4DD), UINT64_C(0x0DC1A947F5DCAD76)},
3281          {UINT64_C(0x054BECA41F496E03), UINT64_C(0x8F02FDAB3AE6E6F6),
3282           UINT64_C(0x8851CFF49B71C9F5), UINT64_C(0x6BD7271CA7441F87)}},
3283         {{UINT64_C(0xB019E3469EB6A2C3), UINT64_C(0x2B719034931E7550),
3284           UINT64_C(0x2B2CBEBD40698F1F), UINT64_C(0x375DB5914F1FC587)},
3285          {UINT64_C(0x09843166676A79A4), UINT64_C(0x91848967B416D657),
3286           UINT64_C(0xB49EA7219FED6B27), UINT64_C(0x1FAC5650D080C8AA)}},
3287         {{UINT64_C(0x205CD58858C4C2AA), UINT64_C(0xBEEE26F817F572EE),
3288           UINT64_C(0xE744AB674CB4DE3A), UINT64_C(0x37E34E18CBE989BD)},
3289          {UINT64_C(0x95D9118B767D31B5), UINT64_C(0x9A34DBEC83E7C03E),
3290           UINT64_C(0xCAFDBD1AB8F70DD3), UINT64_C(0x1E68A6813909BB51)}},
3291         {{UINT64_C(0xFE0A5DFF9FD96ABA), UINT64_C(0xBBFB1FDFD99B68DE),
3292           UINT64_C(0x5E232A4FE3F522BE), UINT64_C(0x768C2C54A6428D33)},
3293          {UINT64_C(0xE9CFEDF9DBF1A575), UINT64_C(0x841721F24B83F9AB),
3294           UINT64_C(0xFAD9650A80A85361), UINT64_C(0x3158921104979759)}},
3295         {{UINT64_C(0x1CF9F4B8EFBF2099), UINT64_C(0x63D5499BF571408B),
3296           UINT64_C(0x89C119FCEC3E74A6), UINT64_C(0x0525DDDF698E4DCD)},
3297          {UINT64_C(0x43FCDDE47333A38C), UINT64_C(0x2150EAD480A912DE),
3298           UINT64_C(0x4B3BD2230A19CC55), UINT64_C(0x3553EB4E238AC64C)}},
3299         {{UINT64_C(0x3A259F52FEC2371F), UINT64_C(0x8B03C50544863D3E),
3300           UINT64_C(0x1053E2D686BB6522), UINT64_C(0x400CE699F7086CBE)},
3301          {UINT64_C(0x695B1EA003ED78DE), UINT64_C(0x00AE6D0916500E1B),
3302           UINT64_C(0x9F29B08914B01815), UINT64_C(0x269692B4C218D892)}},
3303         {{UINT64_C(0x8660280DF0D44E79), UINT64_C(0x69D2968537C0F38F),
3304           UINT64_C(0x664B8146B9E24AD8), UINT64_C(0x277CB4DD1E695452)},
3305          {UINT64_C(0xB1A02D4EDFBF05EB), UINT64_C(0x3B3493084A1426C7),
3306           UINT64_C(0x13B7961222204FE7), UINT64_C(0x04F80867BCB5CD9F)}},
3307         {{UINT64_C(0x37BDBCAEE0852CBC), UINT64_C(0x2A6D7A23BE22764C),
3308           UINT64_C(0x4E0D43AC25AFD9FF), UINT64_C(0x1F6C9E14D16DD9EB)},
3309          {UINT64_C(0xE37E3AB3B4B0F47A), UINT64_C(0x09E046FB6C476C3A),
3310           UINT64_C(0xB8F649D9B75FA2DC), UINT64_C(0x7962A8C4FAB1AC41)}},
3311         {{UINT64_C(0x00E41470F6A1314A), UINT64_C(0x176380C3E4388464),
3312           UINT64_C(0xDB3405CD9B8A2B4D), UINT64_C(0x6299A1A67DE02ABC)},
3313          {UINT64_C(0x9F6B9DE77BBE7BFA), UINT64_C(0x59F16F549D3098DD),
3314           UINT64_C(0xFEC29C8D3B5767FE), UINT64_C(0x67711BC064955759)}},
3315         {{UINT64_C(0x34444EA3B1B07B5D), UINT64_C(0xB1D973B491FA2B4A),
3316           UINT64_C(0xEBEBEFB183403A0E), UINT64_C(0x56D520988E8A8EC6)},
3317          {UINT64_C(0x11C93529A7E82D55), UINT64_C(0x9230AE03D525C399),
3318           UINT64_C(0x74E1CBB28DB46C82), UINT64_C(0x4C3383CC40BE5E15)}},
3319         {{UINT64_C(0x33A52E73CDAD72F3), UINT64_C(0x1D2CCA33B9E77759),
3320           UINT64_C(0x26717716549406F5), UINT64_C(0x70DED57F5B3DB3E8)},
3321          {UINT64_C(0xBA38F81343C85A67), UINT64_C(0x956F2DD735422BB3),
3322           UINT64_C(0x52D9FA9907486F18), UINT64_C(0x655791BF75D1D2C4)}},
3323         {{UINT64_C(0xF434A9601FC9E0B3), UINT64_C(0x42A7B891BEDE92AD),
3324           UINT64_C(0x05A182D8A55A8009), UINT64_C(0x3404E08D38531612)},
3325          {UINT64_C(0x2B5B2766F07D76E3), UINT64_C(0x94B1A98D1D77B90C),
3326           UINT64_C(0xA86C0EC84B18BB9F), UINT64_C(0x6532770F526A81E3)}},
3327     },
3328     {
3329         {{UINT64_C(0x4429A4E861CFE04A), UINT64_C(0xEE8673862C9CA012),
3330           UINT64_C(0x237A3040C32D1969), UINT64_C(0x400AD5990AE2DFAE)},
3331          {UINT64_C(0x1603D10A213C0A18), UINT64_C(0x6EB8042D2B1E2A57),
3332           UINT64_C(0x4C9C1696C7CAF556), UINT64_C(0x79BE04A7E0C1A5A3)}},
3333         {{UINT64_C(0x161781E33FCB8B14), UINT64_C(0x1383E3B8B1384C3C),
3334           UINT64_C(0x5129EA19B566626C), UINT64_C(0x8A1F86E4551DE02A)},
3335          {UINT64_C(0x9C648CCEAEDBE04C), UINT64_C(0x0D4278ACFB200132),
3336           UINT64_C(0x466D452AC1E2D4A3), UINT64_C(0x832B0E6EB21B6E38)}},
3337         {{UINT64_C(0x20101D7CED1D76C7), UINT64_C(0xC3282661C110D85E),
3338           UINT64_C(0xB8026CE4FFCA2DD7), UINT64_C(0x73B4EBA58BA48211)},
3339          {UINT64_C(0xAB94FE21D8554E2C), UINT64_C(0x319E2FD781B2A181),
3340           UINT64_C(0x2C824DC537E8D3E2), UINT64_C(0x97CD457A09FCA0AB)}},
3341         {{UINT64_C(0x8E4B5FBDC50116CB), UINT64_C(0x3D20CECECA631A93),
3342           UINT64_C(0x5F80606C545575D8), UINT64_C(0x45ED55DEF91C7908)},
3343          {UINT64_C(0x91870A927CC1083C), UINT64_C(0xA3828E06D360FF5C),
3344           UINT64_C(0xFC9DFCDC84003D42), UINT64_C(0x0733C887FAC4667F)}},
3345         {{UINT64_C(0x6F1F771ACC2FC31B), UINT64_C(0xDA9351A1902E8176),
3346           UINT64_C(0xFB9395AFCE3FF045), UINT64_C(0x17C28CA213820DAB)},
3347          {UINT64_C(0xA1F596BCA684E6FA), UINT64_C(0x89228CC7DAD3995A),
3348           UINT64_C(0x5DBFD421C02E458B), UINT64_C(0x58C25045A2122AFE)}},
3349         {{UINT64_C(0x2906450F018EADB0), UINT64_C(0x88A7A2369030C84E),
3350           UINT64_C(0x492BA7A333308084), UINT64_C(0x321388B95605F371)},
3351          {UINT64_C(0x5F934C94626AE19A), UINT64_C(0xE2BD6C6701C7CCD9),
3352           UINT64_C(0xB07757B1EC0BBD52), UINT64_C(0x1E980338F9EDD2AC)}},
3353         {{UINT64_C(0x5A5370748831457C), UINT64_C(0x0E0E22FB47E7B9A9),
3354           UINT64_C(0x7BE70594A225A259), UINT64_C(0x433DB05530946816)},
3355          {UINT64_C(0x852EA9F9E2F2C3CB), UINT64_C(0xDC4E8E3A2D243848),
3356           UINT64_C(0x10F34AB81E887770), UINT64_C(0x29795D2CC89FC71B)}},
3357         {{UINT64_C(0xE046B04BCFEC2C6F), UINT64_C(0xA1D3B5A02CA8256E),
3358           UINT64_C(0x93F7FDFAE87F767F), UINT64_C(0x2DF5693E35FA3837)},
3359          {UINT64_C(0x71D9638C97884587), UINT64_C(0x175EA91F39E115EC),
3360           UINT64_C(0x14E16C31F41A27FC), UINT64_C(0x8B2682EAEB2F5913)}},
3361         {{UINT64_C(0x2BCC6853798C7F28), UINT64_C(0x2F985A59DD7D3615),
3362           UINT64_C(0xA66519E141D2257A), UINT64_C(0x18731D74021F719B)},
3363          {UINT64_C(0x7210472C360E9C20), UINT64_C(0x4FB48411329A9B35),
3364           UINT64_C(0xB33B6CB587D62CA5), UINT64_C(0x86226D9EFD0D7703)}},
3365         {{UINT64_C(0xDD133F8BF67CB77C), UINT64_C(0x381E4D62F6ABEE80),
3366           UINT64_C(0x3236F0057DF85AE5), UINT64_C(0x88EBB3864610BB0E)},
3367          {UINT64_C(0x895AA5398DB908D8), UINT64_C(0x848142E6104C4633),
3368           UINT64_C(0x467EE770B8012B2E), UINT64_C(0x193CBAED1B9210EE)}},
3369         {{UINT64_C(0x737CD32BC1F44FC1), UINT64_C(0xCDF82B1C522B6209),
3370           UINT64_C(0x08F4BB70E0017F2A), UINT64_C(0x1565BCEF64738F26)},
3371          {UINT64_C(0x0D2910B9684DCF67), UINT64_C(0x4ED1734BC6F3EB81),
3372           UINT64_C(0xCBEA79B6DA1D6BC8), UINT64_C(0x0470CE36EE6A41D6)}},
3373         {{UINT64_C(0xECFD5C66BA05AF3C), UINT64_C(0x421D5540EB9BFAA8),
3374           UINT64_C(0xFC0E5AF2526CFF85), UINT64_C(0x7E17F1E653DC49A6)},
3375          {UINT64_C(0x69BB1DFB1FAEB0A2), UINT64_C(0xDC95661AB3785ED4),
3376           UINT64_C(0x1F1D7395676D7CD0), UINT64_C(0x2C16BB9689C6412F)}},
3377         {{UINT64_C(0x2335F20EEE414CA6), UINT64_C(0x56E0DDB2FEF5E042),
3378           UINT64_C(0x942D4E35D9DE2966), UINT64_C(0x80E92B8CCF63D583)},
3379          {UINT64_C(0x158BE1B65D492C76), UINT64_C(0xFF096960C4F822D9),
3380           UINT64_C(0xC00FC7305AF79379), UINT64_C(0x07C49B0350D34E12)}},
3381         {{UINT64_C(0x64678B2EC34836C8), UINT64_C(0xCC280DCB615FF066),
3382           UINT64_C(0x86C3C7479131EC98), UINT64_C(0x35B008CC2D151FAD)},
3383          {UINT64_C(0x22C18852F8133FDC), UINT64_C(0x183BE4DC2FE8809D),
3384           UINT64_C(0x86589814CF98D56D), UINT64_C(0x52D8074D2F6E0DE4)}},
3385         {{UINT64_C(0x33FF9F41C9274AA6), UINT64_C(0xAC30ACB4CA854AF1),
3386           UINT64_C(0x87A7BE53FBC994B7), UINT64_C(0x6E7E8B2ADBCD717B)},
3387          {UINT64_C(0x3065A732CD494AB6), UINT64_C(0x6F977B8760FD7F57),
3388           UINT64_C(0x4C216EB4B74BAD54), UINT64_C(0x674F00F5F6061F7A)}},
3389         {{UINT64_C(0xA8C224813164AFBB), UINT64_C(0x4C9E2F1D72A7AC55),
3390           UINT64_C(0xE3DAC3E379DEFE94), UINT64_C(0x193A1E0BBB9D953F)},
3391          {UINT64_C(0x8852020C7E0957EE), UINT64_C(0xF7FD181EB62F8EF7),
3392           UINT64_C(0x0DE7EDDEE26B8860), UINT64_C(0x53A05575FD1B00DE)}},
3393     },
3394     {
3395         {{UINT64_C(0xE5D63E1B63E0C8FC), UINT64_C(0x6849B530C684016A),
3396           UINT64_C(0x4E89CB43009318AD), UINT64_C(0x1CDC5918EF571911)},
3397          {UINT64_C(0xA6596C03F389EAF3), UINT64_C(0x9282C1B3E88975F9),
3398           UINT64_C(0xD07A2AEF0D53D3F2), UINT64_C(0x3DA515D52B3B602C)}},
3399         {{UINT64_C(0xE42857818A5436EA), UINT64_C(0x047E305636D65626),
3400           UINT64_C(0x0016B568E16489A0), UINT64_C(0x4460319675A0209C)},
3401          {UINT64_C(0x2BE99A51BCC19754), UINT64_C(0xE02EAFD05ACFCDEF),
3402           UINT64_C(0xB0A1E300AECACABB), UINT64_C(0x0F39CBDEAC1860D9)}},
3403         {{UINT64_C(0x50DA53722099F08E), UINT64_C(0xAA6AAAD1CA4817B1),
3404           UINT64_C(0xA4DDC5FF57D73192), UINT64_C(0x046043AC7682D453)},
3405          {UINT64_C(0xC8EB178828CF3F48), UINT64_C(0x3967A02FDCA184D4),
3406           UINT64_C(0x0CE68B7986221941), UINT64_C(0x27BDCA48FD3A197A)}},
3407         {{UINT64_C(0xD774E33C563D7A91), UINT64_C(0x1C309DAE07AE1C92),
3408           UINT64_C(0xDABA89B457DBE6A8), UINT64_C(0x90C62517E5820FA4)},
3409          {UINT64_C(0x23C6460511371109), UINT64_C(0x1176AE7E15605666),
3410           UINT64_C(0xD71E9755DF040DCB), UINT64_C(0x5312A5B362ED515C)}},
3411         {{UINT64_C(0xB7AA3A117A5FB9E0), UINT64_C(0xA769BC7218E2CB32),
3412           UINT64_C(0x9D551B9B6B73E050), UINT64_C(0x0CE51DF0DB067CBC)},
3413          {UINT64_C(0x00BF90D54A0E06BE), UINT64_C(0xFEC6E7B37EE820E7),
3414           UINT64_C(0xDFBAC0833334937A), UINT64_C(0x46884935CE14CF46)}},
3415         {{UINT64_C(0xC3F31EAF902EF3A9), UINT64_C(0xF3B6E6FA5CCDF002),
3416           UINT64_C(0x5A9B532188CDDE0F), UINT64_C(0x00D99E43E8691FED)},
3417          {UINT64_C(0x8E786F52CFE02C8B), UINT64_C(0x587AA5374DD36F8E),
3418           UINT64_C(0xBCA91CAC425CC228), UINT64_C(0x80AA8AA9BFA9C36B)}},
3419         {{UINT64_C(0xAD4A2AD09B20505A), UINT64_C(0x6D70802916739066),
3420           UINT64_C(0x729001F389F73B52), UINT64_C(0x774803478073A428)},
3421          {UINT64_C(0x1AB38F07E84DB3B4), UINT64_C(0xE643D756A6655769),
3422           UINT64_C(0x5631359B46C19856), UINT64_C(0x82530A3201C3DCD1)}},
3423         {{UINT64_C(0x9250EC262DDDB968), UINT64_C(0x63D99CBF8D82A03E),
3424           UINT64_C(0x4FBFE78441349B60), UINT64_C(0x6977DD07A15BF2B7)},
3425          {UINT64_C(0x771917C668513C32), UINT64_C(0x026035188F0064F7),
3426           UINT64_C(0x45A5742951D78637), UINT64_C(0x56BF57CC87293790)}},
3427         {{UINT64_C(0xBAC94E24032E6426), UINT64_C(0x7D54AE34C2531B26),
3428           UINT64_C(0x4D6EF608CD688082), UINT64_C(0x736E7ACFF5AA4BEE)},
3429          {UINT64_C(0x41D5BF6C6AFB84E2), UINT64_C(0x40E12DA56E976E09),
3430           UINT64_C(0xCBF32FCB2235F7B9), UINT64_C(0x285DDF46A21BC0E0)}},
3431         {{UINT64_C(0x66C6A76ECE751632), UINT64_C(0xBD457D0E32A61A1D),
3432           UINT64_C(0xFA12A7C878191C57), UINT64_C(0x030ED98B06611B5E)},
3433          {UINT64_C(0x199F7756F4972FFD), UINT64_C(0x298D98E69C8AAB09),
3434           UINT64_C(0x2186054CC5B02158), UINT64_C(0x0736CE4CB9B1147A)}},
3435         {{UINT64_C(0x33E4A4CA19BFA57D), UINT64_C(0xF02F6D32AA70C35D),
3436           UINT64_C(0x9EA10B633CC082FD), UINT64_C(0x86104E8ED00E82A8)},
3437          {UINT64_C(0xACBA5E7387797E25), UINT64_C(0x24DD98A8EB85A796),
3438           UINT64_C(0x02748827C58AC480), UINT64_C(0x5B4480C76A932D80)}},
3439         {{UINT64_C(0xF9E210FB1992B174), UINT64_C(0x3CFA6EF1BE22636E),
3440           UINT64_C(0xA46F202B3BDFA2BD), UINT64_C(0x8C83B3DA441B96D2)},
3441          {UINT64_C(0x3BB2ED8B8AA39AB4), UINT64_C(0x4DB63B239CE53FB2),
3442           UINT64_C(0x24AC8A9846DC2104), UINT64_C(0x997BC4A768E20D1B)}},
3443         {{UINT64_C(0x4CDF8757D1C0D629), UINT64_C(0xBA155719A64B6058),
3444           UINT64_C(0x82FD0DA3BE3FB0B1), UINT64_C(0x12F5069403E34CB1)},
3445          {UINT64_C(0x8993EE3802E7DFEB), UINT64_C(0x2FC240C63D7A758E),
3446           UINT64_C(0x75CB6F62AFF7CC7B), UINT64_C(0x2D73F74D71B02A5B)}},
3447         {{UINT64_C(0x0B7B920A550ADA69), UINT64_C(0x87D29F08D2F1D5C2),
3448           UINT64_C(0x6E36EF9CEEA99A38), UINT64_C(0x624874C179D7626A)},
3449          {UINT64_C(0x9FCA1B2E17F026E0), UINT64_C(0xBDBE18E5A3A79C2E),
3450           UINT64_C(0x1506DE6A6E1B0C6D), UINT64_C(0x860CCD71AD2A2C5F)}},
3451         {{UINT64_C(0x00A15CB028715EF9), UINT64_C(0x71F337D8B1C0ED6D),
3452           UINT64_C(0xBD7E6892F998251E), UINT64_C(0x4C5AB31108E0A4E9)},
3453          {UINT64_C(0xDFD51293567342FB), UINT64_C(0xF202FCD15AE3193B),
3454           UINT64_C(0xE317C933AF59A5A2), UINT64_C(0x300FE0835055DE2A)}},
3455         {{UINT64_C(0x279A071AC58E7AE9), UINT64_C(0xCED1F2F44C718A8B),
3456           UINT64_C(0x3A8C0D1A5FE7F6E5), UINT64_C(0x789C9B04BB40DA93)},
3457          {UINT64_C(0xBB7EA922BF2A0B9B), UINT64_C(0x5DD7A04A3A484413),
3458           UINT64_C(0x3E1F49FBC5912F93), UINT64_C(0x4D8C07A561ECAB05)}},
3459     },
3460     {
3461         {{UINT64_C(0x7D3510079706D4CF), UINT64_C(0x3E2B3D2EB9BABB1F),
3462           UINT64_C(0xC73745BFA2E423EA), UINT64_C(0x0AB3940AF59601A0)},
3463          {UINT64_C(0x8881507A2A895C4F), UINT64_C(0xF27F6F4068652263),
3464           UINT64_C(0xCFD9181488A416BE), UINT64_C(0x13459BC31B4F51F6)}},
3465         {{UINT64_C(0x6D830E0C01C7C38A), UINT64_C(0xBA912BD4E27DA48A),
3466           UINT64_C(0x3828F4334AB8B5A6), UINT64_C(0x3F858E6CE35E88DA)},
3467          {UINT64_C(0x137F2E3A6E1C033C), UINT64_C(0xFC7C89537E670398),
3468           UINT64_C(0x6FF761CEF5C3D4DB), UINT64_C(0x53A02906EED1029B)}},
3469         {{UINT64_C(0x5C597BA656779C20), UINT64_C(0x366688CC43A87346),
3470           UINT64_C(0x19F6DA4AA55ACF91), UINT64_C(0x280ED592182DEC58)},
3471          {UINT64_C(0x0A1F3A7AA1D3EBDD), UINT64_C(0xD92B60780C9F474A),
3472           UINT64_C(0x38D0335E19AE00DD), UINT64_C(0x094A5772A97F33F7)}},
3473         {{UINT64_C(0x026A9029312D2694), UINT64_C(0x95408516AB5B34B8),
3474           UINT64_C(0x9FFA9AB1DED270EA), UINT64_C(0x1F9DDC52493E5935)},
3475          {UINT64_C(0xAC7F94C117244394), UINT64_C(0x18FC29C40F28C9DF),
3476           UINT64_C(0xEDE29238BD817BD9), UINT64_C(0x20DBF9AF8E2A7E40)}},
3477         {{UINT64_C(0x009365D97648CA5C), UINT64_C(0xB168191E2BF27488),
3478           UINT64_C(0x2481BFAAE3B91112), UINT64_C(0x744C505B3D6DB830)},
3479          {UINT64_C(0x21426D8F3C464704), UINT64_C(0x283F59EFDAF85A61),
3480           UINT64_C(0x278B5F8EF2716102), UINT64_C(0x95B80D820FE7E7EC)}},
3481         {{UINT64_C(0xD15ADA08F327664D), UINT64_C(0xF26E3232FE904AF8),
3482           UINT64_C(0x2763DBA6F99471C6), UINT64_C(0x4BC9713915F30827)},
3483          {UINT64_C(0x8523812E5F154BF9), UINT64_C(0x0839059FDE17F8F9),
3484           UINT64_C(0xEA151382BC16678D), UINT64_C(0x68D01E627890C4EF)}},
3485         {{UINT64_C(0x37FAC9FA9487556B), UINT64_C(0xB4DF5C53FB4DC83D),
3486           UINT64_C(0x1EF42D8C92969151), UINT64_C(0x6C0A9D188B0ED349)},
3487          {UINT64_C(0x63E91049946F31ED), UINT64_C(0x51E91DC6653F600B),
3488           UINT64_C(0xD7A582B153A29196), UINT64_C(0x0452F4AD31E1D843)}},
3489         {{UINT64_C(0x1224169D0DE8E344), UINT64_C(0x0F4AB4E7F329D30F),
3490           UINT64_C(0x12662965B525B6A4), UINT64_C(0x3142B612255F14B8)},
3491          {UINT64_C(0xEF6148B9BBF468A1), UINT64_C(0x3FC413B4144F8DFF),
3492           UINT64_C(0xA453D0759BF55B34), UINT64_C(0x857EC76386EBA319)}},
3493         {{UINT64_C(0x7FC22E26C16C1002), UINT64_C(0x2E34975EB0B186C3),
3494           UINT64_C(0xE11E36422FC79F85), UINT64_C(0x30FE5C0E9F981B5F)},
3495          {UINT64_C(0x73BD0FA631816247), UINT64_C(0x40FE16616906AF0A),
3496           UINT64_C(0x8D7109A3787BC7EE), UINT64_C(0x294520546FB9A590)}},
3497         {{UINT64_C(0x24654B9B4DFAAF93), UINT64_C(0x91CDEA8B9A450D29),
3498           UINT64_C(0xEE55420BE4874748), UINT64_C(0x01FAC14C6D03064C)},
3499          {UINT64_C(0x8A4EBDE2D93BD5BE), UINT64_C(0xCB2DF30749EF18A9),
3500           UINT64_C(0x36E6AC641A7B7F36), UINT64_C(0x301954234AC1CB8D)}},
3501         {{UINT64_C(0xD9970B1E34F5B3FF), UINT64_C(0x3CFEFC50587A9C5C),
3502           UINT64_C(0x8EC1C5DE7CCE631E), UINT64_C(0x92C93E2B52465AB8)},
3503          {UINT64_C(0x0104DF30257017CA), UINT64_C(0xF4E5E7798D8DB4CE),
3504           UINT64_C(0xE12A39DDFDC267F0), UINT64_C(0x683DEAFE27C73FDA)}},
3505         {{UINT64_C(0xD0840E81BBC70623), UINT64_C(0x03A93C164D23568E),
3506           UINT64_C(0xC52FF3D611A71BFF), UINT64_C(0x03C11FCE0875248E)},
3507          {UINT64_C(0xBC6F184B6C4AE445), UINT64_C(0xF52CC71F7698EE98),
3508           UINT64_C(0x4663193EEEA25223), UINT64_C(0x86CD1AB3031C68DC)}},
3509         {{UINT64_C(0x221C94EB21E04C02), UINT64_C(0xE96BB7B37B980F70),
3510           UINT64_C(0x60A7289724DC2BD1), UINT64_C(0x8C8E019F5621F475)},
3511          {UINT64_C(0xAE47B2F75CFA457A), UINT64_C(0x31B2F9E1F395C533),
3512           UINT64_C(0x7EEB5DDC82E75849), UINT64_C(0x4863A6A32A241E52)}},
3513         {{UINT64_C(0x806AC7F4914976EF), UINT64_C(0x5019261ECA42B875),
3514           UINT64_C(0x44F5C03D6EF2D82F), UINT64_C(0x24959F00690F2ACA)},
3515          {UINT64_C(0x4BDE211581F0BBB6), UINT64_C(0x01EB2C001F701A2D),
3516           UINT64_C(0x039F8910274FB05C), UINT64_C(0x57068F24C625EBCD)}},
3517         {{UINT64_C(0xB21B8C9367FF2575), UINT64_C(0xC7826C600C60B449),
3518           UINT64_C(0xD4D69A9FA98671BB), UINT64_C(0x95249276F5A2AB0C)},
3519          {UINT64_C(0x8F7007F02D1976DA), UINT64_C(0x846F2A92C011D54C),
3520           UINT64_C(0xFDBF81DFFA2076B1), UINT64_C(0x3349224F5583B46C)}},
3521         {{UINT64_C(0x624967467C854B4A), UINT64_C(0xF92BAE1D798B1395),
3522           UINT64_C(0x2EBE18E3D2F65638), UINT64_C(0x472FF6E58A068F49)},
3523          {UINT64_C(0x64BB0F33DA2030C2), UINT64_C(0x72C0D0C966F6C000),
3524           UINT64_C(0xEA837EE53194615E), UINT64_C(0x1B7B4849FA9A7903)}},
3525     },
3526     {
3527         {{UINT64_C(0x27AB780CCF9A0727), UINT64_C(0xD457A7BC9D7486CB),
3528           UINT64_C(0xFC57C335FE9F1A59), UINT64_C(0x269D8959D1D9F161)},
3529          {UINT64_C(0x06A32331B81605D5), UINT64_C(0x236963536F050BE0),
3530           UINT64_C(0xF9350879413E1C0D), UINT64_C(0x170195485761A8DF)}},
3531         {{UINT64_C(0x583D3D3F6765C6A2), UINT64_C(0x68BBA6F9BE9DF3AF),
3532           UINT64_C(0x7011E59485358B53), UINT64_C(0x3B2142E353A08874)},
3533          {UINT64_C(0x4AB6137E6F5C8641), UINT64_C(0x4955890E4FE9BCEB),
3534           UINT64_C(0xE2F732BA4D14DA01), UINT64_C(0x8CB285FCBEBD63D4)}},
3535         {{UINT64_C(0x5099551B6C74A0AA), UINT64_C(0xF04EB8F8BC2C8A61),
3536           UINT64_C(0xE169F49285983435), UINT64_C(0x764062A15B808C9E)},
3537          {UINT64_C(0x8C59A43F65B994FB), UINT64_C(0x2FB148B76068E685),
3538           UINT64_C(0x899D4FC554108A9F), UINT64_C(0x0469EA3E5B4D40FE)}},
3539         {{UINT64_C(0x15B613EA62A76AA8), UINT64_C(0x7E8E7D562FE2F179),
3540           UINT64_C(0x53160F65BE98EDC2), UINT64_C(0x258DA04E9810DC27)},
3541          {UINT64_C(0x4FEE19D0030D9C31), UINT64_C(0xFC2C57F8C29E300F),
3542           UINT64_C(0x00071F97C44458AE), UINT64_C(0x0AA2B911709727E1)}},
3543         {{UINT64_C(0x443F8B23A61166F8), UINT64_C(0x3E8F6278D685FCF1),
3544           UINT64_C(0xC930C1D1447433C6), UINT64_C(0x1245A867AED7D6EB)},
3545          {UINT64_C(0xC35986DDFA89945A), UINT64_C(0x89CE110926B0AFEE),
3546           UINT64_C(0x9C6A87CD17103D18), UINT64_C(0x811B2242CE338978)}},
3547         {{UINT64_C(0xC074AF660C293255), UINT64_C(0x982C23A95AEAC2E1),
3548           UINT64_C(0xDB14DE0CD39AC56C), UINT64_C(0x20263F3F47EBB839)},
3549          {UINT64_C(0x183EA578D10588DF), UINT64_C(0xB4D88EFB1EB69C36),
3550           UINT64_C(0xA79A1B4DDBF3BEE7), UINT64_C(0x650FC466E8159E0D)}},
3551         {{UINT64_C(0x9E6EE797F80D5744), UINT64_C(0xDFC3EBF5825949BD),
3552           UINT64_C(0x1083EC797EC9BD65), UINT64_C(0x62A45C5EB753499C)},
3553          {UINT64_C(0x9C135F802B6F42CF), UINT64_C(0xE39B0BA5C4B49041),
3554           UINT64_C(0x4D8385138D3B2D06), UINT64_C(0x696034DCD070754B)}},
3555         {{UINT64_C(0x06313D73B8E3BDD1), UINT64_C(0xC7BEC420E6968872),
3556           UINT64_C(0x740DD6D33A04B7F0), UINT64_C(0x98F2D0B72465BED2)},
3557          {UINT64_C(0x9F2984604043DBAD), UINT64_C(0x82D6991A01B5961F),
3558           UINT64_C(0xAAE7DF9D54DFAB8A), UINT64_C(0x5701E3351A07DD22)}},
3559         {{UINT64_C(0x5695A08EFCA398A2), UINT64_C(0xD29EBC1F0D76E8CF),
3560           UINT64_C(0x5AB17ABF24004EDB), UINT64_C(0x20C7761B0CC7A144)},
3561          {UINT64_C(0x6CAEE036285EA93C), UINT64_C(0xF9756E89F2B8BF23),
3562           UINT64_C(0x3CEA1C76B1AB91B7), UINT64_C(0x5D86860E3FB4F3B8)}},
3563         {{UINT64_C(0x835B023BFDC7DBC5), UINT64_C(0xF05C0676EEEDFD73),
3564           UINT64_C(0xF8325D64E52BFB27), UINT64_C(0x919D008DB5032CFF)},
3565          {UINT64_C(0xEF27862C4B130537), UINT64_C(0x616DF1545CE404DC),
3566           UINT64_C(0x182BA57E451ED033), UINT64_C(0x2EFEC0C7BD01F864)}},
3567         {{UINT64_C(0xDC84684545F3AF3C), UINT64_C(0x2D2BA0CD92A47B31),
3568           UINT64_C(0x9C806C7DE1AFE6EE), UINT64_C(0x28FE43FF4C6A4FEA)},
3569          {UINT64_C(0x2E028CD16C76C0F4), UINT64_C(0xC6FA5AD12AEFBDDA),
3570           UINT64_C(0xC8B5339BF63F1A35), UINT64_C(0x30C780A704523F02)}},
3571         {{UINT64_C(0x3D2DCA55D7E4F0CE), UINT64_C(0x8EEF918926616811),
3572           UINT64_C(0xB106642F3C0E5892), UINT64_C(0x4A96538589DB033E)},
3573          {UINT64_C(0x5A1CBEB6B3C2DD37), UINT64_C(0x5290C737156EAC75),
3574           UINT64_C(0x57AFD98AE32E40C7), UINT64_C(0x04A16164B3571868)}},
3575         {{UINT64_C(0x9AB8A3E91A673E1B), UINT64_C(0xC707ABBA0FC23483),
3576           UINT64_C(0x936C17839E0EA0BD), UINT64_C(0x1E4C2E7CF71F6F1D)},
3577          {UINT64_C(0x37904F636FB0926C), UINT64_C(0x9EC76DF7C51FEEA5),
3578           UINT64_C(0x2C60F7D64D103DAC), UINT64_C(0x7B451E0BF9DC2CC6)}},
3579         {{UINT64_C(0xD4F8526CB2A5F07F), UINT64_C(0x41303D42B0F4AE09),
3580           UINT64_C(0xAC79523F0C182FDC), UINT64_C(0x8D6A75C8AA0C5D6D)},
3581          {UINT64_C(0x4DD7FC953CDCE3F0), UINT64_C(0x4DDB39105BE6DA0F),
3582           UINT64_C(0xE34961F916F7E27D), UINT64_C(0x0C5CB76F5B3544EB)}},
3583         {{UINT64_C(0x324C95B5252C354C), UINT64_C(0x4648D87E8CC2C3BC),
3584           UINT64_C(0x6DDFDECD82BC8C80), UINT64_C(0x8C64CADEC069996E)},
3585          {UINT64_C(0x4E282E9640ED44AB), UINT64_C(0x70A1206779334507),
3586           UINT64_C(0x65CE5D385AB8902B), UINT64_C(0x56FE68F27C949D96)}},
3587         {{UINT64_C(0x1D55C87ECF9530AE), UINT64_C(0xD1CF73FFC147C2D5),
3588           UINT64_C(0x826031CDC1F44403), UINT64_C(0x3A06528F5EEF5BFB)},
3589          {UINT64_C(0xF220EAF35F84A7B1), UINT64_C(0xBC99C905350EBADE),
3590           UINT64_C(0x686A706E810A101C), UINT64_C(0x95E527131D92EAEA)}},
3591     },
3592     {
3593         {{UINT64_C(0xAAC634B3514D47C2), UINT64_C(0xD0C189B858B83B33),
3594           UINT64_C(0x633D59E358CA9A2F), UINT64_C(0x65965CE0838ACC80)},
3595          {UINT64_C(0xBB03F7EA9B512F6E), UINT64_C(0xB2F38B849EF17A82),
3596           UINT64_C(0xE8382E37E16A7A95), UINT64_C(0x28644EFE4D9EF607)}},
3597         {{UINT64_C(0x46F9115E040A515B), UINT64_C(0x4C7DBCFFFA59CD3E),
3598           UINT64_C(0xB4CE22B871BB543E), UINT64_C(0x58D935D8948F80BA)},
3599          {UINT64_C(0x33DC1D5B03683C8B), UINT64_C(0x25E6113A2D071D87),
3600           UINT64_C(0x44F962F8A7D59351), UINT64_C(0x6B818DDBBCF66B43)}},
3601         {{UINT64_C(0x363A63C7378C1098), UINT64_C(0xBEB2A7B6AC5C0C9E),
3602           UINT64_C(0x3F620D3F4361C8D4), UINT64_C(0x68EAD01A4E3D9686)},
3603          {UINT64_C(0x4361308545DB7208), UINT64_C(0x865A6DDE13B35D33),
3604           UINT64_C(0x4EAA166368DF09F5), UINT64_C(0x5FDCA83FBF02AA12)}},
3605         {{UINT64_C(0xC240FEAABFEFB3CB), UINT64_C(0x78E757D20EC6694F),
3606           UINT64_C(0xA11A82DF2413D6A2), UINT64_C(0x7BD656EEDBB7A220)},
3607          {UINT64_C(0x68C608736EB899A4), UINT64_C(0xAFFB9F1C318C72E8),
3608           UINT64_C(0xF16A443C9FB7619D), UINT64_C(0x2FC317E342C6E4D6)}},
3609         {{UINT64_C(0xAB56A87373F57A93), UINT64_C(0xE9BA24E2308F5224),
3610           UINT64_C(0x010281B911992077), UINT64_C(0x2CBCA7FE593EAD1A)},
3611          {UINT64_C(0xB400388A2A1D8318), UINT64_C(0xD470ABDA3C61A0AF),
3612           UINT64_C(0xF910272194BD2FAC), UINT64_C(0x222365D10FAC703C)}},
3613         {{UINT64_C(0x5C9021C49C2D1B2B), UINT64_C(0xB349DB18CAF0B562),
3614           UINT64_C(0x6DAF741291412CC3), UINT64_C(0x44E5E3E5CF6584D3)},
3615          {UINT64_C(0x1D1F4244E4C17B19), UINT64_C(0x4C663EE63787A38A),
3616           UINT64_C(0xA3261E22313A8581), UINT64_C(0x3AE1E1DB7A82C05A)}},
3617         {{UINT64_C(0x31AA2B293CD6A155), UINT64_C(0x0EB9527E3D078B12),
3618           UINT64_C(0x6785ABA2214FF1E2), UINT64_C(0x74974F84F111D572)},
3619          {UINT64_C(0x2199A753078C684B), UINT64_C(0xA0F1DE234B13A004),
3620           UINT64_C(0x3965AE1975BEBCBC), UINT64_C(0x22A8D7EE24562AA7)}},
3621         {{UINT64_C(0x0591965FBF268ADE), UINT64_C(0xF621B3649EE48F0E),
3622           UINT64_C(0x0AD981A95A3A3848), UINT64_C(0x1316675C9ECD72B7)},
3623          {UINT64_C(0x21A5CEB7F37C87E0), UINT64_C(0xEF864CF368D1AAFB),
3624           UINT64_C(0x5F340413D3C9A54F), UINT64_C(0x0C5DE1E6E00FD564)}},
3625         {{UINT64_C(0x439B2C0CB415D72C), UINT64_C(0x106AE2E063442E62),
3626           UINT64_C(0x8A9428C64A79E93B), UINT64_C(0x67FE6D6ECC2DF510)},
3627          {UINT64_C(0x407158BC655013B3), UINT64_C(0x3AAEAC1C2BC7E7CC),
3628           UINT64_C(0x399DB6EFEE8EC1F4), UINT64_C(0x1F7D0D17ECFF6657)}},
3629         {{UINT64_C(0x03039D18CB86639E), UINT64_C(0x586039099CDC3408),
3630           UINT64_C(0x52421109F1804B9E), UINT64_C(0x95502857ED126B9F)},
3631          {UINT64_C(0xC91842D9451B0539), UINT64_C(0x2B5B11EBE60AAE3B),
3632           UINT64_C(0xDB50F9EA44CB5A14), UINT64_C(0x4B5C982489E80A6E)}},
3633         {{UINT64_C(0x8EF3A1E569FC9F1A), UINT64_C(0xA4EAB6F47CCA576A),
3634           UINT64_C(0x955E1C89FBF1CD65), UINT64_C(0x3E3ACF6EF8CE13DB)},
3635          {UINT64_C(0x1FDB619058F31FC9), UINT64_C(0x10DB71B393B0D0D5),
3636           UINT64_C(0x900961439154B285), UINT64_C(0x37EEE1781C49EFF3)}},
3637         {{UINT64_C(0x609DE502BC198066), UINT64_C(0x075C863140722EF6),
3638           UINT64_C(0x121ACC9FFF0FA57D), UINT64_C(0x31E79AC5EC7DB1A0)},
3639          {UINT64_C(0x736EB95DF16FAE79), UINT64_C(0xFF963917815A14CB),
3640           UINT64_C(0xC6003E5D23AF0BC3), UINT64_C(0x0D1B035099AFCAAA)}},
3641         {{UINT64_C(0x8A1B6C971F0DF59D), UINT64_C(0x7DF81A7259C9CA8D),
3642           UINT64_C(0x74257F8E9602E8BE), UINT64_C(0x2FFBAD39A441657A)},
3643          {UINT64_C(0xB1B090DB048050A6), UINT64_C(0xD6144221741E7392),
3644           UINT64_C(0x63826973ECA1E2D6), UINT64_C(0x28EE60B8D287DE2F)}},
3645         {{UINT64_C(0x815042955DEE86CE), UINT64_C(0xFACCB61D73C03937),
3646           UINT64_C(0x9898F773299B96AF), UINT64_C(0x51552297488F95CD)},
3647          {UINT64_C(0x6170618C54F5E182), UINT64_C(0x9C11D666C2798401),
3648           UINT64_C(0x88225F4B3EAF3DDE), UINT64_C(0x20841538087F1185)}},
3649         {{UINT64_C(0x42BCEFFE14FA59EC), UINT64_C(0xC41CFCDA7D023F1E),
3650           UINT64_C(0xD7E4FDE77163E802), UINT64_C(0x54F4C7982E145BCE)},
3651          {UINT64_C(0xE4EA68C9F9162235), UINT64_C(0x4F7EAC6F458DEC24),
3652           UINT64_C(0x70100D2D845C6AD1), UINT64_C(0x67AC34CFF1EA21B2)}},
3653         {{UINT64_C(0x2BD49BDFAC21C728), UINT64_C(0x2D009B45EDA966DF),
3654           UINT64_C(0x0D4476BE4A9B9167), UINT64_C(0x340BD3BE95D2ACD2)},
3655          {UINT64_C(0xF8BACA2DB040FF50), UINT64_C(0x307BEA0DB91D47C1),
3656           UINT64_C(0x2EFDC81BB6B3A1E4), UINT64_C(0x3B2CD7D91595D6E2)}},
3657     },
3658     {
3659         {{UINT64_C(0x56254AE732A5A002), UINT64_C(0xE48A475C448B0A9F),
3660           UINT64_C(0x3B2DF6DF14EDBBA9), UINT64_C(0x911BE369F5E4CC81)},
3661          {UINT64_C(0x57D065C677CBB387), UINT64_C(0x7C1E0142527575FD),
3662           UINT64_C(0x2CA91EEF243B5C33), UINT64_C(0x7E54AF425C4700CC)}},
3663         {{UINT64_C(0xEF5ECAE55EEDF97F), UINT64_C(0x2D79312AC0D821AC),
3664           UINT64_C(0xD3817042A9EDBE8F), UINT64_C(0x7A3D537EAD924B1D)},
3665          {UINT64_C(0xD9923A20B26FFC3B), UINT64_C(0x651D22015B81EC12),
3666           UINT64_C(0xBDF7205A54C37FF0), UINT64_C(0x5562D2588C0D2E79)}},
3667         {{UINT64_C(0xE5BC2E1CFB4842F8), UINT64_C(0xCFE9782425B464C8),
3668           UINT64_C(0xD902A11A2FEA9ED3), UINT64_C(0x2FC360ED8D3DD0A4)},
3669          {UINT64_C(0xEC4E57FC9E5F7AE1), UINT64_C(0xF0F1FD9F79B8AF6C),
3670           UINT64_C(0x803F3ED6A9A283D0), UINT64_C(0x5F13000FADEEA78E)}},
3671         {{UINT64_C(0x3EBBBD161838B470), UINT64_C(0x934BA22AB2781680),
3672           UINT64_C(0xC9ED04FCC7210CD4), UINT64_C(0x716004A14615F186)},
3673          {UINT64_C(0xE7B36C21E894BBC3), UINT64_C(0x3F739857570AA9A8),
3674           UINT64_C(0x1707FBEE3063902B), UINT64_C(0x44FCB774155C9824)}},
3675         {{UINT64_C(0x30ECD772CDD8CEDB), UINT64_C(0x67BB36FDCA09BCD3),
3676           UINT64_C(0xD5AD0FAA9BC43B7B), UINT64_C(0x3962E5566A130895)},
3677          {UINT64_C(0x579282537F7A565A), UINT64_C(0xDE9D779255B911EE),
3678           UINT64_C(0xD5DBFDDE6984F326), UINT64_C(0x7CDF5E159FB51246)}},
3679         {{UINT64_C(0xD7FC427A89D24763), UINT64_C(0x50E627C9AD874362),
3680           UINT64_C(0x17A8F83B2069873A), UINT64_C(0x186952D7DB698BD1)},
3681          {UINT64_C(0x6C007EED38A2822C), UINT64_C(0x5F1870910C207073),
3682           UINT64_C(0xD0023B6308D245D2), UINT64_C(0x7A32C2A134544316)}},
3683         {{UINT64_C(0x8B99183A8C2635EC), UINT64_C(0xA00A94766F12B137),
3684           UINT64_C(0x9B5E2F57823DA313), UINT64_C(0x0F7CB4AF47B3CEB1)},
3685          {UINT64_C(0xC993AF7E67266D24), UINT64_C(0x8B60295EEBA985B8),
3686           UINT64_C(0x9AA596CBE41A6F69), UINT64_C(0x4D6CF5DF4B68507A)}},
3687         {{UINT64_C(0x3B8A3CBC6921DEFE), UINT64_C(0xB96D53900ED7B717),
3688           UINT64_C(0x6761E86A7DE65E54), UINT64_C(0x964460D6701CC1E4)},
3689          {UINT64_C(0x5C0A221326C82309), UINT64_C(0xF95F547220328C60),
3690           UINT64_C(0xB519B476FB49E3B5), UINT64_C(0x089D0AB6EE373756)}},
3691         {{UINT64_C(0x947DFCF0DC952768), UINT64_C(0xD8B5C61C3AB613AA),
3692           UINT64_C(0x146E83259A457DA4), UINT64_C(0x37E2F6D3F476945E)},
3693          {UINT64_C(0x5702A4413851A6F6), UINT64_C(0xB476560E8D67EF9C),
3694           UINT64_C(0xABA23F67F9D2AD96), UINT64_C(0x3CE30A4EDFBBB806)}},
3695         {{UINT64_C(0x64695640E5BAA662), UINT64_C(0x2A18979A0AAF3988),
3696           UINT64_C(0x605578FFDE0ED212), UINT64_C(0x52E604D530F2C13C)},
3697          {UINT64_C(0x2E9E2D83894AB3B9), UINT64_C(0x098B1FAA4BC33041),
3698           UINT64_C(0x01CF66060863AA3C), UINT64_C(0x7334879BD2951A60)}},
3699         {{UINT64_C(0xB080105CC51704F1), UINT64_C(0x1A5869B8EAEE29C4),
3700           UINT64_C(0xAD6AEF335FDD2FD3), UINT64_C(0x83E677C449C2B183)},
3701          {UINT64_C(0x757A4EFDDFA8B8F4), UINT64_C(0xFC8E7650E42F2C87),
3702           UINT64_C(0xD4A61A3E9C963D98), UINT64_C(0x3750289A45BC9044)}},
3703         {{UINT64_C(0x40A0620E40B1C72C), UINT64_C(0xAEE56EC7B2E44573),
3704           UINT64_C(0xE4E6EA3D60532553), UINT64_C(0x5BA50E80A0EB6014)},
3705          {UINT64_C(0x846429784378CC2F), UINT64_C(0xE322D1692A1C5FB4),
3706           UINT64_C(0x5000C9B16B91F82D), UINT64_C(0x32380CB87AA49F2D)}},
3707         {{UINT64_C(0x0A2F936AE18C4BD2), UINT64_C(0x7AEA56AAC3DB9AA5),
3708           UINT64_C(0x3A984E935DDF30CB), UINT64_C(0x36133D20904181C6)},
3709          {UINT64_C(0xA9A65593F62DFBF5), UINT64_C(0xB4AC06FD6808B883),
3710           UINT64_C(0x986797047A2FEDBB), UINT64_C(0x20E9E8E197880A72)}},
3711         {{UINT64_C(0x403A1ED1CEB26FAE), UINT64_C(0xAD13CD873CD622C9),
3712           UINT64_C(0xC1E03929CF45C32D), UINT64_C(0x4B50E4A9C3BE1A53)},
3713          {UINT64_C(0xCF10F3AFD0D7AFE3), UINT64_C(0x6A29B1731494A9B4),
3714           UINT64_C(0xB9DC9849D13B0495), UINT64_C(0x4C50794E9C05B110)}},
3715         {{UINT64_C(0xC3C97DED1427F71D), UINT64_C(0xC3CFB754966ECF33),
3716           UINT64_C(0x48E30FE11FBF30CD), UINT64_C(0x71C96E1C1E4B0998)},
3717          {UINT64_C(0x878D6305B92C4BF7), UINT64_C(0x14477130CCB5E4A1),
3718           UINT64_C(0x7C210767E3C00A19), UINT64_C(0x5546DBD5AB3CDBF0)}},
3719         {{UINT64_C(0xADEC875870857571), UINT64_C(0x0A52587CE70D07EC),
3720           UINT64_C(0xE6CEAF9EC731B9BC), UINT64_C(0x1D0FDE3F47143479)},
3721          {UINT64_C(0x2F3BE2CFC5B410CB), UINT64_C(0x576004BE4E64FD9B),
3722           UINT64_C(0x03F339517629820C), UINT64_C(0x7BD3296446A450E2)}},
3723     },
3724     {
3725         {{UINT64_C(0xD492D6B746CED42D), UINT64_C(0xC068D02D1F0092E3),
3726           UINT64_C(0x008ECBAD8D8A822A), UINT64_C(0x6B32686971045647)},
3727          {UINT64_C(0xFEE3237F523CBA58), UINT64_C(0x077B7F509C29059F),
3728           UINT64_C(0x42C308B3E72FBE6F), UINT64_C(0x3DD79D838E34148B)}},
3729         {{UINT64_C(0x3ED9DF47CAC24455), UINT64_C(0x7C8A7B31D8546306),
3730           UINT64_C(0x4CC432952AA02202), UINT64_C(0x5E8B4EA38598E028)},
3731          {UINT64_C(0x8A882F3F812B8070), UINT64_C(0x984BE5881DD374C0),
3732           UINT64_C(0x6FDA815916E133CF), UINT64_C(0x34FB92FA899920D0)}},
3733         {{UINT64_C(0x3BE0416FDA0B8D0E), UINT64_C(0x2CC846DB88C053D0),
3734           UINT64_C(0xC04C3A42B1A3A621), UINT64_C(0x35BC55508A9D9115)},
3735          {UINT64_C(0x7F8C9FE37FA72AFE), UINT64_C(0x488FA0B4D1E914FD),
3736           UINT64_C(0x8F5C2D6384F79359), UINT64_C(0x2BE80429FBC94785)}},
3737         {{UINT64_C(0x391794E06F67799A), UINT64_C(0xD9BF08AE0677A067),
3738           UINT64_C(0x716D5062DF61563C), UINT64_C(0x0ECB234AF590F3A3)},
3739          {UINT64_C(0xA5B91448FEA22392), UINT64_C(0xFAA294877E76FB8B),
3740           UINT64_C(0x3CC3A02A4B6CB375), UINT64_C(0x5C0B3B639022167A)}},
3741         {{UINT64_C(0xC5689CF34C576430), UINT64_C(0xF7B7B230C585F5A5),
3742           UINT64_C(0xB8DAADFBE4BFCEE7), UINT64_C(0x7B7D8A959CF4242F)},
3743          {UINT64_C(0xC1755F9B398FEEF6), UINT64_C(0x9B31CD4D5CC5C36E),
3744           UINT64_C(0x4D87AB9CF4C6B793), UINT64_C(0x673FD5B2F595EFA8)}},
3745         {{UINT64_C(0xA3836484E05E6B19), UINT64_C(0x090C14CFFCA7E6FB),
3746           UINT64_C(0xB7A27042FC717DBC), UINT64_C(0x56CD4AF138647882)},
3747          {UINT64_C(0xC2B56B50A43C453E), UINT64_C(0x0CD5E768982E7AED),
3748           UINT64_C(0xD5ABADF758474A8B), UINT64_C(0x68188A3899F500AC)}},
3749         {{UINT64_C(0x0683AC3E83B1F7BA), UINT64_C(0x6A4FC30C680568E9),
3750           UINT64_C(0x735F5E487F6256CF), UINT64_C(0x1240752D048DB831)},
3751          {UINT64_C(0x98B78A67868B8AD7), UINT64_C(0x9E32F2C1822EBA7D),
3752           UINT64_C(0xEAE28B1E8F37580F), UINT64_C(0x0D204CE0C72EDA86)}},
3753         {{UINT64_C(0x5E4EAA1C77E8C68C), UINT64_C(0x282ADFE9859A127B),
3754           UINT64_C(0x0C75AB7C14904910), UINT64_C(0x1794516A6E751062)},
3755          {UINT64_C(0x8D99D8913DE4A32A), UINT64_C(0x957AA80754EF2BF0),
3756           UINT64_C(0xBF20A9E00B109ECD), UINT64_C(0x7732F2B3A72268D3)}},
3757         {{UINT64_C(0xADB52E4348752F76), UINT64_C(0x01E9F4B1D6F7CCE8),
3758           UINT64_C(0x22702DA02E4BD9B5), UINT64_C(0x1BCC9C60B40BF9AB)},
3759          {UINT64_C(0xAB7746379F53B2B1), UINT64_C(0x9C5741518CB316D0),
3760           UINT64_C(0x231D5C45BECBEBED), UINT64_C(0x0BD2D5E7F0458638)}},
3761         {{UINT64_C(0xD2F5E0B54B946132), UINT64_C(0x200A8A30155AA2C8),
3762           UINT64_C(0x15473FD456A62CE7), UINT64_C(0x030EA71BB6689367)},
3763          {UINT64_C(0xD561432B0E315F29), UINT64_C(0x4155022E149E3A9E),
3764           UINT64_C(0xC77EF7E115841273), UINT64_C(0x890D9C8D52BA265A)}},
3765         {{UINT64_C(0xB72B5A6A5E62451A), UINT64_C(0xFDA85C175C61A183),
3766           UINT64_C(0xA4275361B7F36EB3), UINT64_C(0x53ADFAF394F4148D)},
3767          {UINT64_C(0x281D47F96A8467AE), UINT64_C(0x416A64B58474D3AD),
3768           UINT64_C(0x710D0E7AEC99480E), UINT64_C(0x2693A878819253FF)}},
3769         {{UINT64_C(0x4BE769041A2FE406), UINT64_C(0xB6FEED1D343F5B10),
3770           UINT64_C(0x36695C52D705E35C), UINT64_C(0x7DF6FA416BD3859F)},
3771          {UINT64_C(0x7B9B11F5C00E77EA), UINT64_C(0xC90411B8CA80F838),
3772           UINT64_C(0x8A9FAEF02908C694), UINT64_C(0x05F65AAAFF5B39B0)}},
3773         {{UINT64_C(0x823A0776D7F59CC5), UINT64_C(0xB9EBE15EC410DFD1),
3774           UINT64_C(0xC2374B5810A7FA3F), UINT64_C(0x1B912C84311660F2)},
3775          {UINT64_C(0x486A2607D5A175E6), UINT64_C(0x9B17D14D72B74EB7),
3776           UINT64_C(0x1069D5C41039CA77), UINT64_C(0x214605B33FEE08BB)}},
3777         {{UINT64_C(0xC25A7379F9D14E8D), UINT64_C(0x9D5FAFDA577D330E),
3778           UINT64_C(0xB9A0217DA4A9CEF0), UINT64_C(0x95AFC7F708252731)},
3779          {UINT64_C(0x14E53E9E8FC51680), UINT64_C(0x0AEA2428A8AC4E21),
3780           UINT64_C(0x6BC5E42C11CB2361), UINT64_C(0x3B205E45DCB52215)}},
3781         {{UINT64_C(0x8EDD4718C916CDE4), UINT64_C(0xBB08F27AD70D7130),
3782           UINT64_C(0x289A33C0ED9162CB), UINT64_C(0x97CEFA45FB69185B)},
3783          {UINT64_C(0x44DA25788B7797EE), UINT64_C(0x579B17F7148E9A75),
3784           UINT64_C(0x73EC1C23913C09AE), UINT64_C(0x3FAB86A40BAAA67D)}},
3785         {{UINT64_C(0x28E76C232DF7BE6D), UINT64_C(0x00526844500A844D),
3786           UINT64_C(0xB86FBB143CC748C2), UINT64_C(0x6D89BB8AEB5F6AC5)},
3787          {UINT64_C(0xF66159DF2327808C), UINT64_C(0x606F055329C5006C),
3788           UINT64_C(0xDAA1107F844B6CA4), UINT64_C(0x95D7686C63A8946C)}},
3789     },
3790     {
3791         {{UINT64_C(0x71438CEA07F7DCF5), UINT64_C(0xB3F59AFA0A1CCD55),
3792           UINT64_C(0x5A4396270E0071B4), UINT64_C(0x8694E3FAE93D5B8E)},
3793          {UINT64_C(0x21713A387D6550B0), UINT64_C(0x893BD9F706CFCD5B),
3794           UINT64_C(0xC3D2679CE7513FCE), UINT64_C(0x418AE7C82C451EF3)}},
3795         {{UINT64_C(0xADFAFF380B85E2A9), UINT64_C(0x6124E6272E244653),
3796           UINT64_C(0xF2C465AF375D1EE7), UINT64_C(0x5B2302D676E58455)},
3797          {UINT64_C(0x32938A0D7479F387), UINT64_C(0xF9A16A0DAAAB22A5),
3798           UINT64_C(0x65AF0E252AD65CAE), UINT64_C(0x2B5668668431EA40)}},
3799         {{UINT64_C(0xCA3ACC11DBCDAFAB), UINT64_C(0x0BBB5DBFBB7F218B),
3800           UINT64_C(0xD69E091ADB0ABBE2), UINT64_C(0x8AFFCE950B0B7B09)},
3801          {UINT64_C(0x0A5E6C81C7EC52C7), UINT64_C(0xABD60595896707CD),
3802           UINT64_C(0x4CE86506101E0F80), UINT64_C(0x9629A6C04ED01B2E)}},
3803         {{UINT64_C(0x1D740EACE15D82F4), UINT64_C(0x42F9801890A5D149),
3804           UINT64_C(0x1B8C8DC0903D6D28), UINT64_C(0x7BE2B91605BBDFF7)},
3805          {UINT64_C(0xFBACF878D8E41D96), UINT64_C(0x42E98BFBBE26EB56),
3806           UINT64_C(0x9EA73555F6DE1EB1), UINT64_C(0x5325DDDECF79A9EE)}},
3807         {{UINT64_C(0x44BE62C348E6A22F), UINT64_C(0xD0A3C0AD8DB35276),
3808           UINT64_C(0xB4C99306136FE9BA), UINT64_C(0x0F2987D7A44E491F)},
3809          {UINT64_C(0xA0965F74CCC77C2B), UINT64_C(0xE01AD644FE110072),
3810           UINT64_C(0x79528B9CC16B5E1E), UINT64_C(0x45AEEFF3F929BE4D)}},
3811         {{UINT64_C(0x46E95DF67F4DA458), UINT64_C(0x554C50C1A7AD579B),
3812           UINT64_C(0xF64F00A14316DBA1), UINT64_C(0x16C9851346D487BD)},
3813          {UINT64_C(0xECB197612C048A1B), UINT64_C(0x997AF3985373E5E6),
3814           UINT64_C(0x50E832D2FDF23B20), UINT64_C(0x1B358E0F7EF7E097)}},
3815         {{UINT64_C(0x7C6728AEACBC759C), UINT64_C(0x187588FBA156A466),
3816           UINT64_C(0xC2E550ED928F97BD), UINT64_C(0x8B595A3AAAE1C05A)},
3817          {UINT64_C(0xE36871E1D77C1125), UINT64_C(0x11E129780DBBD882),
3818           UINT64_C(0x3EF8268A5E77FB7E), UINT64_C(0x7BAEA9BA6B33C00C)}},
3819         {{UINT64_C(0x7C8512365925E5FE), UINT64_C(0xCED70AE5D8E1597B),
3820           UINT64_C(0x7A28BE1A6DCD112F), UINT64_C(0x1EB192683B8EAF6F)},
3821          {UINT64_C(0x7E6F1CF28AA902B9), UINT64_C(0x3DD9D59CA5A761D9),
3822           UINT64_C(0x8EF70BB448D9F52E), UINT64_C(0x96629C1ACDEE9658)}},
3823         {{UINT64_C(0xCA215EACB367C5B3), UINT64_C(0x36B22774A796338A),
3824           UINT64_C(0x71F9A61A26EBCDFE), UINT64_C(0x1B40580A35119BD3)},
3825          {UINT64_C(0x77169EF1431C78BD), UINT64_C(0x8197975E337022D5),
3826           UINT64_C(0x451127991D9A4742), UINT64_C(0x382750D619B6DB07)}},
3827         {{UINT64_C(0x740405EE9786AE0B), UINT64_C(0xF7F37C0F3ABA0481),
3828           UINT64_C(0x904FC60C51892307), UINT64_C(0x8405DF2AE891D639)},
3829          {UINT64_C(0x53D19AC5D9B432F8), UINT64_C(0xE8F1730F066CD97C),
3830           UINT64_C(0xC8740FEF0E95804B), UINT64_C(0x12EE433CEC242811)}},
3831         {{UINT64_C(0x6AF4B9B16153F4D4), UINT64_C(0x9CD8CD0CF84F0145),
3832           UINT64_C(0x6CABD4FCDCEB0F06), UINT64_C(0x036BF1460D134DCE)},
3833          {UINT64_C(0xCDEB18187EFFACAB), UINT64_C(0xB57A416252C987E7),
3834           UINT64_C(0xDD5104EBC647E82F), UINT64_C(0x389AA556F51B5270)}},
3835         {{UINT64_C(0xC450CAEA60108876), UINT64_C(0xF36B5B6AF48601A1),
3836           UINT64_C(0x257950D109128863), UINT64_C(0x7A592427A9F6A1B9)},
3837          {UINT64_C(0xBF1FF2B0ED12DE33), UINT64_C(0x4D542AC8E2141101),
3838           UINT64_C(0x998523C4E170F9CF), UINT64_C(0x629385CEFCEC0E2F)}},
3839         {{UINT64_C(0x951494EDB2677C49), UINT64_C(0xF1AE7138F9B648E8),
3840           UINT64_C(0x28B8749E63CFF359), UINT64_C(0x5AC4EC4C9A73272F)},
3841          {UINT64_C(0xC25ABB8721723271), UINT64_C(0x488EC9108B441AFD),
3842           UINT64_C(0x075183481B1DF775), UINT64_C(0x4662BBDAF1EB2FB4)}},
3843         {{UINT64_C(0xAE836F746DF9F64A), UINT64_C(0xF3CD6C9DA185ABE6),
3844           UINT64_C(0xAFA897A8C29A1C1A), UINT64_C(0x4BAFBB6911B2D6AC)},
3845          {UINT64_C(0x8040F9A3B6D971C7), UINT64_C(0x3B8920B700763EAF),
3846           UINT64_C(0x7A1655DA52E848B7), UINT64_C(0x03BC8B55703FA84D)}},
3847         {{UINT64_C(0xE6348C651F934416), UINT64_C(0xDBE59C03F82BBC4A),
3848           UINT64_C(0x51AEAD09EAD60547), UINT64_C(0x043A35C34F20111E)},
3849          {UINT64_C(0x0AA18326EC574F0A), UINT64_C(0x07E90D70FCADF79D),
3850           UINT64_C(0x3979D4CE201CD68B), UINT64_C(0x7FBF2C632C2734B1)}},
3851         {{UINT64_C(0x2E4513732656AF49), UINT64_C(0xCA86207DA432DE06),
3852           UINT64_C(0xC5F9262D12F20637), UINT64_C(0x7DD9CCDC26C0C745)},
3853          {UINT64_C(0x99276BDCA785ED89), UINT64_C(0x34B307A7374CFBE2),
3854           UINT64_C(0x916E9B061E8EE0C5), UINT64_C(0x4E8EB3C788A85C6A)}},
3855     },
3856     {
3857         {{UINT64_C(0x6F2433EF107F1CE0), UINT64_C(0x121DE13146D23AEF),
3858           UINT64_C(0x7AC50BE820DB44DE), UINT64_C(0x1E500A2BF6F41A1C)},
3859          {UINT64_C(0x8E5BAFCC27B0004C), UINT64_C(0x8538A5EDDB555C04),
3860           UINT64_C(0x00AEC8A7CE4ED544), UINT64_C(0x7C7301CC73B2DA91)}},
3861         {{UINT64_C(0x3E7E1E5C63284E3A), UINT64_C(0x145814001422D8EA),
3862           UINT64_C(0x5FE151BF7AAABD1D), UINT64_C(0x6716691F1533B371)},
3863          {UINT64_C(0xA592D53E22A8B7DF), UINT64_C(0x66991AFF51C97935),
3864           UINT64_C(0x8B10603DDE5429B6), UINT64_C(0x0002F6C6551F146B)}},
3865         {{UINT64_C(0xF641CBCB777A334C), UINT64_C(0xB45B21E1EEFBCA44),
3866           UINT64_C(0x7C2FCD6532F6E263), UINT64_C(0x05A21D80FEED8901)},
3867          {UINT64_C(0x2471B4865506CF47), UINT64_C(0x0FFAC1F77C9E62DE),
3868           UINT64_C(0xC4D321DF869D3BDC), UINT64_C(0x9AC035099512D0CA)}},
3869         {{UINT64_C(0x5A26E8F5352E0353), UINT64_C(0x965CF602BF6ABBAC),
3870           UINT64_C(0xDD8C4818E911C628), UINT64_C(0x132CA2D8DC2D04A0)},
3871          {UINT64_C(0x7641CFCE6C865C91), UINT64_C(0xDB5AB8F38E9965EF),
3872           UINT64_C(0x30030BCDDE0B7E90), UINT64_C(0x7BF444532320D3F1)}},
3873         {{UINT64_C(0xC006FA6DD8A99DAD), UINT64_C(0xC042F163B45E64A1),
3874           UINT64_C(0xB91C9CA474F4DBB1), UINT64_C(0x23BD5A29BE221E4E)},
3875          {UINT64_C(0x6B0591D73D1ECF78), UINT64_C(0x9E0ACF38AA5B771C),
3876           UINT64_C(0xC970F263796D4AA3), UINT64_C(0x370375027B5DD349)}},
3877         {{UINT64_C(0xE11DECDAFBC52541), UINT64_C(0xA49B8D39E7FE53A5),
3878           UINT64_C(0x3A08E9BB104A1F6E), UINT64_C(0x95444A15E0192BFB)},
3879          {UINT64_C(0xEF75B0621A97B875), UINT64_C(0x9FC8AE5EEA5FC457),
3880           UINT64_C(0x3A09FD1B47F73089), UINT64_C(0x096750ECE24516AB)}},
3881         {{UINT64_C(0xAA1800464A350C95), UINT64_C(0xA72F2B6758EA4195),
3882           UINT64_C(0xE0647945FD9A4F25), UINT64_C(0x4CF4136D22737E2D)},
3883          {UINT64_C(0xEE2532CEEFB2A96D), UINT64_C(0xB39DB1176C2F1471),
3884           UINT64_C(0xF7C6242B19935BDB), UINT64_C(0x98CA48D47A820092)}},
3885         {{UINT64_C(0xE9C1AD0AC3C938B0), UINT64_C(0xF7CC05C4CCDF3BC6),
3886           UINT64_C(0x3C21752B363A9CC6), UINT64_C(0x47996B875916BD59)},
3887          {UINT64_C(0x01EF895D98D17468), UINT64_C(0x9182F8825818F5D8),
3888           UINT64_C(0xCBD212A3E35E4BE7), UINT64_C(0x894E7F395EA16E55)}},
3889         {{UINT64_C(0xAC674AEE7C8FDD7E), UINT64_C(0xA23FA827EDB0FE30),
3890           UINT64_C(0x642BE06F745B3230), UINT64_C(0x7654C79BCB40941C)},
3891          {UINT64_C(0x4640C0C5D6A9E988), UINT64_C(0xA98AF66111A4EECB),
3892           UINT64_C(0xE1E827E3325D730E), UINT64_C(0x2342D8807D8A02DE)}},
3893         {{UINT64_C(0xE4101595715DB87E), UINT64_C(0x462718AB3C44A43A),
3894           UINT64_C(0xF414CBC7EFCBC0F7), UINT64_C(0x2A64DB21E5999AB3)},
3895          {UINT64_C(0xDAD841E19DA91E84), UINT64_C(0x5A28F6495F5C1CDD),
3896           UINT64_C(0x2F8C9DCAB8B41BDA), UINT64_C(0x259DC791029C3697)}},
3897         {{UINT64_C(0xD56F4EF45296BA38), UINT64_C(0x4A853BA102EC3100),
3898           UINT64_C(0xB0ED5F21C8AE4C47), UINT64_C(0x53D0DA0C61DF268E)},
3899          {UINT64_C(0xB6771DCB6DC06EB6), UINT64_C(0x30B07595BB0C457F),
3900           UINT64_C(0xC2FD08F3F174690D), UINT64_C(0x77000D6A87A5DC8E)}},
3901         {{UINT64_C(0x90DDAA616E1369AD), UINT64_C(0x3DD15EE7B6A5F225),
3902           UINT64_C(0x051AA9C427AEB0DC), UINT64_C(0x18712DBBE5372729)},
3903          {UINT64_C(0x13B3F9DFA23AFF5A), UINT64_C(0x34388CED703FBFF9),
3904           UINT64_C(0x0F390D6717D60129), UINT64_C(0x3F0CA25E4DAE9863)}},
3905         {{UINT64_C(0x6E0F5594903385DC), UINT64_C(0x47483889F8A815A9),
3906           UINT64_C(0x42AF320C23B70B1C), UINT64_C(0x4A27CA271A1AEA03)},
3907          {UINT64_C(0xFAAC21C866AF6F9D), UINT64_C(0x20849D90C9FBFD3E),
3908           UINT64_C(0x793F889FEE0A541C), UINT64_C(0x2555FC32ADA5D18F)}},
3909         {{UINT64_C(0x3F38F58CBA2BD509), UINT64_C(0x319A5F0D048F864B),
3910           UINT64_C(0xC4632F37D5900B1E), UINT64_C(0x3FAF2615F8519441)},
3911          {UINT64_C(0x6A4AA25DFE194D77), UINT64_C(0xB5A6464AD681409B),
3912           UINT64_C(0x1A9326EDB957523A), UINT64_C(0x7690EA4F27098B5B)}},
3913         {{UINT64_C(0x5530E91110F3FDE3), UINT64_C(0x9A40101F810E7853),
3914           UINT64_C(0x152704FC8F011C4E), UINT64_C(0x5B1702E4129B455F)},
3915          {UINT64_C(0x46A130BAE60F4D30), UINT64_C(0xA3D5741462BBE8B5),
3916           UINT64_C(0xA26238DA3CFAEFE3), UINT64_C(0x4E6141133175078E)}},
3917         {{UINT64_C(0x27BCCDFF992EE109), UINT64_C(0x79F88647FB45C6C3),
3918           UINT64_C(0x7FD5D73AC73F2829), UINT64_C(0x7EBE8E4E65A44CF1)},
3919          {UINT64_C(0xB9EC0B9437414B2C), UINT64_C(0x846AD1D136DED49D),
3920           UINT64_C(0x72AE106062F2FE87), UINT64_C(0x7F5AF329C032EEDD)}},
3921     },
3922     {
3923         {{UINT64_C(0x6C80B058C7A645A5), UINT64_C(0xF86341D2729066AC),
3924           UINT64_C(0xE4F366BD33FB5CE8), UINT64_C(0x6B79D63FC23A4751)},
3925          {UINT64_C(0xFAA0F994EC3F8686), UINT64_C(0x156A6E8EA9BA8F5E),
3926           UINT64_C(0xA46CA7D59F2FAE57), UINT64_C(0x84CB21966EFE66F2)}},
3927         {{UINT64_C(0xF9C1DECBED25185C), UINT64_C(0x6DC43F21B1FCFC82),
3928           UINT64_C(0x4A840262A954087B), UINT64_C(0x602308090A38F667)},
3929          {UINT64_C(0xBD3450061D9672B5), UINT64_C(0xE0FF804BF83361EF),
3930           UINT64_C(0x9DDC6CE1EF8E1598), UINT64_C(0x4419F705FBD9BD0E)}},
3931         {{UINT64_C(0xF171EDE43426122A), UINT64_C(0xEF6A1AE220A3963E),
3932           UINT64_C(0xD25AB7A2031647D0), UINT64_C(0x0FD7EC20CB4CA4E3)},
3933          {UINT64_C(0xC103969CB7D3A295), UINT64_C(0x4957509E34DBABA8),
3934           UINT64_C(0x8456DF6360BC0760), UINT64_C(0x02AF2033D63B49A9)}},
3935         {{UINT64_C(0x271966A00378E444), UINT64_C(0x673F057D5D15A0B7),
3936           UINT64_C(0xA55C44F9A0EFE59E), UINT64_C(0x2F602F87376119A6)},
3937          {UINT64_C(0x0A14907428981502), UINT64_C(0xDA0067748741D4F2),
3938           UINT64_C(0x8F982C81133F8479), UINT64_C(0x1ECAF17AF944319A)}},
3939         {{UINT64_C(0x281A234EA37F4FC2), UINT64_C(0xAFD847B2FD34FC11),
3940           UINT64_C(0x02CC08394683E11A), UINT64_C(0x71215DA93F65B844)},
3941          {UINT64_C(0xF9F41383EFE32AC9), UINT64_C(0x4AC3D91D1361FE53),
3942           UINT64_C(0x03C9FBAB1CC2E948), UINT64_C(0x9A9A4B9143379A4F)}},
3943         {{UINT64_C(0x8D37A10851BED5AC), UINT64_C(0x75D91890998E1C19),
3944           UINT64_C(0xE6C76B095D244730), UINT64_C(0x127147164CD555FF)},
3945          {UINT64_C(0xF2DCE85A29DDC669), UINT64_C(0x8914D13A8D622348),
3946           UINT64_C(0x9FE6B578DAE035E8), UINT64_C(0x21ECB251F41EEF19)}},
3947         {{UINT64_C(0xEAFF38627999064D), UINT64_C(0xB72BABEF96383204),
3948           UINT64_C(0x8E6C9E676BCCCB43), UINT64_C(0x320A7D787FD71298)},
3949          {UINT64_C(0x4081E38AB438A302), UINT64_C(0x0A15CBA7120E132D),
3950           UINT64_C(0x6D9123E1EC2E0939), UINT64_C(0x692D699CE0D6FEC5)}},
3951         {{UINT64_C(0xB639ADAEC8D5D361), UINT64_C(0xA8F742CCC60A078D),
3952           UINT64_C(0xE8D2CF929D740F0F), UINT64_C(0x6E8EEEF94DCE6A87)},
3953          {UINT64_C(0x54E194886A2E5164), UINT64_C(0x4372C6CF2430E4B9),
3954           UINT64_C(0xD58EA91B1C5B13B3), UINT64_C(0x796DCC45BB9F2911)}},
3955         {{UINT64_C(0xD8D4FAF0CBB267F9), UINT64_C(0xC2770DBE703F4011),
3956           UINT64_C(0x13739F020D651402), UINT64_C(0x7DE4E51E72D2B3F1)},
3957          {UINT64_C(0xB10F966E1FE00C7E), UINT64_C(0x5E9A15018F42B5F8),
3958           UINT64_C(0x6AFB1AD0D00437A3), UINT64_C(0x267D15361473D5AE)}},
3959         {{UINT64_C(0x1173B5DB4CAE118F), UINT64_C(0xC3A2EAFDCA749EE6),
3960           UINT64_C(0x64F738E64ED4FFF4), UINT64_C(0x47DDECB6B07860B6)},
3961          {UINT64_C(0xF5D627FCBD47A901), UINT64_C(0x6493BC28856C6903),
3962           UINT64_C(0x90280E4BEA63B675), UINT64_C(0x211C04A2C4148666)}},
3963         {{UINT64_C(0x0A5F0C276524BC38), UINT64_C(0x4B9D95FBBB3CBDB9),
3964           UINT64_C(0x5394ADC220507C82), UINT64_C(0x4C0C9167B4DBE448)},
3965          {UINT64_C(0xAC3E87CE303A5B11), UINT64_C(0xD31FB9C53251F4DF),
3966           UINT64_C(0x86C281DFE43CE799), UINT64_C(0x84E644D729FE09E4)}},
3967         {{UINT64_C(0x6D7B61DC43166C20), UINT64_C(0x54D6C035BD34F981),
3968           UINT64_C(0xB166769DC991096D), UINT64_C(0x51A47E3A3A4CF05C)},
3969          {UINT64_C(0x57CF9EFF14F5E7F1), UINT64_C(0xED3D4E9DE39FDA0D),
3970           UINT64_C(0xDF0176ECBAA7E93B), UINT64_C(0x6B2FEA1470935B9F)}},
3971         {{UINT64_C(0x19F9D59E709B70AE), UINT64_C(0xD850CA3270472149),
3972           UINT64_C(0x292CADD929EE6104), UINT64_C(0x870F7C998FD499F2)},
3973          {UINT64_C(0x200ECB1C415C6FFD), UINT64_C(0xEEA6107D35CB841B),
3974           UINT64_C(0x1CB06F8AF95DD333), UINT64_C(0x245712FDE498AA7B)}},
3975         {{UINT64_C(0x101665EAED4FBD78), UINT64_C(0xC6DDE1BB0E32D1B4),
3976           UINT64_C(0x3E79185E40150A9C), UINT64_C(0x49E2AE6B7DEF3607)},
3977          {UINT64_C(0xCCC9B0F6308B7F59), UINT64_C(0xB267008FCE922087),
3978           UINT64_C(0x46CF7F07CF2AABA6), UINT64_C(0x5A74C8A09954091F)}},
3979         {{UINT64_C(0x8F2871955240B5A0), UINT64_C(0x7AC7720F1845373D),
3980           UINT64_C(0xCF276B594E592274), UINT64_C(0x6BEBC284694C30B8)},
3981          {UINT64_C(0xDA0113D6677B16CD), UINT64_C(0xA221344645C9FA76),
3982           UINT64_C(0x2DEAF2ED66964ADB), UINT64_C(0x1977A8B3BC062240)}},
3983         {{UINT64_C(0xEEA2912680303DFD), UINT64_C(0x3E4A33ACE95BF6A1),
3984           UINT64_C(0x6BFE2D5D15DE0457), UINT64_C(0x407BF7E3AD0976D1)},
3985          {UINT64_C(0x04C1F61F306B415B), UINT64_C(0xC86A75D25F790D5F),
3986           UINT64_C(0x7B799EDEB7EAE07B), UINT64_C(0x9155A9A0B4A66839)}},
3987     },
3988     {
3989         {{UINT64_C(0x9745C6BB0DCE586B), UINT64_C(0x554C8313BE77B502),
3990           UINT64_C(0xF0F842A9A93962CF), UINT64_C(0x40862273AAA141BC)},
3991          {UINT64_C(0x926FFA4ABD62237B), UINT64_C(0xD4F1E4A17B942F48),
3992           UINT64_C(0x3A841EB7075684FD), UINT64_C(0x21F6EB39DD1807E1)}},
3993         {{UINT64_C(0x155DFD66BEDA4365), UINT64_C(0xDD575C8327F33BF9),
3994           UINT64_C(0x5907B08D3DFF83A1), UINT64_C(0x7E325357D6788D63)},
3995          {UINT64_C(0xF90BF447BAC74ED7), UINT64_C(0x2DE6C957EDA226CD),
3996           UINT64_C(0x678323021CA44607), UINT64_C(0x22ECBC1F56011C38)}},
3997         {{UINT64_C(0xF01279A9B663A46C), UINT64_C(0x07D74C5F7E3AAB83),
3998           UINT64_C(0xF20940B68C0DA43E), UINT64_C(0x57C6A735368AD991)},
3999          {UINT64_C(0x01E9B3665007E059), UINT64_C(0xFC38FC999614D480),
4000           UINT64_C(0x4A3AAA18FF7DA757), UINT64_C(0x4481B669B0CE1B03)}},
4001         {{UINT64_C(0x9CAA37A0B4A807FF), UINT64_C(0xBDEDEB49F9B269F3),
4002           UINT64_C(0xC5B76E57CB607AC3), UINT64_C(0x08AEFE669A322F48)},
4003          {UINT64_C(0x6919E40DD9261469), UINT64_C(0x1F0ADA81849718FA),
4004           UINT64_C(0xCD251B549D81628E), UINT64_C(0x6519C3C65505F9E1)}},
4005         {{UINT64_C(0x277591DC2F81C037), UINT64_C(0xD63AD35A76E0D41E),
4006           UINT64_C(0x682662B56EC063D3), UINT64_C(0x8210978B6762A0DB)},
4007          {UINT64_C(0x05085F68FE164B90), UINT64_C(0x50026ADC3D6FD0D1),
4008           UINT64_C(0x38CC9FA7B01A3791), UINT64_C(0x1E286652B376F83E)}},
4009         {{UINT64_C(0x8DFFDA1609759892), UINT64_C(0xE011DDDB9AC2CE5D),
4010           UINT64_C(0xDDC7670FBD71426B), UINT64_C(0x9722A23B19742F7C)},
4011          {UINT64_C(0x2EA99893DC4767D3), UINT64_C(0xCB68D6C211125BAE),
4012           UINT64_C(0xAC76953E307ED3B9), UINT64_C(0x0EDD0C17C366E9A2)}},
4013         {{UINT64_C(0x88B3DEC9484B5272), UINT64_C(0x0C848EA190380294),
4014           UINT64_C(0xDE187E83A01AC92C), UINT64_C(0x2A8801827A5D4D65)},
4015          {UINT64_C(0xD3C22C2BB3C3C7BB), UINT64_C(0xC485CE02DE7ECE33),
4016           UINT64_C(0xF22138C4A437071A), UINT64_C(0x23A55C890716DA53)}},
4017         {{UINT64_C(0x9533C4A3F6FE058E), UINT64_C(0x28753F87748E4A4F),
4018           UINT64_C(0x7814C50AEA404C70), UINT64_C(0x908D1C81E91B5EF3)},
4019          {UINT64_C(0xD827D3CE04094766), UINT64_C(0x7AE2FD260CE5C727),
4020           UINT64_C(0x016AC86FCDAD2BDD), UINT64_C(0x37C088B07A77C252)}},
4021         {{UINT64_C(0xABF4C1EF18A35CD3), UINT64_C(0x1F721491698A5A01),
4022           UINT64_C(0x79284A121A9E9A1F), UINT64_C(0x0457FF704D50DF40)},
4023          {UINT64_C(0x1D235814EC46ED07), UINT64_C(0xBD013752AE5E97C8),
4024           UINT64_C(0x0E085C88D9B100D4), UINT64_C(0x8AFA070A8858F9F3)}},
4025         {{UINT64_C(0x0F548BE3698D6A59), UINT64_C(0x5D7818A5BF2D0D94),
4026           UINT64_C(0x8E150DF1D80E620D), UINT64_C(0x4C3A5E64F857F167)},
4027          {UINT64_C(0x837D9A9861BD9152), UINT64_C(0x242CE5898D10687F),
4028           UINT64_C(0x9863EA4CB6B52BB7), UINT64_C(0x23665B46B7DD35FF)}},
4029         {{UINT64_C(0x3AA5432A73942AAF), UINT64_C(0xB0185DB40CEE83A9),
4030           UINT64_C(0x145372EEA83B907B), UINT64_C(0x609F1AD9BB6D341A)},
4031          {UINT64_C(0x28C2B37A864C92EE), UINT64_C(0xDD847239D4CC1158),
4032           UINT64_C(0xE5BD4FD28F2EAF0A), UINT64_C(0x04F43BC0D24950AB)}},
4033         {{UINT64_C(0x11DEFCED88DA3F20), UINT64_C(0xCA4CE370A407C4A2),
4034           UINT64_C(0xEA70BEDF2F8C5CFC), UINT64_C(0x08AC147D8214B7F7)},
4035          {UINT64_C(0xECAD0F77E260AA96), UINT64_C(0xA868AC63B56C30F7),
4036           UINT64_C(0xF0ACDE5A396F4815), UINT64_C(0x302F75B9ACDE6CD8)}},
4037         {{UINT64_C(0x2125D07DC5D14866), UINT64_C(0xFE563DE44AE3212D),
4038           UINT64_C(0x0FE787CBEE9CAA2B), UINT64_C(0x7D9B56A253802482)},
4039          {UINT64_C(0x128B4D378040D1A7), UINT64_C(0x5737129930ACA2F4),
4040           UINT64_C(0x5C443E357623D14A), UINT64_C(0x6436D3285FDB6310)}},
4041         {{UINT64_C(0x531486A4A8557B64), UINT64_C(0x3FAB4F219C5DE310),
4042           UINT64_C(0xD872282E260468D0), UINT64_C(0x04CD45682542CBA4)},
4043          {UINT64_C(0xACA0975A555B6E0C), UINT64_C(0xEE8C43B28B85132F),
4044           UINT64_C(0xC768808BB9DECE9D), UINT64_C(0x59EDEC60431AF98C)}},
4045         {{UINT64_C(0xC365E13331992E22), UINT64_C(0xB96C5FA00DC3A4C8),
4046           UINT64_C(0xDEB1C1DAA65761B0), UINT64_C(0x457676EEF4ACAB4C)},
4047          {UINT64_C(0xA0F95894E674FFAF), UINT64_C(0xFD099172D65CDAB7),
4048           UINT64_C(0x9383C2F854DA58A2), UINT64_C(0x0A4F4C110F24A07B)}},
4049         {{UINT64_C(0x9D7A80B3E380ABF3), UINT64_C(0xF0C6AC5A9E469F9F),
4050           UINT64_C(0xC87D57276BD0A324), UINT64_C(0x28138E377692B063)},
4051          {UINT64_C(0xE18C1F7DD67862CA), UINT64_C(0x4B6B723E1E07F928),
4052           UINT64_C(0xAAFE3FB0BBCF4125), UINT64_C(0x254003223B3AE714)}},
4053     },
4054     {
4055         {{UINT64_C(0xB89A2DCA63C295D8), UINT64_C(0x5CC03C6585041AA1),
4056           UINT64_C(0xFA9B4C5CC6514781), UINT64_C(0x578031A0D92388FF)},
4057          {UINT64_C(0xB0D5AE0AF92C2D77), UINT64_C(0x945A677E793D588A),
4058           UINT64_C(0x3722DE4434A190E0), UINT64_C(0x6EA90DB80C2B9975)}},
4059         {{UINT64_C(0xE987AA8584BA4F9B), UINT64_C(0xB2A77B9C0AB43BE6),
4060           UINT64_C(0xC4AD2AF6474D8841), UINT64_C(0x4ED7A82B5D4FA590)},
4061          {UINT64_C(0x9F39335E9977AC2B), UINT64_C(0x3CCD406D52E87607),
4062           UINT64_C(0x9D18CB3F71456060), UINT64_C(0x0FE4D8886A45D7D0)}},
4063         {{UINT64_C(0xAEA8A911F42D501A), UINT64_C(0x303E25D588F66FBA),
4064           UINT64_C(0x54213F2961740B85), UINT64_C(0x5BC13A30C0B4D835)},
4065          {UINT64_C(0x569AB9B84758EA28), UINT64_C(0xE2E49B28B796A794),
4066           UINT64_C(0x17787125320D54E2), UINT64_C(0x5A6A8EDEC54B4465)}},
4067         {{UINT64_C(0xC76C73D9870619DD), UINT64_C(0xF541440E84FE1078),
4068           UINT64_C(0x2082FE363B26A3DC), UINT64_C(0x3B896B29CC329B14)},
4069          {UINT64_C(0xB45028A9CAFCDC20), UINT64_C(0xA1B77C6F9C56757E),
4070           UINT64_C(0xDE50D86584802E47), UINT64_C(0x7DFBC0E8BA0892B0)}},
4071         {{UINT64_C(0xEBC505A947E702BB), UINT64_C(0x2329A41CDACFACFE),
4072           UINT64_C(0xEA11560351DDCE2F), UINT64_C(0x95BBC8072E9D855A)},
4073          {UINT64_C(0x454C6B88CFD33E9F), UINT64_C(0x993CF6DE4FFBB24A),
4074           UINT64_C(0xA8E22FF89B2144CD), UINT64_C(0x741066EE84943294)}},
4075         {{UINT64_C(0x2CEE0CFFF067E5B2), UINT64_C(0x1C1FD5A3CA95F1C5),
4076           UINT64_C(0xA0EB8E7DC07B97F1), UINT64_C(0x0F2A5D777457415E)},
4077          {UINT64_C(0xDFF92C5845D06291), UINT64_C(0x709EA0AC48ABABE8),
4078           UINT64_C(0xB3058FEB2FDC92F0), UINT64_C(0x55E9F86E5E5B169E)}},
4079         {{UINT64_C(0xEE5DF132EBF6AF2B), UINT64_C(0xC30DC3F1F642A206),
4080           UINT64_C(0xD7D8EC3E02C60CB6), UINT64_C(0x7C98946B3178F1BF)},
4081          {UINT64_C(0x816C2AA1A68799EB), UINT64_C(0x507FD5E92430F06B),
4082           UINT64_C(0x021FFF1CB9EBD4B7), UINT64_C(0x044365E68AECFEA4)}},
4083         {{UINT64_C(0xDC5F5EA621339693), UINT64_C(0x5BFD267690A448AD),
4084           UINT64_C(0xF712BA95A12A9D77), UINT64_C(0x7104735ABD8A6B5B)},
4085          {UINT64_C(0xD2ED8304A763BB99), UINT64_C(0x7AF040F011B91A05),
4086           UINT64_C(0xC545E8AEB61F3789), UINT64_C(0x582E9EEDBB386760)}},
4087         {{UINT64_C(0x0FCE5877CC099185), UINT64_C(0x0E148BB5CD681E67),
4088           UINT64_C(0xE9F9013EECB24ECE), UINT64_C(0x0090654B2A386485)},
4089          {UINT64_C(0x11BA700B0520BAE8), UINT64_C(0xFC93BE31D8E53123),
4090           UINT64_C(0x7DD7CB36E37948EE), UINT64_C(0x8689AE8F3FC23444)}},
4091         {{UINT64_C(0x2060F7DEAAC6616B), UINT64_C(0x372952C5DEAB3CC7),
4092           UINT64_C(0x715C4D27C2424ACD), UINT64_C(0x058468560308A009)},
4093          {UINT64_C(0x887BBD550B8B34E8), UINT64_C(0x949ACBD1B688C987),
4094           UINT64_C(0x3E774D49784C4C0E), UINT64_C(0x7AEA2D11B0F5F545)}},
4095         {{UINT64_C(0x5335BA6BE831E509), UINT64_C(0x8FC4B4AF739F332E),
4096           UINT64_C(0xB050246295993EAF), UINT64_C(0x7DA49F36A7CEB88B)},
4097          {UINT64_C(0x3BE0B74B029D0C8F), UINT64_C(0xBC07F18055611A8B),
4098           UINT64_C(0xC168CF416583F53F), UINT64_C(0x4256E8D2C34ADBC1)}},
4099         {{UINT64_C(0x313AFC75CE2FCD89), UINT64_C(0xEA27FDA4D3DA44F2),
4100           UINT64_C(0x9FABEA799063B0DC), UINT64_C(0x2DF7D966B3418884)},
4101          {UINT64_C(0x4329FD2480AF2EBD), UINT64_C(0x36F27FF79F095D30),
4102           UINT64_C(0x88FFB18FCC84C068), UINT64_C(0x976427A87B0A9906)}},
4103         {{UINT64_C(0xCFF828CCFAC21087), UINT64_C(0x6B6D348456863CB5),
4104           UINT64_C(0x14163A70C30879F3), UINT64_C(0x30E2A6338CA6FD5D)},
4105          {UINT64_C(0xC7FCEAD628A58783), UINT64_C(0x945F7B09EEFA1EAA),
4106           UINT64_C(0x98A503DB5CC66267), UINT64_C(0x83EE750E3780061B)}},
4107         {{UINT64_C(0x7061409AB8477D6B), UINT64_C(0xE47C779D2B7B54FA),
4108           UINT64_C(0x42F5EDF5F293166C), UINT64_C(0x73C3AC1B115D830F)},
4109          {UINT64_C(0xC30D346E4DEE0980), UINT64_C(0xEE0D9A29A62F0D09),
4110           UINT64_C(0xBBE8DC9EABCB7DAE), UINT64_C(0x4F0E78C068B78925)}},
4111         {{UINT64_C(0x25A0D4FFB4B14003), UINT64_C(0xA4C3AC55B8AB649C),
4112           UINT64_C(0x7D7EDE7227F9FDF5), UINT64_C(0x507EC83FBC2A46D4)},
4113          {UINT64_C(0x344577D9FAAFC26F), UINT64_C(0x77CBB7833EB30156),
4114           UINT64_C(0x3A846FFD1D5C9367), UINT64_C(0x5F0D280C9DF9F7BE)}},
4115         {{UINT64_C(0xCC8EAC0A77DF7F9F), UINT64_C(0x195BC6FFF33A62D4),
4116           UINT64_C(0x18A33FFA524D78FE), UINT64_C(0x10E589746603F9C0)},
4117          {UINT64_C(0x31AF4B460CDA2C3F), UINT64_C(0xDDBF00C8ADE169C3),
4118           UINT64_C(0xA169C3E371A7BC38), UINT64_C(0x3FC352FFA64B342E)}},
4119     },
4120     {
4121         {{UINT64_C(0x58848315EE73C673), UINT64_C(0x67D2F7C08ADB897E),
4122           UINT64_C(0xE8CD786DF0658115), UINT64_C(0x023D515AAC54D2AB)},
4123          {UINT64_C(0x0EDE61D867559911), UINT64_C(0xBC12B1063C2B78B5),
4124           UINT64_C(0xB5661A289E4707D8), UINT64_C(0x93FB4096ADC095A4)}},
4125         {{UINT64_C(0xEEB3810F33D5FA08), UINT64_C(0x8D8FC35433F4CAAF),
4126           UINT64_C(0xED87051629EB08A3), UINT64_C(0x89FD91CAD1D31EBC)},
4127          {UINT64_C(0xD2F1F832EDE2494B), UINT64_C(0xCFEE1D77FA8EEA95),
4128           UINT64_C(0x13603C4A3B0F005C), UINT64_C(0x6DF97F85D9EF68F4)}},
4129         {{UINT64_C(0x578FBC0A55410512), UINT64_C(0x1FA404F2DEC79EEE),
4130           UINT64_C(0x201FE21592B60820), UINT64_C(0x9A9B3CE80A56193A)},
4131          {UINT64_C(0x8A5ECCB910B49800), UINT64_C(0xA7373AEBBFDB1D8E),
4132           UINT64_C(0x8996BEFA4944B5DF), UINT64_C(0x3102D3C07B44246C)}},
4133         {{UINT64_C(0xD4A853B7449C09BE), UINT64_C(0x1F7080A451DDB7FE),
4134           UINT64_C(0x8A9DE52CE1C27FC1), UINT64_C(0x6585B54F0C58B99D)},
4135          {UINT64_C(0x8EEB0601B5A4AB53), UINT64_C(0x977D658D48C73AC6),
4136           UINT64_C(0xD5DA09033D9BD223), UINT64_C(0x881A5838BE115965)}},
4137         {{UINT64_C(0x8EB70B77EB3FC303), UINT64_C(0xED1C4DEF98BDB841),
4138           UINT64_C(0x13E6BE06997DE9E4), UINT64_C(0x4A94C0A19334D46D)},
4139          {UINT64_C(0x184C17C80F867DAF), UINT64_C(0x4A65802633A64148),
4140           UINT64_C(0xD177F0090AE3D4AA), UINT64_C(0x8134AC8F98ED12C0)}},
4141         {{UINT64_C(0x7A308A007A58DDEC), UINT64_C(0x74A15C5FFDF92DF2),
4142           UINT64_C(0x210D260E21B4E345), UINT64_C(0x6446715BC651E31E)},
4143          {UINT64_C(0xB1AF1F8410B905B6), UINT64_C(0xEF6CD0F2A62D366F),
4144           UINT64_C(0x77E47B01D1F6B7E3), UINT64_C(0x0F38B2802B95BD12)}},
4145         {{UINT64_C(0x52DA30E18CCCDAE6), UINT64_C(0x9F3D6636BD86A13A),
4146           UINT64_C(0xADFA00C5F4EA6151), UINT64_C(0x6B93BFA01EC37639)},
4147          {UINT64_C(0x443F0023F8FE22FC), UINT64_C(0xCB7848A4A81FEACC),
4148           UINT64_C(0xCE5E650A517E9E61), UINT64_C(0x5842DB7DA1968E3D)}},
4149         {{UINT64_C(0x61DDC69498C06F78), UINT64_C(0x680FEDE97985B1A2),
4150           UINT64_C(0x214CD2B8FB53A327), UINT64_C(0x98EAC0B3E425132B)},
4151          {UINT64_C(0x5EEDD76D33E5766D), UINT64_C(0x5B280618540000A3),
4152           UINT64_C(0x915D55CB65C894AE), UINT64_C(0x7B088A36D20D9523)}},
4153         {{UINT64_C(0x51A47312C28DA278), UINT64_C(0xE315CBA4EFE64521),
4154           UINT64_C(0x3EF70A1849D8D0FF), UINT64_C(0x0990CB92CABD48C5)},
4155          {UINT64_C(0x22ED6302A7C2FC76), UINT64_C(0xB50370EA2CB98186),
4156           UINT64_C(0xDEA88C65F3F2BA8B), UINT64_C(0x0906245109FEDEEA)}},
4157         {{UINT64_C(0x742F9A2EDAC0F222), UINT64_C(0xE2A8842B95C88A8E),
4158           UINT64_C(0x80C057659D817B14), UINT64_C(0x7ED0521A982D49AE)},
4159          {UINT64_C(0x047E49D4907B10F7), UINT64_C(0x8A3E23A7DE8AD4CD),
4160           UINT64_C(0xEBE8C13FEB5292B1), UINT64_C(0x048A6209A7EB70BD)}},
4161         {{UINT64_C(0xB51665A09AA34851), UINT64_C(0x4DD5AC1B7C4AFCEE),
4162           UINT64_C(0x00DEE7AB25A21937), UINT64_C(0x88E2681E80FAF232)},
4163          {UINT64_C(0x79ECD66AB5411EE2), UINT64_C(0x06008CE3F370BF53),
4164           UINT64_C(0xCFB1850EC9BBB64C), UINT64_C(0x5FBACB277149B14E)}},
4165         {{UINT64_C(0xA1F0EE079938AA0C), UINT64_C(0x6945E2BA74CCE9C4),
4166           UINT64_C(0x16689FCE46A98BEA), UINT64_C(0x8D71F405CF67DF91)},
4167          {UINT64_C(0x71E4CAC869621150), UINT64_C(0x518FA20089B380D8),
4168           UINT64_C(0x3B3B85F153F9E660), UINT64_C(0x02643303C6D9B022)}},
4169         {{UINT64_C(0xE8C478EC07660C3E), UINT64_C(0xA906C3A1EF41F1DA),
4170           UINT64_C(0xE918F16046699B71), UINT64_C(0x2B8A0B0EE5BE7B36)},
4171          {UINT64_C(0xC663F0EC889F50A0), UINT64_C(0x7413264BF9214F81),
4172           UINT64_C(0x2E9FA9A0421A9087), UINT64_C(0x85C59B7C83546DCD)}},
4173         {{UINT64_C(0xB4A6CF398D920A29), UINT64_C(0xC857AF481B3956A1),
4174           UINT64_C(0x519C7371DD794B23), UINT64_C(0x478462208EFBF8F9)},
4175          {UINT64_C(0x184C25E5617E4C6C), UINT64_C(0x218FCC23D2E51A5E),
4176           UINT64_C(0xB421971928FA0FFC), UINT64_C(0x6C0BCD71781A61D9)}},
4177         {{UINT64_C(0x440D6DDFDC7B5568), UINT64_C(0x64C7CC310DBBEC7C),
4178           UINT64_C(0x63D16D4EA2DC0CBA), UINT64_C(0x7BD9E0CC4504BE2C)},
4179          {UINT64_C(0x9C8828952DE780A8), UINT64_C(0x7C6685C2EF2B2486),
4180           UINT64_C(0xF1FB09E9957FA7D8), UINT64_C(0x20C6B5A546A77A98)}},
4181         {{UINT64_C(0x60C7757333C0F0C1), UINT64_C(0x40C93227CADDA5FE),
4182           UINT64_C(0xA48EBAA29DD41D5F), UINT64_C(0x4AAFBF3CEA9FD5AD)},
4183          {UINT64_C(0x7EB61836C5A287BA), UINT64_C(0x1D6A1BA2B31BA25E),
4184           UINT64_C(0x60507257AD186E52), UINT64_C(0x7FEC8EB02BAB7451)}},
4185     },
4186     {
4187         {{UINT64_C(0x500E2FDBB8DA5FFE), UINT64_C(0x6AE2D4EA8CDD1B39),
4188           UINT64_C(0x38D120251A5840CD), UINT64_C(0x8D3B20CBC214D26D)},
4189          {UINT64_C(0xEF6BB36CC041E874), UINT64_C(0x67660393450F2218),
4190           UINT64_C(0x1E1B7782A892BDFD), UINT64_C(0x2D69514C8D962E62)}},
4191         {{UINT64_C(0x9EDF5F789631B095), UINT64_C(0xAC7DD68745BF8F20),
4192           UINT64_C(0x257CCE28E3262EBC), UINT64_C(0x5D32EFCBE0E480A6)},
4193          {UINT64_C(0xED48E34C6FBB99E8), UINT64_C(0x50B1D58C23FDE9B7),
4194           UINT64_C(0xC5164C2A6B6927C8), UINT64_C(0x8A0BC6068906B705)}},
4195         {{UINT64_C(0x3FA3C7C92F747DA8), UINT64_C(0x2E8D2C2E14938E08),
4196           UINT64_C(0x155A8A5BB6A1C720), UINT64_C(0x6B4D8C9EB3133FD0)},
4197          {UINT64_C(0x079AC7F1CE131C1D), UINT64_C(0x9CF419AF815B7D2B),
4198           UINT64_C(0x569EB7BAE60B6245), UINT64_C(0x03C79E609A3DD94E)}},
4199         {{UINT64_C(0x328F5296B9CE9502), UINT64_C(0xCA44ADBDE45C3576),
4200           UINT64_C(0x669879526194AE2C), UINT64_C(0x5875F8EFBF9B8C49)},
4201          {UINT64_C(0x525A4D53DA51CAB8), UINT64_C(0x91A592DD9DC268B2),
4202           UINT64_C(0xD7EA7958E1E3C168), UINT64_C(0x0D1E20E0A999ED30)}},
4203         {{UINT64_C(0x55DA34E5FE8AD270), UINT64_C(0xB041289561EC55F6),
4204           UINT64_C(0x0D45670F534569C9), UINT64_C(0x5A7E6764E23F69FB)},
4205          {UINT64_C(0xBB6BBEC9A8B28676), UINT64_C(0x4F924558093B0D1D),
4206           UINT64_C(0xD4E4BF120C29D841), UINT64_C(0x67D2B4C8578A237A)}},
4207         {{UINT64_C(0x0BDF32D663EF2D73), UINT64_C(0x7248DD2D4AE4303C),
4208           UINT64_C(0xBB61BAB56CE1E92A), UINT64_C(0x126166E91D7B9A6C)},
4209          {UINT64_C(0x4CE7086A11CEBC3C), UINT64_C(0xE7ACB25E1C71426F),
4210           UINT64_C(0xBFB65EDC432CC4AF), UINT64_C(0x3BCA5202CB018CF7)}},
4211         {{UINT64_C(0xACF034F276430A87), UINT64_C(0xBFDF19B3534C42ED),
4212           UINT64_C(0x05654FE67946CB1A), UINT64_C(0x0DB07E7980F17880)},
4213          {UINT64_C(0xE6E93101FDCF8BC9), UINT64_C(0xF3198B87F798A8CD),
4214           UINT64_C(0xC05444EFC9683420), UINT64_C(0x56E9AA68915D1BF1)}},
4215         {{UINT64_C(0xF27B298B34000B11), UINT64_C(0x70ED8C95F4196E50),
4216           UINT64_C(0xF3E16608233C8764), UINT64_C(0x5B97655A41881557)},
4217          {UINT64_C(0x5BF11C1A128C195B), UINT64_C(0xFFB64333372C286D),
4218           UINT64_C(0x084D3EF77C83BB31), UINT64_C(0x8ECF6C01745B7D75)}},
4219         {{UINT64_C(0x3D6052B9C6F4FF82), UINT64_C(0x9305FE456607892F),
4220           UINT64_C(0x232FD87E5879425F), UINT64_C(0x4CAEDF73D6F47350)},
4221          {UINT64_C(0x889243D2032FC50D), UINT64_C(0xA6AF69D70C9C11AC),
4222           UINT64_C(0x43B5429D802E8E06), UINT64_C(0x38F1DEA8D70FC802)}},
4223         {{UINT64_C(0x54F24344C9595C08), UINT64_C(0x95A2E8FB0240AAB3),
4224           UINT64_C(0x07A5109DC3544985), UINT64_C(0x96F44213B5D30899)},
4225          {UINT64_C(0x03FAB192AA347497), UINT64_C(0x47FFD3DEC9CFC073),
4226           UINT64_C(0x283AD765D2C1D57F), UINT64_C(0x1FDFFBAC62DC271A)}},
4227         {{UINT64_C(0x2355C62995F80CA6), UINT64_C(0x90AE1DBBCD8D880A),
4228           UINT64_C(0x563CC122C54117E0), UINT64_C(0x1EF4991B813D7481)},
4229          {UINT64_C(0x8A310D77CCE9AEDE), UINT64_C(0xA401FAEF9318642E),
4230           UINT64_C(0xC1712A67CF9AFDCB), UINT64_C(0x8D97374CBE499DE5)}},
4231         {{UINT64_C(0x7437AA3B55A0BC07), UINT64_C(0x004946D0F726DD81),
4232           UINT64_C(0x33D41D1B0F341860), UINT64_C(0x2A009EB517840F0D)},
4233          {UINT64_C(0x158F59AEAA0DCDCF), UINT64_C(0xF686EF2DEAB42135),
4234           UINT64_C(0xFF6B8E827A80C670), UINT64_C(0x38646963A04DF944)}},
4235         {{UINT64_C(0x6BB2705E4B987E90), UINT64_C(0x2F5E2C4DD3C36316),
4236           UINT64_C(0x41B38905E5A9ECEC), UINT64_C(0x2C6BA68155BF8D1A)},
4237          {UINT64_C(0x1121B3B23C92B20B), UINT64_C(0x6DE41B12904305D5),
4238           UINT64_C(0xA0496CF4D569EAC4), UINT64_C(0x5C64A06C11E5CF90)}},
4239         {{UINT64_C(0xA65F12ABE28783DF), UINT64_C(0x2A891B0F37322285),
4240           UINT64_C(0xD6FF46049811C4EB), UINT64_C(0x7C960ED5A8505AC0)},
4241          {UINT64_C(0xE86893772FCA110D), UINT64_C(0x71AAE29260FD893E),
4242           UINT64_C(0x8ADE53177505671D), UINT64_C(0x721A07A58C508791)}},
4243         {{UINT64_C(0xC1AE9A50E5ECCA8C), UINT64_C(0x7528AEF507EB4329),
4244           UINT64_C(0x8F0D0E03D1297D88), UINT64_C(0x27C7BF76244BBC0C)},
4245          {UINT64_C(0x96EEDA7CC7E7E9BB), UINT64_C(0xC9749BF7F96C99B3),
4246           UINT64_C(0x44C852D2467B4D43), UINT64_C(0x1691D71D937FA21D)}},
4247         {{UINT64_C(0x8CAC092FF8058A68), UINT64_C(0x6B892BCFDAE38445),
4248           UINT64_C(0x82CBECE597D76059), UINT64_C(0x5AEB66463518F9E2)},
4249          {UINT64_C(0xA39C710C392080B4), UINT64_C(0x575DC5F41502DE54),
4250           UINT64_C(0xA465DD5E3A3D2B4D), UINT64_C(0x281AAE47638EAF45)}},
4251     },
4252     {
4253         {{UINT64_C(0xBE40C92BE955A145), UINT64_C(0xD464D6BC324234B5),
4254           UINT64_C(0xE8084747B09D4AF8), UINT64_C(0x939C70BF5268D6C3)},
4255          {UINT64_C(0x9C9C9D25D1DDBB48), UINT64_C(0x30D9EA7F790B5B42),
4256           UINT64_C(0x367FD79B4E3914B4), UINT64_C(0x27615F29826EE4D7)}},
4257         {{UINT64_C(0x09BB6F1650A41246), UINT64_C(0xC72BFF7AE5459A13),
4258           UINT64_C(0x0FC15846FF09B2F7), UINT64_C(0x6D90406209CB693A)},
4259          {UINT64_C(0x98A132F8F40FC67D), UINT64_C(0xC8B6573BDF37CBFA),
4260           UINT64_C(0xC9CF994899D7FC36), UINT64_C(0x0DD66ABAA7235DDB)}},
4261         {{UINT64_C(0x0180B525F96048BD), UINT64_C(0xEB566786544F1E70),
4262           UINT64_C(0x8BABBF9B8EF4373C), UINT64_C(0x509BA431D9E49178)},
4263          {UINT64_C(0xF961A6F565A4A201), UINT64_C(0xB6621DF98D44ED2D),
4264           UINT64_C(0xEADD3C0CD7B4D744), UINT64_C(0x75D27E990EAAB110)}},
4265         {{UINT64_C(0xEAC7AC7685DF5695), UINT64_C(0x02C26274DA7540A3),
4266           UINT64_C(0xDEC1BBC4C659B610), UINT64_C(0x54483C1B3AC61EEB)},
4267          {UINT64_C(0x8B91209A217E0283), UINT64_C(0x939FBDAF3A17DDFE),
4268           UINT64_C(0xA82C66D65BF98726), UINT64_C(0x2BA82FA0915AAC76)}},
4269         {{UINT64_C(0x99B324C1AF4542E8), UINT64_C(0x16EBC66FC0F225E0),
4270           UINT64_C(0xEAE6956327FEF57B), UINT64_C(0x2996FE3C961B03FA)},
4271          {UINT64_C(0x0835212E4F967A68), UINT64_C(0x0AAABD99F44352DC),
4272           UINT64_C(0x1874255F4B3A6B8D), UINT64_C(0x45F5D8B26D10B369)}},
4273         {{UINT64_C(0x603DD497F7B7644B), UINT64_C(0x369BE6762D1386AA),
4274           UINT64_C(0x08C1B76314C9FA94), UINT64_C(0x734921D9384AF696)},
4275          {UINT64_C(0xA1B5AF5BD76E8EEB), UINT64_C(0xB0EAE7A342F990E8),
4276           UINT64_C(0x59E7C515069ED81D), UINT64_C(0x2D1B5E62B5A50610)}},
4277         {{UINT64_C(0xDC32281085995BD3), UINT64_C(0x35A47B05873E7A09),
4278           UINT64_C(0x0CDFE9BBA70DE932), UINT64_C(0x049B899DD62FBC89)},
4279          {UINT64_C(0xF6BAA860652291DB), UINT64_C(0x58123B259AF7478F),
4280           UINT64_C(0xA05CCBC247B9F204), UINT64_C(0x8A0B479D82D999A7)}},
4281         {{UINT64_C(0xA72B9B522D0F619A), UINT64_C(0xE73B66F75919C420),
4282           UINT64_C(0x92319C86D21CFEFE), UINT64_C(0x58EEFC71F1635F0E)},
4283          {UINT64_C(0xDC481783DA909290), UINT64_C(0x144E7A9866316584),
4284           UINT64_C(0xBD7E657F45E1E3C8), UINT64_C(0x5C9FCD1CBD93938C)}},
4285         {{UINT64_C(0x2339E2FA436C1AB3), UINT64_C(0x69C22269C26768AA),
4286           UINT64_C(0x94DFCAF440FCBD90), UINT64_C(0x56235739C41D4F61)},
4287          {UINT64_C(0x6E50D4DB718468D3), UINT64_C(0xDEA80730CADCEC6C),
4288           UINT64_C(0x924FF97E63DC3C43), UINT64_C(0x1B6528256752EA6A)}},
4289         {{UINT64_C(0xAC2BDCDDF07BE4BB), UINT64_C(0xB46D8E968DB0A32D),
4290           UINT64_C(0xDD661C68B618488D), UINT64_C(0x8ED22D4B75E1E4BF)},
4291          {UINT64_C(0x5DD2E5DF3C177D80), UINT64_C(0x5049C01282803711),
4292           UINT64_C(0xFB243B3F73E0BA27), UINT64_C(0x0C756BA08C7810D5)}},
4293         {{UINT64_C(0xFC58F0BD6F16FBCA), UINT64_C(0xA855BB8CA5E33B36),
4294           UINT64_C(0xB9239EB499D08247), UINT64_C(0x27ABC78D49CAF40D)},
4295          {UINT64_C(0x88BE1595A1285278), UINT64_C(0x9D5AEE5B60F16638),
4296           UINT64_C(0x3F3815291FCE4327), UINT64_C(0x17206899F19CAA04)}},
4297         {{UINT64_C(0x586163489E047F55), UINT64_C(0x0D6098A5E991FC4C),
4298           UINT64_C(0x47760F9899A33914), UINT64_C(0x70C8F5D45608C80E)},
4299          {UINT64_C(0x405F119106036DBE), UINT64_C(0xBF62589580CC0A27),
4300           UINT64_C(0xFB8A0330389FA7BF), UINT64_C(0x22B0B9461FA0CBB4)}},
4301         {{UINT64_C(0x84AE19811B1E2ACD), UINT64_C(0xFA23C20563961891),
4302           UINT64_C(0xCF4C685E742C1653), UINT64_C(0x55BFC7444D303078)},
4303          {UINT64_C(0xEB131CBBBA03AAE4), UINT64_C(0xF338C0DB2C5B9EAB),
4304           UINT64_C(0xC1006396B7495209), UINT64_C(0x0FD928CFF7E6A4E6)}},
4305         {{UINT64_C(0xA6BAC9948633AB84), UINT64_C(0xC165BF5A75364642),
4306           UINT64_C(0xB70BEB478C57070D), UINT64_C(0x838158A0D416322E)},
4307          {UINT64_C(0x501D2BFDD4957751), UINT64_C(0xF1CDDF32C23AA730),
4308           UINT64_C(0xF64558A85458F1C6), UINT64_C(0x51B6DDE306E1209C)}},
4309         {{UINT64_C(0x0712C186CC31D6BE), UINT64_C(0x91C4064A33CD1D3F),
4310           UINT64_C(0xCADAE5B0C7C91F53), UINT64_C(0x52AA408FDEB2A2EE)},
4311          {UINT64_C(0x058675CC202719D5), UINT64_C(0x444F99F51D087D07),
4312           UINT64_C(0x4DB587E89D7A8AF4), UINT64_C(0x389376F5DA17095A)}},
4313         {{UINT64_C(0x8262D37048FED385), UINT64_C(0x3B1FB4661AE92689),
4314           UINT64_C(0xDA6F570F24242CF4), UINT64_C(0x0532FC9E0DEAC5E9)},
4315          {UINT64_C(0x5E8FB74020C5BD7B), UINT64_C(0x5AE99925002624B3),
4316           UINT64_C(0xAD44A4D57AFADC15), UINT64_C(0x6AECBC80DF409330)}},
4317     }};
4318
4319 /*-
4320  * Q := 2P, both projective, Q and P same pointers OK
4321  * Autogenerated: op3/dbl_proj.op3
4322  * https://eprint.iacr.org/2015/1060 Alg 6
4323  * ASSERT: a = -3
4324  */
4325 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
4326     /* temporary variables */
4327     fe_t t0, t1, t2, t3, t4;
4328     /* constants */
4329     const limb_t *b = const_b;
4330     /* set pointers for legacy curve arith */
4331     const limb_t *X = P->X;
4332     const limb_t *Y = P->Y;
4333     const limb_t *Z = P->Z;
4334     limb_t *X3 = Q->X;
4335     limb_t *Y3 = Q->Y;
4336     limb_t *Z3 = Q->Z;
4337
4338     /* the curve arith formula */
4339     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t0, X);
4340     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t1, Y);
4341     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t2, Z);
4342     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, X, Y);
4343     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t3, t3);
4344     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y, Z);
4345     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, X, Z);
4346     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
4347     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, t2);
4348     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, Z3);
4349     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, Y3, Y3);
4350     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X3, Y3);
4351     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, t1, Y3);
4352     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
4353     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Y3);
4354     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, t3);
4355     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t2, t2);
4356     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t2, t3);
4357     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z3);
4358     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t2);
4359     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t0);
4360     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, Z3, Z3);
4361     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t3);
4362     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t0, t0);
4363     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t3, t0);
4364     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
4365     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, t0, Z3);
4366     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t0);
4367     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t4, t4);
4368     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, Z3);
4369     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, Z3);
4370     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, t1);
4371     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
4372     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
4373 }
4374
4375 /*-
4376  * R := Q + P where R and Q are projective, P affine.
4377  * R and Q same pointers OK
4378  * R and P same pointers not OK
4379  * Autogenerated: op3/add_mixed.op3
4380  * https://eprint.iacr.org/2015/1060 Alg 5
4381  * ASSERT: a = -3
4382  */
4383 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
4384     /* temporary variables */
4385     fe_t t0, t1, t2, t3, t4;
4386     /* constants */
4387     const limb_t *b = const_b;
4388     /* set pointers for legacy curve arith */
4389     const limb_t *X1 = Q->X;
4390     const limb_t *Y1 = Q->Y;
4391     const limb_t *Z1 = Q->Z;
4392     const limb_t *X2 = P->X;
4393     const limb_t *Y2 = P->Y;
4394     fe_t X3;
4395     fe_t Y3;
4396     fe_t Z3;
4397     limb_t nz;
4398
4399     /* check P for affine inf */
4400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(&nz, P->Y);
4401
4402     /* the curve arith formula */
4403     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
4404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
4405     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X2, Y2);
4406     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X1, Y1);
4407     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
4408     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
4409     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
4410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y2, Z1);
4411     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t4, Y1);
4412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X2, Z1);
4413     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, X1);
4414     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z1);
4415     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
4416     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
4417     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
4418     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
4419     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
4420     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
4421     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Z1, Z1);
4422     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, Z1);
4423     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
4424     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
4425     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
4426     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
4427     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
4428     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
4429     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
4430     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
4431     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
4432     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
4433     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
4434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
4435     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
4436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
4437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
4438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
4439
4440     /* if P is inf, throw all that away and take Q */
4441     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->X, nz, Q->X, X3);
4442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Y, nz, Q->Y, Y3);
4443     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Z, nz, Q->Z, Z3);
4444 }
4445
4446 /*-
4447  * R := Q + P all projective.
4448  * R and Q same pointers OK
4449  * R and P same pointers not OK
4450  * Autogenerated: op3/add_proj.op3
4451  * https://eprint.iacr.org/2015/1060 Alg 4
4452  * ASSERT: a = -3
4453  */
4454 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
4455     /* temporary variables */
4456     fe_t t0, t1, t2, t3, t4, t5;
4457     /* constants */
4458     const limb_t *b = const_b;
4459     /* set pointers for legacy curve arith */
4460     const limb_t *X1 = Q->X;
4461     const limb_t *Y1 = Q->Y;
4462     const limb_t *Z1 = Q->Z;
4463     const limb_t *X2 = P->X;
4464     const limb_t *Y2 = P->Y;
4465     const limb_t *Z2 = P->Z;
4466     limb_t *X3 = R->X;
4467     limb_t *Y3 = R->Y;
4468     limb_t *Z3 = R->Z;
4469
4470     /* the curve arith formula */
4471     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
4472     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
4473     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, Z1, Z2);
4474     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X1, Y1);
4475     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X2, Y2);
4476     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
4477     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
4478     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
4479     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, Y1, Z1);
4480     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, Y2, Z2);
4481     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, t4, t5);
4482     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, t1, t2);
4483     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t4, t4, t5);
4484     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X1, Z1);
4485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X2, Z2);
4486     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, Y3);
4487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t0, t2);
4488     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, X3, Y3);
4489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, t2);
4490     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
4491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
4492     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
4493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
4494     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
4495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
4496     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t2, t2);
4497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, t2);
4498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
4499     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
4500     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
4501     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
4502     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
4503     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
4504     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
4505     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
4506     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
4507     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
4508     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
4509     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
4510     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
4511     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
4512     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
4513     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
4514 }
4515
4516 /* constants */
4517 #define RADIX 5
4518 #define DRADIX (1 << RADIX)
4519 #define DRADIX_WNAF ((DRADIX) << 1)
4520
4521 /*-
4522  * precomp for wnaf scalar multiplication:
4523  * precomp[0] = 1P
4524  * precomp[1] = 3P
4525  * precomp[2] = 5P
4526  * precomp[3] = 7P
4527  * precomp[4] = 9P
4528  * ...
4529  */
4530 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
4531     int i;
4532
4533     fe_copy(precomp[0].X, P->X);
4534     fe_copy(precomp[0].Y, P->Y);
4535     fe_copy(precomp[0].Z, const_one);
4536     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
4537
4538     for (i = 1; i < DRADIX / 2; i++)
4539         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
4540 }
4541
4542 /* fetch a scalar bit */
4543 static int scalar_get_bit(const unsigned char in[32], int idx) {
4544     int widx, rshift;
4545
4546     widx = idx >> 3;
4547     rshift = idx & 0x7;
4548
4549     if (idx < 0 || widx >= 32) return 0;
4550
4551     return (in[widx] >> rshift) & 0x1;
4552 }
4553
4554 /*-
4555  * Compute "regular" wnaf representation of a scalar.
4556  * See "Exponent Recoding and Regular Exponentiation Algorithms",
4557  * Tunstall et al., AfricaCrypt 2009, Alg 6.
4558  * It forces an odd scalar and outputs digits in
4559  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
4560  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
4561  */
4562 static void scalar_rwnaf(char out[52], const unsigned char in[32]) {
4563     int i;
4564     char window, d;
4565
4566     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
4567     for (i = 0; i < 51; i++) {
4568         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
4569         out[i] = d;
4570         window = (window - d) >> RADIX;
4571         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
4572         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
4573         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
4574         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
4575         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
4576     }
4577     out[i] = window;
4578 }
4579
4580 /*-
4581  * Compute "textbook" wnaf representation of a scalar.
4582  * NB: not constant time
4583  */
4584 static void scalar_wnaf(char out[257], const unsigned char in[32]) {
4585     int i;
4586     char window, d;
4587
4588     window = in[0] & (DRADIX_WNAF - 1);
4589     for (i = 0; i < 257; i++) {
4590         d = 0;
4591         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
4592             d -= DRADIX_WNAF;
4593         out[i] = d;
4594         window = (window - d) >> 1;
4595         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
4596     }
4597 }
4598
4599 /*-
4600  * Simulateous scalar multiplication: interleaved "textbook" wnaf.
4601  * NB: not constant time
4602  */
4603 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
4604                               const unsigned char b[32], const pt_aff_t *P) {
4605     int i, d, is_neg, is_inf = 1, flipped = 0;
4606     char anaf[257] = {0};
4607     char bnaf[257] = {0};
4608     pt_prj_t Q;
4609     pt_prj_t precomp[DRADIX / 2];
4610
4611     precomp_wnaf(precomp, P);
4612     scalar_wnaf(anaf, a);
4613     scalar_wnaf(bnaf, b);
4614
4615     for (i = 256; i >= 0; i--) {
4616         if (!is_inf) point_double(&Q, &Q);
4617         if ((d = bnaf[i])) {
4618             if ((is_neg = d < 0) != flipped) {
4619                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
4620                 flipped ^= 1;
4621             }
4622             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
4623             if (is_inf) {
4624                 /* initialize accumulator */
4625                 fe_copy(Q.X, &precomp[d].X);
4626                 fe_copy(Q.Y, &precomp[d].Y);
4627                 fe_copy(Q.Z, &precomp[d].Z);
4628                 is_inf = 0;
4629             } else
4630                 point_add_proj(&Q, &Q, &precomp[d]);
4631         }
4632         if ((d = anaf[i])) {
4633             if ((is_neg = d < 0) != flipped) {
4634                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
4635                 flipped ^= 1;
4636             }
4637             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
4638             if (is_inf) {
4639                 /* initialize accumulator */
4640                 fe_copy(Q.X, &lut_cmb[0][d].X);
4641                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
4642                 fe_copy(Q.Z, const_one);
4643                 is_inf = 0;
4644             } else
4645                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
4646         }
4647     }
4648
4649     if (is_inf) {
4650         /* initialize accumulator to inf: all-zero scalars */
4651         fe_set_zero(Q.X);
4652         fe_copy(Q.Y, const_one);
4653         fe_set_zero(Q.Z);
4654     }
4655
4656     if (flipped) {
4657         /* correct sign */
4658         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
4659     }
4660
4661     /* convert to affine -- NB depends on coordinate system */
4662     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
4663     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
4664     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
4665 }
4666
4667 /*-
4668  * Variable point scalar multiplication with "regular" wnaf.
4669  */
4670 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
4671                            const pt_aff_t *P) {
4672     int i, j, d, diff, is_neg;
4673     char rnaf[52] = {0};
4674     pt_prj_t Q, lut;
4675     pt_prj_t precomp[DRADIX / 2];
4676
4677     precomp_wnaf(precomp, P);
4678     scalar_rwnaf(rnaf, scalar);
4679
4680 #if defined(_MSC_VER)
4681     /* result still unsigned: yes we know */
4682 #pragma warning(push)
4683 #pragma warning(disable : 4146)
4684 #endif
4685
4686     /* initialize accumulator to high digit */
4687     d = (rnaf[51] - 1) >> 1;
4688     for (j = 0; j < DRADIX / 2; j++) {
4689         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
4690         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, diff, Q.X,
4691                                                               precomp[j].X);
4692         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, diff, Q.Y,
4693                                                               precomp[j].Y);
4694         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, diff, Q.Z,
4695                                                               precomp[j].Z);
4696     }
4697
4698     for (i = 50; i >= 0; i--) {
4699         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
4700         d = rnaf[i];
4701         /* is_neg = (d < 0) ? 1 : 0 */
4702         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
4703         /* d = abs(d) */
4704         d = (d ^ -is_neg) + is_neg;
4705         d = (d - 1) >> 1;
4706         for (j = 0; j < DRADIX / 2; j++) {
4707             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
4708             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
4709                 lut.X, diff, lut.X, precomp[j].X);
4710             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
4711                 lut.Y, diff, lut.Y, precomp[j].Y);
4712             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
4713                 lut.Z, diff, lut.Z, precomp[j].Z);
4714         }
4715         /* negate lut point if digit is negative */
4716         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
4717         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(lut.Y, is_neg,
4718                                                               lut.Y, out->Y);
4719         point_add_proj(&Q, &Q, &lut);
4720     }
4721
4722 #if defined(_MSC_VER)
4723 #pragma warning(pop)
4724 #endif
4725
4726     /* conditionally subtract P if the scalar was even */
4727     fe_copy(lut.X, precomp[0].X);
4728     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, precomp[0].Y);
4729     fe_copy(lut.Z, precomp[0].Z);
4730     point_add_proj(&lut, &lut, &Q);
4731     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
4732                                                           lut.X, Q.X);
4733     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
4734                                                           lut.Y, Q.Y);
4735     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
4736                                                           lut.Z, Q.Z);
4737
4738     /* convert to affine -- NB depends on coordinate system */
4739     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
4740     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
4741     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
4742 }
4743
4744 /*-
4745  * Fixed scalar multiplication: comb with interleaving.
4746  */
4747 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
4748     int i, j, k, d, diff, is_neg = 0;
4749     char rnaf[52] = {0};
4750     pt_prj_t Q, R;
4751     pt_aff_t lut;
4752
4753     scalar_rwnaf(rnaf, scalar);
4754
4755     /* initalize accumulator to inf */
4756     fe_set_zero(Q.X);
4757     fe_copy(Q.Y, const_one);
4758     fe_set_zero(Q.Z);
4759
4760 #if defined(_MSC_VER)
4761     /* result still unsigned: yes we know */
4762 #pragma warning(push)
4763 #pragma warning(disable : 4146)
4764 #endif
4765
4766     for (i = 1; i >= 0; i--) {
4767         for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
4768         for (j = 0; j < 27; j++) {
4769             if (j * 2 + i > 51) continue;
4770             d = rnaf[j * 2 + i];
4771             /* is_neg = (d < 0) ? 1 : 0 */
4772             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
4773             /* d = abs(d) */
4774             d = (d ^ -is_neg) + is_neg;
4775             d = (d - 1) >> 1;
4776             for (k = 0; k < DRADIX / 2; k++) {
4777                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
4778                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
4779                     lut.X, diff, lut.X, lut_cmb[j][k].X);
4780                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
4781                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
4782             }
4783             /* negate lut point if digit is negative */
4784             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
4785             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
4786                 lut.Y, is_neg, lut.Y, out->Y);
4787             point_add_mixed(&Q, &Q, &lut);
4788         }
4789     }
4790
4791 #if defined(_MSC_VER)
4792 #pragma warning(pop)
4793 #endif
4794
4795     /* conditionally subtract P if the scalar was even */
4796     fe_copy(lut.X, lut_cmb[0][0].X);
4797     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, lut_cmb[0][0].Y);
4798     point_add_mixed(&R, &Q, &lut);
4799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
4800                                                           R.X, Q.X);
4801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
4802                                                           R.Y, Q.Y);
4803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
4804                                                           R.Z, Q.Z);
4805
4806     /* convert to affine -- NB depends on coordinate system */
4807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
4808     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
4809     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
4810 }
4811
4812 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
4813                           const unsigned char a[32], const unsigned char b[32],
4814                           const unsigned char inx[32],
4815                           const unsigned char iny[32]) {
4816     pt_aff_t P;
4817
4818     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
4819     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
4820     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
4821     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
4822     /* simultaneous scalar multiplication */
4823     var_smul_wnaf_two(&P, a, b, &P);
4824
4825     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
4826     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
4827     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
4828     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
4829 }
4830
4831 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
4832                         const unsigned char scalar[32]) {
4833     pt_aff_t P;
4834
4835     /* fixed scmul function */
4836     fixed_smul_cmb(&P, scalar);
4837     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
4838     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
4839     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
4840     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
4841 }
4842
4843 static void point_mul(unsigned char outx[32], unsigned char outy[32],
4844                       const unsigned char scalar[32],
4845                       const unsigned char inx[32],
4846                       const unsigned char iny[32]) {
4847     pt_aff_t P;
4848
4849     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
4850     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
4851     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
4852     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
4853     /* var scmul function */
4854     var_smul_rwnaf(&P, scalar, &P);
4855     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
4856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
4857     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
4858     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
4859 }
4860
4861 #include <openssl/ec.h>
4862
4863 static const unsigned char const_zb[32] = {0};
4864
4865     int
4866     point_mul_two_id_GostR3410_2001_CryptoPro_C_ParamSet(
4867         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
4868         const BIGNUM *m, BN_CTX *ctx) {
4869     int ret = 0;
4870     unsigned char b_x[32];
4871     unsigned char b_y[32];
4872     unsigned char b_n[32];
4873     unsigned char b_m[32];
4874     BIGNUM *x = NULL, *y = NULL;
4875
4876     BN_CTX_start(ctx);
4877     x = BN_CTX_get(ctx);
4878     if ((y = BN_CTX_get(ctx)) == NULL
4879         /* pull out coords as bytes */
4880         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4881         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
4882         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
4883         goto err;
4884     /* do the simultaneous scalar multiplication */
4885     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
4886     /* check for infinity */
4887     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4888         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4889         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4890     } else {
4891         /* otherwise, pack the bytes into the result */
4892         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4893             BN_lebin2bn(b_y, 32, y) == NULL ||
4894             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4895             goto err;
4896     }
4897     ret = 1;
4898 err:
4899     BN_CTX_end(ctx);
4900     return ret;
4901 }
4902
4903     int
4904     point_mul_id_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
4905                                                      EC_POINT *r,
4906                                                      const EC_POINT *q,
4907                                                      const BIGNUM *m,
4908                                                      BN_CTX *ctx) {
4909     int ret = 0;
4910     unsigned char b_x[32];
4911     unsigned char b_y[32];
4912     unsigned char b_m[32];
4913     BIGNUM *x = NULL, *y = NULL;
4914
4915     BN_CTX_start(ctx);
4916     x = BN_CTX_get(ctx);
4917     if ((y = BN_CTX_get(ctx)) == NULL
4918         /* pull out coords as bytes */
4919         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4920         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
4921         BN_bn2lebinpad(m, b_m, 32) != 32)
4922         goto err;
4923     /* do the variable scalar multiplication */
4924     point_mul(b_x, b_y, b_m, b_x, b_y);
4925     /* check for infinity */
4926     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4927         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4928         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4929     } else {
4930         /* otherwise, pack the bytes into the result */
4931         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4932             BN_lebin2bn(b_y, 32, y) == NULL ||
4933             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4934             goto err;
4935     }
4936     ret = 1;
4937 err:
4938     BN_CTX_end(ctx);
4939     return ret;
4940 }
4941
4942     int
4943     point_mul_g_id_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
4944                                                        EC_POINT *r,
4945                                                        const BIGNUM *n,
4946                                                        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     BIGNUM *x = NULL, *y = NULL;
4952
4953     BN_CTX_start(ctx);
4954     x = BN_CTX_get(ctx);
4955     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
4956         goto err;
4957     /* do the fixed scalar multiplication */
4958     point_mul_g(b_x, b_y, b_n);
4959     /* check for infinity */
4960     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4961         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4962         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4963     } else {
4964         /* otherwise, pack the bytes into the result */
4965         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4966             BN_lebin2bn(b_y, 32, y) == NULL ||
4967             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4968             goto err;
4969     }
4970     ret = 1;
4971 err:
4972     BN_CTX_end(ctx);
4973     return ret;
4974 }
4975
4976
4977
4978 #else /* __SIZEOF_INT128__ */
4979
4980 #include <stdint.h>
4981 #include <string.h>
4982 #define LIMB_BITS 32
4983 #define LIMB_CNT 8
4984 /* Field elements */
4985 typedef uint32_t fe_t[LIMB_CNT];
4986 typedef uint32_t limb_t;
4987
4988 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
4989 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
4990
4991 /* Projective points */
4992 typedef struct {
4993     fe_t X;
4994     fe_t Y;
4995     fe_t Z;
4996 } pt_prj_t;
4997
4998 /* Affine points */
4999 typedef struct {
5000     fe_t X;
5001     fe_t Y;
5002 } pt_aff_t;
5003
5004 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
5005 /*-
5006  * MIT License
5007  *
5008  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
5009  *
5010  * Permission is hereby granted, free of charge, to any person obtaining a copy
5011  * of this software and associated documentation files (the "Software"), to deal
5012  * in the Software without restriction, including without limitation the rights
5013  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5014  * copies of the Software, and to permit persons to whom the Software is
5015  * furnished to do so, subject to the following conditions:
5016  *
5017  * The above copyright notice and this permission notice shall be included in
5018  * all copies or substantial portions of the Software.
5019  *
5020  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
5021  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
5022  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
5023  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
5024  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
5025  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
5026  * SOFTWARE.
5027  */
5028
5029 /* Autogenerated: word_by_word_montgomery --static id_GostR3410_2001_CryptoPro_C_ParamSet 32 0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B */
5030 /* curve description: id_GostR3410_2001_CryptoPro_C_ParamSet */
5031 /* machine_wordsize = 32 (from "32") */
5032 /* requested operations: (all) */
5033 /* m = 0x9b9f605f5a858107ab1ec85e6b41c8aacf846e86789051d37998f7b9022d759b (from "0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B") */
5034 /*                                                                    */
5035 /* NOTE: In addition to the bounds specified above each function, all */
5036 /*   functions synthesized for this Montgomery arithmetic require the */
5037 /*   input to be strictly less than the prime modulus (m), and also   */
5038 /*   require the input to be in the unique saturated representation.  */
5039 /*   All functions also ensure that these two properties are true of  */
5040 /*   return values.                                                   */
5041 /*  */
5042 /* Computed values: */
5043 /* 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) */
5044 /* 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) */
5045
5046 #include <stdint.h>
5047 typedef unsigned char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1;
5048 typedef signed char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1;
5049
5050 #if (-1 & 3) != 3
5051 #error "This code only works on a two's complement system"
5052 #endif
5053
5054 /*
5055  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32 is an addition with carry.
5056  * Postconditions:
5057  *   out1 = (arg1 + arg2 + arg3) mod 2^32
5058  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^32⌋
5059  *
5060  * Input Bounds:
5061  *   arg1: [0x0 ~> 0x1]
5062  *   arg2: [0x0 ~> 0xffffffff]
5063  *   arg3: [0x0 ~> 0xffffffff]
5064  * Output Bounds:
5065  *   out1: [0x0 ~> 0xffffffff]
5066  *   out2: [0x0 ~> 0x1]
5067  */
5068 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
5069     uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
5070     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint32_t arg2,
5071     uint32_t arg3) {
5072     uint64_t x1;
5073     uint32_t x2;
5074     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x3;
5075     x1 = ((arg1 + (uint64_t)arg2) + arg3);
5076     x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
5077     x3 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(x1 >> 32);
5078     *out1 = x2;
5079     *out2 = x3;
5080 }
5081
5082 /*
5083  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32 is a subtraction with borrow.
5084  * Postconditions:
5085  *   out1 = (-arg1 + arg2 + -arg3) mod 2^32
5086  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^32⌋
5087  *
5088  * Input Bounds:
5089  *   arg1: [0x0 ~> 0x1]
5090  *   arg2: [0x0 ~> 0xffffffff]
5091  *   arg3: [0x0 ~> 0xffffffff]
5092  * Output Bounds:
5093  *   out1: [0x0 ~> 0xffffffff]
5094  *   out2: [0x0 ~> 0x1]
5095  */
5096 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
5097     uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
5098     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint32_t arg2,
5099     uint32_t arg3) {
5100     int64_t x1;
5101     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1 x2;
5102     uint32_t x3;
5103     x1 = ((arg2 - (int64_t)arg1) - arg3);
5104     x2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(x1 >> 32);
5105     x3 = (uint32_t)(x1 & UINT32_C(0xffffffff));
5106     *out1 = x3;
5107     *out2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(0x0 - x2);
5108 }
5109
5110 /*
5111  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32 is a multiplication, returning the full double-width result.
5112  * Postconditions:
5113  *   out1 = (arg1 * arg2) mod 2^32
5114  *   out2 = ⌊arg1 * arg2 / 2^32⌋
5115  *
5116  * Input Bounds:
5117  *   arg1: [0x0 ~> 0xffffffff]
5118  *   arg2: [0x0 ~> 0xffffffff]
5119  * Output Bounds:
5120  *   out1: [0x0 ~> 0xffffffff]
5121  *   out2: [0x0 ~> 0xffffffff]
5122  */
5123 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(
5124     uint32_t *out1, uint32_t *out2, uint32_t arg1, uint32_t arg2) {
5125     uint64_t x1;
5126     uint32_t x2;
5127     uint32_t x3;
5128     x1 = ((uint64_t)arg1 * arg2);
5129     x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
5130     x3 = (uint32_t)(x1 >> 32);
5131     *out1 = x2;
5132     *out2 = x3;
5133 }
5134
5135 /*
5136  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32 is a single-word conditional move.
5137  * Postconditions:
5138  *   out1 = (if arg1 = 0 then arg2 else arg3)
5139  *
5140  * Input Bounds:
5141  *   arg1: [0x0 ~> 0x1]
5142  *   arg2: [0x0 ~> 0xffffffff]
5143  *   arg3: [0x0 ~> 0xffffffff]
5144  * Output Bounds:
5145  *   out1: [0x0 ~> 0xffffffff]
5146  */
5147 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
5148     uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
5149     uint32_t arg2, uint32_t arg3) {
5150     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x1;
5151     uint32_t x2;
5152     uint32_t x3;
5153     x1 = (!(!arg1));
5154     x2 = ((fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(0x0 - x1) &
5155           UINT32_C(0xffffffff));
5156     x3 = ((x2 & arg3) | ((~x2) & arg2));
5157     *out1 = x3;
5158 }
5159
5160 /*
5161  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul multiplies two field elements in the Montgomery domain.
5162  * Preconditions:
5163  *   0 ≤ eval arg1 < m
5164  *   0 ≤ eval arg2 < m
5165  * Postconditions:
5166  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
5167  *   0 ≤ eval out1 < m
5168  *
5169  * Input Bounds:
5170  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5171  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5172  * Output Bounds:
5173  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5174  */
5175 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(
5176     uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
5177     uint32_t x1;
5178     uint32_t x2;
5179     uint32_t x3;
5180     uint32_t x4;
5181     uint32_t x5;
5182     uint32_t x6;
5183     uint32_t x7;
5184     uint32_t x8;
5185     uint32_t x9;
5186     uint32_t x10;
5187     uint32_t x11;
5188     uint32_t x12;
5189     uint32_t x13;
5190     uint32_t x14;
5191     uint32_t x15;
5192     uint32_t x16;
5193     uint32_t x17;
5194     uint32_t x18;
5195     uint32_t x19;
5196     uint32_t x20;
5197     uint32_t x21;
5198     uint32_t x22;
5199     uint32_t x23;
5200     uint32_t x24;
5201     uint32_t x25;
5202     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
5203     uint32_t x27;
5204     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
5205     uint32_t x29;
5206     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
5207     uint32_t x31;
5208     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
5209     uint32_t x33;
5210     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
5211     uint32_t x35;
5212     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
5213     uint32_t x37;
5214     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
5215     uint32_t x39;
5216     uint32_t x40;
5217     uint32_t x41;
5218     uint32_t x42;
5219     uint32_t x43;
5220     uint32_t x44;
5221     uint32_t x45;
5222     uint32_t x46;
5223     uint32_t x47;
5224     uint32_t x48;
5225     uint32_t x49;
5226     uint32_t x50;
5227     uint32_t x51;
5228     uint32_t x52;
5229     uint32_t x53;
5230     uint32_t x54;
5231     uint32_t x55;
5232     uint32_t x56;
5233     uint32_t x57;
5234     uint32_t x58;
5235     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
5236     uint32_t x60;
5237     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
5238     uint32_t x62;
5239     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
5240     uint32_t x64;
5241     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
5242     uint32_t x66;
5243     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
5244     uint32_t x68;
5245     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
5246     uint32_t x70;
5247     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x71;
5248     uint32_t x72;
5249     uint32_t x73;
5250     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x74;
5251     uint32_t x75;
5252     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x76;
5253     uint32_t x77;
5254     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
5255     uint32_t x79;
5256     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
5257     uint32_t x81;
5258     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
5259     uint32_t x83;
5260     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
5261     uint32_t x85;
5262     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
5263     uint32_t x87;
5264     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
5265     uint32_t x89;
5266     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
5267     uint32_t x91;
5268     uint32_t x92;
5269     uint32_t x93;
5270     uint32_t x94;
5271     uint32_t x95;
5272     uint32_t x96;
5273     uint32_t x97;
5274     uint32_t x98;
5275     uint32_t x99;
5276     uint32_t x100;
5277     uint32_t x101;
5278     uint32_t x102;
5279     uint32_t x103;
5280     uint32_t x104;
5281     uint32_t x105;
5282     uint32_t x106;
5283     uint32_t x107;
5284     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
5285     uint32_t x109;
5286     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
5287     uint32_t x111;
5288     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
5289     uint32_t x113;
5290     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
5291     uint32_t x115;
5292     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
5293     uint32_t x117;
5294     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
5295     uint32_t x119;
5296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
5297     uint32_t x121;
5298     uint32_t x122;
5299     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x123;
5300     uint32_t x124;
5301     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x125;
5302     uint32_t x126;
5303     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x127;
5304     uint32_t x128;
5305     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x129;
5306     uint32_t x130;
5307     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x131;
5308     uint32_t x132;
5309     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x133;
5310     uint32_t x134;
5311     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x135;
5312     uint32_t x136;
5313     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x137;
5314     uint32_t x138;
5315     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x139;
5316     uint32_t x140;
5317     uint32_t x141;
5318     uint32_t x142;
5319     uint32_t x143;
5320     uint32_t x144;
5321     uint32_t x145;
5322     uint32_t x146;
5323     uint32_t x147;
5324     uint32_t x148;
5325     uint32_t x149;
5326     uint32_t x150;
5327     uint32_t x151;
5328     uint32_t x152;
5329     uint32_t x153;
5330     uint32_t x154;
5331     uint32_t x155;
5332     uint32_t x156;
5333     uint32_t x157;
5334     uint32_t x158;
5335     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x159;
5336     uint32_t x160;
5337     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x161;
5338     uint32_t x162;
5339     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x163;
5340     uint32_t x164;
5341     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x165;
5342     uint32_t x166;
5343     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x167;
5344     uint32_t x168;
5345     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
5346     uint32_t x170;
5347     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
5348     uint32_t x172;
5349     uint32_t x173;
5350     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
5351     uint32_t x175;
5352     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
5353     uint32_t x177;
5354     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
5355     uint32_t x179;
5356     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
5357     uint32_t x181;
5358     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
5359     uint32_t x183;
5360     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
5361     uint32_t x185;
5362     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x186;
5363     uint32_t x187;
5364     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x188;
5365     uint32_t x189;
5366     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x190;
5367     uint32_t x191;
5368     uint32_t x192;
5369     uint32_t x193;
5370     uint32_t x194;
5371     uint32_t x195;
5372     uint32_t x196;
5373     uint32_t x197;
5374     uint32_t x198;
5375     uint32_t x199;
5376     uint32_t x200;
5377     uint32_t x201;
5378     uint32_t x202;
5379     uint32_t x203;
5380     uint32_t x204;
5381     uint32_t x205;
5382     uint32_t x206;
5383     uint32_t x207;
5384     uint32_t x208;
5385     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
5386     uint32_t x210;
5387     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
5388     uint32_t x212;
5389     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
5390     uint32_t x214;
5391     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
5392     uint32_t x216;
5393     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x217;
5394     uint32_t x218;
5395     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x219;
5396     uint32_t x220;
5397     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x221;
5398     uint32_t x222;
5399     uint32_t x223;
5400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x224;
5401     uint32_t x225;
5402     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x226;
5403     uint32_t x227;
5404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x228;
5405     uint32_t x229;
5406     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x230;
5407     uint32_t x231;
5408     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x232;
5409     uint32_t x233;
5410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x234;
5411     uint32_t x235;
5412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x236;
5413     uint32_t x237;
5414     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x238;
5415     uint32_t x239;
5416     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x240;
5417     uint32_t x241;
5418     uint32_t x242;
5419     uint32_t x243;
5420     uint32_t x244;
5421     uint32_t x245;
5422     uint32_t x246;
5423     uint32_t x247;
5424     uint32_t x248;
5425     uint32_t x249;
5426     uint32_t x250;
5427     uint32_t x251;
5428     uint32_t x252;
5429     uint32_t x253;
5430     uint32_t x254;
5431     uint32_t x255;
5432     uint32_t x256;
5433     uint32_t x257;
5434     uint32_t x258;
5435     uint32_t x259;
5436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x260;
5437     uint32_t x261;
5438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x262;
5439     uint32_t x263;
5440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x264;
5441     uint32_t x265;
5442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x266;
5443     uint32_t x267;
5444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x268;
5445     uint32_t x269;
5446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x270;
5447     uint32_t x271;
5448     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x272;
5449     uint32_t x273;
5450     uint32_t x274;
5451     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x275;
5452     uint32_t x276;
5453     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x277;
5454     uint32_t x278;
5455     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x279;
5456     uint32_t x280;
5457     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x281;
5458     uint32_t x282;
5459     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x283;
5460     uint32_t x284;
5461     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x285;
5462     uint32_t x286;
5463     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x287;
5464     uint32_t x288;
5465     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x289;
5466     uint32_t x290;
5467     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x291;
5468     uint32_t x292;
5469     uint32_t x293;
5470     uint32_t x294;
5471     uint32_t x295;
5472     uint32_t x296;
5473     uint32_t x297;
5474     uint32_t x298;
5475     uint32_t x299;
5476     uint32_t x300;
5477     uint32_t x301;
5478     uint32_t x302;
5479     uint32_t x303;
5480     uint32_t x304;
5481     uint32_t x305;
5482     uint32_t x306;
5483     uint32_t x307;
5484     uint32_t x308;
5485     uint32_t x309;
5486     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x310;
5487     uint32_t x311;
5488     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x312;
5489     uint32_t x313;
5490     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x314;
5491     uint32_t x315;
5492     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x316;
5493     uint32_t x317;
5494     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x318;
5495     uint32_t x319;
5496     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x320;
5497     uint32_t x321;
5498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x322;
5499     uint32_t x323;
5500     uint32_t x324;
5501     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x325;
5502     uint32_t x326;
5503     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x327;
5504     uint32_t x328;
5505     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x329;
5506     uint32_t x330;
5507     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x331;
5508     uint32_t x332;
5509     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x333;
5510     uint32_t x334;
5511     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x335;
5512     uint32_t x336;
5513     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x337;
5514     uint32_t x338;
5515     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x339;
5516     uint32_t x340;
5517     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x341;
5518     uint32_t x342;
5519     uint32_t x343;
5520     uint32_t x344;
5521     uint32_t x345;
5522     uint32_t x346;
5523     uint32_t x347;
5524     uint32_t x348;
5525     uint32_t x349;
5526     uint32_t x350;
5527     uint32_t x351;
5528     uint32_t x352;
5529     uint32_t x353;
5530     uint32_t x354;
5531     uint32_t x355;
5532     uint32_t x356;
5533     uint32_t x357;
5534     uint32_t x358;
5535     uint32_t x359;
5536     uint32_t x360;
5537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x361;
5538     uint32_t x362;
5539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x363;
5540     uint32_t x364;
5541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x365;
5542     uint32_t x366;
5543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x367;
5544     uint32_t x368;
5545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x369;
5546     uint32_t x370;
5547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x371;
5548     uint32_t x372;
5549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x373;
5550     uint32_t x374;
5551     uint32_t x375;
5552     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x376;
5553     uint32_t x377;
5554     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x378;
5555     uint32_t x379;
5556     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x380;
5557     uint32_t x381;
5558     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x382;
5559     uint32_t x383;
5560     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x384;
5561     uint32_t x385;
5562     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x386;
5563     uint32_t x387;
5564     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x388;
5565     uint32_t x389;
5566     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x390;
5567     uint32_t x391;
5568     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x392;
5569     uint32_t x393;
5570     uint32_t x394;
5571     uint32_t x395;
5572     uint32_t x396;
5573     uint32_t x397;
5574     uint32_t x398;
5575     uint32_t x399;
5576     uint32_t x400;
5577     uint32_t x401;
5578     uint32_t x402;
5579     uint32_t x403;
5580     uint32_t x404;
5581     uint32_t x405;
5582     uint32_t x406;
5583     uint32_t x407;
5584     uint32_t x408;
5585     uint32_t x409;
5586     uint32_t x410;
5587     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x411;
5588     uint32_t x412;
5589     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x413;
5590     uint32_t x414;
5591     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x415;
5592     uint32_t x416;
5593     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x417;
5594     uint32_t x418;
5595     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x419;
5596     uint32_t x420;
5597     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x421;
5598     uint32_t x422;
5599     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x423;
5600     uint32_t x424;
5601     uint32_t x425;
5602     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x426;
5603     uint32_t x427;
5604     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x428;
5605     uint32_t x429;
5606     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x430;
5607     uint32_t x431;
5608     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x432;
5609     uint32_t x433;
5610     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x434;
5611     uint32_t x435;
5612     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x436;
5613     uint32_t x437;
5614     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x438;
5615     uint32_t x439;
5616     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x440;
5617     uint32_t x441;
5618     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x442;
5619     uint32_t x443;
5620     uint32_t x444;
5621     uint32_t x445;
5622     uint32_t x446;
5623     uint32_t x447;
5624     uint32_t x448;
5625     uint32_t x449;
5626     uint32_t x450;
5627     uint32_t x451;
5628     uint32_t x452;
5629     uint32_t x453;
5630     uint32_t x454;
5631     uint32_t x455;
5632     uint32_t x456;
5633     uint32_t x457;
5634     uint32_t x458;
5635     uint32_t x459;
5636     uint32_t x460;
5637     uint32_t x461;
5638     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x462;
5639     uint32_t x463;
5640     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x464;
5641     uint32_t x465;
5642     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x466;
5643     uint32_t x467;
5644     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x468;
5645     uint32_t x469;
5646     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x470;
5647     uint32_t x471;
5648     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x472;
5649     uint32_t x473;
5650     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x474;
5651     uint32_t x475;
5652     uint32_t x476;
5653     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x477;
5654     uint32_t x478;
5655     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x479;
5656     uint32_t x480;
5657     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x481;
5658     uint32_t x482;
5659     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x483;
5660     uint32_t x484;
5661     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x485;
5662     uint32_t x486;
5663     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x487;
5664     uint32_t x488;
5665     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x489;
5666     uint32_t x490;
5667     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x491;
5668     uint32_t x492;
5669     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x493;
5670     uint32_t x494;
5671     uint32_t x495;
5672     uint32_t x496;
5673     uint32_t x497;
5674     uint32_t x498;
5675     uint32_t x499;
5676     uint32_t x500;
5677     uint32_t x501;
5678     uint32_t x502;
5679     uint32_t x503;
5680     uint32_t x504;
5681     uint32_t x505;
5682     uint32_t x506;
5683     uint32_t x507;
5684     uint32_t x508;
5685     uint32_t x509;
5686     uint32_t x510;
5687     uint32_t x511;
5688     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x512;
5689     uint32_t x513;
5690     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x514;
5691     uint32_t x515;
5692     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x516;
5693     uint32_t x517;
5694     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x518;
5695     uint32_t x519;
5696     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x520;
5697     uint32_t x521;
5698     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x522;
5699     uint32_t x523;
5700     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x524;
5701     uint32_t x525;
5702     uint32_t x526;
5703     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x527;
5704     uint32_t x528;
5705     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x529;
5706     uint32_t x530;
5707     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x531;
5708     uint32_t x532;
5709     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x533;
5710     uint32_t x534;
5711     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x535;
5712     uint32_t x536;
5713     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x537;
5714     uint32_t x538;
5715     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x539;
5716     uint32_t x540;
5717     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x541;
5718     uint32_t x542;
5719     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x543;
5720     uint32_t x544;
5721     uint32_t x545;
5722     uint32_t x546;
5723     uint32_t x547;
5724     uint32_t x548;
5725     uint32_t x549;
5726     uint32_t x550;
5727     uint32_t x551;
5728     uint32_t x552;
5729     uint32_t x553;
5730     uint32_t x554;
5731     uint32_t x555;
5732     uint32_t x556;
5733     uint32_t x557;
5734     uint32_t x558;
5735     uint32_t x559;
5736     uint32_t x560;
5737     uint32_t x561;
5738     uint32_t x562;
5739     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x563;
5740     uint32_t x564;
5741     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x565;
5742     uint32_t x566;
5743     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x567;
5744     uint32_t x568;
5745     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x569;
5746     uint32_t x570;
5747     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x571;
5748     uint32_t x572;
5749     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x573;
5750     uint32_t x574;
5751     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x575;
5752     uint32_t x576;
5753     uint32_t x577;
5754     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x578;
5755     uint32_t x579;
5756     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x580;
5757     uint32_t x581;
5758     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x582;
5759     uint32_t x583;
5760     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x584;
5761     uint32_t x585;
5762     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x586;
5763     uint32_t x587;
5764     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x588;
5765     uint32_t x589;
5766     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x590;
5767     uint32_t x591;
5768     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x592;
5769     uint32_t x593;
5770     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x594;
5771     uint32_t x595;
5772     uint32_t x596;
5773     uint32_t x597;
5774     uint32_t x598;
5775     uint32_t x599;
5776     uint32_t x600;
5777     uint32_t x601;
5778     uint32_t x602;
5779     uint32_t x603;
5780     uint32_t x604;
5781     uint32_t x605;
5782     uint32_t x606;
5783     uint32_t x607;
5784     uint32_t x608;
5785     uint32_t x609;
5786     uint32_t x610;
5787     uint32_t x611;
5788     uint32_t x612;
5789     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x613;
5790     uint32_t x614;
5791     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x615;
5792     uint32_t x616;
5793     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x617;
5794     uint32_t x618;
5795     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x619;
5796     uint32_t x620;
5797     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x621;
5798     uint32_t x622;
5799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x623;
5800     uint32_t x624;
5801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x625;
5802     uint32_t x626;
5803     uint32_t x627;
5804     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x628;
5805     uint32_t x629;
5806     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x630;
5807     uint32_t x631;
5808     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x632;
5809     uint32_t x633;
5810     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x634;
5811     uint32_t x635;
5812     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x636;
5813     uint32_t x637;
5814     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x638;
5815     uint32_t x639;
5816     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x640;
5817     uint32_t x641;
5818     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x642;
5819     uint32_t x643;
5820     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x644;
5821     uint32_t x645;
5822     uint32_t x646;
5823     uint32_t x647;
5824     uint32_t x648;
5825     uint32_t x649;
5826     uint32_t x650;
5827     uint32_t x651;
5828     uint32_t x652;
5829     uint32_t x653;
5830     uint32_t x654;
5831     uint32_t x655;
5832     uint32_t x656;
5833     uint32_t x657;
5834     uint32_t x658;
5835     uint32_t x659;
5836     uint32_t x660;
5837     uint32_t x661;
5838     uint32_t x662;
5839     uint32_t x663;
5840     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x664;
5841     uint32_t x665;
5842     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x666;
5843     uint32_t x667;
5844     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x668;
5845     uint32_t x669;
5846     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x670;
5847     uint32_t x671;
5848     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x672;
5849     uint32_t x673;
5850     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x674;
5851     uint32_t x675;
5852     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x676;
5853     uint32_t x677;
5854     uint32_t x678;
5855     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x679;
5856     uint32_t x680;
5857     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x681;
5858     uint32_t x682;
5859     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x683;
5860     uint32_t x684;
5861     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x685;
5862     uint32_t x686;
5863     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x687;
5864     uint32_t x688;
5865     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x689;
5866     uint32_t x690;
5867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x691;
5868     uint32_t x692;
5869     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x693;
5870     uint32_t x694;
5871     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x695;
5872     uint32_t x696;
5873     uint32_t x697;
5874     uint32_t x698;
5875     uint32_t x699;
5876     uint32_t x700;
5877     uint32_t x701;
5878     uint32_t x702;
5879     uint32_t x703;
5880     uint32_t x704;
5881     uint32_t x705;
5882     uint32_t x706;
5883     uint32_t x707;
5884     uint32_t x708;
5885     uint32_t x709;
5886     uint32_t x710;
5887     uint32_t x711;
5888     uint32_t x712;
5889     uint32_t x713;
5890     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x714;
5891     uint32_t x715;
5892     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x716;
5893     uint32_t x717;
5894     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x718;
5895     uint32_t x719;
5896     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x720;
5897     uint32_t x721;
5898     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x722;
5899     uint32_t x723;
5900     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x724;
5901     uint32_t x725;
5902     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x726;
5903     uint32_t x727;
5904     uint32_t x728;
5905     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x729;
5906     uint32_t x730;
5907     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x731;
5908     uint32_t x732;
5909     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x733;
5910     uint32_t x734;
5911     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x735;
5912     uint32_t x736;
5913     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x737;
5914     uint32_t x738;
5915     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x739;
5916     uint32_t x740;
5917     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x741;
5918     uint32_t x742;
5919     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x743;
5920     uint32_t x744;
5921     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x745;
5922     uint32_t x746;
5923     uint32_t x747;
5924     uint32_t x748;
5925     uint32_t x749;
5926     uint32_t x750;
5927     uint32_t x751;
5928     uint32_t x752;
5929     uint32_t x753;
5930     uint32_t x754;
5931     uint32_t x755;
5932     uint32_t x756;
5933     uint32_t x757;
5934     uint32_t x758;
5935     uint32_t x759;
5936     uint32_t x760;
5937     uint32_t x761;
5938     uint32_t x762;
5939     uint32_t x763;
5940     uint32_t x764;
5941     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x765;
5942     uint32_t x766;
5943     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x767;
5944     uint32_t x768;
5945     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x769;
5946     uint32_t x770;
5947     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x771;
5948     uint32_t x772;
5949     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x773;
5950     uint32_t x774;
5951     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x775;
5952     uint32_t x776;
5953     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x777;
5954     uint32_t x778;
5955     uint32_t x779;
5956     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x780;
5957     uint32_t x781;
5958     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x782;
5959     uint32_t x783;
5960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x784;
5961     uint32_t x785;
5962     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x786;
5963     uint32_t x787;
5964     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x788;
5965     uint32_t x789;
5966     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x790;
5967     uint32_t x791;
5968     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x792;
5969     uint32_t x793;
5970     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x794;
5971     uint32_t x795;
5972     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x796;
5973     uint32_t x797;
5974     uint32_t x798;
5975     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x799;
5976     uint32_t x800;
5977     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x801;
5978     uint32_t x802;
5979     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x803;
5980     uint32_t x804;
5981     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x805;
5982     uint32_t x806;
5983     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x807;
5984     uint32_t x808;
5985     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x809;
5986     uint32_t x810;
5987     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x811;
5988     uint32_t x812;
5989     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x813;
5990     uint32_t x814;
5991     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x815;
5992     uint32_t x816;
5993     uint32_t x817;
5994     uint32_t x818;
5995     uint32_t x819;
5996     uint32_t x820;
5997     uint32_t x821;
5998     uint32_t x822;
5999     uint32_t x823;
6000     x1 = (arg1[1]);
6001     x2 = (arg1[2]);
6002     x3 = (arg1[3]);
6003     x4 = (arg1[4]);
6004     x5 = (arg1[5]);
6005     x6 = (arg1[6]);
6006     x7 = (arg1[7]);
6007     x8 = (arg1[0]);
6008     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x9, &x10, x8,
6009                                                          (arg2[7]));
6010     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x11, &x12, x8,
6011                                                          (arg2[6]));
6012     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x13, &x14, x8,
6013                                                          (arg2[5]));
6014     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x15, &x16, x8,
6015                                                          (arg2[4]));
6016     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x17, &x18, x8,
6017                                                          (arg2[3]));
6018     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x19, &x20, x8,
6019                                                          (arg2[2]));
6020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x21, &x22, x8,
6021                                                          (arg2[1]));
6022     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x23, &x24, x8,
6023                                                          (arg2[0]));
6024     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
6025                                                               x24, x21);
6026     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x27, &x28, x26,
6027                                                               x22, x19);
6028     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x29, &x30, x28,
6029                                                               x20, x17);
6030     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x31, &x32, x30,
6031                                                               x18, x15);
6032     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x33, &x34, x32,
6033                                                               x16, x13);
6034     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x35, &x36, x34,
6035                                                               x14, x11);
6036     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x37, &x38, x36,
6037                                                               x12, x9);
6038     x39 = (x38 + x10);
6039     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x40, &x41, x23,
6040                                                          UINT32_C(0x727c176d));
6041     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x42, &x43, x40,
6042                                                          UINT32_C(0x9b9f605f));
6043     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x44, &x45, x40,
6044                                                          UINT32_C(0x5a858107));
6045     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x46, &x47, x40,
6046                                                          UINT32_C(0xab1ec85e));
6047     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x48, &x49, x40,
6048                                                          UINT32_C(0x6b41c8aa));
6049     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x50, &x51, x40,
6050                                                          UINT32_C(0xcf846e86));
6051     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x52, &x53, x40,
6052                                                          UINT32_C(0x789051d3));
6053     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x54, &x55, x40,
6054                                                          UINT32_C(0x7998f7b9));
6055     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x56, &x57, x40,
6056                                                          UINT32_C(0x22d759b));
6057     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x58, &x59, 0x0,
6058                                                               x57, x54);
6059     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x60, &x61, x59,
6060                                                               x55, x52);
6061     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x62, &x63, x61,
6062                                                               x53, x50);
6063     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x64, &x65, x63,
6064                                                               x51, x48);
6065     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x66, &x67, x65,
6066                                                               x49, x46);
6067     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x68, &x69, x67,
6068                                                               x47, x44);
6069     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x70, &x71, x69,
6070                                                               x45, x42);
6071     x72 = (x71 + x43);
6072     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x73, &x74, 0x0,
6073                                                               x23, x56);
6074     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x75, &x76, x74,
6075                                                               x25, x58);
6076     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x77, &x78, x76,
6077                                                               x27, x60);
6078     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x79, &x80, x78,
6079                                                               x29, x62);
6080     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x81, &x82, x80,
6081                                                               x31, x64);
6082     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x83, &x84, x82,
6083                                                               x33, x66);
6084     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x85, &x86, x84,
6085                                                               x35, x68);
6086     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x87, &x88, x86,
6087                                                               x37, x70);
6088     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x89, &x90, x88,
6089                                                               x39, x72);
6090     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x91, &x92, x1,
6091                                                          (arg2[7]));
6092     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x93, &x94, x1,
6093                                                          (arg2[6]));
6094     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x95, &x96, x1,
6095                                                          (arg2[5]));
6096     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x97, &x98, x1,
6097                                                          (arg2[4]));
6098     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x99, &x100, x1,
6099                                                          (arg2[3]));
6100     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x101, &x102, x1,
6101                                                          (arg2[2]));
6102     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x103, &x104, x1,
6103                                                          (arg2[1]));
6104     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x105, &x106, x1,
6105                                                          (arg2[0]));
6106     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x107, &x108, 0x0,
6107                                                               x106, x103);
6108     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x109, &x110,
6109                                                               x108, x104, x101);
6110     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x111, &x112,
6111                                                               x110, x102, x99);
6112     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x113, &x114,
6113                                                               x112, x100, x97);
6114     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x115, &x116,
6115                                                               x114, x98, x95);
6116     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x117, &x118,
6117                                                               x116, x96, x93);
6118     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x119, &x120,
6119                                                               x118, x94, x91);
6120     x121 = (x120 + x92);
6121     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x122, &x123, 0x0,
6122                                                               x75, x105);
6123     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x124, &x125,
6124                                                               x123, x77, x107);
6125     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x126, &x127,
6126                                                               x125, x79, x109);
6127     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x128, &x129,
6128                                                               x127, x81, x111);
6129     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x130, &x131,
6130                                                               x129, x83, x113);
6131     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x132, &x133,
6132                                                               x131, x85, x115);
6133     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x134, &x135,
6134                                                               x133, x87, x117);
6135     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x136, &x137,
6136                                                               x135, x89, x119);
6137     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x138, &x139,
6138                                                               x137, x90, x121);
6139     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x140, &x141, x122,
6140                                                          UINT32_C(0x727c176d));
6141     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x142, &x143, x140,
6142                                                          UINT32_C(0x9b9f605f));
6143     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x144, &x145, x140,
6144                                                          UINT32_C(0x5a858107));
6145     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x146, &x147, x140,
6146                                                          UINT32_C(0xab1ec85e));
6147     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x148, &x149, x140,
6148                                                          UINT32_C(0x6b41c8aa));
6149     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x150, &x151, x140,
6150                                                          UINT32_C(0xcf846e86));
6151     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x152, &x153, x140,
6152                                                          UINT32_C(0x789051d3));
6153     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x154, &x155, x140,
6154                                                          UINT32_C(0x7998f7b9));
6155     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x156, &x157, x140,
6156                                                          UINT32_C(0x22d759b));
6157     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x158, &x159, 0x0,
6158                                                               x157, x154);
6159     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x160, &x161,
6160                                                               x159, x155, x152);
6161     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x162, &x163,
6162                                                               x161, x153, x150);
6163     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x164, &x165,
6164                                                               x163, x151, x148);
6165     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x166, &x167,
6166                                                               x165, x149, x146);
6167     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x168, &x169,
6168                                                               x167, x147, x144);
6169     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x170, &x171,
6170                                                               x169, x145, x142);
6171     x172 = (x171 + x143);
6172     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x173, &x174, 0x0,
6173                                                               x122, x156);
6174     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x175, &x176,
6175                                                               x174, x124, x158);
6176     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x177, &x178,
6177                                                               x176, x126, x160);
6178     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x179, &x180,
6179                                                               x178, x128, x162);
6180     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x181, &x182,
6181                                                               x180, x130, x164);
6182     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x183, &x184,
6183                                                               x182, x132, x166);
6184     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x185, &x186,
6185                                                               x184, x134, x168);
6186     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x187, &x188,
6187                                                               x186, x136, x170);
6188     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x189, &x190,
6189                                                               x188, x138, x172);
6190     x191 = ((uint32_t)x190 + x139);
6191     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x192, &x193, x2,
6192                                                          (arg2[7]));
6193     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x194, &x195, x2,
6194                                                          (arg2[6]));
6195     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x196, &x197, x2,
6196                                                          (arg2[5]));
6197     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x198, &x199, x2,
6198                                                          (arg2[4]));
6199     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x200, &x201, x2,
6200                                                          (arg2[3]));
6201     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x202, &x203, x2,
6202                                                          (arg2[2]));
6203     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x204, &x205, x2,
6204                                                          (arg2[1]));
6205     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x206, &x207, x2,
6206                                                          (arg2[0]));
6207     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x208, &x209, 0x0,
6208                                                               x207, x204);
6209     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x210, &x211,
6210                                                               x209, x205, x202);
6211     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x212, &x213,
6212                                                               x211, x203, x200);
6213     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x214, &x215,
6214                                                               x213, x201, x198);
6215     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x216, &x217,
6216                                                               x215, x199, x196);
6217     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x218, &x219,
6218                                                               x217, x197, x194);
6219     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x220, &x221,
6220                                                               x219, x195, x192);
6221     x222 = (x221 + x193);
6222     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x223, &x224, 0x0,
6223                                                               x175, x206);
6224     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x225, &x226,
6225                                                               x224, x177, x208);
6226     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x227, &x228,
6227                                                               x226, x179, x210);
6228     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x229, &x230,
6229                                                               x228, x181, x212);
6230     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x231, &x232,
6231                                                               x230, x183, x214);
6232     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x233, &x234,
6233                                                               x232, x185, x216);
6234     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x235, &x236,
6235                                                               x234, x187, x218);
6236     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x237, &x238,
6237                                                               x236, x189, x220);
6238     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x239, &x240,
6239                                                               x238, x191, x222);
6240     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x241, &x242, x223,
6241                                                          UINT32_C(0x727c176d));
6242     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x243, &x244, x241,
6243                                                          UINT32_C(0x9b9f605f));
6244     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x245, &x246, x241,
6245                                                          UINT32_C(0x5a858107));
6246     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x247, &x248, x241,
6247                                                          UINT32_C(0xab1ec85e));
6248     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x249, &x250, x241,
6249                                                          UINT32_C(0x6b41c8aa));
6250     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x251, &x252, x241,
6251                                                          UINT32_C(0xcf846e86));
6252     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x253, &x254, x241,
6253                                                          UINT32_C(0x789051d3));
6254     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x255, &x256, x241,
6255                                                          UINT32_C(0x7998f7b9));
6256     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x257, &x258, x241,
6257                                                          UINT32_C(0x22d759b));
6258     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x259, &x260, 0x0,
6259                                                               x258, x255);
6260     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x261, &x262,
6261                                                               x260, x256, x253);
6262     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x263, &x264,
6263                                                               x262, x254, x251);
6264     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x265, &x266,
6265                                                               x264, x252, x249);
6266     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x267, &x268,
6267                                                               x266, x250, x247);
6268     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x269, &x270,
6269                                                               x268, x248, x245);
6270     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x271, &x272,
6271                                                               x270, x246, x243);
6272     x273 = (x272 + x244);
6273     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x274, &x275, 0x0,
6274                                                               x223, x257);
6275     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x276, &x277,
6276                                                               x275, x225, x259);
6277     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x278, &x279,
6278                                                               x277, x227, x261);
6279     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x280, &x281,
6280                                                               x279, x229, x263);
6281     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x282, &x283,
6282                                                               x281, x231, x265);
6283     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x284, &x285,
6284                                                               x283, x233, x267);
6285     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x286, &x287,
6286                                                               x285, x235, x269);
6287     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x288, &x289,
6288                                                               x287, x237, x271);
6289     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x290, &x291,
6290                                                               x289, x239, x273);
6291     x292 = ((uint32_t)x291 + x240);
6292     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x293, &x294, x3,
6293                                                          (arg2[7]));
6294     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x295, &x296, x3,
6295                                                          (arg2[6]));
6296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x297, &x298, x3,
6297                                                          (arg2[5]));
6298     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x299, &x300, x3,
6299                                                          (arg2[4]));
6300     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x301, &x302, x3,
6301                                                          (arg2[3]));
6302     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x303, &x304, x3,
6303                                                          (arg2[2]));
6304     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x305, &x306, x3,
6305                                                          (arg2[1]));
6306     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x307, &x308, x3,
6307                                                          (arg2[0]));
6308     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x309, &x310, 0x0,
6309                                                               x308, x305);
6310     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x311, &x312,
6311                                                               x310, x306, x303);
6312     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x313, &x314,
6313                                                               x312, x304, x301);
6314     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x315, &x316,
6315                                                               x314, x302, x299);
6316     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x317, &x318,
6317                                                               x316, x300, x297);
6318     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x319, &x320,
6319                                                               x318, x298, x295);
6320     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x321, &x322,
6321                                                               x320, x296, x293);
6322     x323 = (x322 + x294);
6323     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x324, &x325, 0x0,
6324                                                               x276, x307);
6325     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x326, &x327,
6326                                                               x325, x278, x309);
6327     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x328, &x329,
6328                                                               x327, x280, x311);
6329     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x330, &x331,
6330                                                               x329, x282, x313);
6331     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x332, &x333,
6332                                                               x331, x284, x315);
6333     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x334, &x335,
6334                                                               x333, x286, x317);
6335     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x336, &x337,
6336                                                               x335, x288, x319);
6337     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x338, &x339,
6338                                                               x337, x290, x321);
6339     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x340, &x341,
6340                                                               x339, x292, x323);
6341     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x342, &x343, x324,
6342                                                          UINT32_C(0x727c176d));
6343     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x344, &x345, x342,
6344                                                          UINT32_C(0x9b9f605f));
6345     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x346, &x347, x342,
6346                                                          UINT32_C(0x5a858107));
6347     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x348, &x349, x342,
6348                                                          UINT32_C(0xab1ec85e));
6349     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x350, &x351, x342,
6350                                                          UINT32_C(0x6b41c8aa));
6351     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x352, &x353, x342,
6352                                                          UINT32_C(0xcf846e86));
6353     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x354, &x355, x342,
6354                                                          UINT32_C(0x789051d3));
6355     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x356, &x357, x342,
6356                                                          UINT32_C(0x7998f7b9));
6357     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x358, &x359, x342,
6358                                                          UINT32_C(0x22d759b));
6359     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x360, &x361, 0x0,
6360                                                               x359, x356);
6361     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x362, &x363,
6362                                                               x361, x357, x354);
6363     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x364, &x365,
6364                                                               x363, x355, x352);
6365     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x366, &x367,
6366                                                               x365, x353, x350);
6367     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x368, &x369,
6368                                                               x367, x351, x348);
6369     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x370, &x371,
6370                                                               x369, x349, x346);
6371     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x372, &x373,
6372                                                               x371, x347, x344);
6373     x374 = (x373 + x345);
6374     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x375, &x376, 0x0,
6375                                                               x324, x358);
6376     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x377, &x378,
6377                                                               x376, x326, x360);
6378     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x379, &x380,
6379                                                               x378, x328, x362);
6380     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x381, &x382,
6381                                                               x380, x330, x364);
6382     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x383, &x384,
6383                                                               x382, x332, x366);
6384     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x385, &x386,
6385                                                               x384, x334, x368);
6386     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x387, &x388,
6387                                                               x386, x336, x370);
6388     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x389, &x390,
6389                                                               x388, x338, x372);
6390     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x391, &x392,
6391                                                               x390, x340, x374);
6392     x393 = ((uint32_t)x392 + x341);
6393     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x394, &x395, x4,
6394                                                          (arg2[7]));
6395     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x396, &x397, x4,
6396                                                          (arg2[6]));
6397     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x398, &x399, x4,
6398                                                          (arg2[5]));
6399     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x400, &x401, x4,
6400                                                          (arg2[4]));
6401     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x402, &x403, x4,
6402                                                          (arg2[3]));
6403     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x404, &x405, x4,
6404                                                          (arg2[2]));
6405     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x406, &x407, x4,
6406                                                          (arg2[1]));
6407     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x408, &x409, x4,
6408                                                          (arg2[0]));
6409     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x410, &x411, 0x0,
6410                                                               x409, x406);
6411     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x412, &x413,
6412                                                               x411, x407, x404);
6413     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x414, &x415,
6414                                                               x413, x405, x402);
6415     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x416, &x417,
6416                                                               x415, x403, x400);
6417     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x418, &x419,
6418                                                               x417, x401, x398);
6419     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x420, &x421,
6420                                                               x419, x399, x396);
6421     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x422, &x423,
6422                                                               x421, x397, x394);
6423     x424 = (x423 + x395);
6424     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x425, &x426, 0x0,
6425                                                               x377, x408);
6426     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x427, &x428,
6427                                                               x426, x379, x410);
6428     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x429, &x430,
6429                                                               x428, x381, x412);
6430     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x431, &x432,
6431                                                               x430, x383, x414);
6432     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x433, &x434,
6433                                                               x432, x385, x416);
6434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x435, &x436,
6435                                                               x434, x387, x418);
6436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x437, &x438,
6437                                                               x436, x389, x420);
6438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x439, &x440,
6439                                                               x438, x391, x422);
6440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x441, &x442,
6441                                                               x440, x393, x424);
6442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x443, &x444, x425,
6443                                                          UINT32_C(0x727c176d));
6444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x445, &x446, x443,
6445                                                          UINT32_C(0x9b9f605f));
6446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x447, &x448, x443,
6447                                                          UINT32_C(0x5a858107));
6448     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x449, &x450, x443,
6449                                                          UINT32_C(0xab1ec85e));
6450     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x451, &x452, x443,
6451                                                          UINT32_C(0x6b41c8aa));
6452     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x453, &x454, x443,
6453                                                          UINT32_C(0xcf846e86));
6454     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x455, &x456, x443,
6455                                                          UINT32_C(0x789051d3));
6456     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x457, &x458, x443,
6457                                                          UINT32_C(0x7998f7b9));
6458     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x459, &x460, x443,
6459                                                          UINT32_C(0x22d759b));
6460     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x461, &x462, 0x0,
6461                                                               x460, x457);
6462     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x463, &x464,
6463                                                               x462, x458, x455);
6464     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x465, &x466,
6465                                                               x464, x456, x453);
6466     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x467, &x468,
6467                                                               x466, x454, x451);
6468     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x469, &x470,
6469                                                               x468, x452, x449);
6470     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x471, &x472,
6471                                                               x470, x450, x447);
6472     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x473, &x474,
6473                                                               x472, x448, x445);
6474     x475 = (x474 + x446);
6475     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x476, &x477, 0x0,
6476                                                               x425, x459);
6477     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x478, &x479,
6478                                                               x477, x427, x461);
6479     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x480, &x481,
6480                                                               x479, x429, x463);
6481     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x482, &x483,
6482                                                               x481, x431, x465);
6483     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x484, &x485,
6484                                                               x483, x433, x467);
6485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x486, &x487,
6486                                                               x485, x435, x469);
6487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x488, &x489,
6488                                                               x487, x437, x471);
6489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x490, &x491,
6490                                                               x489, x439, x473);
6491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x492, &x493,
6492                                                               x491, x441, x475);
6493     x494 = ((uint32_t)x493 + x442);
6494     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x495, &x496, x5,
6495                                                          (arg2[7]));
6496     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x497, &x498, x5,
6497                                                          (arg2[6]));
6498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x499, &x500, x5,
6499                                                          (arg2[5]));
6500     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x501, &x502, x5,
6501                                                          (arg2[4]));
6502     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x503, &x504, x5,
6503                                                          (arg2[3]));
6504     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x505, &x506, x5,
6505                                                          (arg2[2]));
6506     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x507, &x508, x5,
6507                                                          (arg2[1]));
6508     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x509, &x510, x5,
6509                                                          (arg2[0]));
6510     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x511, &x512, 0x0,
6511                                                               x510, x507);
6512     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x513, &x514,
6513                                                               x512, x508, x505);
6514     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x515, &x516,
6515                                                               x514, x506, x503);
6516     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x517, &x518,
6517                                                               x516, x504, x501);
6518     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x519, &x520,
6519                                                               x518, x502, x499);
6520     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x521, &x522,
6521                                                               x520, x500, x497);
6522     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x523, &x524,
6523                                                               x522, x498, x495);
6524     x525 = (x524 + x496);
6525     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x526, &x527, 0x0,
6526                                                               x478, x509);
6527     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x528, &x529,
6528                                                               x527, x480, x511);
6529     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x530, &x531,
6530                                                               x529, x482, x513);
6531     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x532, &x533,
6532                                                               x531, x484, x515);
6533     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x534, &x535,
6534                                                               x533, x486, x517);
6535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x536, &x537,
6536                                                               x535, x488, x519);
6537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x538, &x539,
6538                                                               x537, x490, x521);
6539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x540, &x541,
6540                                                               x539, x492, x523);
6541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x542, &x543,
6542                                                               x541, x494, x525);
6543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x544, &x545, x526,
6544                                                          UINT32_C(0x727c176d));
6545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x546, &x547, x544,
6546                                                          UINT32_C(0x9b9f605f));
6547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x548, &x549, x544,
6548                                                          UINT32_C(0x5a858107));
6549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x550, &x551, x544,
6550                                                          UINT32_C(0xab1ec85e));
6551     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x552, &x553, x544,
6552                                                          UINT32_C(0x6b41c8aa));
6553     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x554, &x555, x544,
6554                                                          UINT32_C(0xcf846e86));
6555     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x556, &x557, x544,
6556                                                          UINT32_C(0x789051d3));
6557     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x558, &x559, x544,
6558                                                          UINT32_C(0x7998f7b9));
6559     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x560, &x561, x544,
6560                                                          UINT32_C(0x22d759b));
6561     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x562, &x563, 0x0,
6562                                                               x561, x558);
6563     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x564, &x565,
6564                                                               x563, x559, x556);
6565     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x566, &x567,
6566                                                               x565, x557, x554);
6567     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x568, &x569,
6568                                                               x567, x555, x552);
6569     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x570, &x571,
6570                                                               x569, x553, x550);
6571     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x572, &x573,
6572                                                               x571, x551, x548);
6573     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x574, &x575,
6574                                                               x573, x549, x546);
6575     x576 = (x575 + x547);
6576     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x577, &x578, 0x0,
6577                                                               x526, x560);
6578     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x579, &x580,
6579                                                               x578, x528, x562);
6580     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x581, &x582,
6581                                                               x580, x530, x564);
6582     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x583, &x584,
6583                                                               x582, x532, x566);
6584     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x585, &x586,
6585                                                               x584, x534, x568);
6586     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x587, &x588,
6587                                                               x586, x536, x570);
6588     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x589, &x590,
6589                                                               x588, x538, x572);
6590     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x591, &x592,
6591                                                               x590, x540, x574);
6592     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x593, &x594,
6593                                                               x592, x542, x576);
6594     x595 = ((uint32_t)x594 + x543);
6595     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x596, &x597, x6,
6596                                                          (arg2[7]));
6597     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x598, &x599, x6,
6598                                                          (arg2[6]));
6599     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x600, &x601, x6,
6600                                                          (arg2[5]));
6601     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x602, &x603, x6,
6602                                                          (arg2[4]));
6603     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x604, &x605, x6,
6604                                                          (arg2[3]));
6605     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x606, &x607, x6,
6606                                                          (arg2[2]));
6607     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x608, &x609, x6,
6608                                                          (arg2[1]));
6609     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x610, &x611, x6,
6610                                                          (arg2[0]));
6611     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x612, &x613, 0x0,
6612                                                               x611, x608);
6613     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x614, &x615,
6614                                                               x613, x609, x606);
6615     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x616, &x617,
6616                                                               x615, x607, x604);
6617     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x618, &x619,
6618                                                               x617, x605, x602);
6619     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x620, &x621,
6620                                                               x619, x603, x600);
6621     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x622, &x623,
6622                                                               x621, x601, x598);
6623     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x624, &x625,
6624                                                               x623, x599, x596);
6625     x626 = (x625 + x597);
6626     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x627, &x628, 0x0,
6627                                                               x579, x610);
6628     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x629, &x630,
6629                                                               x628, x581, x612);
6630     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x631, &x632,
6631                                                               x630, x583, x614);
6632     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x633, &x634,
6633                                                               x632, x585, x616);
6634     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x635, &x636,
6635                                                               x634, x587, x618);
6636     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x637, &x638,
6637                                                               x636, x589, x620);
6638     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x639, &x640,
6639                                                               x638, x591, x622);
6640     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x641, &x642,
6641                                                               x640, x593, x624);
6642     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x643, &x644,
6643                                                               x642, x595, x626);
6644     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x645, &x646, x627,
6645                                                          UINT32_C(0x727c176d));
6646     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x647, &x648, x645,
6647                                                          UINT32_C(0x9b9f605f));
6648     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x649, &x650, x645,
6649                                                          UINT32_C(0x5a858107));
6650     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x651, &x652, x645,
6651                                                          UINT32_C(0xab1ec85e));
6652     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x653, &x654, x645,
6653                                                          UINT32_C(0x6b41c8aa));
6654     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x655, &x656, x645,
6655                                                          UINT32_C(0xcf846e86));
6656     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x657, &x658, x645,
6657                                                          UINT32_C(0x789051d3));
6658     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x659, &x660, x645,
6659                                                          UINT32_C(0x7998f7b9));
6660     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x661, &x662, x645,
6661                                                          UINT32_C(0x22d759b));
6662     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x663, &x664, 0x0,
6663                                                               x662, x659);
6664     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x665, &x666,
6665                                                               x664, x660, x657);
6666     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x667, &x668,
6667                                                               x666, x658, x655);
6668     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x669, &x670,
6669                                                               x668, x656, x653);
6670     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x671, &x672,
6671                                                               x670, x654, x651);
6672     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x673, &x674,
6673                                                               x672, x652, x649);
6674     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x675, &x676,
6675                                                               x674, x650, x647);
6676     x677 = (x676 + x648);
6677     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x678, &x679, 0x0,
6678                                                               x627, x661);
6679     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x680, &x681,
6680                                                               x679, x629, x663);
6681     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x682, &x683,
6682                                                               x681, x631, x665);
6683     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x684, &x685,
6684                                                               x683, x633, x667);
6685     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x686, &x687,
6686                                                               x685, x635, x669);
6687     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x688, &x689,
6688                                                               x687, x637, x671);
6689     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x690, &x691,
6690                                                               x689, x639, x673);
6691     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x692, &x693,
6692                                                               x691, x641, x675);
6693     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x694, &x695,
6694                                                               x693, x643, x677);
6695     x696 = ((uint32_t)x695 + x644);
6696     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x697, &x698, x7,
6697                                                          (arg2[7]));
6698     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x699, &x700, x7,
6699                                                          (arg2[6]));
6700     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x701, &x702, x7,
6701                                                          (arg2[5]));
6702     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x703, &x704, x7,
6703                                                          (arg2[4]));
6704     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x705, &x706, x7,
6705                                                          (arg2[3]));
6706     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x707, &x708, x7,
6707                                                          (arg2[2]));
6708     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x709, &x710, x7,
6709                                                          (arg2[1]));
6710     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x711, &x712, x7,
6711                                                          (arg2[0]));
6712     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x713, &x714, 0x0,
6713                                                               x712, x709);
6714     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x715, &x716,
6715                                                               x714, x710, x707);
6716     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x717, &x718,
6717                                                               x716, x708, x705);
6718     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x719, &x720,
6719                                                               x718, x706, x703);
6720     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x721, &x722,
6721                                                               x720, x704, x701);
6722     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x723, &x724,
6723                                                               x722, x702, x699);
6724     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x725, &x726,
6725                                                               x724, x700, x697);
6726     x727 = (x726 + x698);
6727     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x728, &x729, 0x0,
6728                                                               x680, x711);
6729     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x730, &x731,
6730                                                               x729, x682, x713);
6731     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x732, &x733,
6732                                                               x731, x684, x715);
6733     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x734, &x735,
6734                                                               x733, x686, x717);
6735     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x736, &x737,
6736                                                               x735, x688, x719);
6737     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x738, &x739,
6738                                                               x737, x690, x721);
6739     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x740, &x741,
6740                                                               x739, x692, x723);
6741     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x742, &x743,
6742                                                               x741, x694, x725);
6743     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x744, &x745,
6744                                                               x743, x696, x727);
6745     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x746, &x747, x728,
6746                                                          UINT32_C(0x727c176d));
6747     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x748, &x749, x746,
6748                                                          UINT32_C(0x9b9f605f));
6749     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x750, &x751, x746,
6750                                                          UINT32_C(0x5a858107));
6751     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x752, &x753, x746,
6752                                                          UINT32_C(0xab1ec85e));
6753     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x754, &x755, x746,
6754                                                          UINT32_C(0x6b41c8aa));
6755     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x756, &x757, x746,
6756                                                          UINT32_C(0xcf846e86));
6757     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x758, &x759, x746,
6758                                                          UINT32_C(0x789051d3));
6759     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x760, &x761, x746,
6760                                                          UINT32_C(0x7998f7b9));
6761     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x762, &x763, x746,
6762                                                          UINT32_C(0x22d759b));
6763     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x764, &x765, 0x0,
6764                                                               x763, x760);
6765     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x766, &x767,
6766                                                               x765, x761, x758);
6767     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x768, &x769,
6768                                                               x767, x759, x756);
6769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x770, &x771,
6770                                                               x769, x757, x754);
6771     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x772, &x773,
6772                                                               x771, x755, x752);
6773     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x774, &x775,
6774                                                               x773, x753, x750);
6775     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x776, &x777,
6776                                                               x775, x751, x748);
6777     x778 = (x777 + x749);
6778     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x779, &x780, 0x0,
6779                                                               x728, x762);
6780     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x781, &x782,
6781                                                               x780, x730, x764);
6782     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x783, &x784,
6783                                                               x782, x732, x766);
6784     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x785, &x786,
6785                                                               x784, x734, x768);
6786     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x787, &x788,
6787                                                               x786, x736, x770);
6788     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x789, &x790,
6789                                                               x788, x738, x772);
6790     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x791, &x792,
6791                                                               x790, x740, x774);
6792     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x793, &x794,
6793                                                               x792, x742, x776);
6794     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x795, &x796,
6795                                                               x794, x744, x778);
6796     x797 = ((uint32_t)x796 + x745);
6797     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6798         &x798, &x799, 0x0, x781, UINT32_C(0x22d759b));
6799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6800         &x800, &x801, x799, x783, UINT32_C(0x7998f7b9));
6801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6802         &x802, &x803, x801, x785, UINT32_C(0x789051d3));
6803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6804         &x804, &x805, x803, x787, UINT32_C(0xcf846e86));
6805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6806         &x806, &x807, x805, x789, UINT32_C(0x6b41c8aa));
6807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6808         &x808, &x809, x807, x791, UINT32_C(0xab1ec85e));
6809     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6810         &x810, &x811, x809, x793, UINT32_C(0x5a858107));
6811     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6812         &x812, &x813, x811, x795, UINT32_C(0x9b9f605f));
6813     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x814, &x815,
6814                                                                x813, x797, 0x0);
6815     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x816, x815, x798,
6816                                                             x781);
6817     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x817, x815, x800,
6818                                                             x783);
6819     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x818, x815, x802,
6820                                                             x785);
6821     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x819, x815, x804,
6822                                                             x787);
6823     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x820, x815, x806,
6824                                                             x789);
6825     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x821, x815, x808,
6826                                                             x791);
6827     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x822, x815, x810,
6828                                                             x793);
6829     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x823, x815, x812,
6830                                                             x795);
6831     out1[0] = x816;
6832     out1[1] = x817;
6833     out1[2] = x818;
6834     out1[3] = x819;
6835     out1[4] = x820;
6836     out1[5] = x821;
6837     out1[6] = x822;
6838     out1[7] = x823;
6839 }
6840
6841 /*
6842  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square squares a field element in the Montgomery domain.
6843  * Preconditions:
6844  *   0 ≤ eval arg1 < m
6845  * Postconditions:
6846  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
6847  *   0 ≤ eval out1 < m
6848  *
6849  * Input Bounds:
6850  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6851  * Output Bounds:
6852  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6853  */
6854 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(
6855     uint32_t out1[8], const uint32_t arg1[8]) {
6856     uint32_t x1;
6857     uint32_t x2;
6858     uint32_t x3;
6859     uint32_t x4;
6860     uint32_t x5;
6861     uint32_t x6;
6862     uint32_t x7;
6863     uint32_t x8;
6864     uint32_t x9;
6865     uint32_t x10;
6866     uint32_t x11;
6867     uint32_t x12;
6868     uint32_t x13;
6869     uint32_t x14;
6870     uint32_t x15;
6871     uint32_t x16;
6872     uint32_t x17;
6873     uint32_t x18;
6874     uint32_t x19;
6875     uint32_t x20;
6876     uint32_t x21;
6877     uint32_t x22;
6878     uint32_t x23;
6879     uint32_t x24;
6880     uint32_t x25;
6881     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
6882     uint32_t x27;
6883     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
6884     uint32_t x29;
6885     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
6886     uint32_t x31;
6887     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
6888     uint32_t x33;
6889     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
6890     uint32_t x35;
6891     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
6892     uint32_t x37;
6893     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
6894     uint32_t x39;
6895     uint32_t x40;
6896     uint32_t x41;
6897     uint32_t x42;
6898     uint32_t x43;
6899     uint32_t x44;
6900     uint32_t x45;
6901     uint32_t x46;
6902     uint32_t x47;
6903     uint32_t x48;
6904     uint32_t x49;
6905     uint32_t x50;
6906     uint32_t x51;
6907     uint32_t x52;
6908     uint32_t x53;
6909     uint32_t x54;
6910     uint32_t x55;
6911     uint32_t x56;
6912     uint32_t x57;
6913     uint32_t x58;
6914     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
6915     uint32_t x60;
6916     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
6917     uint32_t x62;
6918     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
6919     uint32_t x64;
6920     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
6921     uint32_t x66;
6922     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
6923     uint32_t x68;
6924     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
6925     uint32_t x70;
6926     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x71;
6927     uint32_t x72;
6928     uint32_t x73;
6929     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x74;
6930     uint32_t x75;
6931     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x76;
6932     uint32_t x77;
6933     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
6934     uint32_t x79;
6935     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
6936     uint32_t x81;
6937     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
6938     uint32_t x83;
6939     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
6940     uint32_t x85;
6941     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
6942     uint32_t x87;
6943     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
6944     uint32_t x89;
6945     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
6946     uint32_t x91;
6947     uint32_t x92;
6948     uint32_t x93;
6949     uint32_t x94;
6950     uint32_t x95;
6951     uint32_t x96;
6952     uint32_t x97;
6953     uint32_t x98;
6954     uint32_t x99;
6955     uint32_t x100;
6956     uint32_t x101;
6957     uint32_t x102;
6958     uint32_t x103;
6959     uint32_t x104;
6960     uint32_t x105;
6961     uint32_t x106;
6962     uint32_t x107;
6963     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
6964     uint32_t x109;
6965     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
6966     uint32_t x111;
6967     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
6968     uint32_t x113;
6969     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
6970     uint32_t x115;
6971     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
6972     uint32_t x117;
6973     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
6974     uint32_t x119;
6975     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
6976     uint32_t x121;
6977     uint32_t x122;
6978     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x123;
6979     uint32_t x124;
6980     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x125;
6981     uint32_t x126;
6982     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x127;
6983     uint32_t x128;
6984     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x129;
6985     uint32_t x130;
6986     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x131;
6987     uint32_t x132;
6988     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x133;
6989     uint32_t x134;
6990     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x135;
6991     uint32_t x136;
6992     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x137;
6993     uint32_t x138;
6994     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x139;
6995     uint32_t x140;
6996     uint32_t x141;
6997     uint32_t x142;
6998     uint32_t x143;
6999     uint32_t x144;
7000     uint32_t x145;
7001     uint32_t x146;
7002     uint32_t x147;
7003     uint32_t x148;
7004     uint32_t x149;
7005     uint32_t x150;
7006     uint32_t x151;
7007     uint32_t x152;
7008     uint32_t x153;
7009     uint32_t x154;
7010     uint32_t x155;
7011     uint32_t x156;
7012     uint32_t x157;
7013     uint32_t x158;
7014     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x159;
7015     uint32_t x160;
7016     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x161;
7017     uint32_t x162;
7018     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x163;
7019     uint32_t x164;
7020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x165;
7021     uint32_t x166;
7022     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x167;
7023     uint32_t x168;
7024     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
7025     uint32_t x170;
7026     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
7027     uint32_t x172;
7028     uint32_t x173;
7029     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
7030     uint32_t x175;
7031     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
7032     uint32_t x177;
7033     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
7034     uint32_t x179;
7035     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
7036     uint32_t x181;
7037     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
7038     uint32_t x183;
7039     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
7040     uint32_t x185;
7041     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x186;
7042     uint32_t x187;
7043     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x188;
7044     uint32_t x189;
7045     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x190;
7046     uint32_t x191;
7047     uint32_t x192;
7048     uint32_t x193;
7049     uint32_t x194;
7050     uint32_t x195;
7051     uint32_t x196;
7052     uint32_t x197;
7053     uint32_t x198;
7054     uint32_t x199;
7055     uint32_t x200;
7056     uint32_t x201;
7057     uint32_t x202;
7058     uint32_t x203;
7059     uint32_t x204;
7060     uint32_t x205;
7061     uint32_t x206;
7062     uint32_t x207;
7063     uint32_t x208;
7064     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
7065     uint32_t x210;
7066     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
7067     uint32_t x212;
7068     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
7069     uint32_t x214;
7070     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
7071     uint32_t x216;
7072     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x217;
7073     uint32_t x218;
7074     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x219;
7075     uint32_t x220;
7076     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x221;
7077     uint32_t x222;
7078     uint32_t x223;
7079     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x224;
7080     uint32_t x225;
7081     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x226;
7082     uint32_t x227;
7083     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x228;
7084     uint32_t x229;
7085     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x230;
7086     uint32_t x231;
7087     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x232;
7088     uint32_t x233;
7089     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x234;
7090     uint32_t x235;
7091     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x236;
7092     uint32_t x237;
7093     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x238;
7094     uint32_t x239;
7095     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x240;
7096     uint32_t x241;
7097     uint32_t x242;
7098     uint32_t x243;
7099     uint32_t x244;
7100     uint32_t x245;
7101     uint32_t x246;
7102     uint32_t x247;
7103     uint32_t x248;
7104     uint32_t x249;
7105     uint32_t x250;
7106     uint32_t x251;
7107     uint32_t x252;
7108     uint32_t x253;
7109     uint32_t x254;
7110     uint32_t x255;
7111     uint32_t x256;
7112     uint32_t x257;
7113     uint32_t x258;
7114     uint32_t x259;
7115     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x260;
7116     uint32_t x261;
7117     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x262;
7118     uint32_t x263;
7119     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x264;
7120     uint32_t x265;
7121     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x266;
7122     uint32_t x267;
7123     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x268;
7124     uint32_t x269;
7125     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x270;
7126     uint32_t x271;
7127     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x272;
7128     uint32_t x273;
7129     uint32_t x274;
7130     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x275;
7131     uint32_t x276;
7132     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x277;
7133     uint32_t x278;
7134     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x279;
7135     uint32_t x280;
7136     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x281;
7137     uint32_t x282;
7138     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x283;
7139     uint32_t x284;
7140     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x285;
7141     uint32_t x286;
7142     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x287;
7143     uint32_t x288;
7144     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x289;
7145     uint32_t x290;
7146     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x291;
7147     uint32_t x292;
7148     uint32_t x293;
7149     uint32_t x294;
7150     uint32_t x295;
7151     uint32_t x296;
7152     uint32_t x297;
7153     uint32_t x298;
7154     uint32_t x299;
7155     uint32_t x300;
7156     uint32_t x301;
7157     uint32_t x302;
7158     uint32_t x303;
7159     uint32_t x304;
7160     uint32_t x305;
7161     uint32_t x306;
7162     uint32_t x307;
7163     uint32_t x308;
7164     uint32_t x309;
7165     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x310;
7166     uint32_t x311;
7167     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x312;
7168     uint32_t x313;
7169     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x314;
7170     uint32_t x315;
7171     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x316;
7172     uint32_t x317;
7173     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x318;
7174     uint32_t x319;
7175     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x320;
7176     uint32_t x321;
7177     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x322;
7178     uint32_t x323;
7179     uint32_t x324;
7180     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x325;
7181     uint32_t x326;
7182     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x327;
7183     uint32_t x328;
7184     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x329;
7185     uint32_t x330;
7186     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x331;
7187     uint32_t x332;
7188     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x333;
7189     uint32_t x334;
7190     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x335;
7191     uint32_t x336;
7192     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x337;
7193     uint32_t x338;
7194     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x339;
7195     uint32_t x340;
7196     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x341;
7197     uint32_t x342;
7198     uint32_t x343;
7199     uint32_t x344;
7200     uint32_t x345;
7201     uint32_t x346;
7202     uint32_t x347;
7203     uint32_t x348;
7204     uint32_t x349;
7205     uint32_t x350;
7206     uint32_t x351;
7207     uint32_t x352;
7208     uint32_t x353;
7209     uint32_t x354;
7210     uint32_t x355;
7211     uint32_t x356;
7212     uint32_t x357;
7213     uint32_t x358;
7214     uint32_t x359;
7215     uint32_t x360;
7216     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x361;
7217     uint32_t x362;
7218     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x363;
7219     uint32_t x364;
7220     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x365;
7221     uint32_t x366;
7222     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x367;
7223     uint32_t x368;
7224     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x369;
7225     uint32_t x370;
7226     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x371;
7227     uint32_t x372;
7228     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x373;
7229     uint32_t x374;
7230     uint32_t x375;
7231     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x376;
7232     uint32_t x377;
7233     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x378;
7234     uint32_t x379;
7235     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x380;
7236     uint32_t x381;
7237     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x382;
7238     uint32_t x383;
7239     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x384;
7240     uint32_t x385;
7241     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x386;
7242     uint32_t x387;
7243     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x388;
7244     uint32_t x389;
7245     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x390;
7246     uint32_t x391;
7247     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x392;
7248     uint32_t x393;
7249     uint32_t x394;
7250     uint32_t x395;
7251     uint32_t x396;
7252     uint32_t x397;
7253     uint32_t x398;
7254     uint32_t x399;
7255     uint32_t x400;
7256     uint32_t x401;
7257     uint32_t x402;
7258     uint32_t x403;
7259     uint32_t x404;
7260     uint32_t x405;
7261     uint32_t x406;
7262     uint32_t x407;
7263     uint32_t x408;
7264     uint32_t x409;
7265     uint32_t x410;
7266     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x411;
7267     uint32_t x412;
7268     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x413;
7269     uint32_t x414;
7270     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x415;
7271     uint32_t x416;
7272     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x417;
7273     uint32_t x418;
7274     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x419;
7275     uint32_t x420;
7276     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x421;
7277     uint32_t x422;
7278     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x423;
7279     uint32_t x424;
7280     uint32_t x425;
7281     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x426;
7282     uint32_t x427;
7283     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x428;
7284     uint32_t x429;
7285     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x430;
7286     uint32_t x431;
7287     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x432;
7288     uint32_t x433;
7289     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x434;
7290     uint32_t x435;
7291     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x436;
7292     uint32_t x437;
7293     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x438;
7294     uint32_t x439;
7295     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x440;
7296     uint32_t x441;
7297     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x442;
7298     uint32_t x443;
7299     uint32_t x444;
7300     uint32_t x445;
7301     uint32_t x446;
7302     uint32_t x447;
7303     uint32_t x448;
7304     uint32_t x449;
7305     uint32_t x450;
7306     uint32_t x451;
7307     uint32_t x452;
7308     uint32_t x453;
7309     uint32_t x454;
7310     uint32_t x455;
7311     uint32_t x456;
7312     uint32_t x457;
7313     uint32_t x458;
7314     uint32_t x459;
7315     uint32_t x460;
7316     uint32_t x461;
7317     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x462;
7318     uint32_t x463;
7319     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x464;
7320     uint32_t x465;
7321     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x466;
7322     uint32_t x467;
7323     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x468;
7324     uint32_t x469;
7325     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x470;
7326     uint32_t x471;
7327     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x472;
7328     uint32_t x473;
7329     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x474;
7330     uint32_t x475;
7331     uint32_t x476;
7332     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x477;
7333     uint32_t x478;
7334     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x479;
7335     uint32_t x480;
7336     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x481;
7337     uint32_t x482;
7338     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x483;
7339     uint32_t x484;
7340     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x485;
7341     uint32_t x486;
7342     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x487;
7343     uint32_t x488;
7344     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x489;
7345     uint32_t x490;
7346     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x491;
7347     uint32_t x492;
7348     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x493;
7349     uint32_t x494;
7350     uint32_t x495;
7351     uint32_t x496;
7352     uint32_t x497;
7353     uint32_t x498;
7354     uint32_t x499;
7355     uint32_t x500;
7356     uint32_t x501;
7357     uint32_t x502;
7358     uint32_t x503;
7359     uint32_t x504;
7360     uint32_t x505;
7361     uint32_t x506;
7362     uint32_t x507;
7363     uint32_t x508;
7364     uint32_t x509;
7365     uint32_t x510;
7366     uint32_t x511;
7367     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x512;
7368     uint32_t x513;
7369     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x514;
7370     uint32_t x515;
7371     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x516;
7372     uint32_t x517;
7373     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x518;
7374     uint32_t x519;
7375     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x520;
7376     uint32_t x521;
7377     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x522;
7378     uint32_t x523;
7379     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x524;
7380     uint32_t x525;
7381     uint32_t x526;
7382     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x527;
7383     uint32_t x528;
7384     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x529;
7385     uint32_t x530;
7386     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x531;
7387     uint32_t x532;
7388     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x533;
7389     uint32_t x534;
7390     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x535;
7391     uint32_t x536;
7392     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x537;
7393     uint32_t x538;
7394     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x539;
7395     uint32_t x540;
7396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x541;
7397     uint32_t x542;
7398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x543;
7399     uint32_t x544;
7400     uint32_t x545;
7401     uint32_t x546;
7402     uint32_t x547;
7403     uint32_t x548;
7404     uint32_t x549;
7405     uint32_t x550;
7406     uint32_t x551;
7407     uint32_t x552;
7408     uint32_t x553;
7409     uint32_t x554;
7410     uint32_t x555;
7411     uint32_t x556;
7412     uint32_t x557;
7413     uint32_t x558;
7414     uint32_t x559;
7415     uint32_t x560;
7416     uint32_t x561;
7417     uint32_t x562;
7418     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x563;
7419     uint32_t x564;
7420     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x565;
7421     uint32_t x566;
7422     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x567;
7423     uint32_t x568;
7424     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x569;
7425     uint32_t x570;
7426     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x571;
7427     uint32_t x572;
7428     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x573;
7429     uint32_t x574;
7430     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x575;
7431     uint32_t x576;
7432     uint32_t x577;
7433     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x578;
7434     uint32_t x579;
7435     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x580;
7436     uint32_t x581;
7437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x582;
7438     uint32_t x583;
7439     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x584;
7440     uint32_t x585;
7441     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x586;
7442     uint32_t x587;
7443     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x588;
7444     uint32_t x589;
7445     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x590;
7446     uint32_t x591;
7447     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x592;
7448     uint32_t x593;
7449     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x594;
7450     uint32_t x595;
7451     uint32_t x596;
7452     uint32_t x597;
7453     uint32_t x598;
7454     uint32_t x599;
7455     uint32_t x600;
7456     uint32_t x601;
7457     uint32_t x602;
7458     uint32_t x603;
7459     uint32_t x604;
7460     uint32_t x605;
7461     uint32_t x606;
7462     uint32_t x607;
7463     uint32_t x608;
7464     uint32_t x609;
7465     uint32_t x610;
7466     uint32_t x611;
7467     uint32_t x612;
7468     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x613;
7469     uint32_t x614;
7470     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x615;
7471     uint32_t x616;
7472     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x617;
7473     uint32_t x618;
7474     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x619;
7475     uint32_t x620;
7476     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x621;
7477     uint32_t x622;
7478     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x623;
7479     uint32_t x624;
7480     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x625;
7481     uint32_t x626;
7482     uint32_t x627;
7483     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x628;
7484     uint32_t x629;
7485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x630;
7486     uint32_t x631;
7487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x632;
7488     uint32_t x633;
7489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x634;
7490     uint32_t x635;
7491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x636;
7492     uint32_t x637;
7493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x638;
7494     uint32_t x639;
7495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x640;
7496     uint32_t x641;
7497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x642;
7498     uint32_t x643;
7499     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x644;
7500     uint32_t x645;
7501     uint32_t x646;
7502     uint32_t x647;
7503     uint32_t x648;
7504     uint32_t x649;
7505     uint32_t x650;
7506     uint32_t x651;
7507     uint32_t x652;
7508     uint32_t x653;
7509     uint32_t x654;
7510     uint32_t x655;
7511     uint32_t x656;
7512     uint32_t x657;
7513     uint32_t x658;
7514     uint32_t x659;
7515     uint32_t x660;
7516     uint32_t x661;
7517     uint32_t x662;
7518     uint32_t x663;
7519     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x664;
7520     uint32_t x665;
7521     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x666;
7522     uint32_t x667;
7523     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x668;
7524     uint32_t x669;
7525     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x670;
7526     uint32_t x671;
7527     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x672;
7528     uint32_t x673;
7529     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x674;
7530     uint32_t x675;
7531     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x676;
7532     uint32_t x677;
7533     uint32_t x678;
7534     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x679;
7535     uint32_t x680;
7536     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x681;
7537     uint32_t x682;
7538     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x683;
7539     uint32_t x684;
7540     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x685;
7541     uint32_t x686;
7542     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x687;
7543     uint32_t x688;
7544     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x689;
7545     uint32_t x690;
7546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x691;
7547     uint32_t x692;
7548     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x693;
7549     uint32_t x694;
7550     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x695;
7551     uint32_t x696;
7552     uint32_t x697;
7553     uint32_t x698;
7554     uint32_t x699;
7555     uint32_t x700;
7556     uint32_t x701;
7557     uint32_t x702;
7558     uint32_t x703;
7559     uint32_t x704;
7560     uint32_t x705;
7561     uint32_t x706;
7562     uint32_t x707;
7563     uint32_t x708;
7564     uint32_t x709;
7565     uint32_t x710;
7566     uint32_t x711;
7567     uint32_t x712;
7568     uint32_t x713;
7569     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x714;
7570     uint32_t x715;
7571     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x716;
7572     uint32_t x717;
7573     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x718;
7574     uint32_t x719;
7575     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x720;
7576     uint32_t x721;
7577     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x722;
7578     uint32_t x723;
7579     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x724;
7580     uint32_t x725;
7581     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x726;
7582     uint32_t x727;
7583     uint32_t x728;
7584     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x729;
7585     uint32_t x730;
7586     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x731;
7587     uint32_t x732;
7588     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x733;
7589     uint32_t x734;
7590     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x735;
7591     uint32_t x736;
7592     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x737;
7593     uint32_t x738;
7594     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x739;
7595     uint32_t x740;
7596     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x741;
7597     uint32_t x742;
7598     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x743;
7599     uint32_t x744;
7600     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x745;
7601     uint32_t x746;
7602     uint32_t x747;
7603     uint32_t x748;
7604     uint32_t x749;
7605     uint32_t x750;
7606     uint32_t x751;
7607     uint32_t x752;
7608     uint32_t x753;
7609     uint32_t x754;
7610     uint32_t x755;
7611     uint32_t x756;
7612     uint32_t x757;
7613     uint32_t x758;
7614     uint32_t x759;
7615     uint32_t x760;
7616     uint32_t x761;
7617     uint32_t x762;
7618     uint32_t x763;
7619     uint32_t x764;
7620     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x765;
7621     uint32_t x766;
7622     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x767;
7623     uint32_t x768;
7624     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x769;
7625     uint32_t x770;
7626     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x771;
7627     uint32_t x772;
7628     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x773;
7629     uint32_t x774;
7630     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x775;
7631     uint32_t x776;
7632     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x777;
7633     uint32_t x778;
7634     uint32_t x779;
7635     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x780;
7636     uint32_t x781;
7637     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x782;
7638     uint32_t x783;
7639     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x784;
7640     uint32_t x785;
7641     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x786;
7642     uint32_t x787;
7643     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x788;
7644     uint32_t x789;
7645     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x790;
7646     uint32_t x791;
7647     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x792;
7648     uint32_t x793;
7649     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x794;
7650     uint32_t x795;
7651     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x796;
7652     uint32_t x797;
7653     uint32_t x798;
7654     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x799;
7655     uint32_t x800;
7656     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x801;
7657     uint32_t x802;
7658     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x803;
7659     uint32_t x804;
7660     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x805;
7661     uint32_t x806;
7662     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x807;
7663     uint32_t x808;
7664     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x809;
7665     uint32_t x810;
7666     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x811;
7667     uint32_t x812;
7668     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x813;
7669     uint32_t x814;
7670     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x815;
7671     uint32_t x816;
7672     uint32_t x817;
7673     uint32_t x818;
7674     uint32_t x819;
7675     uint32_t x820;
7676     uint32_t x821;
7677     uint32_t x822;
7678     uint32_t x823;
7679     x1 = (arg1[1]);
7680     x2 = (arg1[2]);
7681     x3 = (arg1[3]);
7682     x4 = (arg1[4]);
7683     x5 = (arg1[5]);
7684     x6 = (arg1[6]);
7685     x7 = (arg1[7]);
7686     x8 = (arg1[0]);
7687     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x9, &x10, x8,
7688                                                          (arg1[7]));
7689     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x11, &x12, x8,
7690                                                          (arg1[6]));
7691     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x13, &x14, x8,
7692                                                          (arg1[5]));
7693     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x15, &x16, x8,
7694                                                          (arg1[4]));
7695     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x17, &x18, x8,
7696                                                          (arg1[3]));
7697     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x19, &x20, x8,
7698                                                          (arg1[2]));
7699     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x21, &x22, x8,
7700                                                          (arg1[1]));
7701     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x23, &x24, x8,
7702                                                          (arg1[0]));
7703     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
7704                                                               x24, x21);
7705     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x27, &x28, x26,
7706                                                               x22, x19);
7707     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x29, &x30, x28,
7708                                                               x20, x17);
7709     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x31, &x32, x30,
7710                                                               x18, x15);
7711     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x33, &x34, x32,
7712                                                               x16, x13);
7713     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x35, &x36, x34,
7714                                                               x14, x11);
7715     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x37, &x38, x36,
7716                                                               x12, x9);
7717     x39 = (x38 + x10);
7718     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x40, &x41, x23,
7719                                                          UINT32_C(0x727c176d));
7720     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x42, &x43, x40,
7721                                                          UINT32_C(0x9b9f605f));
7722     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x44, &x45, x40,
7723                                                          UINT32_C(0x5a858107));
7724     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x46, &x47, x40,
7725                                                          UINT32_C(0xab1ec85e));
7726     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x48, &x49, x40,
7727                                                          UINT32_C(0x6b41c8aa));
7728     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x50, &x51, x40,
7729                                                          UINT32_C(0xcf846e86));
7730     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x52, &x53, x40,
7731                                                          UINT32_C(0x789051d3));
7732     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x54, &x55, x40,
7733                                                          UINT32_C(0x7998f7b9));
7734     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x56, &x57, x40,
7735                                                          UINT32_C(0x22d759b));
7736     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x58, &x59, 0x0,
7737                                                               x57, x54);
7738     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x60, &x61, x59,
7739                                                               x55, x52);
7740     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x62, &x63, x61,
7741                                                               x53, x50);
7742     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x64, &x65, x63,
7743                                                               x51, x48);
7744     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x66, &x67, x65,
7745                                                               x49, x46);
7746     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x68, &x69, x67,
7747                                                               x47, x44);
7748     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x70, &x71, x69,
7749                                                               x45, x42);
7750     x72 = (x71 + x43);
7751     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x73, &x74, 0x0,
7752                                                               x23, x56);
7753     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x75, &x76, x74,
7754                                                               x25, x58);
7755     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x77, &x78, x76,
7756                                                               x27, x60);
7757     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x79, &x80, x78,
7758                                                               x29, x62);
7759     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x81, &x82, x80,
7760                                                               x31, x64);
7761     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x83, &x84, x82,
7762                                                               x33, x66);
7763     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x85, &x86, x84,
7764                                                               x35, x68);
7765     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x87, &x88, x86,
7766                                                               x37, x70);
7767     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x89, &x90, x88,
7768                                                               x39, x72);
7769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x91, &x92, x1,
7770                                                          (arg1[7]));
7771     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x93, &x94, x1,
7772                                                          (arg1[6]));
7773     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x95, &x96, x1,
7774                                                          (arg1[5]));
7775     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x97, &x98, x1,
7776                                                          (arg1[4]));
7777     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x99, &x100, x1,
7778                                                          (arg1[3]));
7779     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x101, &x102, x1,
7780                                                          (arg1[2]));
7781     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x103, &x104, x1,
7782                                                          (arg1[1]));
7783     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x105, &x106, x1,
7784                                                          (arg1[0]));
7785     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x107, &x108, 0x0,
7786                                                               x106, x103);
7787     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x109, &x110,
7788                                                               x108, x104, x101);
7789     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x111, &x112,
7790                                                               x110, x102, x99);
7791     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x113, &x114,
7792                                                               x112, x100, x97);
7793     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x115, &x116,
7794                                                               x114, x98, x95);
7795     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x117, &x118,
7796                                                               x116, x96, x93);
7797     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x119, &x120,
7798                                                               x118, x94, x91);
7799     x121 = (x120 + x92);
7800     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x122, &x123, 0x0,
7801                                                               x75, x105);
7802     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x124, &x125,
7803                                                               x123, x77, x107);
7804     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x126, &x127,
7805                                                               x125, x79, x109);
7806     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x128, &x129,
7807                                                               x127, x81, x111);
7808     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x130, &x131,
7809                                                               x129, x83, x113);
7810     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x132, &x133,
7811                                                               x131, x85, x115);
7812     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x134, &x135,
7813                                                               x133, x87, x117);
7814     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x136, &x137,
7815                                                               x135, x89, x119);
7816     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x138, &x139,
7817                                                               x137, x90, x121);
7818     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x140, &x141, x122,
7819                                                          UINT32_C(0x727c176d));
7820     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x142, &x143, x140,
7821                                                          UINT32_C(0x9b9f605f));
7822     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x144, &x145, x140,
7823                                                          UINT32_C(0x5a858107));
7824     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x146, &x147, x140,
7825                                                          UINT32_C(0xab1ec85e));
7826     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x148, &x149, x140,
7827                                                          UINT32_C(0x6b41c8aa));
7828     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x150, &x151, x140,
7829                                                          UINT32_C(0xcf846e86));
7830     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x152, &x153, x140,
7831                                                          UINT32_C(0x789051d3));
7832     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x154, &x155, x140,
7833                                                          UINT32_C(0x7998f7b9));
7834     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x156, &x157, x140,
7835                                                          UINT32_C(0x22d759b));
7836     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x158, &x159, 0x0,
7837                                                               x157, x154);
7838     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x160, &x161,
7839                                                               x159, x155, x152);
7840     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x162, &x163,
7841                                                               x161, x153, x150);
7842     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x164, &x165,
7843                                                               x163, x151, x148);
7844     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x166, &x167,
7845                                                               x165, x149, x146);
7846     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x168, &x169,
7847                                                               x167, x147, x144);
7848     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x170, &x171,
7849                                                               x169, x145, x142);
7850     x172 = (x171 + x143);
7851     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x173, &x174, 0x0,
7852                                                               x122, x156);
7853     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x175, &x176,
7854                                                               x174, x124, x158);
7855     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x177, &x178,
7856                                                               x176, x126, x160);
7857     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x179, &x180,
7858                                                               x178, x128, x162);
7859     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x181, &x182,
7860                                                               x180, x130, x164);
7861     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x183, &x184,
7862                                                               x182, x132, x166);
7863     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x185, &x186,
7864                                                               x184, x134, x168);
7865     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x187, &x188,
7866                                                               x186, x136, x170);
7867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x189, &x190,
7868                                                               x188, x138, x172);
7869     x191 = ((uint32_t)x190 + x139);
7870     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x192, &x193, x2,
7871                                                          (arg1[7]));
7872     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x194, &x195, x2,
7873                                                          (arg1[6]));
7874     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x196, &x197, x2,
7875                                                          (arg1[5]));
7876     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x198, &x199, x2,
7877                                                          (arg1[4]));
7878     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x200, &x201, x2,
7879                                                          (arg1[3]));
7880     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x202, &x203, x2,
7881                                                          (arg1[2]));
7882     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x204, &x205, x2,
7883                                                          (arg1[1]));
7884     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x206, &x207, x2,
7885                                                          (arg1[0]));
7886     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x208, &x209, 0x0,
7887                                                               x207, x204);
7888     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x210, &x211,
7889                                                               x209, x205, x202);
7890     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x212, &x213,
7891                                                               x211, x203, x200);
7892     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x214, &x215,
7893                                                               x213, x201, x198);
7894     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x216, &x217,
7895                                                               x215, x199, x196);
7896     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x218, &x219,
7897                                                               x217, x197, x194);
7898     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x220, &x221,
7899                                                               x219, x195, x192);
7900     x222 = (x221 + x193);
7901     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x223, &x224, 0x0,
7902                                                               x175, x206);
7903     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x225, &x226,
7904                                                               x224, x177, x208);
7905     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x227, &x228,
7906                                                               x226, x179, x210);
7907     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x229, &x230,
7908                                                               x228, x181, x212);
7909     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x231, &x232,
7910                                                               x230, x183, x214);
7911     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x233, &x234,
7912                                                               x232, x185, x216);
7913     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x235, &x236,
7914                                                               x234, x187, x218);
7915     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x237, &x238,
7916                                                               x236, x189, x220);
7917     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x239, &x240,
7918                                                               x238, x191, x222);
7919     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x241, &x242, x223,
7920                                                          UINT32_C(0x727c176d));
7921     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x243, &x244, x241,
7922                                                          UINT32_C(0x9b9f605f));
7923     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x245, &x246, x241,
7924                                                          UINT32_C(0x5a858107));
7925     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x247, &x248, x241,
7926                                                          UINT32_C(0xab1ec85e));
7927     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x249, &x250, x241,
7928                                                          UINT32_C(0x6b41c8aa));
7929     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x251, &x252, x241,
7930                                                          UINT32_C(0xcf846e86));
7931     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x253, &x254, x241,
7932                                                          UINT32_C(0x789051d3));
7933     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x255, &x256, x241,
7934                                                          UINT32_C(0x7998f7b9));
7935     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x257, &x258, x241,
7936                                                          UINT32_C(0x22d759b));
7937     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x259, &x260, 0x0,
7938                                                               x258, x255);
7939     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x261, &x262,
7940                                                               x260, x256, x253);
7941     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x263, &x264,
7942                                                               x262, x254, x251);
7943     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x265, &x266,
7944                                                               x264, x252, x249);
7945     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x267, &x268,
7946                                                               x266, x250, x247);
7947     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x269, &x270,
7948                                                               x268, x248, x245);
7949     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x271, &x272,
7950                                                               x270, x246, x243);
7951     x273 = (x272 + x244);
7952     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x274, &x275, 0x0,
7953                                                               x223, x257);
7954     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x276, &x277,
7955                                                               x275, x225, x259);
7956     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x278, &x279,
7957                                                               x277, x227, x261);
7958     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x280, &x281,
7959                                                               x279, x229, x263);
7960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x282, &x283,
7961                                                               x281, x231, x265);
7962     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x284, &x285,
7963                                                               x283, x233, x267);
7964     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x286, &x287,
7965                                                               x285, x235, x269);
7966     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x288, &x289,
7967                                                               x287, x237, x271);
7968     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x290, &x291,
7969                                                               x289, x239, x273);
7970     x292 = ((uint32_t)x291 + x240);
7971     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x293, &x294, x3,
7972                                                          (arg1[7]));
7973     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x295, &x296, x3,
7974                                                          (arg1[6]));
7975     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x297, &x298, x3,
7976                                                          (arg1[5]));
7977     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x299, &x300, x3,
7978                                                          (arg1[4]));
7979     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x301, &x302, x3,
7980                                                          (arg1[3]));
7981     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x303, &x304, x3,
7982                                                          (arg1[2]));
7983     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x305, &x306, x3,
7984                                                          (arg1[1]));
7985     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x307, &x308, x3,
7986                                                          (arg1[0]));
7987     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x309, &x310, 0x0,
7988                                                               x308, x305);
7989     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x311, &x312,
7990                                                               x310, x306, x303);
7991     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x313, &x314,
7992                                                               x312, x304, x301);
7993     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x315, &x316,
7994                                                               x314, x302, x299);
7995     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x317, &x318,
7996                                                               x316, x300, x297);
7997     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x319, &x320,
7998                                                               x318, x298, x295);
7999     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x321, &x322,
8000                                                               x320, x296, x293);
8001     x323 = (x322 + x294);
8002     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x324, &x325, 0x0,
8003                                                               x276, x307);
8004     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x326, &x327,
8005                                                               x325, x278, x309);
8006     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x328, &x329,
8007                                                               x327, x280, x311);
8008     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x330, &x331,
8009                                                               x329, x282, x313);
8010     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x332, &x333,
8011                                                               x331, x284, x315);
8012     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x334, &x335,
8013                                                               x333, x286, x317);
8014     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x336, &x337,
8015                                                               x335, x288, x319);
8016     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x338, &x339,
8017                                                               x337, x290, x321);
8018     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x340, &x341,
8019                                                               x339, x292, x323);
8020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x342, &x343, x324,
8021                                                          UINT32_C(0x727c176d));
8022     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x344, &x345, x342,
8023                                                          UINT32_C(0x9b9f605f));
8024     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x346, &x347, x342,
8025                                                          UINT32_C(0x5a858107));
8026     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x348, &x349, x342,
8027                                                          UINT32_C(0xab1ec85e));
8028     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x350, &x351, x342,
8029                                                          UINT32_C(0x6b41c8aa));
8030     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x352, &x353, x342,
8031                                                          UINT32_C(0xcf846e86));
8032     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x354, &x355, x342,
8033                                                          UINT32_C(0x789051d3));
8034     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x356, &x357, x342,
8035                                                          UINT32_C(0x7998f7b9));
8036     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x358, &x359, x342,
8037                                                          UINT32_C(0x22d759b));
8038     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x360, &x361, 0x0,
8039                                                               x359, x356);
8040     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x362, &x363,
8041                                                               x361, x357, x354);
8042     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x364, &x365,
8043                                                               x363, x355, x352);
8044     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x366, &x367,
8045                                                               x365, x353, x350);
8046     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x368, &x369,
8047                                                               x367, x351, x348);
8048     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x370, &x371,
8049                                                               x369, x349, x346);
8050     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x372, &x373,
8051                                                               x371, x347, x344);
8052     x374 = (x373 + x345);
8053     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x375, &x376, 0x0,
8054                                                               x324, x358);
8055     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x377, &x378,
8056                                                               x376, x326, x360);
8057     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x379, &x380,
8058                                                               x378, x328, x362);
8059     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x381, &x382,
8060                                                               x380, x330, x364);
8061     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x383, &x384,
8062                                                               x382, x332, x366);
8063     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x385, &x386,
8064                                                               x384, x334, x368);
8065     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x387, &x388,
8066                                                               x386, x336, x370);
8067     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x389, &x390,
8068                                                               x388, x338, x372);
8069     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x391, &x392,
8070                                                               x390, x340, x374);
8071     x393 = ((uint32_t)x392 + x341);
8072     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x394, &x395, x4,
8073                                                          (arg1[7]));
8074     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x396, &x397, x4,
8075                                                          (arg1[6]));
8076     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x398, &x399, x4,
8077                                                          (arg1[5]));
8078     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x400, &x401, x4,
8079                                                          (arg1[4]));
8080     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x402, &x403, x4,
8081                                                          (arg1[3]));
8082     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x404, &x405, x4,
8083                                                          (arg1[2]));
8084     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x406, &x407, x4,
8085                                                          (arg1[1]));
8086     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x408, &x409, x4,
8087                                                          (arg1[0]));
8088     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x410, &x411, 0x0,
8089                                                               x409, x406);
8090     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x412, &x413,
8091                                                               x411, x407, x404);
8092     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x414, &x415,
8093                                                               x413, x405, x402);
8094     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x416, &x417,
8095                                                               x415, x403, x400);
8096     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x418, &x419,
8097                                                               x417, x401, x398);
8098     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x420, &x421,
8099                                                               x419, x399, x396);
8100     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x422, &x423,
8101                                                               x421, x397, x394);
8102     x424 = (x423 + x395);
8103     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x425, &x426, 0x0,
8104                                                               x377, x408);
8105     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x427, &x428,
8106                                                               x426, x379, x410);
8107     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x429, &x430,
8108                                                               x428, x381, x412);
8109     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x431, &x432,
8110                                                               x430, x383, x414);
8111     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x433, &x434,
8112                                                               x432, x385, x416);
8113     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x435, &x436,
8114                                                               x434, x387, x418);
8115     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x437, &x438,
8116                                                               x436, x389, x420);
8117     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x439, &x440,
8118                                                               x438, x391, x422);
8119     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x441, &x442,
8120                                                               x440, x393, x424);
8121     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x443, &x444, x425,
8122                                                          UINT32_C(0x727c176d));
8123     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x445, &x446, x443,
8124                                                          UINT32_C(0x9b9f605f));
8125     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x447, &x448, x443,
8126                                                          UINT32_C(0x5a858107));
8127     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x449, &x450, x443,
8128                                                          UINT32_C(0xab1ec85e));
8129     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x451, &x452, x443,
8130                                                          UINT32_C(0x6b41c8aa));
8131     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x453, &x454, x443,
8132                                                          UINT32_C(0xcf846e86));
8133     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x455, &x456, x443,
8134                                                          UINT32_C(0x789051d3));
8135     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x457, &x458, x443,
8136                                                          UINT32_C(0x7998f7b9));
8137     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x459, &x460, x443,
8138                                                          UINT32_C(0x22d759b));
8139     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x461, &x462, 0x0,
8140                                                               x460, x457);
8141     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x463, &x464,
8142                                                               x462, x458, x455);
8143     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x465, &x466,
8144                                                               x464, x456, x453);
8145     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x467, &x468,
8146                                                               x466, x454, x451);
8147     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x469, &x470,
8148                                                               x468, x452, x449);
8149     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x471, &x472,
8150                                                               x470, x450, x447);
8151     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x473, &x474,
8152                                                               x472, x448, x445);
8153     x475 = (x474 + x446);
8154     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x476, &x477, 0x0,
8155                                                               x425, x459);
8156     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x478, &x479,
8157                                                               x477, x427, x461);
8158     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x480, &x481,
8159                                                               x479, x429, x463);
8160     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x482, &x483,
8161                                                               x481, x431, x465);
8162     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x484, &x485,
8163                                                               x483, x433, x467);
8164     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x486, &x487,
8165                                                               x485, x435, x469);
8166     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x488, &x489,
8167                                                               x487, x437, x471);
8168     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x490, &x491,
8169                                                               x489, x439, x473);
8170     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x492, &x493,
8171                                                               x491, x441, x475);
8172     x494 = ((uint32_t)x493 + x442);
8173     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x495, &x496, x5,
8174                                                          (arg1[7]));
8175     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x497, &x498, x5,
8176                                                          (arg1[6]));
8177     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x499, &x500, x5,
8178                                                          (arg1[5]));
8179     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x501, &x502, x5,
8180                                                          (arg1[4]));
8181     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x503, &x504, x5,
8182                                                          (arg1[3]));
8183     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x505, &x506, x5,
8184                                                          (arg1[2]));
8185     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x507, &x508, x5,
8186                                                          (arg1[1]));
8187     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x509, &x510, x5,
8188                                                          (arg1[0]));
8189     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x511, &x512, 0x0,
8190                                                               x510, x507);
8191     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x513, &x514,
8192                                                               x512, x508, x505);
8193     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x515, &x516,
8194                                                               x514, x506, x503);
8195     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x517, &x518,
8196                                                               x516, x504, x501);
8197     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x519, &x520,
8198                                                               x518, x502, x499);
8199     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x521, &x522,
8200                                                               x520, x500, x497);
8201     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x523, &x524,
8202                                                               x522, x498, x495);
8203     x525 = (x524 + x496);
8204     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x526, &x527, 0x0,
8205                                                               x478, x509);
8206     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x528, &x529,
8207                                                               x527, x480, x511);
8208     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x530, &x531,
8209                                                               x529, x482, x513);
8210     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x532, &x533,
8211                                                               x531, x484, x515);
8212     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x534, &x535,
8213                                                               x533, x486, x517);
8214     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x536, &x537,
8215                                                               x535, x488, x519);
8216     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x538, &x539,
8217                                                               x537, x490, x521);
8218     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x540, &x541,
8219                                                               x539, x492, x523);
8220     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x542, &x543,
8221                                                               x541, x494, x525);
8222     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x544, &x545, x526,
8223                                                          UINT32_C(0x727c176d));
8224     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x546, &x547, x544,
8225                                                          UINT32_C(0x9b9f605f));
8226     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x548, &x549, x544,
8227                                                          UINT32_C(0x5a858107));
8228     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x550, &x551, x544,
8229                                                          UINT32_C(0xab1ec85e));
8230     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x552, &x553, x544,
8231                                                          UINT32_C(0x6b41c8aa));
8232     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x554, &x555, x544,
8233                                                          UINT32_C(0xcf846e86));
8234     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x556, &x557, x544,
8235                                                          UINT32_C(0x789051d3));
8236     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x558, &x559, x544,
8237                                                          UINT32_C(0x7998f7b9));
8238     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x560, &x561, x544,
8239                                                          UINT32_C(0x22d759b));
8240     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x562, &x563, 0x0,
8241                                                               x561, x558);
8242     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x564, &x565,
8243                                                               x563, x559, x556);
8244     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x566, &x567,
8245                                                               x565, x557, x554);
8246     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x568, &x569,
8247                                                               x567, x555, x552);
8248     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x570, &x571,
8249                                                               x569, x553, x550);
8250     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x572, &x573,
8251                                                               x571, x551, x548);
8252     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x574, &x575,
8253                                                               x573, x549, x546);
8254     x576 = (x575 + x547);
8255     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x577, &x578, 0x0,
8256                                                               x526, x560);
8257     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x579, &x580,
8258                                                               x578, x528, x562);
8259     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x581, &x582,
8260                                                               x580, x530, x564);
8261     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x583, &x584,
8262                                                               x582, x532, x566);
8263     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x585, &x586,
8264                                                               x584, x534, x568);
8265     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x587, &x588,
8266                                                               x586, x536, x570);
8267     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x589, &x590,
8268                                                               x588, x538, x572);
8269     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x591, &x592,
8270                                                               x590, x540, x574);
8271     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x593, &x594,
8272                                                               x592, x542, x576);
8273     x595 = ((uint32_t)x594 + x543);
8274     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x596, &x597, x6,
8275                                                          (arg1[7]));
8276     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x598, &x599, x6,
8277                                                          (arg1[6]));
8278     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x600, &x601, x6,
8279                                                          (arg1[5]));
8280     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x602, &x603, x6,
8281                                                          (arg1[4]));
8282     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x604, &x605, x6,
8283                                                          (arg1[3]));
8284     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x606, &x607, x6,
8285                                                          (arg1[2]));
8286     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x608, &x609, x6,
8287                                                          (arg1[1]));
8288     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x610, &x611, x6,
8289                                                          (arg1[0]));
8290     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x612, &x613, 0x0,
8291                                                               x611, x608);
8292     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x614, &x615,
8293                                                               x613, x609, x606);
8294     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x616, &x617,
8295                                                               x615, x607, x604);
8296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x618, &x619,
8297                                                               x617, x605, x602);
8298     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x620, &x621,
8299                                                               x619, x603, x600);
8300     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x622, &x623,
8301                                                               x621, x601, x598);
8302     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x624, &x625,
8303                                                               x623, x599, x596);
8304     x626 = (x625 + x597);
8305     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x627, &x628, 0x0,
8306                                                               x579, x610);
8307     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x629, &x630,
8308                                                               x628, x581, x612);
8309     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x631, &x632,
8310                                                               x630, x583, x614);
8311     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x633, &x634,
8312                                                               x632, x585, x616);
8313     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x635, &x636,
8314                                                               x634, x587, x618);
8315     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x637, &x638,
8316                                                               x636, x589, x620);
8317     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x639, &x640,
8318                                                               x638, x591, x622);
8319     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x641, &x642,
8320                                                               x640, x593, x624);
8321     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x643, &x644,
8322                                                               x642, x595, x626);
8323     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x645, &x646, x627,
8324                                                          UINT32_C(0x727c176d));
8325     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x647, &x648, x645,
8326                                                          UINT32_C(0x9b9f605f));
8327     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x649, &x650, x645,
8328                                                          UINT32_C(0x5a858107));
8329     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x651, &x652, x645,
8330                                                          UINT32_C(0xab1ec85e));
8331     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x653, &x654, x645,
8332                                                          UINT32_C(0x6b41c8aa));
8333     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x655, &x656, x645,
8334                                                          UINT32_C(0xcf846e86));
8335     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x657, &x658, x645,
8336                                                          UINT32_C(0x789051d3));
8337     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x659, &x660, x645,
8338                                                          UINT32_C(0x7998f7b9));
8339     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x661, &x662, x645,
8340                                                          UINT32_C(0x22d759b));
8341     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x663, &x664, 0x0,
8342                                                               x662, x659);
8343     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x665, &x666,
8344                                                               x664, x660, x657);
8345     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x667, &x668,
8346                                                               x666, x658, x655);
8347     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x669, &x670,
8348                                                               x668, x656, x653);
8349     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x671, &x672,
8350                                                               x670, x654, x651);
8351     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x673, &x674,
8352                                                               x672, x652, x649);
8353     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x675, &x676,
8354                                                               x674, x650, x647);
8355     x677 = (x676 + x648);
8356     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x678, &x679, 0x0,
8357                                                               x627, x661);
8358     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x680, &x681,
8359                                                               x679, x629, x663);
8360     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x682, &x683,
8361                                                               x681, x631, x665);
8362     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x684, &x685,
8363                                                               x683, x633, x667);
8364     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x686, &x687,
8365                                                               x685, x635, x669);
8366     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x688, &x689,
8367                                                               x687, x637, x671);
8368     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x690, &x691,
8369                                                               x689, x639, x673);
8370     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x692, &x693,
8371                                                               x691, x641, x675);
8372     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x694, &x695,
8373                                                               x693, x643, x677);
8374     x696 = ((uint32_t)x695 + x644);
8375     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x697, &x698, x7,
8376                                                          (arg1[7]));
8377     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x699, &x700, x7,
8378                                                          (arg1[6]));
8379     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x701, &x702, x7,
8380                                                          (arg1[5]));
8381     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x703, &x704, x7,
8382                                                          (arg1[4]));
8383     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x705, &x706, x7,
8384                                                          (arg1[3]));
8385     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x707, &x708, x7,
8386                                                          (arg1[2]));
8387     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x709, &x710, x7,
8388                                                          (arg1[1]));
8389     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x711, &x712, x7,
8390                                                          (arg1[0]));
8391     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x713, &x714, 0x0,
8392                                                               x712, x709);
8393     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x715, &x716,
8394                                                               x714, x710, x707);
8395     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x717, &x718,
8396                                                               x716, x708, x705);
8397     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x719, &x720,
8398                                                               x718, x706, x703);
8399     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x721, &x722,
8400                                                               x720, x704, x701);
8401     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x723, &x724,
8402                                                               x722, x702, x699);
8403     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x725, &x726,
8404                                                               x724, x700, x697);
8405     x727 = (x726 + x698);
8406     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x728, &x729, 0x0,
8407                                                               x680, x711);
8408     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x730, &x731,
8409                                                               x729, x682, x713);
8410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x732, &x733,
8411                                                               x731, x684, x715);
8412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x734, &x735,
8413                                                               x733, x686, x717);
8414     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x736, &x737,
8415                                                               x735, x688, x719);
8416     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x738, &x739,
8417                                                               x737, x690, x721);
8418     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x740, &x741,
8419                                                               x739, x692, x723);
8420     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x742, &x743,
8421                                                               x741, x694, x725);
8422     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x744, &x745,
8423                                                               x743, x696, x727);
8424     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x746, &x747, x728,
8425                                                          UINT32_C(0x727c176d));
8426     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x748, &x749, x746,
8427                                                          UINT32_C(0x9b9f605f));
8428     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x750, &x751, x746,
8429                                                          UINT32_C(0x5a858107));
8430     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x752, &x753, x746,
8431                                                          UINT32_C(0xab1ec85e));
8432     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x754, &x755, x746,
8433                                                          UINT32_C(0x6b41c8aa));
8434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x756, &x757, x746,
8435                                                          UINT32_C(0xcf846e86));
8436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x758, &x759, x746,
8437                                                          UINT32_C(0x789051d3));
8438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x760, &x761, x746,
8439                                                          UINT32_C(0x7998f7b9));
8440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x762, &x763, x746,
8441                                                          UINT32_C(0x22d759b));
8442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x764, &x765, 0x0,
8443                                                               x763, x760);
8444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x766, &x767,
8445                                                               x765, x761, x758);
8446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x768, &x769,
8447                                                               x767, x759, x756);
8448     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x770, &x771,
8449                                                               x769, x757, x754);
8450     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x772, &x773,
8451                                                               x771, x755, x752);
8452     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x774, &x775,
8453                                                               x773, x753, x750);
8454     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x776, &x777,
8455                                                               x775, x751, x748);
8456     x778 = (x777 + x749);
8457     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x779, &x780, 0x0,
8458                                                               x728, x762);
8459     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x781, &x782,
8460                                                               x780, x730, x764);
8461     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x783, &x784,
8462                                                               x782, x732, x766);
8463     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x785, &x786,
8464                                                               x784, x734, x768);
8465     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x787, &x788,
8466                                                               x786, x736, x770);
8467     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x789, &x790,
8468                                                               x788, x738, x772);
8469     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x791, &x792,
8470                                                               x790, x740, x774);
8471     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x793, &x794,
8472                                                               x792, x742, x776);
8473     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x795, &x796,
8474                                                               x794, x744, x778);
8475     x797 = ((uint32_t)x796 + x745);
8476     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8477         &x798, &x799, 0x0, x781, UINT32_C(0x22d759b));
8478     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8479         &x800, &x801, x799, x783, UINT32_C(0x7998f7b9));
8480     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8481         &x802, &x803, x801, x785, UINT32_C(0x789051d3));
8482     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8483         &x804, &x805, x803, x787, UINT32_C(0xcf846e86));
8484     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8485         &x806, &x807, x805, x789, UINT32_C(0x6b41c8aa));
8486     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8487         &x808, &x809, x807, x791, UINT32_C(0xab1ec85e));
8488     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8489         &x810, &x811, x809, x793, UINT32_C(0x5a858107));
8490     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8491         &x812, &x813, x811, x795, UINT32_C(0x9b9f605f));
8492     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x814, &x815,
8493                                                                x813, x797, 0x0);
8494     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x816, x815, x798,
8495                                                             x781);
8496     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x817, x815, x800,
8497                                                             x783);
8498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x818, x815, x802,
8499                                                             x785);
8500     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x819, x815, x804,
8501                                                             x787);
8502     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x820, x815, x806,
8503                                                             x789);
8504     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x821, x815, x808,
8505                                                             x791);
8506     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x822, x815, x810,
8507                                                             x793);
8508     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x823, x815, x812,
8509                                                             x795);
8510     out1[0] = x816;
8511     out1[1] = x817;
8512     out1[2] = x818;
8513     out1[3] = x819;
8514     out1[4] = x820;
8515     out1[5] = x821;
8516     out1[6] = x822;
8517     out1[7] = x823;
8518 }
8519
8520 /*
8521  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add adds two field elements in the Montgomery domain.
8522  * Preconditions:
8523  *   0 ≤ eval arg1 < m
8524  *   0 ≤ eval arg2 < m
8525  * Postconditions:
8526  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
8527  *   0 ≤ eval out1 < m
8528  *
8529  * Input Bounds:
8530  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8531  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8532  * Output Bounds:
8533  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8534  */
8535 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(
8536     uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
8537     uint32_t x1;
8538     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
8539     uint32_t x3;
8540     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
8541     uint32_t x5;
8542     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
8543     uint32_t x7;
8544     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
8545     uint32_t x9;
8546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
8547     uint32_t x11;
8548     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
8549     uint32_t x13;
8550     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
8551     uint32_t x15;
8552     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
8553     uint32_t x17;
8554     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x18;
8555     uint32_t x19;
8556     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x20;
8557     uint32_t x21;
8558     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x22;
8559     uint32_t x23;
8560     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x24;
8561     uint32_t x25;
8562     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
8563     uint32_t x27;
8564     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
8565     uint32_t x29;
8566     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
8567     uint32_t x31;
8568     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
8569     uint32_t x33;
8570     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
8571     uint32_t x35;
8572     uint32_t x36;
8573     uint32_t x37;
8574     uint32_t x38;
8575     uint32_t x39;
8576     uint32_t x40;
8577     uint32_t x41;
8578     uint32_t x42;
8579     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8580         &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
8581     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8582         &x3, &x4, x2, (arg1[1]), (arg2[1]));
8583     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8584         &x5, &x6, x4, (arg1[2]), (arg2[2]));
8585     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8586         &x7, &x8, x6, (arg1[3]), (arg2[3]));
8587     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8588         &x9, &x10, x8, (arg1[4]), (arg2[4]));
8589     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8590         &x11, &x12, x10, (arg1[5]), (arg2[5]));
8591     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8592         &x13, &x14, x12, (arg1[6]), (arg2[6]));
8593     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8594         &x15, &x16, x14, (arg1[7]), (arg2[7]));
8595     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8596         &x17, &x18, 0x0, x1, UINT32_C(0x22d759b));
8597     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8598         &x19, &x20, x18, x3, UINT32_C(0x7998f7b9));
8599     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8600         &x21, &x22, x20, x5, UINT32_C(0x789051d3));
8601     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8602         &x23, &x24, x22, x7, UINT32_C(0xcf846e86));
8603     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8604         &x25, &x26, x24, x9, UINT32_C(0x6b41c8aa));
8605     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8606         &x27, &x28, x26, x11, UINT32_C(0xab1ec85e));
8607     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8608         &x29, &x30, x28, x13, UINT32_C(0x5a858107));
8609     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8610         &x31, &x32, x30, x15, UINT32_C(0x9b9f605f));
8611     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x33, &x34, x32,
8612                                                                x16, 0x0);
8613     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x35, x34, x17, x1);
8614     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x36, x34, x19, x3);
8615     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x37, x34, x21, x5);
8616     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x38, x34, x23, x7);
8617     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x39, x34, x25, x9);
8618     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x40, x34, x27,
8619                                                             x11);
8620     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x41, x34, x29,
8621                                                             x13);
8622     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x42, x34, x31,
8623                                                             x15);
8624     out1[0] = x35;
8625     out1[1] = x36;
8626     out1[2] = x37;
8627     out1[3] = x38;
8628     out1[4] = x39;
8629     out1[5] = x40;
8630     out1[6] = x41;
8631     out1[7] = x42;
8632 }
8633
8634 /*
8635  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub subtracts two field elements in the Montgomery domain.
8636  * Preconditions:
8637  *   0 ≤ eval arg1 < m
8638  *   0 ≤ eval arg2 < m
8639  * Postconditions:
8640  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
8641  *   0 ≤ eval out1 < m
8642  *
8643  * Input Bounds:
8644  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8645  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8646  * Output Bounds:
8647  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8648  */
8649 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(
8650     uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
8651     uint32_t x1;
8652     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
8653     uint32_t x3;
8654     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
8655     uint32_t x5;
8656     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
8657     uint32_t x7;
8658     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
8659     uint32_t x9;
8660     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
8661     uint32_t x11;
8662     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
8663     uint32_t x13;
8664     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
8665     uint32_t x15;
8666     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
8667     uint32_t x17;
8668     uint32_t x18;
8669     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x19;
8670     uint32_t x20;
8671     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
8672     uint32_t x22;
8673     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
8674     uint32_t x24;
8675     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
8676     uint32_t x26;
8677     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
8678     uint32_t x28;
8679     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
8680     uint32_t x30;
8681     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
8682     uint32_t x32;
8683     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
8684     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8685         &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
8686     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8687         &x3, &x4, x2, (arg1[1]), (arg2[1]));
8688     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8689         &x5, &x6, x4, (arg1[2]), (arg2[2]));
8690     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8691         &x7, &x8, x6, (arg1[3]), (arg2[3]));
8692     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8693         &x9, &x10, x8, (arg1[4]), (arg2[4]));
8694     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8695         &x11, &x12, x10, (arg1[5]), (arg2[5]));
8696     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8697         &x13, &x14, x12, (arg1[6]), (arg2[6]));
8698     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8699         &x15, &x16, x14, (arg1[7]), (arg2[7]));
8700     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
8701         &x17, x16, 0x0, UINT32_C(0xffffffff));
8702     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8703         &x18, &x19, 0x0, x1, (x17 & UINT32_C(0x22d759b)));
8704     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8705         &x20, &x21, x19, x3, (x17 & UINT32_C(0x7998f7b9)));
8706     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8707         &x22, &x23, x21, x5, (x17 & UINT32_C(0x789051d3)));
8708     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8709         &x24, &x25, x23, x7, (x17 & UINT32_C(0xcf846e86)));
8710     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8711         &x26, &x27, x25, x9, (x17 & UINT32_C(0x6b41c8aa)));
8712     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8713         &x28, &x29, x27, x11, (x17 & UINT32_C(0xab1ec85e)));
8714     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8715         &x30, &x31, x29, x13, (x17 & UINT32_C(0x5a858107)));
8716     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8717         &x32, &x33, x31, x15, (x17 & UINT32_C(0x9b9f605f)));
8718     out1[0] = x18;
8719     out1[1] = x20;
8720     out1[2] = x22;
8721     out1[3] = x24;
8722     out1[4] = x26;
8723     out1[5] = x28;
8724     out1[6] = x30;
8725     out1[7] = x32;
8726 }
8727
8728 /*
8729  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp negates a field element in the Montgomery domain.
8730  * Preconditions:
8731  *   0 ≤ eval arg1 < m
8732  * Postconditions:
8733  *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
8734  *   0 ≤ eval out1 < m
8735  *
8736  * Input Bounds:
8737  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8738  * Output Bounds:
8739  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8740  */
8741 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(
8742     uint32_t out1[8], const uint32_t arg1[8]) {
8743     uint32_t x1;
8744     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
8745     uint32_t x3;
8746     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
8747     uint32_t x5;
8748     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
8749     uint32_t x7;
8750     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
8751     uint32_t x9;
8752     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
8753     uint32_t x11;
8754     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
8755     uint32_t x13;
8756     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
8757     uint32_t x15;
8758     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
8759     uint32_t x17;
8760     uint32_t x18;
8761     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x19;
8762     uint32_t x20;
8763     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
8764     uint32_t x22;
8765     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
8766     uint32_t x24;
8767     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
8768     uint32_t x26;
8769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
8770     uint32_t x28;
8771     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
8772     uint32_t x30;
8773     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
8774     uint32_t x32;
8775     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
8776     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x1, &x2, 0x0,
8777                                                                0x0, (arg1[0]));
8778     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x3, &x4, x2,
8779                                                                0x0, (arg1[1]));
8780     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x5, &x6, x4,
8781                                                                0x0, (arg1[2]));
8782     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x7, &x8, x6,
8783                                                                0x0, (arg1[3]));
8784     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x9, &x10, x8,
8785                                                                0x0, (arg1[4]));
8786     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x11, &x12, x10,
8787                                                                0x0, (arg1[5]));
8788     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x13, &x14, x12,
8789                                                                0x0, (arg1[6]));
8790     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x15, &x16, x14,
8791                                                                0x0, (arg1[7]));
8792     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
8793         &x17, x16, 0x0, UINT32_C(0xffffffff));
8794     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8795         &x18, &x19, 0x0, x1, (x17 & UINT32_C(0x22d759b)));
8796     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8797         &x20, &x21, x19, x3, (x17 & UINT32_C(0x7998f7b9)));
8798     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8799         &x22, &x23, x21, x5, (x17 & UINT32_C(0x789051d3)));
8800     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8801         &x24, &x25, x23, x7, (x17 & UINT32_C(0xcf846e86)));
8802     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8803         &x26, &x27, x25, x9, (x17 & UINT32_C(0x6b41c8aa)));
8804     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8805         &x28, &x29, x27, x11, (x17 & UINT32_C(0xab1ec85e)));
8806     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8807         &x30, &x31, x29, x13, (x17 & UINT32_C(0x5a858107)));
8808     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8809         &x32, &x33, x31, x15, (x17 & UINT32_C(0x9b9f605f)));
8810     out1[0] = x18;
8811     out1[1] = x20;
8812     out1[2] = x22;
8813     out1[3] = x24;
8814     out1[4] = x26;
8815     out1[5] = x28;
8816     out1[6] = x30;
8817     out1[7] = x32;
8818 }
8819
8820 /*
8821  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery translates a field element out of the Montgomery domain.
8822  * Preconditions:
8823  *   0 ≤ eval arg1 < m
8824  * Postconditions:
8825  *   eval out1 mod m = (eval arg1 * ((2^32)⁻¹ mod m)^8) mod m
8826  *   0 ≤ eval out1 < m
8827  *
8828  * Input Bounds:
8829  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8830  * Output Bounds:
8831  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8832  */
8833 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(
8834     uint32_t out1[8], const uint32_t arg1[8]) {
8835     uint32_t x1;
8836     uint32_t x2;
8837     uint32_t x3;
8838     uint32_t x4;
8839     uint32_t x5;
8840     uint32_t x6;
8841     uint32_t x7;
8842     uint32_t x8;
8843     uint32_t x9;
8844     uint32_t x10;
8845     uint32_t x11;
8846     uint32_t x12;
8847     uint32_t x13;
8848     uint32_t x14;
8849     uint32_t x15;
8850     uint32_t x16;
8851     uint32_t x17;
8852     uint32_t x18;
8853     uint32_t x19;
8854     uint32_t x20;
8855     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
8856     uint32_t x22;
8857     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
8858     uint32_t x24;
8859     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
8860     uint32_t x26;
8861     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
8862     uint32_t x28;
8863     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
8864     uint32_t x30;
8865     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
8866     uint32_t x32;
8867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
8868     uint32_t x34;
8869     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x35;
8870     uint32_t x36;
8871     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x37;
8872     uint32_t x38;
8873     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x39;
8874     uint32_t x40;
8875     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x41;
8876     uint32_t x42;
8877     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x43;
8878     uint32_t x44;
8879     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x45;
8880     uint32_t x46;
8881     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x47;
8882     uint32_t x48;
8883     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x49;
8884     uint32_t x50;
8885     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x51;
8886     uint32_t x52;
8887     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x53;
8888     uint32_t x54;
8889     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x55;
8890     uint32_t x56;
8891     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x57;
8892     uint32_t x58;
8893     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
8894     uint32_t x60;
8895     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
8896     uint32_t x62;
8897     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
8898     uint32_t x64;
8899     uint32_t x65;
8900     uint32_t x66;
8901     uint32_t x67;
8902     uint32_t x68;
8903     uint32_t x69;
8904     uint32_t x70;
8905     uint32_t x71;
8906     uint32_t x72;
8907     uint32_t x73;
8908     uint32_t x74;
8909     uint32_t x75;
8910     uint32_t x76;
8911     uint32_t x77;
8912     uint32_t x78;
8913     uint32_t x79;
8914     uint32_t x80;
8915     uint32_t x81;
8916     uint32_t x82;
8917     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x83;
8918     uint32_t x84;
8919     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x85;
8920     uint32_t x86;
8921     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x87;
8922     uint32_t x88;
8923     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x89;
8924     uint32_t x90;
8925     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x91;
8926     uint32_t x92;
8927     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x93;
8928     uint32_t x94;
8929     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x95;
8930     uint32_t x96;
8931     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x97;
8932     uint32_t x98;
8933     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x99;
8934     uint32_t x100;
8935     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x101;
8936     uint32_t x102;
8937     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x103;
8938     uint32_t x104;
8939     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x105;
8940     uint32_t x106;
8941     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x107;
8942     uint32_t x108;
8943     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x109;
8944     uint32_t x110;
8945     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x111;
8946     uint32_t x112;
8947     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x113;
8948     uint32_t x114;
8949     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x115;
8950     uint32_t x116;
8951     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x117;
8952     uint32_t x118;
8953     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x119;
8954     uint32_t x120;
8955     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x121;
8956     uint32_t x122;
8957     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x123;
8958     uint32_t x124;
8959     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x125;
8960     uint32_t x126;
8961     uint32_t x127;
8962     uint32_t x128;
8963     uint32_t x129;
8964     uint32_t x130;
8965     uint32_t x131;
8966     uint32_t x132;
8967     uint32_t x133;
8968     uint32_t x134;
8969     uint32_t x135;
8970     uint32_t x136;
8971     uint32_t x137;
8972     uint32_t x138;
8973     uint32_t x139;
8974     uint32_t x140;
8975     uint32_t x141;
8976     uint32_t x142;
8977     uint32_t x143;
8978     uint32_t x144;
8979     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x145;
8980     uint32_t x146;
8981     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x147;
8982     uint32_t x148;
8983     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x149;
8984     uint32_t x150;
8985     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x151;
8986     uint32_t x152;
8987     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x153;
8988     uint32_t x154;
8989     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x155;
8990     uint32_t x156;
8991     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x157;
8992     uint32_t x158;
8993     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x159;
8994     uint32_t x160;
8995     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x161;
8996     uint32_t x162;
8997     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x163;
8998     uint32_t x164;
8999     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x165;
9000     uint32_t x166;
9001     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x167;
9002     uint32_t x168;
9003     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
9004     uint32_t x170;
9005     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
9006     uint32_t x172;
9007     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x173;
9008     uint32_t x174;
9009     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x175;
9010     uint32_t x176;
9011     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x177;
9012     uint32_t x178;
9013     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x179;
9014     uint32_t x180;
9015     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x181;
9016     uint32_t x182;
9017     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x183;
9018     uint32_t x184;
9019     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x185;
9020     uint32_t x186;
9021     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x187;
9022     uint32_t x188;
9023     uint32_t x189;
9024     uint32_t x190;
9025     uint32_t x191;
9026     uint32_t x192;
9027     uint32_t x193;
9028     uint32_t x194;
9029     uint32_t x195;
9030     uint32_t x196;
9031     uint32_t x197;
9032     uint32_t x198;
9033     uint32_t x199;
9034     uint32_t x200;
9035     uint32_t x201;
9036     uint32_t x202;
9037     uint32_t x203;
9038     uint32_t x204;
9039     uint32_t x205;
9040     uint32_t x206;
9041     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x207;
9042     uint32_t x208;
9043     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
9044     uint32_t x210;
9045     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
9046     uint32_t x212;
9047     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
9048     uint32_t x214;
9049     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
9050     uint32_t x216;
9051     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x217;
9052     uint32_t x218;
9053     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x219;
9054     uint32_t x220;
9055     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x221;
9056     uint32_t x222;
9057     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x223;
9058     uint32_t x224;
9059     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x225;
9060     uint32_t x226;
9061     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x227;
9062     uint32_t x228;
9063     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x229;
9064     uint32_t x230;
9065     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x231;
9066     uint32_t x232;
9067     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x233;
9068     uint32_t x234;
9069     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x235;
9070     uint32_t x236;
9071     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x237;
9072     uint32_t x238;
9073     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x239;
9074     uint32_t x240;
9075     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x241;
9076     uint32_t x242;
9077     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x243;
9078     uint32_t x244;
9079     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x245;
9080     uint32_t x246;
9081     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x247;
9082     uint32_t x248;
9083     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x249;
9084     uint32_t x250;
9085     uint32_t x251;
9086     uint32_t x252;
9087     uint32_t x253;
9088     uint32_t x254;
9089     uint32_t x255;
9090     uint32_t x256;
9091     uint32_t x257;
9092     uint32_t x258;
9093     uint32_t x259;
9094     uint32_t x260;
9095     uint32_t x261;
9096     uint32_t x262;
9097     uint32_t x263;
9098     uint32_t x264;
9099     uint32_t x265;
9100     uint32_t x266;
9101     uint32_t x267;
9102     uint32_t x268;
9103     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x269;
9104     uint32_t x270;
9105     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x271;
9106     uint32_t x272;
9107     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x273;
9108     uint32_t x274;
9109     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x275;
9110     uint32_t x276;
9111     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x277;
9112     uint32_t x278;
9113     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x279;
9114     uint32_t x280;
9115     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x281;
9116     uint32_t x282;
9117     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x283;
9118     uint32_t x284;
9119     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x285;
9120     uint32_t x286;
9121     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x287;
9122     uint32_t x288;
9123     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x289;
9124     uint32_t x290;
9125     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x291;
9126     uint32_t x292;
9127     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x293;
9128     uint32_t x294;
9129     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x295;
9130     uint32_t x296;
9131     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x297;
9132     uint32_t x298;
9133     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x299;
9134     uint32_t x300;
9135     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x301;
9136     uint32_t x302;
9137     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x303;
9138     uint32_t x304;
9139     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x305;
9140     uint32_t x306;
9141     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x307;
9142     uint32_t x308;
9143     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x309;
9144     uint32_t x310;
9145     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x311;
9146     uint32_t x312;
9147     uint32_t x313;
9148     uint32_t x314;
9149     uint32_t x315;
9150     uint32_t x316;
9151     uint32_t x317;
9152     uint32_t x318;
9153     uint32_t x319;
9154     uint32_t x320;
9155     uint32_t x321;
9156     uint32_t x322;
9157     uint32_t x323;
9158     uint32_t x324;
9159     uint32_t x325;
9160     uint32_t x326;
9161     uint32_t x327;
9162     uint32_t x328;
9163     uint32_t x329;
9164     uint32_t x330;
9165     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x331;
9166     uint32_t x332;
9167     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x333;
9168     uint32_t x334;
9169     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x335;
9170     uint32_t x336;
9171     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x337;
9172     uint32_t x338;
9173     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x339;
9174     uint32_t x340;
9175     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x341;
9176     uint32_t x342;
9177     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x343;
9178     uint32_t x344;
9179     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x345;
9180     uint32_t x346;
9181     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x347;
9182     uint32_t x348;
9183     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x349;
9184     uint32_t x350;
9185     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x351;
9186     uint32_t x352;
9187     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x353;
9188     uint32_t x354;
9189     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x355;
9190     uint32_t x356;
9191     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x357;
9192     uint32_t x358;
9193     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x359;
9194     uint32_t x360;
9195     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x361;
9196     uint32_t x362;
9197     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x363;
9198     uint32_t x364;
9199     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x365;
9200     uint32_t x366;
9201     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x367;
9202     uint32_t x368;
9203     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x369;
9204     uint32_t x370;
9205     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x371;
9206     uint32_t x372;
9207     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x373;
9208     uint32_t x374;
9209     uint32_t x375;
9210     uint32_t x376;
9211     uint32_t x377;
9212     uint32_t x378;
9213     uint32_t x379;
9214     uint32_t x380;
9215     uint32_t x381;
9216     uint32_t x382;
9217     uint32_t x383;
9218     uint32_t x384;
9219     uint32_t x385;
9220     uint32_t x386;
9221     uint32_t x387;
9222     uint32_t x388;
9223     uint32_t x389;
9224     uint32_t x390;
9225     uint32_t x391;
9226     uint32_t x392;
9227     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x393;
9228     uint32_t x394;
9229     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x395;
9230     uint32_t x396;
9231     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x397;
9232     uint32_t x398;
9233     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x399;
9234     uint32_t x400;
9235     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x401;
9236     uint32_t x402;
9237     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x403;
9238     uint32_t x404;
9239     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x405;
9240     uint32_t x406;
9241     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x407;
9242     uint32_t x408;
9243     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x409;
9244     uint32_t x410;
9245     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x411;
9246     uint32_t x412;
9247     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x413;
9248     uint32_t x414;
9249     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x415;
9250     uint32_t x416;
9251     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x417;
9252     uint32_t x418;
9253     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x419;
9254     uint32_t x420;
9255     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x421;
9256     uint32_t x422;
9257     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x423;
9258     uint32_t x424;
9259     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x425;
9260     uint32_t x426;
9261     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x427;
9262     uint32_t x428;
9263     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x429;
9264     uint32_t x430;
9265     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x431;
9266     uint32_t x432;
9267     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x433;
9268     uint32_t x434;
9269     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x435;
9270     uint32_t x436;
9271     uint32_t x437;
9272     uint32_t x438;
9273     uint32_t x439;
9274     uint32_t x440;
9275     uint32_t x441;
9276     uint32_t x442;
9277     uint32_t x443;
9278     uint32_t x444;
9279     uint32_t x445;
9280     uint32_t x446;
9281     uint32_t x447;
9282     uint32_t x448;
9283     uint32_t x449;
9284     uint32_t x450;
9285     uint32_t x451;
9286     uint32_t x452;
9287     uint32_t x453;
9288     uint32_t x454;
9289     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x455;
9290     uint32_t x456;
9291     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x457;
9292     uint32_t x458;
9293     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x459;
9294     uint32_t x460;
9295     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x461;
9296     uint32_t x462;
9297     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x463;
9298     uint32_t x464;
9299     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x465;
9300     uint32_t x466;
9301     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x467;
9302     uint32_t x468;
9303     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x469;
9304     uint32_t x470;
9305     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x471;
9306     uint32_t x472;
9307     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x473;
9308     uint32_t x474;
9309     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x475;
9310     uint32_t x476;
9311     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x477;
9312     uint32_t x478;
9313     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x479;
9314     uint32_t x480;
9315     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x481;
9316     uint32_t x482;
9317     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x483;
9318     uint32_t x484;
9319     uint32_t x485;
9320     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x486;
9321     uint32_t x487;
9322     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x488;
9323     uint32_t x489;
9324     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x490;
9325     uint32_t x491;
9326     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x492;
9327     uint32_t x493;
9328     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x494;
9329     uint32_t x495;
9330     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x496;
9331     uint32_t x497;
9332     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x498;
9333     uint32_t x499;
9334     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x500;
9335     uint32_t x501;
9336     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x502;
9337     uint32_t x503;
9338     uint32_t x504;
9339     uint32_t x505;
9340     uint32_t x506;
9341     uint32_t x507;
9342     uint32_t x508;
9343     uint32_t x509;
9344     uint32_t x510;
9345     x1 = (arg1[0]);
9346     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x2, &x3, x1,
9347                                                          UINT32_C(0x727c176d));
9348     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x4, &x5, x2,
9349                                                          UINT32_C(0x9b9f605f));
9350     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x6, &x7, x2,
9351                                                          UINT32_C(0x5a858107));
9352     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x8, &x9, x2,
9353                                                          UINT32_C(0xab1ec85e));
9354     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x10, &x11, x2,
9355                                                          UINT32_C(0x6b41c8aa));
9356     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x12, &x13, x2,
9357                                                          UINT32_C(0xcf846e86));
9358     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x14, &x15, x2,
9359                                                          UINT32_C(0x789051d3));
9360     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x16, &x17, x2,
9361                                                          UINT32_C(0x7998f7b9));
9362     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x18, &x19, x2,
9363                                                          UINT32_C(0x22d759b));
9364     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x20, &x21, 0x0,
9365                                                               x19, x16);
9366     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x22, &x23, x21,
9367                                                               x17, x14);
9368     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x24, &x25, x23,
9369                                                               x15, x12);
9370     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x26, &x27, x25,
9371                                                               x13, x10);
9372     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x28, &x29, x27,
9373                                                               x11, x8);
9374     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x30, &x31, x29,
9375                                                               x9, x6);
9376     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x32, &x33, x31,
9377                                                               x7, x4);
9378     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x34, &x35, 0x0,
9379                                                               x1, x18);
9380     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x36, &x37, x35,
9381                                                               0x0, x20);
9382     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x38, &x39, x37,
9383                                                               0x0, x22);
9384     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x40, &x41, x39,
9385                                                               0x0, x24);
9386     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x42, &x43, x41,
9387                                                               0x0, x26);
9388     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x44, &x45, x43,
9389                                                               0x0, x28);
9390     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x46, &x47, x45,
9391                                                               0x0, x30);
9392     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x48, &x49, x47,
9393                                                               0x0, x32);
9394     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x50, &x51, 0x0,
9395                                                               x36, (arg1[1]));
9396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x52, &x53, x51,
9397                                                               x38, 0x0);
9398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x54, &x55, x53,
9399                                                               x40, 0x0);
9400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x56, &x57, x55,
9401                                                               x42, 0x0);
9402     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x58, &x59, x57,
9403                                                               x44, 0x0);
9404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x60, &x61, x59,
9405                                                               x46, 0x0);
9406     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x62, &x63, x61,
9407                                                               x48, 0x0);
9408     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x64, &x65, x50,
9409                                                          UINT32_C(0x727c176d));
9410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x66, &x67, x64,
9411                                                          UINT32_C(0x9b9f605f));
9412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x68, &x69, x64,
9413                                                          UINT32_C(0x5a858107));
9414     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x70, &x71, x64,
9415                                                          UINT32_C(0xab1ec85e));
9416     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x72, &x73, x64,
9417                                                          UINT32_C(0x6b41c8aa));
9418     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x74, &x75, x64,
9419                                                          UINT32_C(0xcf846e86));
9420     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x76, &x77, x64,
9421                                                          UINT32_C(0x789051d3));
9422     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x78, &x79, x64,
9423                                                          UINT32_C(0x7998f7b9));
9424     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x80, &x81, x64,
9425                                                          UINT32_C(0x22d759b));
9426     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x82, &x83, 0x0,
9427                                                               x81, x78);
9428     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x84, &x85, x83,
9429                                                               x79, x76);
9430     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x86, &x87, x85,
9431                                                               x77, x74);
9432     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x88, &x89, x87,
9433                                                               x75, x72);
9434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x90, &x91, x89,
9435                                                               x73, x70);
9436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x92, &x93, x91,
9437                                                               x71, x68);
9438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x94, &x95, x93,
9439                                                               x69, x66);
9440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x96, &x97, 0x0,
9441                                                               x50, x80);
9442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x98, &x99, x97,
9443                                                               x52, x82);
9444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x100, &x101, x99,
9445                                                               x54, x84);
9446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x102, &x103,
9447                                                               x101, x56, x86);
9448     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x104, &x105,
9449                                                               x103, x58, x88);
9450     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x106, &x107,
9451                                                               x105, x60, x90);
9452     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x108, &x109,
9453                                                               x107, x62, x92);
9454     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9455         &x110, &x111, x109, (x63 + (x49 + (x33 + x5))), x94);
9456     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x112, &x113, 0x0,
9457                                                               x98, (arg1[2]));
9458     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x114, &x115,
9459                                                               x113, x100, 0x0);
9460     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x116, &x117,
9461                                                               x115, x102, 0x0);
9462     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x118, &x119,
9463                                                               x117, x104, 0x0);
9464     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x120, &x121,
9465                                                               x119, x106, 0x0);
9466     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x122, &x123,
9467                                                               x121, x108, 0x0);
9468     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x124, &x125,
9469                                                               x123, x110, 0x0);
9470     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x126, &x127, x112,
9471                                                          UINT32_C(0x727c176d));
9472     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x128, &x129, x126,
9473                                                          UINT32_C(0x9b9f605f));
9474     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x130, &x131, x126,
9475                                                          UINT32_C(0x5a858107));
9476     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x132, &x133, x126,
9477                                                          UINT32_C(0xab1ec85e));
9478     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x134, &x135, x126,
9479                                                          UINT32_C(0x6b41c8aa));
9480     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x136, &x137, x126,
9481                                                          UINT32_C(0xcf846e86));
9482     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x138, &x139, x126,
9483                                                          UINT32_C(0x789051d3));
9484     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x140, &x141, x126,
9485                                                          UINT32_C(0x7998f7b9));
9486     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x142, &x143, x126,
9487                                                          UINT32_C(0x22d759b));
9488     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x144, &x145, 0x0,
9489                                                               x143, x140);
9490     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x146, &x147,
9491                                                               x145, x141, x138);
9492     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x148, &x149,
9493                                                               x147, x139, x136);
9494     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x150, &x151,
9495                                                               x149, x137, x134);
9496     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x152, &x153,
9497                                                               x151, x135, x132);
9498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x154, &x155,
9499                                                               x153, x133, x130);
9500     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x156, &x157,
9501                                                               x155, x131, x128);
9502     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x158, &x159, 0x0,
9503                                                               x112, x142);
9504     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x160, &x161,
9505                                                               x159, x114, x144);
9506     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x162, &x163,
9507                                                               x161, x116, x146);
9508     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x164, &x165,
9509                                                               x163, x118, x148);
9510     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x166, &x167,
9511                                                               x165, x120, x150);
9512     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x168, &x169,
9513                                                               x167, x122, x152);
9514     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x170, &x171,
9515                                                               x169, x124, x154);
9516     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9517         &x172, &x173, x171, (x125 + (x111 + (x95 + x67))), x156);
9518     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x174, &x175, 0x0,
9519                                                               x160, (arg1[3]));
9520     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x176, &x177,
9521                                                               x175, x162, 0x0);
9522     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x178, &x179,
9523                                                               x177, x164, 0x0);
9524     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x180, &x181,
9525                                                               x179, x166, 0x0);
9526     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x182, &x183,
9527                                                               x181, x168, 0x0);
9528     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x184, &x185,
9529                                                               x183, x170, 0x0);
9530     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x186, &x187,
9531                                                               x185, x172, 0x0);
9532     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x188, &x189, x174,
9533                                                          UINT32_C(0x727c176d));
9534     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x190, &x191, x188,
9535                                                          UINT32_C(0x9b9f605f));
9536     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x192, &x193, x188,
9537                                                          UINT32_C(0x5a858107));
9538     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x194, &x195, x188,
9539                                                          UINT32_C(0xab1ec85e));
9540     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x196, &x197, x188,
9541                                                          UINT32_C(0x6b41c8aa));
9542     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x198, &x199, x188,
9543                                                          UINT32_C(0xcf846e86));
9544     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x200, &x201, x188,
9545                                                          UINT32_C(0x789051d3));
9546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x202, &x203, x188,
9547                                                          UINT32_C(0x7998f7b9));
9548     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x204, &x205, x188,
9549                                                          UINT32_C(0x22d759b));
9550     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x206, &x207, 0x0,
9551                                                               x205, x202);
9552     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x208, &x209,
9553                                                               x207, x203, x200);
9554     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x210, &x211,
9555                                                               x209, x201, x198);
9556     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x212, &x213,
9557                                                               x211, x199, x196);
9558     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x214, &x215,
9559                                                               x213, x197, x194);
9560     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x216, &x217,
9561                                                               x215, x195, x192);
9562     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x218, &x219,
9563                                                               x217, x193, x190);
9564     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x220, &x221, 0x0,
9565                                                               x174, x204);
9566     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x222, &x223,
9567                                                               x221, x176, x206);
9568     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x224, &x225,
9569                                                               x223, x178, x208);
9570     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x226, &x227,
9571                                                               x225, x180, x210);
9572     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x228, &x229,
9573                                                               x227, x182, x212);
9574     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x230, &x231,
9575                                                               x229, x184, x214);
9576     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x232, &x233,
9577                                                               x231, x186, x216);
9578     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9579         &x234, &x235, x233, (x187 + (x173 + (x157 + x129))), x218);
9580     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x236, &x237, 0x0,
9581                                                               x222, (arg1[4]));
9582     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x238, &x239,
9583                                                               x237, x224, 0x0);
9584     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x240, &x241,
9585                                                               x239, x226, 0x0);
9586     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x242, &x243,
9587                                                               x241, x228, 0x0);
9588     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x244, &x245,
9589                                                               x243, x230, 0x0);
9590     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x246, &x247,
9591                                                               x245, x232, 0x0);
9592     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x248, &x249,
9593                                                               x247, x234, 0x0);
9594     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x250, &x251, x236,
9595                                                          UINT32_C(0x727c176d));
9596     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x252, &x253, x250,
9597                                                          UINT32_C(0x9b9f605f));
9598     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x254, &x255, x250,
9599                                                          UINT32_C(0x5a858107));
9600     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x256, &x257, x250,
9601                                                          UINT32_C(0xab1ec85e));
9602     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x258, &x259, x250,
9603                                                          UINT32_C(0x6b41c8aa));
9604     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x260, &x261, x250,
9605                                                          UINT32_C(0xcf846e86));
9606     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x262, &x263, x250,
9607                                                          UINT32_C(0x789051d3));
9608     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x264, &x265, x250,
9609                                                          UINT32_C(0x7998f7b9));
9610     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x266, &x267, x250,
9611                                                          UINT32_C(0x22d759b));
9612     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x268, &x269, 0x0,
9613                                                               x267, x264);
9614     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x270, &x271,
9615                                                               x269, x265, x262);
9616     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x272, &x273,
9617                                                               x271, x263, x260);
9618     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x274, &x275,
9619                                                               x273, x261, x258);
9620     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x276, &x277,
9621                                                               x275, x259, x256);
9622     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x278, &x279,
9623                                                               x277, x257, x254);
9624     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x280, &x281,
9625                                                               x279, x255, x252);
9626     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x282, &x283, 0x0,
9627                                                               x236, x266);
9628     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x284, &x285,
9629                                                               x283, x238, x268);
9630     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x286, &x287,
9631                                                               x285, x240, x270);
9632     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x288, &x289,
9633                                                               x287, x242, x272);
9634     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x290, &x291,
9635                                                               x289, x244, x274);
9636     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x292, &x293,
9637                                                               x291, x246, x276);
9638     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x294, &x295,
9639                                                               x293, x248, x278);
9640     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9641         &x296, &x297, x295, (x249 + (x235 + (x219 + x191))), x280);
9642     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x298, &x299, 0x0,
9643                                                               x284, (arg1[5]));
9644     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x300, &x301,
9645                                                               x299, x286, 0x0);
9646     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x302, &x303,
9647                                                               x301, x288, 0x0);
9648     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x304, &x305,
9649                                                               x303, x290, 0x0);
9650     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x306, &x307,
9651                                                               x305, x292, 0x0);
9652     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x308, &x309,
9653                                                               x307, x294, 0x0);
9654     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x310, &x311,
9655                                                               x309, x296, 0x0);
9656     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x312, &x313, x298,
9657                                                          UINT32_C(0x727c176d));
9658     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x314, &x315, x312,
9659                                                          UINT32_C(0x9b9f605f));
9660     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x316, &x317, x312,
9661                                                          UINT32_C(0x5a858107));
9662     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x318, &x319, x312,
9663                                                          UINT32_C(0xab1ec85e));
9664     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x320, &x321, x312,
9665                                                          UINT32_C(0x6b41c8aa));
9666     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x322, &x323, x312,
9667                                                          UINT32_C(0xcf846e86));
9668     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x324, &x325, x312,
9669                                                          UINT32_C(0x789051d3));
9670     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x326, &x327, x312,
9671                                                          UINT32_C(0x7998f7b9));
9672     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x328, &x329, x312,
9673                                                          UINT32_C(0x22d759b));
9674     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x330, &x331, 0x0,
9675                                                               x329, x326);
9676     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x332, &x333,
9677                                                               x331, x327, x324);
9678     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x334, &x335,
9679                                                               x333, x325, x322);
9680     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x336, &x337,
9681                                                               x335, x323, x320);
9682     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x338, &x339,
9683                                                               x337, x321, x318);
9684     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x340, &x341,
9685                                                               x339, x319, x316);
9686     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x342, &x343,
9687                                                               x341, x317, x314);
9688     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x344, &x345, 0x0,
9689                                                               x298, x328);
9690     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x346, &x347,
9691                                                               x345, x300, x330);
9692     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x348, &x349,
9693                                                               x347, x302, x332);
9694     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x350, &x351,
9695                                                               x349, x304, x334);
9696     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x352, &x353,
9697                                                               x351, x306, x336);
9698     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x354, &x355,
9699                                                               x353, x308, x338);
9700     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x356, &x357,
9701                                                               x355, x310, x340);
9702     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9703         &x358, &x359, x357, (x311 + (x297 + (x281 + x253))), x342);
9704     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x360, &x361, 0x0,
9705                                                               x346, (arg1[6]));
9706     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x362, &x363,
9707                                                               x361, x348, 0x0);
9708     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x364, &x365,
9709                                                               x363, x350, 0x0);
9710     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x366, &x367,
9711                                                               x365, x352, 0x0);
9712     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x368, &x369,
9713                                                               x367, x354, 0x0);
9714     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x370, &x371,
9715                                                               x369, x356, 0x0);
9716     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x372, &x373,
9717                                                               x371, x358, 0x0);
9718     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x374, &x375, x360,
9719                                                          UINT32_C(0x727c176d));
9720     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x376, &x377, x374,
9721                                                          UINT32_C(0x9b9f605f));
9722     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x378, &x379, x374,
9723                                                          UINT32_C(0x5a858107));
9724     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x380, &x381, x374,
9725                                                          UINT32_C(0xab1ec85e));
9726     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x382, &x383, x374,
9727                                                          UINT32_C(0x6b41c8aa));
9728     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x384, &x385, x374,
9729                                                          UINT32_C(0xcf846e86));
9730     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x386, &x387, x374,
9731                                                          UINT32_C(0x789051d3));
9732     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x388, &x389, x374,
9733                                                          UINT32_C(0x7998f7b9));
9734     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x390, &x391, x374,
9735                                                          UINT32_C(0x22d759b));
9736     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x392, &x393, 0x0,
9737                                                               x391, x388);
9738     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x394, &x395,
9739                                                               x393, x389, x386);
9740     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x396, &x397,
9741                                                               x395, x387, x384);
9742     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x398, &x399,
9743                                                               x397, x385, x382);
9744     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x400, &x401,
9745                                                               x399, x383, x380);
9746     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x402, &x403,
9747                                                               x401, x381, x378);
9748     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x404, &x405,
9749                                                               x403, x379, x376);
9750     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x406, &x407, 0x0,
9751                                                               x360, x390);
9752     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x408, &x409,
9753                                                               x407, x362, x392);
9754     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x410, &x411,
9755                                                               x409, x364, x394);
9756     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x412, &x413,
9757                                                               x411, x366, x396);
9758     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x414, &x415,
9759                                                               x413, x368, x398);
9760     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x416, &x417,
9761                                                               x415, x370, x400);
9762     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x418, &x419,
9763                                                               x417, x372, x402);
9764     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9765         &x420, &x421, x419, (x373 + (x359 + (x343 + x315))), x404);
9766     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x422, &x423, 0x0,
9767                                                               x408, (arg1[7]));
9768     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x424, &x425,
9769                                                               x423, x410, 0x0);
9770     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x426, &x427,
9771                                                               x425, x412, 0x0);
9772     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x428, &x429,
9773                                                               x427, x414, 0x0);
9774     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x430, &x431,
9775                                                               x429, x416, 0x0);
9776     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x432, &x433,
9777                                                               x431, x418, 0x0);
9778     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x434, &x435,
9779                                                               x433, x420, 0x0);
9780     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x436, &x437, x422,
9781                                                          UINT32_C(0x727c176d));
9782     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x438, &x439, x436,
9783                                                          UINT32_C(0x9b9f605f));
9784     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x440, &x441, x436,
9785                                                          UINT32_C(0x5a858107));
9786     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x442, &x443, x436,
9787                                                          UINT32_C(0xab1ec85e));
9788     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x444, &x445, x436,
9789                                                          UINT32_C(0x6b41c8aa));
9790     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x446, &x447, x436,
9791                                                          UINT32_C(0xcf846e86));
9792     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x448, &x449, x436,
9793                                                          UINT32_C(0x789051d3));
9794     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x450, &x451, x436,
9795                                                          UINT32_C(0x7998f7b9));
9796     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x452, &x453, x436,
9797                                                          UINT32_C(0x22d759b));
9798     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x454, &x455, 0x0,
9799                                                               x453, x450);
9800     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x456, &x457,
9801                                                               x455, x451, x448);
9802     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x458, &x459,
9803                                                               x457, x449, x446);
9804     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x460, &x461,
9805                                                               x459, x447, x444);
9806     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x462, &x463,
9807                                                               x461, x445, x442);
9808     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x464, &x465,
9809                                                               x463, x443, x440);
9810     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x466, &x467,
9811                                                               x465, x441, x438);
9812     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x468, &x469, 0x0,
9813                                                               x422, x452);
9814     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x470, &x471,
9815                                                               x469, x424, x454);
9816     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x472, &x473,
9817                                                               x471, x426, x456);
9818     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x474, &x475,
9819                                                               x473, x428, x458);
9820     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x476, &x477,
9821                                                               x475, x430, x460);
9822     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x478, &x479,
9823                                                               x477, x432, x462);
9824     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x480, &x481,
9825                                                               x479, x434, x464);
9826     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9827         &x482, &x483, x481, (x435 + (x421 + (x405 + x377))), x466);
9828     x484 = (x483 + (x467 + x439));
9829     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9830         &x485, &x486, 0x0, x470, UINT32_C(0x22d759b));
9831     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9832         &x487, &x488, x486, x472, UINT32_C(0x7998f7b9));
9833     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9834         &x489, &x490, x488, x474, UINT32_C(0x789051d3));
9835     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9836         &x491, &x492, x490, x476, UINT32_C(0xcf846e86));
9837     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9838         &x493, &x494, x492, x478, UINT32_C(0x6b41c8aa));
9839     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9840         &x495, &x496, x494, x480, UINT32_C(0xab1ec85e));
9841     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9842         &x497, &x498, x496, x482, UINT32_C(0x5a858107));
9843     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9844         &x499, &x500, x498, x484, UINT32_C(0x9b9f605f));
9845     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x501, &x502,
9846                                                                x500, 0x0, 0x0);
9847     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x503, x502, x485,
9848                                                             x470);
9849     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x504, x502, x487,
9850                                                             x472);
9851     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x505, x502, x489,
9852                                                             x474);
9853     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x506, x502, x491,
9854                                                             x476);
9855     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x507, x502, x493,
9856                                                             x478);
9857     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x508, x502, x495,
9858                                                             x480);
9859     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x509, x502, x497,
9860                                                             x482);
9861     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x510, x502, x499,
9862                                                             x484);
9863     out1[0] = x503;
9864     out1[1] = x504;
9865     out1[2] = x505;
9866     out1[3] = x506;
9867     out1[4] = x507;
9868     out1[5] = x508;
9869     out1[6] = x509;
9870     out1[7] = x510;
9871 }
9872
9873 /*
9874  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery translates a field element into the Montgomery domain.
9875  * Preconditions:
9876  *   0 ≤ eval arg1 < m
9877  * Postconditions:
9878  *   eval (from_montgomery out1) mod m = eval arg1 mod m
9879  *   0 ≤ eval out1 < m
9880  *
9881  * Input Bounds:
9882  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
9883  * Output Bounds:
9884  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
9885  */
9886 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(
9887     uint32_t out1[8], const uint32_t arg1[8]) {
9888     uint32_t x1;
9889     uint32_t x2;
9890     uint32_t x3;
9891     uint32_t x4;
9892     uint32_t x5;
9893     uint32_t x6;
9894     uint32_t x7;
9895     uint32_t x8;
9896     uint32_t x9;
9897     uint32_t x10;
9898     uint32_t x11;
9899     uint32_t x12;
9900     uint32_t x13;
9901     uint32_t x14;
9902     uint32_t x15;
9903     uint32_t x16;
9904     uint32_t x17;
9905     uint32_t x18;
9906     uint32_t x19;
9907     uint32_t x20;
9908     uint32_t x21;
9909     uint32_t x22;
9910     uint32_t x23;
9911     uint32_t x24;
9912     uint32_t x25;
9913     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
9914     uint32_t x27;
9915     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
9916     uint32_t x29;
9917     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
9918     uint32_t x31;
9919     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
9920     uint32_t x33;
9921     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
9922     uint32_t x35;
9923     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
9924     uint32_t x37;
9925     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
9926     uint32_t x39;
9927     uint32_t x40;
9928     uint32_t x41;
9929     uint32_t x42;
9930     uint32_t x43;
9931     uint32_t x44;
9932     uint32_t x45;
9933     uint32_t x46;
9934     uint32_t x47;
9935     uint32_t x48;
9936     uint32_t x49;
9937     uint32_t x50;
9938     uint32_t x51;
9939     uint32_t x52;
9940     uint32_t x53;
9941     uint32_t x54;
9942     uint32_t x55;
9943     uint32_t x56;
9944     uint32_t x57;
9945     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x58;
9946     uint32_t x59;
9947     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x60;
9948     uint32_t x61;
9949     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x62;
9950     uint32_t x63;
9951     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x64;
9952     uint32_t x65;
9953     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x66;
9954     uint32_t x67;
9955     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x68;
9956     uint32_t x69;
9957     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x70;
9958     uint32_t x71;
9959     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x72;
9960     uint32_t x73;
9961     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x74;
9962     uint32_t x75;
9963     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x76;
9964     uint32_t x77;
9965     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
9966     uint32_t x79;
9967     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
9968     uint32_t x81;
9969     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
9970     uint32_t x83;
9971     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
9972     uint32_t x85;
9973     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
9974     uint32_t x87;
9975     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
9976     uint32_t x89;
9977     uint32_t x90;
9978     uint32_t x91;
9979     uint32_t x92;
9980     uint32_t x93;
9981     uint32_t x94;
9982     uint32_t x95;
9983     uint32_t x96;
9984     uint32_t x97;
9985     uint32_t x98;
9986     uint32_t x99;
9987     uint32_t x100;
9988     uint32_t x101;
9989     uint32_t x102;
9990     uint32_t x103;
9991     uint32_t x104;
9992     uint32_t x105;
9993     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x106;
9994     uint32_t x107;
9995     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
9996     uint32_t x109;
9997     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
9998     uint32_t x111;
9999     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
10000     uint32_t x113;
10001     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
10002     uint32_t x115;
10003     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
10004     uint32_t x117;
10005     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
10006     uint32_t x119;
10007     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
10008     uint32_t x121;
10009     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x122;
10010     uint32_t x123;
10011     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x124;
10012     uint32_t x125;
10013     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x126;
10014     uint32_t x127;
10015     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x128;
10016     uint32_t x129;
10017     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x130;
10018     uint32_t x131;
10019     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x132;
10020     uint32_t x133;
10021     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x134;
10022     uint32_t x135;
10023     uint32_t x136;
10024     uint32_t x137;
10025     uint32_t x138;
10026     uint32_t x139;
10027     uint32_t x140;
10028     uint32_t x141;
10029     uint32_t x142;
10030     uint32_t x143;
10031     uint32_t x144;
10032     uint32_t x145;
10033     uint32_t x146;
10034     uint32_t x147;
10035     uint32_t x148;
10036     uint32_t x149;
10037     uint32_t x150;
10038     uint32_t x151;
10039     uint32_t x152;
10040     uint32_t x153;
10041     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x154;
10042     uint32_t x155;
10043     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x156;
10044     uint32_t x157;
10045     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x158;
10046     uint32_t x159;
10047     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x160;
10048     uint32_t x161;
10049     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x162;
10050     uint32_t x163;
10051     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x164;
10052     uint32_t x165;
10053     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x166;
10054     uint32_t x167;
10055     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x168;
10056     uint32_t x169;
10057     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x170;
10058     uint32_t x171;
10059     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x172;
10060     uint32_t x173;
10061     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
10062     uint32_t x175;
10063     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
10064     uint32_t x177;
10065     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
10066     uint32_t x179;
10067     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
10068     uint32_t x181;
10069     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
10070     uint32_t x183;
10071     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
10072     uint32_t x185;
10073     uint32_t x186;
10074     uint32_t x187;
10075     uint32_t x188;
10076     uint32_t x189;
10077     uint32_t x190;
10078     uint32_t x191;
10079     uint32_t x192;
10080     uint32_t x193;
10081     uint32_t x194;
10082     uint32_t x195;
10083     uint32_t x196;
10084     uint32_t x197;
10085     uint32_t x198;
10086     uint32_t x199;
10087     uint32_t x200;
10088     uint32_t x201;
10089     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x202;
10090     uint32_t x203;
10091     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x204;
10092     uint32_t x205;
10093     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x206;
10094     uint32_t x207;
10095     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x208;
10096     uint32_t x209;
10097     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x210;
10098     uint32_t x211;
10099     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x212;
10100     uint32_t x213;
10101     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x214;
10102     uint32_t x215;
10103     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x216;
10104     uint32_t x217;
10105     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x218;
10106     uint32_t x219;
10107     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x220;
10108     uint32_t x221;
10109     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x222;
10110     uint32_t x223;
10111     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x224;
10112     uint32_t x225;
10113     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x226;
10114     uint32_t x227;
10115     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x228;
10116     uint32_t x229;
10117     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x230;
10118     uint32_t x231;
10119     uint32_t x232;
10120     uint32_t x233;
10121     uint32_t x234;
10122     uint32_t x235;
10123     uint32_t x236;
10124     uint32_t x237;
10125     uint32_t x238;
10126     uint32_t x239;
10127     uint32_t x240;
10128     uint32_t x241;
10129     uint32_t x242;
10130     uint32_t x243;
10131     uint32_t x244;
10132     uint32_t x245;
10133     uint32_t x246;
10134     uint32_t x247;
10135     uint32_t x248;
10136     uint32_t x249;
10137     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x250;
10138     uint32_t x251;
10139     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x252;
10140     uint32_t x253;
10141     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x254;
10142     uint32_t x255;
10143     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x256;
10144     uint32_t x257;
10145     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x258;
10146     uint32_t x259;
10147     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x260;
10148     uint32_t x261;
10149     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x262;
10150     uint32_t x263;
10151     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x264;
10152     uint32_t x265;
10153     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x266;
10154     uint32_t x267;
10155     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x268;
10156     uint32_t x269;
10157     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x270;
10158     uint32_t x271;
10159     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x272;
10160     uint32_t x273;
10161     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x274;
10162     uint32_t x275;
10163     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x276;
10164     uint32_t x277;
10165     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x278;
10166     uint32_t x279;
10167     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x280;
10168     uint32_t x281;
10169     uint32_t x282;
10170     uint32_t x283;
10171     uint32_t x284;
10172     uint32_t x285;
10173     uint32_t x286;
10174     uint32_t x287;
10175     uint32_t x288;
10176     uint32_t x289;
10177     uint32_t x290;
10178     uint32_t x291;
10179     uint32_t x292;
10180     uint32_t x293;
10181     uint32_t x294;
10182     uint32_t x295;
10183     uint32_t x296;
10184     uint32_t x297;
10185     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x298;
10186     uint32_t x299;
10187     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x300;
10188     uint32_t x301;
10189     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x302;
10190     uint32_t x303;
10191     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x304;
10192     uint32_t x305;
10193     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x306;
10194     uint32_t x307;
10195     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x308;
10196     uint32_t x309;
10197     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x310;
10198     uint32_t x311;
10199     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x312;
10200     uint32_t x313;
10201     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x314;
10202     uint32_t x315;
10203     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x316;
10204     uint32_t x317;
10205     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x318;
10206     uint32_t x319;
10207     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x320;
10208     uint32_t x321;
10209     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x322;
10210     uint32_t x323;
10211     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x324;
10212     uint32_t x325;
10213     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x326;
10214     uint32_t x327;
10215     uint32_t x328;
10216     uint32_t x329;
10217     uint32_t x330;
10218     uint32_t x331;
10219     uint32_t x332;
10220     uint32_t x333;
10221     uint32_t x334;
10222     uint32_t x335;
10223     uint32_t x336;
10224     uint32_t x337;
10225     uint32_t x338;
10226     uint32_t x339;
10227     uint32_t x340;
10228     uint32_t x341;
10229     uint32_t x342;
10230     uint32_t x343;
10231     uint32_t x344;
10232     uint32_t x345;
10233     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x346;
10234     uint32_t x347;
10235     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x348;
10236     uint32_t x349;
10237     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x350;
10238     uint32_t x351;
10239     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x352;
10240     uint32_t x353;
10241     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x354;
10242     uint32_t x355;
10243     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x356;
10244     uint32_t x357;
10245     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x358;
10246     uint32_t x359;
10247     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x360;
10248     uint32_t x361;
10249     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x362;
10250     uint32_t x363;
10251     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x364;
10252     uint32_t x365;
10253     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x366;
10254     uint32_t x367;
10255     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x368;
10256     uint32_t x369;
10257     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x370;
10258     uint32_t x371;
10259     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x372;
10260     uint32_t x373;
10261     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x374;
10262     uint32_t x375;
10263     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x376;
10264     uint32_t x377;
10265     uint32_t x378;
10266     uint32_t x379;
10267     uint32_t x380;
10268     uint32_t x381;
10269     uint32_t x382;
10270     uint32_t x383;
10271     uint32_t x384;
10272     uint32_t x385;
10273     uint32_t x386;
10274     uint32_t x387;
10275     uint32_t x388;
10276     uint32_t x389;
10277     uint32_t x390;
10278     uint32_t x391;
10279     uint32_t x392;
10280     uint32_t x393;
10281     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x394;
10282     uint32_t x395;
10283     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x396;
10284     uint32_t x397;
10285     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x398;
10286     uint32_t x399;
10287     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x400;
10288     uint32_t x401;
10289     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x402;
10290     uint32_t x403;
10291     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x404;
10292     uint32_t x405;
10293     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x406;
10294     uint32_t x407;
10295     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x408;
10296     uint32_t x409;
10297     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x410;
10298     uint32_t x411;
10299     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x412;
10300     uint32_t x413;
10301     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x414;
10302     uint32_t x415;
10303     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x416;
10304     uint32_t x417;
10305     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x418;
10306     uint32_t x419;
10307     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x420;
10308     uint32_t x421;
10309     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x422;
10310     uint32_t x423;
10311     uint32_t x424;
10312     uint32_t x425;
10313     uint32_t x426;
10314     uint32_t x427;
10315     uint32_t x428;
10316     uint32_t x429;
10317     uint32_t x430;
10318     uint32_t x431;
10319     uint32_t x432;
10320     uint32_t x433;
10321     uint32_t x434;
10322     uint32_t x435;
10323     uint32_t x436;
10324     uint32_t x437;
10325     uint32_t x438;
10326     uint32_t x439;
10327     uint32_t x440;
10328     uint32_t x441;
10329     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x442;
10330     uint32_t x443;
10331     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x444;
10332     uint32_t x445;
10333     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x446;
10334     uint32_t x447;
10335     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x448;
10336     uint32_t x449;
10337     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x450;
10338     uint32_t x451;
10339     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x452;
10340     uint32_t x453;
10341     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x454;
10342     uint32_t x455;
10343     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x456;
10344     uint32_t x457;
10345     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x458;
10346     uint32_t x459;
10347     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x460;
10348     uint32_t x461;
10349     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x462;
10350     uint32_t x463;
10351     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x464;
10352     uint32_t x465;
10353     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x466;
10354     uint32_t x467;
10355     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x468;
10356     uint32_t x469;
10357     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x470;
10358     uint32_t x471;
10359     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x472;
10360     uint32_t x473;
10361     uint32_t x474;
10362     uint32_t x475;
10363     uint32_t x476;
10364     uint32_t x477;
10365     uint32_t x478;
10366     uint32_t x479;
10367     uint32_t x480;
10368     uint32_t x481;
10369     uint32_t x482;
10370     uint32_t x483;
10371     uint32_t x484;
10372     uint32_t x485;
10373     uint32_t x486;
10374     uint32_t x487;
10375     uint32_t x488;
10376     uint32_t x489;
10377     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x490;
10378     uint32_t x491;
10379     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x492;
10380     uint32_t x493;
10381     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x494;
10382     uint32_t x495;
10383     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x496;
10384     uint32_t x497;
10385     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x498;
10386     uint32_t x499;
10387     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x500;
10388     uint32_t x501;
10389     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x502;
10390     uint32_t x503;
10391     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x504;
10392     uint32_t x505;
10393     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x506;
10394     uint32_t x507;
10395     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x508;
10396     uint32_t x509;
10397     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x510;
10398     uint32_t x511;
10399     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x512;
10400     uint32_t x513;
10401     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x514;
10402     uint32_t x515;
10403     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x516;
10404     uint32_t x517;
10405     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x518;
10406     uint32_t x519;
10407     uint32_t x520;
10408     uint32_t x521;
10409     uint32_t x522;
10410     uint32_t x523;
10411     uint32_t x524;
10412     uint32_t x525;
10413     uint32_t x526;
10414     uint32_t x527;
10415     uint32_t x528;
10416     uint32_t x529;
10417     uint32_t x530;
10418     uint32_t x531;
10419     uint32_t x532;
10420     uint32_t x533;
10421     uint32_t x534;
10422     uint32_t x535;
10423     uint32_t x536;
10424     uint32_t x537;
10425     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x538;
10426     uint32_t x539;
10427     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x540;
10428     uint32_t x541;
10429     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x542;
10430     uint32_t x543;
10431     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x544;
10432     uint32_t x545;
10433     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x546;
10434     uint32_t x547;
10435     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x548;
10436     uint32_t x549;
10437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x550;
10438     uint32_t x551;
10439     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x552;
10440     uint32_t x553;
10441     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x554;
10442     uint32_t x555;
10443     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x556;
10444     uint32_t x557;
10445     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x558;
10446     uint32_t x559;
10447     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x560;
10448     uint32_t x561;
10449     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x562;
10450     uint32_t x563;
10451     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x564;
10452     uint32_t x565;
10453     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x566;
10454     uint32_t x567;
10455     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x568;
10456     uint32_t x569;
10457     uint32_t x570;
10458     uint32_t x571;
10459     uint32_t x572;
10460     uint32_t x573;
10461     uint32_t x574;
10462     uint32_t x575;
10463     uint32_t x576;
10464     uint32_t x577;
10465     uint32_t x578;
10466     uint32_t x579;
10467     uint32_t x580;
10468     uint32_t x581;
10469     uint32_t x582;
10470     uint32_t x583;
10471     uint32_t x584;
10472     uint32_t x585;
10473     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x586;
10474     uint32_t x587;
10475     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x588;
10476     uint32_t x589;
10477     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x590;
10478     uint32_t x591;
10479     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x592;
10480     uint32_t x593;
10481     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x594;
10482     uint32_t x595;
10483     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x596;
10484     uint32_t x597;
10485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x598;
10486     uint32_t x599;
10487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x600;
10488     uint32_t x601;
10489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x602;
10490     uint32_t x603;
10491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x604;
10492     uint32_t x605;
10493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x606;
10494     uint32_t x607;
10495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x608;
10496     uint32_t x609;
10497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x610;
10498     uint32_t x611;
10499     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x612;
10500     uint32_t x613;
10501     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x614;
10502     uint32_t x615;
10503     uint32_t x616;
10504     uint32_t x617;
10505     uint32_t x618;
10506     uint32_t x619;
10507     uint32_t x620;
10508     uint32_t x621;
10509     uint32_t x622;
10510     uint32_t x623;
10511     uint32_t x624;
10512     uint32_t x625;
10513     uint32_t x626;
10514     uint32_t x627;
10515     uint32_t x628;
10516     uint32_t x629;
10517     uint32_t x630;
10518     uint32_t x631;
10519     uint32_t x632;
10520     uint32_t x633;
10521     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x634;
10522     uint32_t x635;
10523     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x636;
10524     uint32_t x637;
10525     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x638;
10526     uint32_t x639;
10527     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x640;
10528     uint32_t x641;
10529     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x642;
10530     uint32_t x643;
10531     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x644;
10532     uint32_t x645;
10533     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x646;
10534     uint32_t x647;
10535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x648;
10536     uint32_t x649;
10537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x650;
10538     uint32_t x651;
10539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x652;
10540     uint32_t x653;
10541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x654;
10542     uint32_t x655;
10543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x656;
10544     uint32_t x657;
10545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x658;
10546     uint32_t x659;
10547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x660;
10548     uint32_t x661;
10549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x662;
10550     uint32_t x663;
10551     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x664;
10552     uint32_t x665;
10553     uint32_t x666;
10554     uint32_t x667;
10555     uint32_t x668;
10556     uint32_t x669;
10557     uint32_t x670;
10558     uint32_t x671;
10559     uint32_t x672;
10560     uint32_t x673;
10561     uint32_t x674;
10562     uint32_t x675;
10563     uint32_t x676;
10564     uint32_t x677;
10565     uint32_t x678;
10566     uint32_t x679;
10567     uint32_t x680;
10568     uint32_t x681;
10569     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x682;
10570     uint32_t x683;
10571     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x684;
10572     uint32_t x685;
10573     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x686;
10574     uint32_t x687;
10575     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x688;
10576     uint32_t x689;
10577     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x690;
10578     uint32_t x691;
10579     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x692;
10580     uint32_t x693;
10581     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x694;
10582     uint32_t x695;
10583     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x696;
10584     uint32_t x697;
10585     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x698;
10586     uint32_t x699;
10587     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x700;
10588     uint32_t x701;
10589     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x702;
10590     uint32_t x703;
10591     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x704;
10592     uint32_t x705;
10593     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x706;
10594     uint32_t x707;
10595     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x708;
10596     uint32_t x709;
10597     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x710;
10598     uint32_t x711;
10599     uint32_t x712;
10600     uint32_t x713;
10601     uint32_t x714;
10602     uint32_t x715;
10603     uint32_t x716;
10604     uint32_t x717;
10605     uint32_t x718;
10606     uint32_t x719;
10607     uint32_t x720;
10608     uint32_t x721;
10609     uint32_t x722;
10610     uint32_t x723;
10611     uint32_t x724;
10612     uint32_t x725;
10613     uint32_t x726;
10614     uint32_t x727;
10615     uint32_t x728;
10616     uint32_t x729;
10617     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x730;
10618     uint32_t x731;
10619     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x732;
10620     uint32_t x733;
10621     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x734;
10622     uint32_t x735;
10623     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x736;
10624     uint32_t x737;
10625     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x738;
10626     uint32_t x739;
10627     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x740;
10628     uint32_t x741;
10629     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x742;
10630     uint32_t x743;
10631     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x744;
10632     uint32_t x745;
10633     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x746;
10634     uint32_t x747;
10635     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x748;
10636     uint32_t x749;
10637     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x750;
10638     uint32_t x751;
10639     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x752;
10640     uint32_t x753;
10641     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x754;
10642     uint32_t x755;
10643     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x756;
10644     uint32_t x757;
10645     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x758;
10646     uint32_t x759;
10647     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x760;
10648     uint32_t x761;
10649     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x762;
10650     uint32_t x763;
10651     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x764;
10652     uint32_t x765;
10653     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x766;
10654     uint32_t x767;
10655     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x768;
10656     uint32_t x769;
10657     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x770;
10658     uint32_t x771;
10659     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x772;
10660     uint32_t x773;
10661     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x774;
10662     uint32_t x775;
10663     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x776;
10664     uint32_t x777;
10665     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x778;
10666     uint32_t x779;
10667     uint32_t x780;
10668     uint32_t x781;
10669     uint32_t x782;
10670     uint32_t x783;
10671     uint32_t x784;
10672     uint32_t x785;
10673     uint32_t x786;
10674     x1 = (arg1[1]);
10675     x2 = (arg1[2]);
10676     x3 = (arg1[3]);
10677     x4 = (arg1[4]);
10678     x5 = (arg1[5]);
10679     x6 = (arg1[6]);
10680     x7 = (arg1[7]);
10681     x8 = (arg1[0]);
10682     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x9, &x10, x8,
10683                                                          UINT32_C(0x807a394e));
10684     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x11, &x12, x8,
10685                                                          UINT32_C(0xde097652));
10686     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x13, &x14, x8,
10687                                                          UINT32_C(0x18630421));
10688     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x15, &x16, x8,
10689                                                          UINT32_C(0x2849c07b));
10690     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x17, &x18, x8,
10691                                                          UINT32_C(0x1017bb39));
10692     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x19, &x20, x8,
10693                                                          UINT32_C(0xc2d346c5));
10694     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x21, &x22, x8,
10695                                                          UINT32_C(0x409973b4));
10696     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x23, &x24, x8,
10697                                                          UINT32_C(0xc427fcea));
10698     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
10699                                                               x24, x21);
10700     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x27, &x28, x26,
10701                                                               x22, x19);
10702     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x29, &x30, x28,
10703                                                               x20, x17);
10704     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x31, &x32, x30,
10705                                                               x18, x15);
10706     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x33, &x34, x32,
10707                                                               x16, x13);
10708     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x35, &x36, x34,
10709                                                               x14, x11);
10710     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x37, &x38, x36,
10711                                                               x12, x9);
10712     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x39, &x40, x23,
10713                                                          UINT32_C(0x727c176d));
10714     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x41, &x42, x39,
10715                                                          UINT32_C(0x9b9f605f));
10716     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x43, &x44, x39,
10717                                                          UINT32_C(0x5a858107));
10718     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x45, &x46, x39,
10719                                                          UINT32_C(0xab1ec85e));
10720     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x47, &x48, x39,
10721                                                          UINT32_C(0x6b41c8aa));
10722     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x49, &x50, x39,
10723                                                          UINT32_C(0xcf846e86));
10724     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x51, &x52, x39,
10725                                                          UINT32_C(0x789051d3));
10726     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x53, &x54, x39,
10727                                                          UINT32_C(0x7998f7b9));
10728     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x55, &x56, x39,
10729                                                          UINT32_C(0x22d759b));
10730     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x57, &x58, 0x0,
10731                                                               x56, x53);
10732     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x59, &x60, x58,
10733                                                               x54, x51);
10734     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x61, &x62, x60,
10735                                                               x52, x49);
10736     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x63, &x64, x62,
10737                                                               x50, x47);
10738     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x65, &x66, x64,
10739                                                               x48, x45);
10740     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x67, &x68, x66,
10741                                                               x46, x43);
10742     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x69, &x70, x68,
10743                                                               x44, x41);
10744     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x71, &x72, 0x0,
10745                                                               x23, x55);
10746     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x73, &x74, x72,
10747                                                               x25, x57);
10748     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x75, &x76, x74,
10749                                                               x27, x59);
10750     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x77, &x78, x76,
10751                                                               x29, x61);
10752     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x79, &x80, x78,
10753                                                               x31, x63);
10754     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x81, &x82, x80,
10755                                                               x33, x65);
10756     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x83, &x84, x82,
10757                                                               x35, x67);
10758     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x85, &x86, x84,
10759                                                               x37, x69);
10760     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
10761         &x87, &x88, x86, (x38 + x10), (x70 + x42));
10762     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x89, &x90, x1,
10763                                                          UINT32_C(0x807a394e));
10764     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x91, &x92, x1,
10765                                                          UINT32_C(0xde097652));
10766     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x93, &x94, x1,
10767                                                          UINT32_C(0x18630421));
10768     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x95, &x96, x1,
10769                                                          UINT32_C(0x2849c07b));
10770     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x97, &x98, x1,
10771                                                          UINT32_C(0x1017bb39));
10772     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x99, &x100, x1,
10773                                                          UINT32_C(0xc2d346c5));
10774     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x101, &x102, x1,
10775                                                          UINT32_C(0x409973b4));
10776     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x103, &x104, x1,
10777                                                          UINT32_C(0xc427fcea));
10778     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x105, &x106, 0x0,
10779                                                               x104, x101);
10780     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x107, &x108,
10781                                                               x106, x102, x99);
10782     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x109, &x110,
10783                                                               x108, x100, x97);
10784     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x111, &x112,
10785                                                               x110, x98, x95);
10786     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x113, &x114,
10787                                                               x112, x96, x93);
10788     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x115, &x116,
10789                                                               x114, x94, x91);
10790     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x117, &x118,
10791                                                               x116, x92, x89);
10792     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x119, &x120, 0x0,
10793                                                               x73, x103);
10794     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x121, &x122,
10795                                                               x120, x75, x105);
10796     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x123, &x124,
10797                                                               x122, x77, x107);
10798     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x125, &x126,
10799                                                               x124, x79, x109);
10800     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x127, &x128,
10801                                                               x126, x81, x111);
10802     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x129, &x130,
10803                                                               x128, x83, x113);
10804     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x131, &x132,
10805                                                               x130, x85, x115);
10806     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x133, &x134,
10807                                                               x132, x87, x117);
10808     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x135, &x136, x119,
10809                                                          UINT32_C(0x727c176d));
10810     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x137, &x138, x135,
10811                                                          UINT32_C(0x9b9f605f));
10812     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x139, &x140, x135,
10813                                                          UINT32_C(0x5a858107));
10814     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x141, &x142, x135,
10815                                                          UINT32_C(0xab1ec85e));
10816     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x143, &x144, x135,
10817                                                          UINT32_C(0x6b41c8aa));
10818     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x145, &x146, x135,
10819                                                          UINT32_C(0xcf846e86));
10820     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x147, &x148, x135,
10821                                                          UINT32_C(0x789051d3));
10822     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x149, &x150, x135,
10823                                                          UINT32_C(0x7998f7b9));
10824     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x151, &x152, x135,
10825                                                          UINT32_C(0x22d759b));
10826     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x153, &x154, 0x0,
10827                                                               x152, x149);
10828     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x155, &x156,
10829                                                               x154, x150, x147);
10830     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x157, &x158,
10831                                                               x156, x148, x145);
10832     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x159, &x160,
10833                                                               x158, x146, x143);
10834     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x161, &x162,
10835                                                               x160, x144, x141);
10836     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x163, &x164,
10837                                                               x162, x142, x139);
10838     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x165, &x166,
10839                                                               x164, x140, x137);
10840     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x167, &x168, 0x0,
10841                                                               x119, x151);
10842     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x169, &x170,
10843                                                               x168, x121, x153);
10844     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x171, &x172,
10845                                                               x170, x123, x155);
10846     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x173, &x174,
10847                                                               x172, x125, x157);
10848     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x175, &x176,
10849                                                               x174, x127, x159);
10850     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x177, &x178,
10851                                                               x176, x129, x161);
10852     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x179, &x180,
10853                                                               x178, x131, x163);
10854     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x181, &x182,
10855                                                               x180, x133, x165);
10856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
10857         &x183, &x184, x182, (((uint32_t)x134 + x88) + (x118 + x90)),
10858         (x166 + x138));
10859     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x185, &x186, x2,
10860                                                          UINT32_C(0x807a394e));
10861     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x187, &x188, x2,
10862                                                          UINT32_C(0xde097652));
10863     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x189, &x190, x2,
10864                                                          UINT32_C(0x18630421));
10865     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x191, &x192, x2,
10866                                                          UINT32_C(0x2849c07b));
10867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x193, &x194, x2,
10868                                                          UINT32_C(0x1017bb39));
10869     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x195, &x196, x2,
10870                                                          UINT32_C(0xc2d346c5));
10871     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x197, &x198, x2,
10872                                                          UINT32_C(0x409973b4));
10873     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x199, &x200, x2,
10874                                                          UINT32_C(0xc427fcea));
10875     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x201, &x202, 0x0,
10876                                                               x200, x197);
10877     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x203, &x204,
10878                                                               x202, x198, x195);
10879     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x205, &x206,
10880                                                               x204, x196, x193);
10881     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x207, &x208,
10882                                                               x206, x194, x191);
10883     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x209, &x210,
10884                                                               x208, x192, x189);
10885     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x211, &x212,
10886                                                               x210, x190, x187);
10887     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x213, &x214,
10888                                                               x212, x188, x185);
10889     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x215, &x216, 0x0,
10890                                                               x169, x199);
10891     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x217, &x218,
10892                                                               x216, x171, x201);
10893     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x219, &x220,
10894                                                               x218, x173, x203);
10895     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x221, &x222,
10896                                                               x220, x175, x205);
10897     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x223, &x224,
10898                                                               x222, x177, x207);
10899     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x225, &x226,
10900                                                               x224, x179, x209);
10901     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x227, &x228,
10902                                                               x226, x181, x211);
10903     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x229, &x230,
10904                                                               x228, x183, x213);
10905     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x231, &x232, x215,
10906                                                          UINT32_C(0x727c176d));
10907     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x233, &x234, x231,
10908                                                          UINT32_C(0x9b9f605f));
10909     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x235, &x236, x231,
10910                                                          UINT32_C(0x5a858107));
10911     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x237, &x238, x231,
10912                                                          UINT32_C(0xab1ec85e));
10913     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x239, &x240, x231,
10914                                                          UINT32_C(0x6b41c8aa));
10915     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x241, &x242, x231,
10916                                                          UINT32_C(0xcf846e86));
10917     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x243, &x244, x231,
10918                                                          UINT32_C(0x789051d3));
10919     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x245, &x246, x231,
10920                                                          UINT32_C(0x7998f7b9));
10921     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x247, &x248, x231,
10922                                                          UINT32_C(0x22d759b));
10923     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x249, &x250, 0x0,
10924                                                               x248, x245);
10925     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x251, &x252,
10926                                                               x250, x246, x243);
10927     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x253, &x254,
10928                                                               x252, x244, x241);
10929     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x255, &x256,
10930                                                               x254, x242, x239);
10931     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x257, &x258,
10932                                                               x256, x240, x237);
10933     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x259, &x260,
10934                                                               x258, x238, x235);
10935     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x261, &x262,
10936                                                               x260, x236, x233);
10937     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x263, &x264, 0x0,
10938                                                               x215, x247);
10939     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x265, &x266,
10940                                                               x264, x217, x249);
10941     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x267, &x268,
10942                                                               x266, x219, x251);
10943     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x269, &x270,
10944                                                               x268, x221, x253);
10945     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x271, &x272,
10946                                                               x270, x223, x255);
10947     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x273, &x274,
10948                                                               x272, x225, x257);
10949     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x275, &x276,
10950                                                               x274, x227, x259);
10951     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x277, &x278,
10952                                                               x276, x229, x261);
10953     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
10954         &x279, &x280, x278, (((uint32_t)x230 + x184) + (x214 + x186)),
10955         (x262 + x234));
10956     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x281, &x282, x3,
10957                                                          UINT32_C(0x807a394e));
10958     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x283, &x284, x3,
10959                                                          UINT32_C(0xde097652));
10960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x285, &x286, x3,
10961                                                          UINT32_C(0x18630421));
10962     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x287, &x288, x3,
10963                                                          UINT32_C(0x2849c07b));
10964     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x289, &x290, x3,
10965                                                          UINT32_C(0x1017bb39));
10966     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x291, &x292, x3,
10967                                                          UINT32_C(0xc2d346c5));
10968     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x293, &x294, x3,
10969                                                          UINT32_C(0x409973b4));
10970     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x295, &x296, x3,
10971                                                          UINT32_C(0xc427fcea));
10972     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x297, &x298, 0x0,
10973                                                               x296, x293);
10974     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x299, &x300,
10975                                                               x298, x294, x291);
10976     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x301, &x302,
10977                                                               x300, x292, x289);
10978     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x303, &x304,
10979                                                               x302, x290, x287);
10980     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x305, &x306,
10981                                                               x304, x288, x285);
10982     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x307, &x308,
10983                                                               x306, x286, x283);
10984     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x309, &x310,
10985                                                               x308, x284, x281);
10986     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x311, &x312, 0x0,
10987                                                               x265, x295);
10988     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x313, &x314,
10989                                                               x312, x267, x297);
10990     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x315, &x316,
10991                                                               x314, x269, x299);
10992     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x317, &x318,
10993                                                               x316, x271, x301);
10994     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x319, &x320,
10995                                                               x318, x273, x303);
10996     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x321, &x322,
10997                                                               x320, x275, x305);
10998     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x323, &x324,
10999                                                               x322, x277, x307);
11000     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x325, &x326,
11001                                                               x324, x279, x309);
11002     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x327, &x328, x311,
11003                                                          UINT32_C(0x727c176d));
11004     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x329, &x330, x327,
11005                                                          UINT32_C(0x9b9f605f));
11006     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x331, &x332, x327,
11007                                                          UINT32_C(0x5a858107));
11008     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x333, &x334, x327,
11009                                                          UINT32_C(0xab1ec85e));
11010     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x335, &x336, x327,
11011                                                          UINT32_C(0x6b41c8aa));
11012     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x337, &x338, x327,
11013                                                          UINT32_C(0xcf846e86));
11014     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x339, &x340, x327,
11015                                                          UINT32_C(0x789051d3));
11016     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x341, &x342, x327,
11017                                                          UINT32_C(0x7998f7b9));
11018     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x343, &x344, x327,
11019                                                          UINT32_C(0x22d759b));
11020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x345, &x346, 0x0,
11021                                                               x344, x341);
11022     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x347, &x348,
11023                                                               x346, x342, x339);
11024     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x349, &x350,
11025                                                               x348, x340, x337);
11026     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x351, &x352,
11027                                                               x350, x338, x335);
11028     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x353, &x354,
11029                                                               x352, x336, x333);
11030     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x355, &x356,
11031                                                               x354, x334, x331);
11032     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x357, &x358,
11033                                                               x356, x332, x329);
11034     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x359, &x360, 0x0,
11035                                                               x311, x343);
11036     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x361, &x362,
11037                                                               x360, x313, x345);
11038     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x363, &x364,
11039                                                               x362, x315, x347);
11040     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x365, &x366,
11041                                                               x364, x317, x349);
11042     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x367, &x368,
11043                                                               x366, x319, x351);
11044     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x369, &x370,
11045                                                               x368, x321, x353);
11046     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x371, &x372,
11047                                                               x370, x323, x355);
11048     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x373, &x374,
11049                                                               x372, x325, x357);
11050     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11051         &x375, &x376, x374, (((uint32_t)x326 + x280) + (x310 + x282)),
11052         (x358 + x330));
11053     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x377, &x378, x4,
11054                                                          UINT32_C(0x807a394e));
11055     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x379, &x380, x4,
11056                                                          UINT32_C(0xde097652));
11057     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x381, &x382, x4,
11058                                                          UINT32_C(0x18630421));
11059     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x383, &x384, x4,
11060                                                          UINT32_C(0x2849c07b));
11061     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x385, &x386, x4,
11062                                                          UINT32_C(0x1017bb39));
11063     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x387, &x388, x4,
11064                                                          UINT32_C(0xc2d346c5));
11065     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x389, &x390, x4,
11066                                                          UINT32_C(0x409973b4));
11067     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x391, &x392, x4,
11068                                                          UINT32_C(0xc427fcea));
11069     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x393, &x394, 0x0,
11070                                                               x392, x389);
11071     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x395, &x396,
11072                                                               x394, x390, x387);
11073     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x397, &x398,
11074                                                               x396, x388, x385);
11075     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x399, &x400,
11076                                                               x398, x386, x383);
11077     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x401, &x402,
11078                                                               x400, x384, x381);
11079     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x403, &x404,
11080                                                               x402, x382, x379);
11081     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x405, &x406,
11082                                                               x404, x380, x377);
11083     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x407, &x408, 0x0,
11084                                                               x361, x391);
11085     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x409, &x410,
11086                                                               x408, x363, x393);
11087     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x411, &x412,
11088                                                               x410, x365, x395);
11089     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x413, &x414,
11090                                                               x412, x367, x397);
11091     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x415, &x416,
11092                                                               x414, x369, x399);
11093     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x417, &x418,
11094                                                               x416, x371, x401);
11095     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x419, &x420,
11096                                                               x418, x373, x403);
11097     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x421, &x422,
11098                                                               x420, x375, x405);
11099     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x423, &x424, x407,
11100                                                          UINT32_C(0x727c176d));
11101     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x425, &x426, x423,
11102                                                          UINT32_C(0x9b9f605f));
11103     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x427, &x428, x423,
11104                                                          UINT32_C(0x5a858107));
11105     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x429, &x430, x423,
11106                                                          UINT32_C(0xab1ec85e));
11107     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x431, &x432, x423,
11108                                                          UINT32_C(0x6b41c8aa));
11109     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x433, &x434, x423,
11110                                                          UINT32_C(0xcf846e86));
11111     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x435, &x436, x423,
11112                                                          UINT32_C(0x789051d3));
11113     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x437, &x438, x423,
11114                                                          UINT32_C(0x7998f7b9));
11115     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x439, &x440, x423,
11116                                                          UINT32_C(0x22d759b));
11117     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x441, &x442, 0x0,
11118                                                               x440, x437);
11119     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x443, &x444,
11120                                                               x442, x438, x435);
11121     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x445, &x446,
11122                                                               x444, x436, x433);
11123     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x447, &x448,
11124                                                               x446, x434, x431);
11125     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x449, &x450,
11126                                                               x448, x432, x429);
11127     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x451, &x452,
11128                                                               x450, x430, x427);
11129     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x453, &x454,
11130                                                               x452, x428, x425);
11131     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x455, &x456, 0x0,
11132                                                               x407, x439);
11133     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x457, &x458,
11134                                                               x456, x409, x441);
11135     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x459, &x460,
11136                                                               x458, x411, x443);
11137     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x461, &x462,
11138                                                               x460, x413, x445);
11139     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x463, &x464,
11140                                                               x462, x415, x447);
11141     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x465, &x466,
11142                                                               x464, x417, x449);
11143     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x467, &x468,
11144                                                               x466, x419, x451);
11145     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x469, &x470,
11146                                                               x468, x421, x453);
11147     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11148         &x471, &x472, x470, (((uint32_t)x422 + x376) + (x406 + x378)),
11149         (x454 + x426));
11150     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x473, &x474, x5,
11151                                                          UINT32_C(0x807a394e));
11152     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x475, &x476, x5,
11153                                                          UINT32_C(0xde097652));
11154     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x477, &x478, x5,
11155                                                          UINT32_C(0x18630421));
11156     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x479, &x480, x5,
11157                                                          UINT32_C(0x2849c07b));
11158     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x481, &x482, x5,
11159                                                          UINT32_C(0x1017bb39));
11160     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x483, &x484, x5,
11161                                                          UINT32_C(0xc2d346c5));
11162     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x485, &x486, x5,
11163                                                          UINT32_C(0x409973b4));
11164     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x487, &x488, x5,
11165                                                          UINT32_C(0xc427fcea));
11166     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x489, &x490, 0x0,
11167                                                               x488, x485);
11168     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x491, &x492,
11169                                                               x490, x486, x483);
11170     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x493, &x494,
11171                                                               x492, x484, x481);
11172     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x495, &x496,
11173                                                               x494, x482, x479);
11174     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x497, &x498,
11175                                                               x496, x480, x477);
11176     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x499, &x500,
11177                                                               x498, x478, x475);
11178     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x501, &x502,
11179                                                               x500, x476, x473);
11180     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x503, &x504, 0x0,
11181                                                               x457, x487);
11182     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x505, &x506,
11183                                                               x504, x459, x489);
11184     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x507, &x508,
11185                                                               x506, x461, x491);
11186     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x509, &x510,
11187                                                               x508, x463, x493);
11188     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x511, &x512,
11189                                                               x510, x465, x495);
11190     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x513, &x514,
11191                                                               x512, x467, x497);
11192     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x515, &x516,
11193                                                               x514, x469, x499);
11194     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x517, &x518,
11195                                                               x516, x471, x501);
11196     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x519, &x520, x503,
11197                                                          UINT32_C(0x727c176d));
11198     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x521, &x522, x519,
11199                                                          UINT32_C(0x9b9f605f));
11200     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x523, &x524, x519,
11201                                                          UINT32_C(0x5a858107));
11202     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x525, &x526, x519,
11203                                                          UINT32_C(0xab1ec85e));
11204     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x527, &x528, x519,
11205                                                          UINT32_C(0x6b41c8aa));
11206     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x529, &x530, x519,
11207                                                          UINT32_C(0xcf846e86));
11208     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x531, &x532, x519,
11209                                                          UINT32_C(0x789051d3));
11210     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x533, &x534, x519,
11211                                                          UINT32_C(0x7998f7b9));
11212     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x535, &x536, x519,
11213                                                          UINT32_C(0x22d759b));
11214     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x537, &x538, 0x0,
11215                                                               x536, x533);
11216     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x539, &x540,
11217                                                               x538, x534, x531);
11218     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x541, &x542,
11219                                                               x540, x532, x529);
11220     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x543, &x544,
11221                                                               x542, x530, x527);
11222     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x545, &x546,
11223                                                               x544, x528, x525);
11224     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x547, &x548,
11225                                                               x546, x526, x523);
11226     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x549, &x550,
11227                                                               x548, x524, x521);
11228     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x551, &x552, 0x0,
11229                                                               x503, x535);
11230     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x553, &x554,
11231                                                               x552, x505, x537);
11232     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x555, &x556,
11233                                                               x554, x507, x539);
11234     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x557, &x558,
11235                                                               x556, x509, x541);
11236     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x559, &x560,
11237                                                               x558, x511, x543);
11238     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x561, &x562,
11239                                                               x560, x513, x545);
11240     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x563, &x564,
11241                                                               x562, x515, x547);
11242     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x565, &x566,
11243                                                               x564, x517, x549);
11244     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11245         &x567, &x568, x566, (((uint32_t)x518 + x472) + (x502 + x474)),
11246         (x550 + x522));
11247     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x569, &x570, x6,
11248                                                          UINT32_C(0x807a394e));
11249     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x571, &x572, x6,
11250                                                          UINT32_C(0xde097652));
11251     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x573, &x574, x6,
11252                                                          UINT32_C(0x18630421));
11253     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x575, &x576, x6,
11254                                                          UINT32_C(0x2849c07b));
11255     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x577, &x578, x6,
11256                                                          UINT32_C(0x1017bb39));
11257     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x579, &x580, x6,
11258                                                          UINT32_C(0xc2d346c5));
11259     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x581, &x582, x6,
11260                                                          UINT32_C(0x409973b4));
11261     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x583, &x584, x6,
11262                                                          UINT32_C(0xc427fcea));
11263     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x585, &x586, 0x0,
11264                                                               x584, x581);
11265     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x587, &x588,
11266                                                               x586, x582, x579);
11267     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x589, &x590,
11268                                                               x588, x580, x577);
11269     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x591, &x592,
11270                                                               x590, x578, x575);
11271     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x593, &x594,
11272                                                               x592, x576, x573);
11273     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x595, &x596,
11274                                                               x594, x574, x571);
11275     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x597, &x598,
11276                                                               x596, x572, x569);
11277     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x599, &x600, 0x0,
11278                                                               x553, x583);
11279     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x601, &x602,
11280                                                               x600, x555, x585);
11281     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x603, &x604,
11282                                                               x602, x557, x587);
11283     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x605, &x606,
11284                                                               x604, x559, x589);
11285     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x607, &x608,
11286                                                               x606, x561, x591);
11287     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x609, &x610,
11288                                                               x608, x563, x593);
11289     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x611, &x612,
11290                                                               x610, x565, x595);
11291     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x613, &x614,
11292                                                               x612, x567, x597);
11293     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x615, &x616, x599,
11294                                                          UINT32_C(0x727c176d));
11295     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x617, &x618, x615,
11296                                                          UINT32_C(0x9b9f605f));
11297     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x619, &x620, x615,
11298                                                          UINT32_C(0x5a858107));
11299     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x621, &x622, x615,
11300                                                          UINT32_C(0xab1ec85e));
11301     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x623, &x624, x615,
11302                                                          UINT32_C(0x6b41c8aa));
11303     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x625, &x626, x615,
11304                                                          UINT32_C(0xcf846e86));
11305     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x627, &x628, x615,
11306                                                          UINT32_C(0x789051d3));
11307     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x629, &x630, x615,
11308                                                          UINT32_C(0x7998f7b9));
11309     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x631, &x632, x615,
11310                                                          UINT32_C(0x22d759b));
11311     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x633, &x634, 0x0,
11312                                                               x632, x629);
11313     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x635, &x636,
11314                                                               x634, x630, x627);
11315     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x637, &x638,
11316                                                               x636, x628, x625);
11317     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x639, &x640,
11318                                                               x638, x626, x623);
11319     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x641, &x642,
11320                                                               x640, x624, x621);
11321     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x643, &x644,
11322                                                               x642, x622, x619);
11323     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x645, &x646,
11324                                                               x644, x620, x617);
11325     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x647, &x648, 0x0,
11326                                                               x599, x631);
11327     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x649, &x650,
11328                                                               x648, x601, x633);
11329     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x651, &x652,
11330                                                               x650, x603, x635);
11331     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x653, &x654,
11332                                                               x652, x605, x637);
11333     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x655, &x656,
11334                                                               x654, x607, x639);
11335     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x657, &x658,
11336                                                               x656, x609, x641);
11337     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x659, &x660,
11338                                                               x658, x611, x643);
11339     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x661, &x662,
11340                                                               x660, x613, x645);
11341     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11342         &x663, &x664, x662, (((uint32_t)x614 + x568) + (x598 + x570)),
11343         (x646 + x618));
11344     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x665, &x666, x7,
11345                                                          UINT32_C(0x807a394e));
11346     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x667, &x668, x7,
11347                                                          UINT32_C(0xde097652));
11348     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x669, &x670, x7,
11349                                                          UINT32_C(0x18630421));
11350     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x671, &x672, x7,
11351                                                          UINT32_C(0x2849c07b));
11352     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x673, &x674, x7,
11353                                                          UINT32_C(0x1017bb39));
11354     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x675, &x676, x7,
11355                                                          UINT32_C(0xc2d346c5));
11356     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x677, &x678, x7,
11357                                                          UINT32_C(0x409973b4));
11358     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x679, &x680, x7,
11359                                                          UINT32_C(0xc427fcea));
11360     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x681, &x682, 0x0,
11361                                                               x680, x677);
11362     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x683, &x684,
11363                                                               x682, x678, x675);
11364     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x685, &x686,
11365                                                               x684, x676, x673);
11366     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x687, &x688,
11367                                                               x686, x674, x671);
11368     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x689, &x690,
11369                                                               x688, x672, x669);
11370     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x691, &x692,
11371                                                               x690, x670, x667);
11372     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x693, &x694,
11373                                                               x692, x668, x665);
11374     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x695, &x696, 0x0,
11375                                                               x649, x679);
11376     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x697, &x698,
11377                                                               x696, x651, x681);
11378     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x699, &x700,
11379                                                               x698, x653, x683);
11380     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x701, &x702,
11381                                                               x700, x655, x685);
11382     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x703, &x704,
11383                                                               x702, x657, x687);
11384     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x705, &x706,
11385                                                               x704, x659, x689);
11386     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x707, &x708,
11387                                                               x706, x661, x691);
11388     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x709, &x710,
11389                                                               x708, x663, x693);
11390     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x711, &x712, x695,
11391                                                          UINT32_C(0x727c176d));
11392     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x713, &x714, x711,
11393                                                          UINT32_C(0x9b9f605f));
11394     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x715, &x716, x711,
11395                                                          UINT32_C(0x5a858107));
11396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x717, &x718, x711,
11397                                                          UINT32_C(0xab1ec85e));
11398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x719, &x720, x711,
11399                                                          UINT32_C(0x6b41c8aa));
11400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x721, &x722, x711,
11401                                                          UINT32_C(0xcf846e86));
11402     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x723, &x724, x711,
11403                                                          UINT32_C(0x789051d3));
11404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x725, &x726, x711,
11405                                                          UINT32_C(0x7998f7b9));
11406     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x727, &x728, x711,
11407                                                          UINT32_C(0x22d759b));
11408     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x729, &x730, 0x0,
11409                                                               x728, x725);
11410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x731, &x732,
11411                                                               x730, x726, x723);
11412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x733, &x734,
11413                                                               x732, x724, x721);
11414     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x735, &x736,
11415                                                               x734, x722, x719);
11416     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x737, &x738,
11417                                                               x736, x720, x717);
11418     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x739, &x740,
11419                                                               x738, x718, x715);
11420     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x741, &x742,
11421                                                               x740, x716, x713);
11422     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x743, &x744, 0x0,
11423                                                               x695, x727);
11424     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x745, &x746,
11425                                                               x744, x697, x729);
11426     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x747, &x748,
11427                                                               x746, x699, x731);
11428     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x749, &x750,
11429                                                               x748, x701, x733);
11430     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x751, &x752,
11431                                                               x750, x703, x735);
11432     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x753, &x754,
11433                                                               x752, x705, x737);
11434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x755, &x756,
11435                                                               x754, x707, x739);
11436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x757, &x758,
11437                                                               x756, x709, x741);
11438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11439         &x759, &x760, x758, (((uint32_t)x710 + x664) + (x694 + x666)),
11440         (x742 + x714));
11441     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11442         &x761, &x762, 0x0, x745, UINT32_C(0x22d759b));
11443     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11444         &x763, &x764, x762, x747, UINT32_C(0x7998f7b9));
11445     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11446         &x765, &x766, x764, x749, UINT32_C(0x789051d3));
11447     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11448         &x767, &x768, x766, x751, UINT32_C(0xcf846e86));
11449     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11450         &x769, &x770, x768, x753, UINT32_C(0x6b41c8aa));
11451     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11452         &x771, &x772, x770, x755, UINT32_C(0xab1ec85e));
11453     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11454         &x773, &x774, x772, x757, UINT32_C(0x5a858107));
11455     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11456         &x775, &x776, x774, x759, UINT32_C(0x9b9f605f));
11457     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x777, &x778,
11458                                                                x776, x760, 0x0);
11459     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x779, x778, x761,
11460                                                             x745);
11461     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x780, x778, x763,
11462                                                             x747);
11463     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x781, x778, x765,
11464                                                             x749);
11465     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x782, x778, x767,
11466                                                             x751);
11467     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x783, x778, x769,
11468                                                             x753);
11469     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x784, x778, x771,
11470                                                             x755);
11471     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x785, x778, x773,
11472                                                             x757);
11473     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x786, x778, x775,
11474                                                             x759);
11475     out1[0] = x779;
11476     out1[1] = x780;
11477     out1[2] = x781;
11478     out1[3] = x782;
11479     out1[4] = x783;
11480     out1[5] = x784;
11481     out1[6] = x785;
11482     out1[7] = x786;
11483 }
11484
11485 /*
11486  * 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.
11487  * Preconditions:
11488  *   0 ≤ eval arg1 < m
11489  * Postconditions:
11490  *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
11491  *
11492  * Input Bounds:
11493  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11494  * Output Bounds:
11495  *   out1: [0x0 ~> 0xffffffff]
11496  */
11497 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(
11498     uint32_t *out1, const uint32_t arg1[8]) {
11499     uint32_t x1;
11500     x1 = ((arg1[0]) |
11501           ((arg1[1]) |
11502            ((arg1[2]) |
11503             ((arg1[3]) |
11504              ((arg1[4]) |
11505               ((arg1[5]) | ((arg1[6]) | ((arg1[7]) | (uint32_t)0x0))))))));
11506     *out1 = x1;
11507 }
11508
11509 /*
11510  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz is a multi-limb conditional select.
11511  * Postconditions:
11512  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
11513  *
11514  * Input Bounds:
11515  *   arg1: [0x0 ~> 0x1]
11516  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11517  *   arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11518  * Output Bounds:
11519  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11520  */
11521 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
11522     uint32_t out1[8], fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
11523     const uint32_t arg2[8], const uint32_t arg3[8]) {
11524     uint32_t x1;
11525     uint32_t x2;
11526     uint32_t x3;
11527     uint32_t x4;
11528     uint32_t x5;
11529     uint32_t x6;
11530     uint32_t x7;
11531     uint32_t x8;
11532     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11533         &x1, arg1, (arg2[0]), (arg3[0]));
11534     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11535         &x2, arg1, (arg2[1]), (arg3[1]));
11536     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11537         &x3, arg1, (arg2[2]), (arg3[2]));
11538     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11539         &x4, arg1, (arg2[3]), (arg3[3]));
11540     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11541         &x5, arg1, (arg2[4]), (arg3[4]));
11542     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11543         &x6, arg1, (arg2[5]), (arg3[5]));
11544     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11545         &x7, arg1, (arg2[6]), (arg3[6]));
11546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11547         &x8, arg1, (arg2[7]), (arg3[7]));
11548     out1[0] = x1;
11549     out1[1] = x2;
11550     out1[2] = x3;
11551     out1[3] = x4;
11552     out1[4] = x5;
11553     out1[5] = x6;
11554     out1[6] = x7;
11555     out1[7] = x8;
11556 }
11557
11558 /*
11559  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
11560  * Preconditions:
11561  *   0 ≤ eval arg1 < m
11562  * Postconditions:
11563  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
11564  *
11565  * Input Bounds:
11566  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11567  * Output Bounds:
11568  *   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]]
11569  */
11570 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(
11571     uint8_t out1[32], const uint32_t arg1[8]) {
11572     uint32_t x1;
11573     uint32_t x2;
11574     uint32_t x3;
11575     uint32_t x4;
11576     uint32_t x5;
11577     uint32_t x6;
11578     uint32_t x7;
11579     uint32_t x8;
11580     uint32_t x9;
11581     uint8_t x10;
11582     uint32_t x11;
11583     uint8_t x12;
11584     uint8_t x13;
11585     uint8_t x14;
11586     uint8_t x15;
11587     uint32_t x16;
11588     uint8_t x17;
11589     uint32_t x18;
11590     uint8_t x19;
11591     uint8_t x20;
11592     uint8_t x21;
11593     uint8_t x22;
11594     uint32_t x23;
11595     uint8_t x24;
11596     uint32_t x25;
11597     uint8_t x26;
11598     uint8_t x27;
11599     uint8_t x28;
11600     uint8_t x29;
11601     uint32_t x30;
11602     uint8_t x31;
11603     uint32_t x32;
11604     uint8_t x33;
11605     uint8_t x34;
11606     uint8_t x35;
11607     uint8_t x36;
11608     uint32_t x37;
11609     uint8_t x38;
11610     uint32_t x39;
11611     uint8_t x40;
11612     uint8_t x41;
11613     uint8_t x42;
11614     uint8_t x43;
11615     uint32_t x44;
11616     uint8_t x45;
11617     uint32_t x46;
11618     uint8_t x47;
11619     uint8_t x48;
11620     uint8_t x49;
11621     uint8_t x50;
11622     uint32_t x51;
11623     uint8_t x52;
11624     uint32_t x53;
11625     uint8_t x54;
11626     uint8_t x55;
11627     uint8_t x56;
11628     uint8_t x57;
11629     uint32_t x58;
11630     uint8_t x59;
11631     uint32_t x60;
11632     uint8_t x61;
11633     uint8_t x62;
11634     uint8_t x63;
11635     x1 = (arg1[7]);
11636     x2 = (arg1[6]);
11637     x3 = (arg1[5]);
11638     x4 = (arg1[4]);
11639     x5 = (arg1[3]);
11640     x6 = (arg1[2]);
11641     x7 = (arg1[1]);
11642     x8 = (arg1[0]);
11643     x9 = (x8 >> 8);
11644     x10 = (uint8_t)(x8 & UINT8_C(0xff));
11645     x11 = (x9 >> 8);
11646     x12 = (uint8_t)(x9 & UINT8_C(0xff));
11647     x13 = (uint8_t)(x11 >> 8);
11648     x14 = (uint8_t)(x11 & UINT8_C(0xff));
11649     x15 = (uint8_t)(x13 & UINT8_C(0xff));
11650     x16 = (x7 >> 8);
11651     x17 = (uint8_t)(x7 & UINT8_C(0xff));
11652     x18 = (x16 >> 8);
11653     x19 = (uint8_t)(x16 & UINT8_C(0xff));
11654     x20 = (uint8_t)(x18 >> 8);
11655     x21 = (uint8_t)(x18 & UINT8_C(0xff));
11656     x22 = (uint8_t)(x20 & UINT8_C(0xff));
11657     x23 = (x6 >> 8);
11658     x24 = (uint8_t)(x6 & UINT8_C(0xff));
11659     x25 = (x23 >> 8);
11660     x26 = (uint8_t)(x23 & UINT8_C(0xff));
11661     x27 = (uint8_t)(x25 >> 8);
11662     x28 = (uint8_t)(x25 & UINT8_C(0xff));
11663     x29 = (uint8_t)(x27 & UINT8_C(0xff));
11664     x30 = (x5 >> 8);
11665     x31 = (uint8_t)(x5 & UINT8_C(0xff));
11666     x32 = (x30 >> 8);
11667     x33 = (uint8_t)(x30 & UINT8_C(0xff));
11668     x34 = (uint8_t)(x32 >> 8);
11669     x35 = (uint8_t)(x32 & UINT8_C(0xff));
11670     x36 = (uint8_t)(x34 & UINT8_C(0xff));
11671     x37 = (x4 >> 8);
11672     x38 = (uint8_t)(x4 & UINT8_C(0xff));
11673     x39 = (x37 >> 8);
11674     x40 = (uint8_t)(x37 & UINT8_C(0xff));
11675     x41 = (uint8_t)(x39 >> 8);
11676     x42 = (uint8_t)(x39 & UINT8_C(0xff));
11677     x43 = (uint8_t)(x41 & UINT8_C(0xff));
11678     x44 = (x3 >> 8);
11679     x45 = (uint8_t)(x3 & UINT8_C(0xff));
11680     x46 = (x44 >> 8);
11681     x47 = (uint8_t)(x44 & UINT8_C(0xff));
11682     x48 = (uint8_t)(x46 >> 8);
11683     x49 = (uint8_t)(x46 & UINT8_C(0xff));
11684     x50 = (uint8_t)(x48 & UINT8_C(0xff));
11685     x51 = (x2 >> 8);
11686     x52 = (uint8_t)(x2 & UINT8_C(0xff));
11687     x53 = (x51 >> 8);
11688     x54 = (uint8_t)(x51 & UINT8_C(0xff));
11689     x55 = (uint8_t)(x53 >> 8);
11690     x56 = (uint8_t)(x53 & UINT8_C(0xff));
11691     x57 = (uint8_t)(x55 & UINT8_C(0xff));
11692     x58 = (x1 >> 8);
11693     x59 = (uint8_t)(x1 & UINT8_C(0xff));
11694     x60 = (x58 >> 8);
11695     x61 = (uint8_t)(x58 & UINT8_C(0xff));
11696     x62 = (uint8_t)(x60 >> 8);
11697     x63 = (uint8_t)(x60 & UINT8_C(0xff));
11698     out1[0] = x10;
11699     out1[1] = x12;
11700     out1[2] = x14;
11701     out1[3] = x15;
11702     out1[4] = x17;
11703     out1[5] = x19;
11704     out1[6] = x21;
11705     out1[7] = x22;
11706     out1[8] = x24;
11707     out1[9] = x26;
11708     out1[10] = x28;
11709     out1[11] = x29;
11710     out1[12] = x31;
11711     out1[13] = x33;
11712     out1[14] = x35;
11713     out1[15] = x36;
11714     out1[16] = x38;
11715     out1[17] = x40;
11716     out1[18] = x42;
11717     out1[19] = x43;
11718     out1[20] = x45;
11719     out1[21] = x47;
11720     out1[22] = x49;
11721     out1[23] = x50;
11722     out1[24] = x52;
11723     out1[25] = x54;
11724     out1[26] = x56;
11725     out1[27] = x57;
11726     out1[28] = x59;
11727     out1[29] = x61;
11728     out1[30] = x63;
11729     out1[31] = x62;
11730 }
11731
11732 /*
11733  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
11734  * Preconditions:
11735  *   0 ≤ bytes_eval arg1 < m
11736  * Postconditions:
11737  *   eval out1 mod m = bytes_eval arg1 mod m
11738  *   0 ≤ eval out1 < m
11739  *
11740  * Input Bounds:
11741  *   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]]
11742  * Output Bounds:
11743  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11744  */
11745 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(
11746     uint32_t out1[8], const uint8_t arg1[32]) {
11747     uint32_t x1;
11748     uint32_t x2;
11749     uint32_t x3;
11750     uint8_t x4;
11751     uint32_t x5;
11752     uint32_t x6;
11753     uint32_t x7;
11754     uint8_t x8;
11755     uint32_t x9;
11756     uint32_t x10;
11757     uint32_t x11;
11758     uint8_t x12;
11759     uint32_t x13;
11760     uint32_t x14;
11761     uint32_t x15;
11762     uint8_t x16;
11763     uint32_t x17;
11764     uint32_t x18;
11765     uint32_t x19;
11766     uint8_t x20;
11767     uint32_t x21;
11768     uint32_t x22;
11769     uint32_t x23;
11770     uint8_t x24;
11771     uint32_t x25;
11772     uint32_t x26;
11773     uint32_t x27;
11774     uint8_t x28;
11775     uint32_t x29;
11776     uint32_t x30;
11777     uint32_t x31;
11778     uint8_t x32;
11779     uint32_t x33;
11780     uint32_t x34;
11781     uint32_t x35;
11782     uint32_t x36;
11783     uint32_t x37;
11784     uint32_t x38;
11785     uint32_t x39;
11786     uint32_t x40;
11787     uint32_t x41;
11788     uint32_t x42;
11789     uint32_t x43;
11790     uint32_t x44;
11791     uint32_t x45;
11792     uint32_t x46;
11793     uint32_t x47;
11794     x1 = ((uint32_t)(arg1[31]) << 24);
11795     x2 = ((uint32_t)(arg1[30]) << 16);
11796     x3 = ((uint32_t)(arg1[29]) << 8);
11797     x4 = (arg1[28]);
11798     x5 = ((uint32_t)(arg1[27]) << 24);
11799     x6 = ((uint32_t)(arg1[26]) << 16);
11800     x7 = ((uint32_t)(arg1[25]) << 8);
11801     x8 = (arg1[24]);
11802     x9 = ((uint32_t)(arg1[23]) << 24);
11803     x10 = ((uint32_t)(arg1[22]) << 16);
11804     x11 = ((uint32_t)(arg1[21]) << 8);
11805     x12 = (arg1[20]);
11806     x13 = ((uint32_t)(arg1[19]) << 24);
11807     x14 = ((uint32_t)(arg1[18]) << 16);
11808     x15 = ((uint32_t)(arg1[17]) << 8);
11809     x16 = (arg1[16]);
11810     x17 = ((uint32_t)(arg1[15]) << 24);
11811     x18 = ((uint32_t)(arg1[14]) << 16);
11812     x19 = ((uint32_t)(arg1[13]) << 8);
11813     x20 = (arg1[12]);
11814     x21 = ((uint32_t)(arg1[11]) << 24);
11815     x22 = ((uint32_t)(arg1[10]) << 16);
11816     x23 = ((uint32_t)(arg1[9]) << 8);
11817     x24 = (arg1[8]);
11818     x25 = ((uint32_t)(arg1[7]) << 24);
11819     x26 = ((uint32_t)(arg1[6]) << 16);
11820     x27 = ((uint32_t)(arg1[5]) << 8);
11821     x28 = (arg1[4]);
11822     x29 = ((uint32_t)(arg1[3]) << 24);
11823     x30 = ((uint32_t)(arg1[2]) << 16);
11824     x31 = ((uint32_t)(arg1[1]) << 8);
11825     x32 = (arg1[0]);
11826     x33 = (x32 + (x31 + (x30 + x29)));
11827     x34 = (x33 & UINT32_C(0xffffffff));
11828     x35 = (x4 + (x3 + (x2 + x1)));
11829     x36 = (x8 + (x7 + (x6 + x5)));
11830     x37 = (x12 + (x11 + (x10 + x9)));
11831     x38 = (x16 + (x15 + (x14 + x13)));
11832     x39 = (x20 + (x19 + (x18 + x17)));
11833     x40 = (x24 + (x23 + (x22 + x21)));
11834     x41 = (x28 + (x27 + (x26 + x25)));
11835     x42 = (x41 & UINT32_C(0xffffffff));
11836     x43 = (x40 & UINT32_C(0xffffffff));
11837     x44 = (x39 & UINT32_C(0xffffffff));
11838     x45 = (x38 & UINT32_C(0xffffffff));
11839     x46 = (x37 & UINT32_C(0xffffffff));
11840     x47 = (x36 & UINT32_C(0xffffffff));
11841     out1[0] = x34;
11842     out1[1] = x42;
11843     out1[2] = x43;
11844     out1[3] = x44;
11845     out1[4] = x45;
11846     out1[5] = x46;
11847     out1[6] = x47;
11848     out1[7] = x35;
11849 }
11850
11851 /* END verbatim fiat code */
11852
11853 /*-
11854  * Finite field inversion via FLT.
11855  * NB: this is not a real Fiat function, just named that way for consistency.
11856  * Autogenerated: ecp/id_GostR3410_2001_CryptoPro_C_ParamSet/fe_inv.op3
11857  * sliding window w=5
11858  */
11859 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(fe_t output,
11860                                                             const fe_t t1) {
11861     int i;
11862     /* temporary variables */
11863     fe_t acc, t11, t13, t15, t17, t19, t21, t23, t25, t27, t29, t3, t31, t5, t7,
11864         t9;
11865
11866     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t1);
11867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t1, acc);
11868     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t5, t3, acc);
11869     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t7, t5, acc);
11870     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t9, t7, acc);
11871     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t11, t9, acc);
11872     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t13, t11, acc);
11873     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t15, t13, acc);
11874     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t17, t15, acc);
11875     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t19, t17, acc);
11876     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t21, t19, acc);
11877     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t23, t21, acc);
11878     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t25, t23, acc);
11879     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t27, t25, acc);
11880     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t29, t27, acc);
11881     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t31, t29, acc);
11882     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t9);
11883     for (i = 0; i < 4; i++)
11884         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11885     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
11886     for (i = 0; i < 5; i++)
11887         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11888     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
11889     for (i = 0; i < 5; i++)
11890         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11891     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t27);
11892     for (i = 0; i < 7; i++)
11893         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11894     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
11895     for (i = 0; i < 5; i++)
11896         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11897     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
11898     for (i = 0; i < 5; i++)
11899         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11900     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
11901     for (i = 0; i < 5; i++)
11902         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11903     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
11904     for (i = 0; i < 8; i++)
11905         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11906     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
11907     for (i = 0; i < 7; i++)
11908         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11909     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
11910     for (i = 0; i < 6; i++)
11911         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11912     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
11913     for (i = 0; i < 5; i++)
11914         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11915     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
11916     for (i = 0; i < 5; i++)
11917         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11918     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
11919     for (i = 0; i < 7; i++)
11920         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11921     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
11922     for (i = 0; i < 6; i++)
11923         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11924     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
11925     for (i = 0; i < 5; i++)
11926         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11927     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
11928     for (i = 0; i < 5; i++)
11929         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11930     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
11931     for (i = 0; i < 6; i++)
11932         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11933     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
11934     for (i = 0; i < 5; i++)
11935         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11936     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
11937     for (i = 0; i < 6; i++)
11938         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11939     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
11940     for (i = 0; i < 5; i++)
11941         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11942     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
11943     for (i = 0; i < 8; i++)
11944         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11945     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
11946     for (i = 0; i < 5; i++)
11947         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11948     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
11949     for (i = 0; i < 7; i++)
11950         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11951     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t31);
11952     for (i = 0; i < 5; i++)
11953         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11954     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
11955     for (i = 0; i < 5; i++)
11956         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11957     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
11958     for (i = 0; i < 6; i++)
11959         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
11961     for (i = 0; i < 6; i++)
11962         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11963     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
11964     for (i = 0; i < 6; i++)
11965         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11966     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
11967     for (i = 0; i < 7; i++)
11968         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11969     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t9);
11970     for (i = 0; i < 8; i++)
11971         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11972     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t5);
11973     for (i = 0; i < 6; i++)
11974         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11975     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
11976     for (i = 0; i < 6; i++)
11977         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11978     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t19);
11979     for (i = 0; i < 5; i++)
11980         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11981     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
11982     for (i = 0; i < 7; i++)
11983         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11984     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
11985     for (i = 0; i < 5; i++)
11986         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11987     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t17);
11988     for (i = 0; i < 5; i++)
11989         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11990     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
11991     for (i = 0; i < 5; i++)
11992         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11993     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
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, t25);
11997     for (i = 0; i < 7; i++)
11998         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11999     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
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, t11);
12003     for (i = 0; i < 6; i++)
12004         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12005     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
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, t11);
12009     for (i = 0; i < 7; i++)
12010         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12011     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(output, acc, t25);
12012 }
12013
12014 /* curve coefficient constants */
12015
12016 static const limb_t const_one[8] = {UINT32_C(0xFDD28A65), UINT32_C(0x86670846),
12017                                     UINT32_C(0x876FAE2C), UINT32_C(0x307B9179),
12018                                     UINT32_C(0x94BE3755), UINT32_C(0x54E137A1),
12019                                     UINT32_C(0xA57A7EF8), UINT32_C(0x64609FA0)};
12020
12021 static const limb_t const_b[8] = {UINT32_C(0x3BDA2ACF), UINT32_C(0x4BE8A4E9),
12022                                   UINT32_C(0x90D382DD), UINT32_C(0x79CC0E3E),
12023                                   UINT32_C(0x1D9CC79B), UINT32_C(0x3BA4C8B0),
12024                                   UINT32_C(0x966609E9), UINT32_C(0x5CC73B5A)};
12025
12026 /* LUT for scalar multiplication by comb interleaving */
12027 static const pt_aff_t lut_cmb[27][16] = {
12028     {
12029         {{UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
12030           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
12031           UINT32_C(0x00000000), UINT32_C(0x00000000)},
12032          {UINT32_C(0x00254F12), UINT32_C(0xD082E007), UINT32_C(0xEB1F1421),
12033           UINT32_C(0xC5BA8184), UINT32_C(0xF010780D), UINT32_C(0x4EC9E7D0),
12034           UINT32_C(0x2794C8D5), UINT32_C(0x7846B5B7)}},
12035         {{UINT32_C(0x7225A595), UINT32_C(0x870FB041), UINT32_C(0x5FD57F04),
12036           UINT32_C(0x6CAFAE70), UINT32_C(0x2E7DB9BA), UINT32_C(0xFEC1C2AC),
12037           UINT32_C(0x127A5862), UINT32_C(0x9230823E)},
12038          {UINT32_C(0xE4464836), UINT32_C(0xF6CFDB6D), UINT32_C(0x9A945AC0),
12039           UINT32_C(0x3D79631B), UINT32_C(0x3D0C880D), UINT32_C(0xA1FCF2DF),
12040           UINT32_C(0x0EE6A611), UINT32_C(0x17C83E50)}},
12041         {{UINT32_C(0xE42734FD), UINT32_C(0x3C79C11A), UINT32_C(0xAC4040C3),
12042           UINT32_C(0x1614B2BE), UINT32_C(0x2C3A23A5), UINT32_C(0xDD143725),
12043           UINT32_C(0x8AF4F7CD), UINT32_C(0x1A02DA83)},
12044          {UINT32_C(0xE7D6991A), UINT32_C(0x23D588D6), UINT32_C(0xD2B3E364),
12045           UINT32_C(0x5F332676), UINT32_C(0x9134BA88), UINT32_C(0x35382680),
12046           UINT32_C(0xD27090E5), UINT32_C(0x08ECA826)}},
12047         {{UINT32_C(0x26761106), UINT32_C(0x231F8DC8), UINT32_C(0x3D78B14B),
12048           UINT32_C(0x7363050E), UINT32_C(0xC05C4381), UINT32_C(0xC3B9A1B8),
12049           UINT32_C(0xB8ACD9AC), UINT32_C(0x29727635)},
12050          {UINT32_C(0x2ED54E6C), UINT32_C(0xDD416AE9), UINT32_C(0x0B48A87C),
12051           UINT32_C(0x54608435), UINT32_C(0x97093D22), UINT32_C(0x2C8DEEA4),
12052           UINT32_C(0x0D716BAF), UINT32_C(0x87D2924C)}},
12053         {{UINT32_C(0x619206D6), UINT32_C(0x43281D30), UINT32_C(0x68744E44),
12054           UINT32_C(0x4A8FFC87), UINT32_C(0x708208D5), UINT32_C(0xB1011A3D),
12055           UINT32_C(0xA035B0B9), UINT32_C(0x2FE86E7B)},
12056          {UINT32_C(0xA3762860), UINT32_C(0x82F43088), UINT32_C(0xB33595D4),
12057           UINT32_C(0x67B5A303), UINT32_C(0xB477BECD), UINT32_C(0x262F16EB),
12058           UINT32_C(0x23E2816A), UINT32_C(0x1D38D4A7)}},
12059         {{UINT32_C(0xAD83C032), UINT32_C(0x91BBA3C0), UINT32_C(0x234F2FF3),
12060           UINT32_C(0x7DBC2EB6), UINT32_C(0x6D18A737), UINT32_C(0xE2C00C15),
12061           UINT32_C(0xCCF6DC2D), UINT32_C(0x71D1AE8B)},
12062          {UINT32_C(0x2DB77239), UINT32_C(0x6183816A), UINT32_C(0x0E228C41),
12063           UINT32_C(0xC545A512), UINT32_C(0x0F49A679), UINT32_C(0x3B96D6BC),
12064           UINT32_C(0xE49E39C2), UINT32_C(0x9831D683)}},
12065         {{UINT32_C(0x20DA13D9), UINT32_C(0xEEAA17A9), UINT32_C(0x8ABECADE),
12066           UINT32_C(0xEE3130FB), UINT32_C(0xA6E3D089), UINT32_C(0xBFB2CE6A),
12067           UINT32_C(0xE627A07C), UINT32_C(0x22BCDCEE)},
12068          {UINT32_C(0x955A1D9E), UINT32_C(0x86D7A50C), UINT32_C(0xE4E00B9E),
12069           UINT32_C(0xCD60A425), UINT32_C(0x615B9E91), UINT32_C(0x5407A6F8),
12070           UINT32_C(0x4F1CA93D), UINT32_C(0x7F17B171)}},
12071         {{UINT32_C(0x0DB59F2C), UINT32_C(0xBC351DE0), UINT32_C(0x9CDAF8AF),
12072           UINT32_C(0x1470E6A1), UINT32_C(0x60D3B27A), UINT32_C(0x461ED289),
12073           UINT32_C(0x49C7F789), UINT32_C(0x122C8F4B)},
12074          {UINT32_C(0x069FC8CE), UINT32_C(0xAB56E614), UINT32_C(0xC34E487C),
12075           UINT32_C(0x9836B010), UINT32_C(0x3FE009EB), UINT32_C(0x9EE06703),
12076           UINT32_C(0xAA019563), UINT32_C(0x88C8DC64)}},
12077         {{UINT32_C(0x63DDBB1F), UINT32_C(0xD0B4A996), UINT32_C(0x1D154696),
12078           UINT32_C(0x483286E5), UINT32_C(0x9F0D6F4E), UINT32_C(0xF0586DB8),
12079           UINT32_C(0x980446C8), UINT32_C(0x38167987)},
12080          {UINT32_C(0xE4166B55), UINT32_C(0x86A2ABAC), UINT32_C(0xA8366C64),
12081           UINT32_C(0x4E7B4F96), UINT32_C(0xED997D8E), UINT32_C(0x20CF2108),
12082           UINT32_C(0x1D01C009), UINT32_C(0x20EA9844)}},
12083         {{UINT32_C(0xB89CE05A), UINT32_C(0x028B520E), UINT32_C(0x4FAAD420),
12084           UINT32_C(0xEF41147D), UINT32_C(0x121A2A0A), UINT32_C(0xB280CCD3),
12085           UINT32_C(0x86E8F591), UINT32_C(0x4C677C83)},
12086          {UINT32_C(0xA390AA99), UINT32_C(0xB42F67B2), UINT32_C(0x19F8A01A),
12087           UINT32_C(0xC4EF553B), UINT32_C(0x6979027F), UINT32_C(0x86761139),
12088           UINT32_C(0x82C202BE), UINT32_C(0x6F177663)}},
12089         {{UINT32_C(0x27C5C7CC), UINT32_C(0xBEF6B996), UINT32_C(0x10799DB8),
12090           UINT32_C(0xB2D34F8B), UINT32_C(0x48AD9B1E), UINT32_C(0x132E1A3D),
12091           UINT32_C(0xE68B9907), UINT32_C(0x2971BFED)},
12092          {UINT32_C(0xC6B743B5), UINT32_C(0x312F6D31), UINT32_C(0xA718E0A8),
12093           UINT32_C(0xCF123317), UINT32_C(0xFD58637C), UINT32_C(0xCF1E5266),
12094           UINT32_C(0xE046167C), UINT32_C(0x56BA8362)}},
12095         {{UINT32_C(0x0E910D7F), UINT32_C(0xD680969D), UINT32_C(0x8A4689F9),
12096           UINT32_C(0x634FB3C2), UINT32_C(0x09FDD299), UINT32_C(0xA79A56DF),
12097           UINT32_C(0x89411C3D), UINT32_C(0x9065269E)},
12098          {UINT32_C(0x82C6076C), UINT32_C(0x5D22254E), UINT32_C(0x81FEA171),
12099           UINT32_C(0xDE7D78F0), UINT32_C(0x10BCDA87), UINT32_C(0xE1366964),
12100           UINT32_C(0x97638B85), UINT32_C(0x98B58F5A)}},
12101         {{UINT32_C(0xFB5EDF3F), UINT32_C(0xA532DED4), UINT32_C(0x833A7E2F),
12102           UINT32_C(0x604E5631), UINT32_C(0x3A09C74E), UINT32_C(0x7C4051D3),
12103           UINT32_C(0xEDFBEB4B), UINT32_C(0x51D1108A)},
12104          {UINT32_C(0x4DF1AB4D), UINT32_C(0x9AE61F9E), UINT32_C(0x163DB1A5),
12105           UINT32_C(0xFD4966F3), UINT32_C(0x7075AD6D), UINT32_C(0xF6C44E55),
12106           UINT32_C(0x4AF24611), UINT32_C(0x670D0D6F)}},
12107         {{UINT32_C(0xD369D301), UINT32_C(0xD99925FF), UINT32_C(0x7665BCF4),
12108           UINT32_C(0xC17E9767), UINT32_C(0xCB5A2128), UINT32_C(0xB5A908F1),
12109           UINT32_C(0x9C726C9F), UINT32_C(0x1981791D)},
12110          {UINT32_C(0xE0861F4E), UINT32_C(0xC4249418), UINT32_C(0xEE045D5E),
12111           UINT32_C(0x2A63399F), UINT32_C(0xA1B974FF), UINT32_C(0x246958FD),
12112           UINT32_C(0x0FC6F7A0), UINT32_C(0x668016A2)}},
12113         {{UINT32_C(0xEDE07C08), UINT32_C(0xEB7018AD), UINT32_C(0x2E33D1D9),
12114           UINT32_C(0xDF3C1259), UINT32_C(0xDC24E3DE), UINT32_C(0xEE0913DA),
12115           UINT32_C(0x35EB6B0D), UINT32_C(0x1C632D5B)},
12116          {UINT32_C(0x2C56E1B2), UINT32_C(0xC69396DD), UINT32_C(0xA837CE8F),
12117           UINT32_C(0x01F0B034), UINT32_C(0xB6882E32), UINT32_C(0x7842B98D),
12118           UINT32_C(0x9E61FCA6), UINT32_C(0x8FAC9230)}},
12119         {{UINT32_C(0x8A782CFE), UINT32_C(0x1DBB7D99), UINT32_C(0xC9322BE7),
12120           UINT32_C(0xEB945B49), UINT32_C(0xE208123B), UINT32_C(0xDCCB4E6E),
12121           UINT32_C(0xFC024524), UINT32_C(0x1C7C265C)},
12122          {UINT32_C(0x6102BC63), UINT32_C(0xAD000D8A), UINT32_C(0x82575943),
12123           UINT32_C(0x7D7F3C7B), UINT32_C(0x0D547A95), UINT32_C(0x8D2F0881),
12124           UINT32_C(0xD94FFA6D), UINT32_C(0x7012377A)}},
12125     },
12126     {
12127         {{UINT32_C(0x1EB6CBF7), UINT32_C(0xE3F78DE5), UINT32_C(0x72FA65DB),
12128           UINT32_C(0xF4E08A61), UINT32_C(0x502A247E), UINT32_C(0x670B0E06),
12129           UINT32_C(0x9877E492), UINT32_C(0x7A45D73E)},
12130          {UINT32_C(0x3DD0CDBC), UINT32_C(0x5FD754AD), UINT32_C(0x0125AB1F),
12131           UINT32_C(0xA5C2B15E), UINT32_C(0xE614B7A9), UINT32_C(0xC503836F),
12132           UINT32_C(0x2C50DCFE), UINT32_C(0x5548C424)}},
12133         {{UINT32_C(0xB9B38743), UINT32_C(0xCEE7BE65), UINT32_C(0x94BE028E),
12134           UINT32_C(0xD5E41715), UINT32_C(0xB5C45F7D), UINT32_C(0x08EC3CA3),
12135           UINT32_C(0xFB51261A), UINT32_C(0x1ACFAC17)},
12136          {UINT32_C(0xA9C04381), UINT32_C(0x45098D93), UINT32_C(0xA5B45DC8),
12137           UINT32_C(0x717FC0DC), UINT32_C(0xEABEE4E5), UINT32_C(0xF352A9C2),
12138           UINT32_C(0xF311B457), UINT32_C(0x1964AF20)}},
12139         {{UINT32_C(0x0802A755), UINT32_C(0x8C229808), UINT32_C(0x6140CDA7),
12140           UINT32_C(0x46F0A7CA), UINT32_C(0xBC62603B), UINT32_C(0xF0EEB7AE),
12141           UINT32_C(0x4BF4B451), UINT32_C(0x8432E152)},
12142          {UINT32_C(0x63967F94), UINT32_C(0x3C319825), UINT32_C(0xA042AE13),
12143           UINT32_C(0xF04EACB6), UINT32_C(0x650A6ADB), UINT32_C(0xD7CB2DBC),
12144           UINT32_C(0x78C9E166), UINT32_C(0x38A36EE3)}},
12145         {{UINT32_C(0xD3EE8657), UINT32_C(0x3527A5C5), UINT32_C(0x101645F9),
12146           UINT32_C(0xBAA0DE97), UINT32_C(0xCE9D6A48), UINT32_C(0xC59C9803),
12147           UINT32_C(0xF8F39FDF), UINT32_C(0x43D12449)},
12148          {UINT32_C(0x8DF7A72B), UINT32_C(0x65B3AB98), UINT32_C(0xAFDA9048),
12149           UINT32_C(0xD225AF8E), UINT32_C(0x338A3694), UINT32_C(0x88C368B8),
12150           UINT32_C(0xFBC813F1), UINT32_C(0x4A5A3C24)}},
12151         {{UINT32_C(0x9E2118B5), UINT32_C(0xCBCB725A), UINT32_C(0xCAA54794),
12152           UINT32_C(0x113F36C5), UINT32_C(0x4A0A2267), UINT32_C(0x5900990E),
12153           UINT32_C(0x0A9C1F11), UINT32_C(0x4E329EB1)},
12154          {UINT32_C(0xCD8918A7), UINT32_C(0xF47F4077), UINT32_C(0x3877B404),
12155           UINT32_C(0x18A3C071), UINT32_C(0xEFEB2B6B), UINT32_C(0xCDEF4FE3),
12156           UINT32_C(0xDE4D0540), UINT32_C(0x360982DB)}},
12157         {{UINT32_C(0xD5F8DACA), UINT32_C(0x42AB64F2), UINT32_C(0xEE88523D),
12158           UINT32_C(0x604A9676), UINT32_C(0xAEFD1283), UINT32_C(0xD430CCAB),
12159           UINT32_C(0x54465F7C), UINT32_C(0x3DA9D0E5)},
12160          {UINT32_C(0x41A4216B), UINT32_C(0x5EC145DF), UINT32_C(0xF7E7FBD9),
12161           UINT32_C(0x7C8F2C51), UINT32_C(0xBD483D26), UINT32_C(0xA2E58A23),
12162           UINT32_C(0xE4A908C8), UINT32_C(0x4739F7F9)}},
12163         {{UINT32_C(0x79370382), UINT32_C(0x37DDF872), UINT32_C(0x12C8E90E),
12164           UINT32_C(0x9D26A55F), UINT32_C(0xE8EB0CA4), UINT32_C(0xFC1FA6CD),
12165           UINT32_C(0xC29DC4F9), UINT32_C(0x826A29E5)},
12166          {UINT32_C(0xAA29F814), UINT32_C(0x15ECB621), UINT32_C(0x9DF1DFF7),
12167           UINT32_C(0x4C8A8128), UINT32_C(0x66B549BB), UINT32_C(0xBB223019),
12168           UINT32_C(0xB81A2863), UINT32_C(0x6CB21ACB)}},
12169         {{UINT32_C(0x11DA6928), UINT32_C(0xDD31ACC2), UINT32_C(0xA903D58F),
12170           UINT32_C(0xF98867B0), UINT32_C(0xD3679348), UINT32_C(0xAD283697),
12171           UINT32_C(0x301C3571), UINT32_C(0x67BFEFF9)},
12172          {UINT32_C(0x780BBBCE), UINT32_C(0xB745CAE6), UINT32_C(0x62F2EC5D),
12173           UINT32_C(0x1A9C6618), UINT32_C(0xA1475BEB), UINT32_C(0xF9895684),
12174           UINT32_C(0x4731A11D), UINT32_C(0x93E5ACE6)}},
12175         {{UINT32_C(0x7539483E), UINT32_C(0x0F6E9460), UINT32_C(0x9EF4EF16),
12176           UINT32_C(0x5728E6DD), UINT32_C(0x062E946E), UINT32_C(0xE1DA86E1),
12177           UINT32_C(0xF2E07759), UINT32_C(0x272EBC47)},
12178          {UINT32_C(0x909A578F), UINT32_C(0xE5E688E3), UINT32_C(0x7CFD1B7D),
12179           UINT32_C(0x9F25D6D1), UINT32_C(0xADE1E2A4), UINT32_C(0xC582260F),
12180           UINT32_C(0xA050071E), UINT32_C(0x2F50F74E)}},
12181         {{UINT32_C(0x2DF4D40D), UINT32_C(0xE0A8FE3F), UINT32_C(0x07791F88),
12182           UINT32_C(0xB126E4EF), UINT32_C(0x2A88D242), UINT32_C(0x69759DB4),
12183           UINT32_C(0xC9C1981C), UINT32_C(0x52592A3B)},
12184          {UINT32_C(0x72F649A1), UINT32_C(0xD0F41728), UINT32_C(0x0750EBAB),
12185           UINT32_C(0x9FF19B2B), UINT32_C(0xE0D7D222), UINT32_C(0xEFC047F9),
12186           UINT32_C(0x2E8140AF), UINT32_C(0x81491CA1)}},
12187         {{UINT32_C(0x675F821B), UINT32_C(0x2DA40FF1), UINT32_C(0x9E2E0502),
12188           UINT32_C(0x2C91A287), UINT32_C(0x077D81FE), UINT32_C(0x993ECFF4),
12189           UINT32_C(0x71CC3DAE), UINT32_C(0x3ABA2F2C)},
12190          {UINT32_C(0x168413DB), UINT32_C(0xED007670), UINT32_C(0xAFBD4E82),
12191           UINT32_C(0xC07D61B5), UINT32_C(0x6BBADA24), UINT32_C(0xF078262E),
12192           UINT32_C(0x9E6413CC), UINT32_C(0x0E0EDC62)}},
12193         {{UINT32_C(0xB7D099F9), UINT32_C(0x6CD0451D), UINT32_C(0xF8B12C83),
12194           UINT32_C(0x8FB218E6), UINT32_C(0xE55EE1E4), UINT32_C(0x4D8C3B26),
12195           UINT32_C(0x4A6FCD90), UINT32_C(0x94964906)},
12196          {UINT32_C(0x4BEACA48), UINT32_C(0x9ABB9685), UINT32_C(0x868EFEC7),
12197           UINT32_C(0x6A749487), UINT32_C(0xC8D2932C), UINT32_C(0x46BB9B42),
12198           UINT32_C(0xDE007BAC), UINT32_C(0x82384321)}},
12199         {{UINT32_C(0xA942DB71), UINT32_C(0xDBECB743), UINT32_C(0x21A6BC46),
12200           UINT32_C(0x21B52115), UINT32_C(0x24C17D78), UINT32_C(0xE49B6894),
12201           UINT32_C(0x89A08E17), UINT32_C(0x737FD3F1)},
12202          {UINT32_C(0xC36E4E57), UINT32_C(0xF833E404), UINT32_C(0x01E17CE6),
12203           UINT32_C(0x512C114A), UINT32_C(0x50D75050), UINT32_C(0x65A23D73),
12204           UINT32_C(0xF2F2D438), UINT32_C(0x838CA746)}},
12205         {{UINT32_C(0xA20632B7), UINT32_C(0x28F9220C), UINT32_C(0x642358D6),
12206           UINT32_C(0x72D8C347), UINT32_C(0xE89CAA6F), UINT32_C(0xAB15FE1B),
12207           UINT32_C(0x6E16374A), UINT32_C(0x2A09B143)},
12208          {UINT32_C(0xB983CFE8), UINT32_C(0x4CED0986), UINT32_C(0x97B84E88),
12209           UINT32_C(0xD9B067B6), UINT32_C(0xC2350F8F), UINT32_C(0x926FC5F5),
12210           UINT32_C(0x84E2078F), UINT32_C(0x31D77358)}},
12211         {{UINT32_C(0x7FF17BA1), UINT32_C(0xA7815CE7), UINT32_C(0xA26BBA1B),
12212           UINT32_C(0xBE80BB6C), UINT32_C(0xF86DF104), UINT32_C(0x66DAE535),
12213           UINT32_C(0xAB1B9C09), UINT32_C(0x72739199)},
12214          {UINT32_C(0x54056E67), UINT32_C(0x8E93F3C8), UINT32_C(0xEBF23595),
12215           UINT32_C(0xDC5E3855), UINT32_C(0x78123000), UINT32_C(0x70D1033C),
12216           UINT32_C(0xF22DD2BD), UINT32_C(0x50874350)}},
12217         {{UINT32_C(0xC2700468), UINT32_C(0x533F213B), UINT32_C(0x11BEA732),
12218           UINT32_C(0x31E6AA9C), UINT32_C(0x4491DC82), UINT32_C(0xCB5E184E),
12219           UINT32_C(0x5BD63975), UINT32_C(0x8A68049A)},
12220          {UINT32_C(0xF86A41D1), UINT32_C(0x1724AC47), UINT32_C(0xECA0DA11),
12221           UINT32_C(0xDF9A0CA3), UINT32_C(0x71F0EA19), UINT32_C(0xE5E1489C),
12222           UINT32_C(0xC9DC7BF2), UINT32_C(0x0E20661A)}},
12223     },
12224     {
12225         {{UINT32_C(0xF86D9DA8), UINT32_C(0x5EB4E319), UINT32_C(0xE0A46703),
12226           UINT32_C(0x3CBF130E), UINT32_C(0x00A4AB17), UINT32_C(0x166D52DA),
12227           UINT32_C(0xB7030861), UINT32_C(0x27A80547)},
12228          {UINT32_C(0x399C32BA), UINT32_C(0xA7601086), UINT32_C(0xC2F0A5E5),
12229           UINT32_C(0x571E4E4B), UINT32_C(0x39BED44D), UINT32_C(0x72D12F6B),
12230           UINT32_C(0x1AF8F25F), UINT32_C(0x8FDCCE3D)}},
12231         {{UINT32_C(0x7DFEB40D), UINT32_C(0x281F7AF9), UINT32_C(0xD7F767D5),
12232           UINT32_C(0x0CCE33B9), UINT32_C(0x8818C1E6), UINT32_C(0x3E8BF3F4),
12233           UINT32_C(0x4BA4647A), UINT32_C(0x6D909D0D)},
12234          {UINT32_C(0xFAC574D1), UINT32_C(0x91D77BA0), UINT32_C(0x68CA7FEC),
12235           UINT32_C(0xD2592661), UINT32_C(0x281F269C), UINT32_C(0xC4C7D6B5),
12236           UINT32_C(0xDA42CDDD), UINT32_C(0x7A41CD78)}},
12237         {{UINT32_C(0xA3B8F255), UINT32_C(0xBC8E0D27), UINT32_C(0x1C3E5190),
12238           UINT32_C(0xF5E2A8B1), UINT32_C(0xD609F668), UINT32_C(0x8C38862B),
12239           UINT32_C(0x0631D50F), UINT32_C(0x4E31C18E)},
12240          {UINT32_C(0xF13E0CCD), UINT32_C(0x9013EDDB), UINT32_C(0x41EFDAF7),
12241           UINT32_C(0x83B04E68), UINT32_C(0xDC82597F), UINT32_C(0x15EC4BB8),
12242           UINT32_C(0x56117705), UINT32_C(0x50595150)}},
12243         {{UINT32_C(0x1E0E0161), UINT32_C(0xD25F244D), UINT32_C(0x1A437FBA),
12244           UINT32_C(0x6C975D7B), UINT32_C(0x95F2AD8C), UINT32_C(0x305DB2DF),
12245           UINT32_C(0x3B9CC742), UINT32_C(0x17D6E005)},
12246          {UINT32_C(0xE60BC3C3), UINT32_C(0x6A849F76), UINT32_C(0xBF8C3790),
12247           UINT32_C(0x35523E08), UINT32_C(0x239140E2), UINT32_C(0xF18B5335),
12248           UINT32_C(0x7CA5FF40), UINT32_C(0x5E857055)}},
12249         {{UINT32_C(0xA4250E95), UINT32_C(0xB48F07A4), UINT32_C(0xC7F17667),
12250           UINT32_C(0x068735AE), UINT32_C(0x94771B24), UINT32_C(0x30F8D313),
12251           UINT32_C(0xA495A064), UINT32_C(0x598EA397)},
12252          {UINT32_C(0x68B76855), UINT32_C(0xBF192529), UINT32_C(0xC7C0D2D6),
12253           UINT32_C(0x897E3CC6), UINT32_C(0x64EC9649), UINT32_C(0xA2A4948F),
12254           UINT32_C(0xAE7C8598), UINT32_C(0x1027891A)}},
12255         {{UINT32_C(0x04585685), UINT32_C(0x0442E6CB), UINT32_C(0x82A2D258),
12256           UINT32_C(0x09BA61DA), UINT32_C(0x0AE5466D), UINT32_C(0x7C5400B1),
12257           UINT32_C(0xC2133893), UINT32_C(0x0A0B71B0)},
12258          {UINT32_C(0xD5EF6E93), UINT32_C(0x04E3D98A), UINT32_C(0xF332BDF2),
12259           UINT32_C(0x177EA5F8), UINT32_C(0xC3FAE583), UINT32_C(0xE7CF3F71),
12260           UINT32_C(0x8AE0CFD7), UINT32_C(0x40C45133)}},
12261         {{UINT32_C(0x9B82E738), UINT32_C(0x6BE94FC3), UINT32_C(0x8BC262E2),
12262           UINT32_C(0x212FB804), UINT32_C(0xB22E21FF), UINT32_C(0xE17F6A7A),
12263           UINT32_C(0x15E960BB), UINT32_C(0x22B7BDAB)},
12264          {UINT32_C(0x771350C2), UINT32_C(0xE154C945), UINT32_C(0x882DB07B),
12265           UINT32_C(0x6505B8EB), UINT32_C(0xC7E3ABD3), UINT32_C(0x149A0A16),
12266           UINT32_C(0x81C30AAE), UINT32_C(0x78F78ABF)}},
12267         {{UINT32_C(0xC954BC0A), UINT32_C(0x6ED81415), UINT32_C(0x70E55349),
12268           UINT32_C(0x316E8012), UINT32_C(0x50399C09), UINT32_C(0xEC02323B),
12269           UINT32_C(0x8559C3A9), UINT32_C(0x963BA97B)},
12270          {UINT32_C(0x037EC345), UINT32_C(0x39FCE50E), UINT32_C(0xD5BF03FB),
12271           UINT32_C(0x422A082D), UINT32_C(0x18DCC77E), UINT32_C(0x59ED39E4),
12272           UINT32_C(0xA40AA978), UINT32_C(0x4CFC3F11)}},
12273         {{UINT32_C(0x55D7C9B6), UINT32_C(0x85A56922), UINT32_C(0xB451111B),
12274           UINT32_C(0x5BC590E2), UINT32_C(0x8782C71B), UINT32_C(0x3BCB2315),
12275           UINT32_C(0x632246A9), UINT32_C(0x1F3456C4)},
12276          {UINT32_C(0x9CFBBE19), UINT32_C(0xEA577AD9), UINT32_C(0x35CCE939),
12277           UINT32_C(0x051BEE40), UINT32_C(0x1A0C589C), UINT32_C(0xDC300899),
12278           UINT32_C(0xD2095619), UINT32_C(0x14877ECE)}},
12279         {{UINT32_C(0x95024C5E), UINT32_C(0xB64D0EC6), UINT32_C(0xB94CDF74),
12280           UINT32_C(0xB0597195), UINT32_C(0x16844010), UINT32_C(0x3B97B513),
12281           UINT32_C(0xCCBABC63), UINT32_C(0x48799881)},
12282          {UINT32_C(0xD9819075), UINT32_C(0x0E3119AE), UINT32_C(0xEB0299FD),
12283           UINT32_C(0xA5DCA9C1), UINT32_C(0x4A404D13), UINT32_C(0x8063D788),
12284           UINT32_C(0x8044EBE2), UINT32_C(0x974D2A1A)}},
12285         {{UINT32_C(0xB8E14640), UINT32_C(0xB6589045), UINT32_C(0x5507B9BE),
12286           UINT32_C(0xFAD60A43), UINT32_C(0x56FF32BC), UINT32_C(0x9D540C1C),
12287           UINT32_C(0x74265A69), UINT32_C(0x47ECC24F)},
12288          {UINT32_C(0xDB3E64C9), UINT32_C(0x0C829F18), UINT32_C(0x72E87B2B),
12289           UINT32_C(0xF7C0C6D7), UINT32_C(0x16B616CE), UINT32_C(0xCB3FC512),
12290           UINT32_C(0xB94F69B1), UINT32_C(0x549B9227)}},
12291         {{UINT32_C(0xDB235273), UINT32_C(0xB151DEE9), UINT32_C(0x6D65606C),
12292           UINT32_C(0x2FD9496F), UINT32_C(0xD62B5B0D), UINT32_C(0x6A5E172D),
12293           UINT32_C(0xEA0AE249), UINT32_C(0x181E605D)},
12294          {UINT32_C(0x8911490A), UINT32_C(0x66D7EB09), UINT32_C(0x2E70DEF2),
12295           UINT32_C(0x85E174A3), UINT32_C(0x4EF8CFA9), UINT32_C(0x2DA13354),
12296           UINT32_C(0x3E69BD22), UINT32_C(0x1B87FE62)}},
12297         {{UINT32_C(0x2BB09564), UINT32_C(0x2DF420CA), UINT32_C(0x7ACEE4D4),
12298           UINT32_C(0x1AC26F76), UINT32_C(0x2BC7EF7A), UINT32_C(0x50C68E6F),
12299           UINT32_C(0xB445B2FE), UINT32_C(0x4730D654)},
12300          {UINT32_C(0x8B57D38D), UINT32_C(0x90C040D9), UINT32_C(0x33CA2C77),
12301           UINT32_C(0x28793DB5), UINT32_C(0xAC6A4BE8), UINT32_C(0x22D2B573),
12302           UINT32_C(0xB72E7E01), UINT32_C(0x68C0DBDD)}},
12303         {{UINT32_C(0x09E2D3FF), UINT32_C(0xDF70BCDC), UINT32_C(0x9F20F624),
12304           UINT32_C(0xB6E59970), UINT32_C(0x6DE3119E), UINT32_C(0x5E04FDE7),
12305           UINT32_C(0xD5705A5D), UINT32_C(0x1C9B43FF)},
12306          {UINT32_C(0x681270B0), UINT32_C(0x7C23A517), UINT32_C(0x9303BF40),
12307           UINT32_C(0xDD7FC833), UINT32_C(0x458EE80A), UINT32_C(0x3028E496),
12308           UINT32_C(0x52590EEF), UINT32_C(0x0C720063)}},
12309         {{UINT32_C(0x2850A5AE), UINT32_C(0x27B29710), UINT32_C(0xAA3E0397),
12310           UINT32_C(0xD1E6FBBA), UINT32_C(0xDF8FCBD6), UINT32_C(0xCFB44044),
12311           UINT32_C(0xC52B90FD), UINT32_C(0x7CD86272)},
12312          {UINT32_C(0xEBA52025), UINT32_C(0xB0E7FA93), UINT32_C(0x04084EF3),
12313           UINT32_C(0x64166303), UINT32_C(0x43840178), UINT32_C(0xD7C7DCBE),
12314           UINT32_C(0x22FB81A2), UINT32_C(0x8BC7FF77)}},
12315         {{UINT32_C(0xDAFCE699), UINT32_C(0xABDC5206), UINT32_C(0x83C5F3A3),
12316           UINT32_C(0x522A9137), UINT32_C(0x0E666E5C), UINT32_C(0xBAA93637),
12317           UINT32_C(0xD2D33B62), UINT32_C(0x0FD813DA)},
12318          {UINT32_C(0x5D417354), UINT32_C(0x83391908), UINT32_C(0xA6B9B447),
12319           UINT32_C(0xE5AADE1D), UINT32_C(0xD68321B1), UINT32_C(0xBDE90A3C),
12320           UINT32_C(0x0411531B), UINT32_C(0x43FF9514)}},
12321     },
12322     {
12323         {{UINT32_C(0x39648345), UINT32_C(0xD61DEE64), UINT32_C(0x7FCB5B5E),
12324           UINT32_C(0xF8B3FA1C), UINT32_C(0x24C29C71), UINT32_C(0xDD531CE1),
12325           UINT32_C(0xFFB825FE), UINT32_C(0x7A23608B)},
12326          {UINT32_C(0xF0DE896D), UINT32_C(0x8D607B82), UINT32_C(0x06EDDAFE),
12327           UINT32_C(0x6E497330), UINT32_C(0xC935E754), UINT32_C(0x8B49EFF0),
12328           UINT32_C(0xEE08BDBF), UINT32_C(0x90D54646)}},
12329         {{UINT32_C(0x9044FD39), UINT32_C(0xF44FBB16), UINT32_C(0xDFB38141),
12330           UINT32_C(0xA72128C4), UINT32_C(0x01954CC0), UINT32_C(0x8467F688),
12331           UINT32_C(0xB560B5C5), UINT32_C(0x741C23EE)},
12332          {UINT32_C(0x9765CF34), UINT32_C(0xA7F42201), UINT32_C(0x8A2AB61A),
12333           UINT32_C(0xB26C97BF), UINT32_C(0xCBD45AF3), UINT32_C(0xAA948763),
12334           UINT32_C(0xE21479F5), UINT32_C(0x74C993C2)}},
12335         {{UINT32_C(0xBFA717A5), UINT32_C(0xD968CE1A), UINT32_C(0x48E92615),
12336           UINT32_C(0x45C1103D), UINT32_C(0xDD98207D), UINT32_C(0x4CCEBE85),
12337           UINT32_C(0xE65E5FE6), UINT32_C(0x8A75DF6E)},
12338          {UINT32_C(0x418C47C5), UINT32_C(0x9E582C40), UINT32_C(0xA450009B),
12339           UINT32_C(0x2E9EE003), UINT32_C(0xDD60D3D2), UINT32_C(0x7C079613),
12340           UINT32_C(0x9935D8CA), UINT32_C(0x80A78C4A)}},
12341         {{UINT32_C(0xD3C9B903), UINT32_C(0xF6CDED58), UINT32_C(0xEF455E7A),
12342           UINT32_C(0x4F27927D), UINT32_C(0x833BB3C1), UINT32_C(0xF9DBBB9E),
12343           UINT32_C(0x6BA3770A), UINT32_C(0x4107CFBF)},
12344          {UINT32_C(0x520FCB57), UINT32_C(0x61871175), UINT32_C(0x47A12C8E),
12345           UINT32_C(0xEA3A307B), UINT32_C(0xC24E9E75), UINT32_C(0x940DDEE8),
12346           UINT32_C(0xF33541BB), UINT32_C(0x8AE8F22C)}},
12347         {{UINT32_C(0x3973DC0B), UINT32_C(0xE4C89870), UINT32_C(0x55DFAAF0),
12348           UINT32_C(0xCC3DD1AC), UINT32_C(0x27372EFE), UINT32_C(0xB63D596B),
12349           UINT32_C(0x45A33718), UINT32_C(0x1B92A192)},
12350          {UINT32_C(0x00607319), UINT32_C(0x0EABEBEE), UINT32_C(0x7C3E35EE),
12351           UINT32_C(0x69B7355E), UINT32_C(0x2233C454), UINT32_C(0xF7354E35),
12352           UINT32_C(0x1E722C0A), UINT32_C(0x1E2BAADA)}},
12353         {{UINT32_C(0x3B9FE86D), UINT32_C(0xD0E47FE2), UINT32_C(0xDAA1C7BC),
12354           UINT32_C(0x878F403F), UINT32_C(0x90F5DED7), UINT32_C(0x5447AD54),
12355           UINT32_C(0x1E58B03B), UINT32_C(0x4E8A997B)},
12356          {UINT32_C(0x2E926FA8), UINT32_C(0x9AD0E481), UINT32_C(0x8D0EF3AA),
12357           UINT32_C(0x871EFB9E), UINT32_C(0x7E714DF6), UINT32_C(0xADD7DD14),
12358           UINT32_C(0x2308EE02), UINT32_C(0x9A30245A)}},
12359         {{UINT32_C(0x904F0D11), UINT32_C(0x44838B15), UINT32_C(0x2A2A70FF),
12360           UINT32_C(0x6177587A), UINT32_C(0x2C2F7943), UINT32_C(0x40293850),
12361           UINT32_C(0x67581701), UINT32_C(0x8F851191)},
12362          {UINT32_C(0x842E6434), UINT32_C(0x564383D1), UINT32_C(0xAF2C0078),
12363           UINT32_C(0x251AF59D), UINT32_C(0x3354A264), UINT32_C(0x8A81772D),
12364           UINT32_C(0xDFD2D0EA), UINT32_C(0x9AAFA350)}},
12365         {{UINT32_C(0x35461CAD), UINT32_C(0x47397932), UINT32_C(0x62C5BFFA),
12366           UINT32_C(0x0F86BD43), UINT32_C(0x7785490D), UINT32_C(0x5F166BC0),
12367           UINT32_C(0x2BD61B3E), UINT32_C(0x7DCCC988)},
12368          {UINT32_C(0x9394375B), UINT32_C(0x44C3299A), UINT32_C(0x405A34BD),
12369           UINT32_C(0x0C5F2803), UINT32_C(0x4237E728), UINT32_C(0x3AD60F1D),
12370           UINT32_C(0x72EC2562), UINT32_C(0x6E7E06D0)}},
12371         {{UINT32_C(0x3C5840A6), UINT32_C(0x44AD8471), UINT32_C(0x4752BC62),
12372           UINT32_C(0x40C3CE2B), UINT32_C(0xEC3FD75F), UINT32_C(0x94B14C21),
12373           UINT32_C(0x2629C0C0), UINT32_C(0x65E0E6AF)},
12374          {UINT32_C(0x55936454), UINT32_C(0xA3FE2F55), UINT32_C(0x780E25E5),
12375           UINT32_C(0x252AD743), UINT32_C(0xFF4E107A), UINT32_C(0x22F9951B),
12376           UINT32_C(0x554CEA49), UINT32_C(0x1B8A7DDE)}},
12377         {{UINT32_C(0x89F1C6FA), UINT32_C(0xBBDCC2C0), UINT32_C(0xC360A51D),
12378           UINT32_C(0x548FEF29), UINT32_C(0x1290EC92), UINT32_C(0x094DAD45),
12379           UINT32_C(0xAF55BF30), UINT32_C(0x792F6FB9)},
12380          {UINT32_C(0x707FBF4E), UINT32_C(0x37EF4ABE), UINT32_C(0xFC4B6BD0),
12381           UINT32_C(0x0F43AB0D), UINT32_C(0x2D6EE5D9), UINT32_C(0x850015B7),
12382           UINT32_C(0x35C1FD65), UINT32_C(0x09273F35)}},
12383         {{UINT32_C(0xA6C3209B), UINT32_C(0xCECF1B90), UINT32_C(0xABD433C0),
12384           UINT32_C(0xFB4BC864), UINT32_C(0x3EEEF8BA), UINT32_C(0x38246AAA),
12385           UINT32_C(0x9ED13F88), UINT32_C(0x4BC7904E)},
12386          {UINT32_C(0x8E783066), UINT32_C(0xA61C369A), UINT32_C(0x4D1C832C),
12387           UINT32_C(0x496FB831), UINT32_C(0x03AD64D5), UINT32_C(0x1907687A),
12388           UINT32_C(0x83425766), UINT32_C(0x49516EA5)}},
12389         {{UINT32_C(0xB1714E53), UINT32_C(0x8108B704), UINT32_C(0x82E39BE7),
12390           UINT32_C(0xB458CB4B), UINT32_C(0x097049DE), UINT32_C(0xFCBD51CC),
12391           UINT32_C(0x722E8CBA), UINT32_C(0x415F4079)},
12392          {UINT32_C(0x342DF9C6), UINT32_C(0xCDB06F5E), UINT32_C(0x1281AC74),
12393           UINT32_C(0x64885CD1), UINT32_C(0x5366673D), UINT32_C(0x932A05E4),
12394           UINT32_C(0xE83AD23D), UINT32_C(0x7333520B)}},
12395         {{UINT32_C(0xC54B523C), UINT32_C(0xDAA0A1EF), UINT32_C(0xB3C261C8),
12396           UINT32_C(0xA3E80053), UINT32_C(0x558FCFA5), UINT32_C(0x352CC612),
12397           UINT32_C(0x85852B14), UINT32_C(0x1B9B755D)},
12398          {UINT32_C(0xA1B541FF), UINT32_C(0x19EE2CB6), UINT32_C(0xD5786B4F),
12399           UINT32_C(0x2B531CE2), UINT32_C(0x08C3E15B), UINT32_C(0xEF5EA6DF),
12400           UINT32_C(0x87111129), UINT32_C(0x82161B04)}},
12401         {{UINT32_C(0xFCEABAED), UINT32_C(0x5AB533A5), UINT32_C(0x4A4D8E44),
12402           UINT32_C(0x4C2147A5), UINT32_C(0xDA02D43D), UINT32_C(0xD8EEE795),
12403           UINT32_C(0xA15C1CD0), UINT32_C(0x8CB648DF)},
12404          {UINT32_C(0xA788DDDE), UINT32_C(0x4869FB6C), UINT32_C(0x77C03759),
12405           UINT32_C(0xF9554D14), UINT32_C(0x96187DB9), UINT32_C(0x4D25B41A),
12406           UINT32_C(0x3FE0B3F3), UINT32_C(0x662FBAB3)}},
12407         {{UINT32_C(0xA58A5B2E), UINT32_C(0xD3AF4D09), UINT32_C(0x5CE88DBE),
12408           UINT32_C(0x3C5DD298), UINT32_C(0x7426C2A4), UINT32_C(0x89DDA42E),
12409           UINT32_C(0x49095424), UINT32_C(0x2D832B07)},
12410          {UINT32_C(0x62AA84CF), UINT32_C(0x24EFCC03), UINT32_C(0xE86923D7),
12411           UINT32_C(0x348C19DE), UINT32_C(0x35DB5CB1), UINT32_C(0x453E9286),
12412           UINT32_C(0x8DB21CF3), UINT32_C(0x03F48EEB)}},
12413         {{UINT32_C(0xF4035856), UINT32_C(0xBCF9600F), UINT32_C(0xAF820E18),
12414           UINT32_C(0xE77CEC83), UINT32_C(0x7F2FBCC1), UINT32_C(0xC87D43C1),
12415           UINT32_C(0x6290B18D), UINT32_C(0x574C4CAE)},
12416          {UINT32_C(0xE56E1EFE), UINT32_C(0x8BD8AE45), UINT32_C(0x75D6FCC9),
12417           UINT32_C(0xB1EFD684), UINT32_C(0xA361E753), UINT32_C(0x9829F227),
12418           UINT32_C(0x5211B784), UINT32_C(0x9A50B425)}},
12419     },
12420     {
12421         {{UINT32_C(0x36396F78), UINT32_C(0x26F19590), UINT32_C(0x9AD1982C),
12422           UINT32_C(0x350D1A76), UINT32_C(0x947F352E), UINT32_C(0x33BDB4AB),
12423           UINT32_C(0xFFE1E1E1), UINT32_C(0x6CA38B05)},
12424          {UINT32_C(0x6F2A8CA0), UINT32_C(0x055364C2), UINT32_C(0x2969CA7E),
12425           UINT32_C(0xAF15075D), UINT32_C(0xC3B9CB70), UINT32_C(0x2916D58F),
12426           UINT32_C(0xD7325693), UINT32_C(0x18D94A8B)}},
12427         {{UINT32_C(0xF36EB789), UINT32_C(0x87C41809), UINT32_C(0xA7436F54),
12428           UINT32_C(0x8C3517F9), UINT32_C(0x3D785160), UINT32_C(0xE7C02E1D),
12429           UINT32_C(0x418C7ABF), UINT32_C(0x5BAFE72E)},
12430          {UINT32_C(0xCD9B27C2), UINT32_C(0xA00A8E76), UINT32_C(0x7DA06823),
12431           UINT32_C(0x66791808), UINT32_C(0x20EC00B4), UINT32_C(0x342A03D9),
12432           UINT32_C(0x6122589A), UINT32_C(0x44502A7E)}},
12433         {{UINT32_C(0x5BDAE972), UINT32_C(0x3A492F73), UINT32_C(0x126A07DE),
12434           UINT32_C(0x5184D076), UINT32_C(0xB56A38F0), UINT32_C(0xAE49313C),
12435           UINT32_C(0x9EC47E0A), UINT32_C(0x66CCC24E)},
12436          {UINT32_C(0xC03CF3E1), UINT32_C(0xAE84941B), UINT32_C(0x5A73440B),
12437           UINT32_C(0x771AFC57), UINT32_C(0xC433E43C), UINT32_C(0xABF93DC8),
12438           UINT32_C(0x243C6828), UINT32_C(0x974EE822)}},
12439         {{UINT32_C(0xA7A5F66C), UINT32_C(0x468D7FDB), UINT32_C(0xB18DEFCC),
12440           UINT32_C(0xBBB2C482), UINT32_C(0xFA2E7DEA), UINT32_C(0x188B8CAC),
12441           UINT32_C(0xBE0200B9), UINT32_C(0x7894BC93)},
12442          {UINT32_C(0x6B84750E), UINT32_C(0xA3181338), UINT32_C(0x37356096),
12443           UINT32_C(0x8B14BDB2), UINT32_C(0xD62F4813), UINT32_C(0xA9200FE7),
12444           UINT32_C(0x6F7627CE), UINT32_C(0x8DF664A3)}},
12445         {{UINT32_C(0xDD996CF1), UINT32_C(0x39BF14DD), UINT32_C(0xF7F42D26),
12446           UINT32_C(0xD00B3BF5), UINT32_C(0x017718A3), UINT32_C(0xF1AF5A20),
12447           UINT32_C(0xABCAE05D), UINT32_C(0x34A1E94B)},
12448          {UINT32_C(0xC635D333), UINT32_C(0xAD75D1B5), UINT32_C(0x87210A5A),
12449           UINT32_C(0x97E5BD39), UINT32_C(0xA0327BF4), UINT32_C(0x11684CA6),
12450           UINT32_C(0x9B8F0A46), UINT32_C(0x25C51117)}},
12451         {{UINT32_C(0xA935A9B9), UINT32_C(0x7E5CD79F), UINT32_C(0xA22DCD16),
12452           UINT32_C(0x15DC70C2), UINT32_C(0x78A420F4), UINT32_C(0x5CDA47E6),
12453           UINT32_C(0xEA631104), UINT32_C(0x37E0364E)},
12454          {UINT32_C(0x5E47B630), UINT32_C(0xE7C46956), UINT32_C(0xE42C4DCB),
12455           UINT32_C(0x7BD4C4A7), UINT32_C(0x1C91117E), UINT32_C(0xA76B87A7),
12456           UINT32_C(0xADA4B5E1), UINT32_C(0x2AA043DD)}},
12457         {{UINT32_C(0x875DED57), UINT32_C(0x6BB06B5A), UINT32_C(0xFEAD7B14),
12458           UINT32_C(0x89452B3B), UINT32_C(0xA6E39E1F), UINT32_C(0x0CBD5CA8),
12459           UINT32_C(0x3BFA7A3D), UINT32_C(0x2DC5917C)},
12460          {UINT32_C(0xF840B6E8), UINT32_C(0x6395D5B8), UINT32_C(0xED8589EE),
12461           UINT32_C(0xAEC9342F), UINT32_C(0x77979E67), UINT32_C(0x8332A1B8),
12462           UINT32_C(0xC59F97DB), UINT32_C(0x29B55822)}},
12463         {{UINT32_C(0x7D65A8F4), UINT32_C(0xFD145FF7), UINT32_C(0x119C9AFC),
12464           UINT32_C(0x8FFF7EE0), UINT32_C(0xAFCD6214), UINT32_C(0x0100D0E9),
12465           UINT32_C(0xA3B988B3), UINT32_C(0x98DE55E5)},
12466          {UINT32_C(0x00151BF2), UINT32_C(0x0BACCB2E), UINT32_C(0x66091583),
12467           UINT32_C(0x2B422D09), UINT32_C(0x93C66A3B), UINT32_C(0xC4D15E16),
12468           UINT32_C(0x727DE9E6), UINT32_C(0x1C107559)}},
12469         {{UINT32_C(0x3CB76EDF), UINT32_C(0xC019C7D7), UINT32_C(0x151F5E14),
12470           UINT32_C(0x6456DD91), UINT32_C(0x57CC7078), UINT32_C(0x29E95B66),
12471           UINT32_C(0xE9BDBCEC), UINT32_C(0x9193F4D9)},
12472          {UINT32_C(0x4806F8CB), UINT32_C(0x375837B0), UINT32_C(0xAA954620),
12473           UINT32_C(0x52D5528A), UINT32_C(0x1B9D6D34), UINT32_C(0xE71F9F60),
12474           UINT32_C(0xDF95759C), UINT32_C(0x910E4FA1)}},
12475         {{UINT32_C(0xFCADB5EA), UINT32_C(0x8D31B2EE), UINT32_C(0xA63C7498),
12476           UINT32_C(0x0814FF77), UINT32_C(0x5E3D927E), UINT32_C(0x236569C0),
12477           UINT32_C(0x95BBB9D9), UINT32_C(0x7F669DAD)},
12478          {UINT32_C(0x305B0347), UINT32_C(0x29158C9A), UINT32_C(0x52D468EB),
12479           UINT32_C(0x99B9B7E7), UINT32_C(0xB4342443), UINT32_C(0x6C4CABC3),
12480           UINT32_C(0x0A803ED4), UINT32_C(0x125AFBEA)}},
12481         {{UINT32_C(0x101FAA4E), UINT32_C(0x850A150B), UINT32_C(0x11ECDABC),
12482           UINT32_C(0xB586BCDA), UINT32_C(0x4DAD2264), UINT32_C(0x9692EF83),
12483           UINT32_C(0xD2B67F5E), UINT32_C(0x0951716E)},
12484          {UINT32_C(0x924DD16D), UINT32_C(0xA2295F20), UINT32_C(0xD0CE88CD),
12485           UINT32_C(0xD8327275), UINT32_C(0xC683ADA3), UINT32_C(0x45F8DD0C),
12486           UINT32_C(0x88C26024), UINT32_C(0x4A798B33)}},
12487         {{UINT32_C(0xCAF71198), UINT32_C(0x225395CF), UINT32_C(0xCA3F67CF),
12488           UINT32_C(0xEE223712), UINT32_C(0x81280061), UINT32_C(0x972B0199),
12489           UINT32_C(0x280ECC12), UINT32_C(0x0CB20E7A)},
12490          {UINT32_C(0x70F54717), UINT32_C(0x06F04DA8), UINT32_C(0x410B9712),
12491           UINT32_C(0x5288425E), UINT32_C(0x74CEFB4A), UINT32_C(0x6C29A514),
12492           UINT32_C(0x849E2FD6), UINT32_C(0x4218ECCA)}},
12493         {{UINT32_C(0xB33574B6), UINT32_C(0xD85663A3), UINT32_C(0xFAF7D3A2),
12494           UINT32_C(0x7469CFB1), UINT32_C(0x3CFA8876), UINT32_C(0x9C587EC4),
12495           UINT32_C(0xDB24ED63), UINT32_C(0x5DAE46AE)},
12496          {UINT32_C(0xC413E494), UINT32_C(0x66C8DA33), UINT32_C(0x65942568),
12497           UINT32_C(0xB8B256B6), UINT32_C(0xA7A4CAAD), UINT32_C(0x0F09178E),
12498           UINT32_C(0xAFEBC90B), UINT32_C(0x577D4ADC)}},
12499         {{UINT32_C(0x92D6C3B4), UINT32_C(0x49009BA6), UINT32_C(0xB884FAAC),
12500           UINT32_C(0xE9CF4915), UINT32_C(0x6F3DBE23), UINT32_C(0xC12377D3),
12501           UINT32_C(0xEA6B680C), UINT32_C(0x2F6E0E86)},
12502          {UINT32_C(0xE6C5E24D), UINT32_C(0x5DF2CD5A), UINT32_C(0xEE608DD3),
12503           UINT32_C(0xAAE7E145), UINT32_C(0x8A7ED956), UINT32_C(0x5357CFF2),
12504           UINT32_C(0x3912DBA4), UINT32_C(0x8377126C)}},
12505         {{UINT32_C(0xF83BC3F6), UINT32_C(0x6E83A6C6), UINT32_C(0xC0CC09C6),
12506           UINT32_C(0x3633E1E4), UINT32_C(0xBC4B73A5), UINT32_C(0x0C2A268B),
12507           UINT32_C(0x125688EB), UINT32_C(0x688369D3)},
12508          {UINT32_C(0x73E75809), UINT32_C(0x64EE03E1), UINT32_C(0x8E110C46),
12509           UINT32_C(0x21773EE9), UINT32_C(0xA6A648B1), UINT32_C(0xF0BC6BE9),
12510           UINT32_C(0x7E0041E7), UINT32_C(0x39912183)}},
12511         {{UINT32_C(0x26F5716E), UINT32_C(0xCC09774A), UINT32_C(0xFDFB59E9),
12512           UINT32_C(0x01CB17F9), UINT32_C(0xAE8938B4), UINT32_C(0xA88D1269),
12513           UINT32_C(0xD13047C9), UINT32_C(0x99A40D17)},
12514          {UINT32_C(0x6FC672A3), UINT32_C(0xE469C984), UINT32_C(0x5638B928),
12515           UINT32_C(0xDA6534B6), UINT32_C(0xCDE40C83), UINT32_C(0xC56EAB20),
12516           UINT32_C(0xBD93AF10), UINT32_C(0x2C1582B1)}},
12517     },
12518     {
12519         {{UINT32_C(0xA3F45C37), UINT32_C(0xE4C19851), UINT32_C(0xC7D78FE9),
12520           UINT32_C(0xCA0FEFF2), UINT32_C(0x9A7E444B), UINT32_C(0x027B41D8),
12521           UINT32_C(0x15D38CBB), UINT32_C(0x1F1B242F)},
12522          {UINT32_C(0xF1F50AB9), UINT32_C(0x1C6C132C), UINT32_C(0x5DFE7530),
12523           UINT32_C(0x2A02A3A4), UINT32_C(0x6E29159F), UINT32_C(0x2B1EB8E2),
12524           UINT32_C(0x2EEDE876), UINT32_C(0x5F3F4AB7)}},
12525         {{UINT32_C(0x0F2DF95C), UINT32_C(0x362CE013), UINT32_C(0x26480BFA),
12526           UINT32_C(0x82E4E192), UINT32_C(0x6BEFF080), UINT32_C(0x9AAC9A96),
12527           UINT32_C(0x8EE2B59C), UINT32_C(0x5A1636F6)},
12528          {UINT32_C(0xFA049CCB), UINT32_C(0x600E0339), UINT32_C(0xF2F57163),
12529           UINT32_C(0x56680F80), UINT32_C(0x7B4240A7), UINT32_C(0x2C395CC1),
12530           UINT32_C(0x9C86BB64), UINT32_C(0x32EDFE4A)}},
12531         {{UINT32_C(0x711AEF69), UINT32_C(0x8D9842AB), UINT32_C(0x890831F0),
12532           UINT32_C(0x7A1C2429), UINT32_C(0x54CDA99A), UINT32_C(0x924478DF),
12533           UINT32_C(0xE25A02E2), UINT32_C(0x791A1D45)},
12534          {UINT32_C(0x170F4C21), UINT32_C(0x1433F569), UINT32_C(0xCA5F8BD8),
12535           UINT32_C(0x9F42C8C1), UINT32_C(0x067B3201), UINT32_C(0x377740F7),
12536           UINT32_C(0x2ECE5D81), UINT32_C(0x75145FFF)}},
12537         {{UINT32_C(0x39638F43), UINT32_C(0xCBFE782A), UINT32_C(0xE07553D2),
12538           UINT32_C(0xB0C0EC09), UINT32_C(0x115C673A), UINT32_C(0x8D1C41F7),
12539           UINT32_C(0xEB39E385), UINT32_C(0x8510551A)},
12540          {UINT32_C(0xBA275803), UINT32_C(0x92000181), UINT32_C(0x27B9A42A),
12541           UINT32_C(0x8AF63F4A), UINT32_C(0x52297029), UINT32_C(0xD50ECF0F),
12542           UINT32_C(0x66883C56), UINT32_C(0x1DCA33A5)}},
12543         {{UINT32_C(0xC51DF9D9), UINT32_C(0xB2C44933), UINT32_C(0xE66D80AE),
12544           UINT32_C(0xCA6F9FB0), UINT32_C(0x82839BA4), UINT32_C(0x78CD2EEB),
12545           UINT32_C(0xF7AFBCF3), UINT32_C(0x8FF8BCC8)},
12546          {UINT32_C(0x4164959B), UINT32_C(0x5AD00C70), UINT32_C(0xE83ED8D5),
12547           UINT32_C(0xAD901C71), UINT32_C(0x2B52650D), UINT32_C(0x56FFC0A9),
12548           UINT32_C(0x780126A8), UINT32_C(0x0689B171)}},
12549         {{UINT32_C(0x5EAC1DD8), UINT32_C(0x2E902A39), UINT32_C(0x7CAC283F),
12550           UINT32_C(0x7681EABA), UINT32_C(0x78525B7C), UINT32_C(0x03608CD8),
12551           UINT32_C(0x5EB95540), UINT32_C(0x09665B80)},
12552          {UINT32_C(0x306EE831), UINT32_C(0xF09F9805), UINT32_C(0xE41D453A),
12553           UINT32_C(0xFB00B1C6), UINT32_C(0x7C93E727), UINT32_C(0xD8BB9559),
12554           UINT32_C(0x2CE63FD8), UINT32_C(0x3B74FEE7)}},
12555         {{UINT32_C(0x0A22DABA), UINT32_C(0x73F48B33), UINT32_C(0xC8FC3E20),
12556           UINT32_C(0x797DE0FB), UINT32_C(0x9E79222D), UINT32_C(0x69C1BEE2),
12557           UINT32_C(0x1DF4C549), UINT32_C(0x3052F67A)},
12558          {UINT32_C(0xED78B6FB), UINT32_C(0xFE9128A9), UINT32_C(0x29CCF94F),
12559           UINT32_C(0xD9460CFF), UINT32_C(0xC1FD1DAA), UINT32_C(0x53737484),
12560           UINT32_C(0x1EDAEEB2), UINT32_C(0x83ADCD01)}},
12561         {{UINT32_C(0x2BA4195A), UINT32_C(0x189EC9AA), UINT32_C(0xC522BE92),
12562           UINT32_C(0x61345757), UINT32_C(0x39EFB05D), UINT32_C(0x35BAB72A),
12563           UINT32_C(0xAE0AC461), UINT32_C(0x82B27322)},
12564          {UINT32_C(0xC07F4382), UINT32_C(0xFEBF0F8C), UINT32_C(0xDAD2ED8E),
12565           UINT32_C(0x1CA2B3D7), UINT32_C(0x0A27F89C), UINT32_C(0x4800A037),
12566           UINT32_C(0x9815D971), UINT32_C(0x77D1B2FC)}},
12567         {{UINT32_C(0xCA0FC66A), UINT32_C(0xF9F46089), UINT32_C(0x8C23E4E1),
12568           UINT32_C(0x5BC406DE), UINT32_C(0x8DBF6DD5), UINT32_C(0x1D7F3BA9),
12569           UINT32_C(0x679D5587), UINT32_C(0x685B9111)},
12570          {UINT32_C(0xB85BE0D0), UINT32_C(0x93554084), UINT32_C(0x7B9EB16C),
12571           UINT32_C(0xB081E9CA), UINT32_C(0x60F0D0B0), UINT32_C(0x58C428DC),
12572           UINT32_C(0x30B3C6D9), UINT32_C(0x12442C1A)}},
12573         {{UINT32_C(0x567226BE), UINT32_C(0x147B843C), UINT32_C(0x429A8FFA),
12574           UINT32_C(0x2B2BFFAB), UINT32_C(0xCD435C2F), UINT32_C(0x7A4678EB),
12575           UINT32_C(0x3C0B887A), UINT32_C(0x200E8513)},
12576          {UINT32_C(0x90605CDD), UINT32_C(0x9D457AAD), UINT32_C(0x157F29A5),
12577           UINT32_C(0x6736A242), UINT32_C(0x549FCA4D), UINT32_C(0x779B0D25),
12578           UINT32_C(0x17FDB4D9), UINT32_C(0x57477EE9)}},
12579         {{UINT32_C(0xECF06CDD), UINT32_C(0xD9B15FD1), UINT32_C(0xC1CC2CFC),
12580           UINT32_C(0xECF75FC0), UINT32_C(0xA56B39E5), UINT32_C(0x273867C3),
12581           UINT32_C(0x79340B7D), UINT32_C(0x72F3ED45)},
12582          {UINT32_C(0x55B6C9B9), UINT32_C(0xF31C9E4C), UINT32_C(0x0448FE57),
12583           UINT32_C(0xED96826E), UINT32_C(0x8BB7A02F), UINT32_C(0xE2DF54AD),
12584           UINT32_C(0xD79D71CC), UINT32_C(0x945E7B6B)}},
12585         {{UINT32_C(0x9270E878), UINT32_C(0x32B6CE42), UINT32_C(0xD6EEBEB9),
12586           UINT32_C(0x980C8F6E), UINT32_C(0x55808237), UINT32_C(0xC5717C85),
12587           UINT32_C(0xCCA3F298), UINT32_C(0x4469D0A0)},
12588          {UINT32_C(0x1A18C0E8), UINT32_C(0x2B9DD7E9), UINT32_C(0x6A0EC412),
12589           UINT32_C(0xE9D12401), UINT32_C(0x31F44B32), UINT32_C(0xF889DE98),
12590           UINT32_C(0x78854A7F), UINT32_C(0x692EE1E6)}},
12591         {{UINT32_C(0xADEECA22), UINT32_C(0xF2360597), UINT32_C(0x99A4C198),
12592           UINT32_C(0x94623EBC), UINT32_C(0xE4169D20), UINT32_C(0x5A0D49C4),
12593           UINT32_C(0xBF0384F0), UINT32_C(0x7BE2C5BB)},
12594          {UINT32_C(0x8C537851), UINT32_C(0x42DB0D40), UINT32_C(0x65C50782),
12595           UINT32_C(0x198A09A4), UINT32_C(0x45AD7EE0), UINT32_C(0x72F80BB7),
12596           UINT32_C(0x11FCED06), UINT32_C(0x4F83164B)}},
12597         {{UINT32_C(0x95712AF0), UINT32_C(0x54E5B07C), UINT32_C(0x1E893387),
12598           UINT32_C(0x95E7F5D9), UINT32_C(0xC61D7766), UINT32_C(0x383BC5AE),
12599           UINT32_C(0x681C28DD), UINT32_C(0x09F626ED)},
12600          {UINT32_C(0xDF97E3C9), UINT32_C(0x0D32B726), UINT32_C(0x7C7C4786),
12601           UINT32_C(0x2AC62238), UINT32_C(0xD3F5AD40), UINT32_C(0xECEA0C6A),
12602           UINT32_C(0xA870A132), UINT32_C(0x0D26633E)}},
12603         {{UINT32_C(0xC3D42D26), UINT32_C(0x40A05A14), UINT32_C(0xF3BDE0E3),
12604           UINT32_C(0x06577CA1), UINT32_C(0x418B73FB), UINT32_C(0x03DAA258),
12605           UINT32_C(0x0EFDEB86), UINT32_C(0x205E02E6)},
12606          {UINT32_C(0x99F90D56), UINT32_C(0xF5479E4D), UINT32_C(0x368CB6E3),
12607           UINT32_C(0x4E699BF3), UINT32_C(0x62E4A879), UINT32_C(0x534F6743),
12608           UINT32_C(0xA9D78191), UINT32_C(0x18473603)}},
12609         {{UINT32_C(0x5C1ED4F9), UINT32_C(0xA23D79CF), UINT32_C(0xF2248B01),
12610           UINT32_C(0xFADE1CF5), UINT32_C(0x6F4D2164), UINT32_C(0xA3D52827),
12611           UINT32_C(0x10B731E5), UINT32_C(0x1F211C03)},
12612          {UINT32_C(0xD97229E2), UINT32_C(0x0B415884), UINT32_C(0x80FCC283),
12613           UINT32_C(0xCABB7D89), UINT32_C(0x98EF388A), UINT32_C(0xDB9BC752),
12614           UINT32_C(0x93E80262), UINT32_C(0x50AF2A4A)}},
12615     },
12616     {
12617         {{UINT32_C(0xD57DD821), UINT32_C(0xD11E80F1), UINT32_C(0xDDA2AB29),
12618           UINT32_C(0x11CAE463), UINT32_C(0xE628F315), UINT32_C(0x21CAFD16),
12619           UINT32_C(0x7DF70CD4), UINT32_C(0x296A84E9)},
12620          {UINT32_C(0x6E9EF995), UINT32_C(0x9ECF7513), UINT32_C(0x06E28855),
12621           UINT32_C(0xAE875257), UINT32_C(0x5DED383C), UINT32_C(0x78E1B7E9),
12622           UINT32_C(0x5E940F7F), UINT32_C(0x6C5D8ECC)}},
12623         {{UINT32_C(0x998EE9A3), UINT32_C(0xCBD3ACB9), UINT32_C(0xD0DCF584),
12624           UINT32_C(0x990CDFF6), UINT32_C(0xC7CE5DDA), UINT32_C(0x0FB4346C),
12625           UINT32_C(0x355E268F), UINT32_C(0x5EDEEF9B)},
12626          {UINT32_C(0xC215036D), UINT32_C(0xACD8B4A2), UINT32_C(0x91C7486B),
12627           UINT32_C(0x70D36995), UINT32_C(0x52C6694B), UINT32_C(0x72D5243D),
12628           UINT32_C(0xE5F8B99C), UINT32_C(0x54163B48)}},
12629         {{UINT32_C(0x1D76A94A), UINT32_C(0xD2AEA2FF), UINT32_C(0x379F780B),
12630           UINT32_C(0xC5B4FBF1), UINT32_C(0xB33AC708), UINT32_C(0x700042F7),
12631           UINT32_C(0x8183E0CA), UINT32_C(0x7DA790BF)},
12632          {UINT32_C(0xEBA72FA8), UINT32_C(0x95681FE6), UINT32_C(0xE22E254E),
12633           UINT32_C(0x1F0A390E), UINT32_C(0xBF07A8A5), UINT32_C(0x465A58F8),
12634           UINT32_C(0xFB1FCE40), UINT32_C(0x840EA2E7)}},
12635         {{UINT32_C(0x44048484), UINT32_C(0xD955C5B5), UINT32_C(0x6935C5E4),
12636           UINT32_C(0x7107D595), UINT32_C(0x8A0FCE44), UINT32_C(0xFC657444),
12637           UINT32_C(0x2800E517), UINT32_C(0x97DF2B4D)},
12638          {UINT32_C(0x2C482414), UINT32_C(0x0B1BB328), UINT32_C(0x4E48CDBE),
12639           UINT32_C(0x152614CC), UINT32_C(0x42EDE4E0), UINT32_C(0x48051FB6),
12640           UINT32_C(0x3DBFFE52), UINT32_C(0x91125B93)}},
12641         {{UINT32_C(0xCF898F54), UINT32_C(0xA2F526C7), UINT32_C(0x83080857),
12642           UINT32_C(0x8788CA12), UINT32_C(0x4562F7B0), UINT32_C(0x2F442723),
12643           UINT32_C(0xC044560C), UINT32_C(0x837772AB)},
12644          {UINT32_C(0x31BCB2EA), UINT32_C(0x51AD2F71), UINT32_C(0xAFC5C03D),
12645           UINT32_C(0x0F1D33FC), UINT32_C(0x7BD352A4), UINT32_C(0xDBFE541F),
12646           UINT32_C(0x64B8343D), UINT32_C(0x8B441399)}},
12647         {{UINT32_C(0x44DCD145), UINT32_C(0xFEB96B8C), UINT32_C(0xEFF22D0D),
12648           UINT32_C(0xEEB3007C), UINT32_C(0x252A8C8F), UINT32_C(0xAF64DFC1),
12649           UINT32_C(0xD131E0C5), UINT32_C(0x5D9B0A05)},
12650          {UINT32_C(0xABFED144), UINT32_C(0x28C943EF), UINT32_C(0xB6A2273D),
12651           UINT32_C(0xDFBF730C), UINT32_C(0xE2A1BFBD), UINT32_C(0x6CC5BE44),
12652           UINT32_C(0x09030FCD), UINT32_C(0x55FAC033)}},
12653         {{UINT32_C(0x728F39EC), UINT32_C(0xFAA58543), UINT32_C(0x40B37B15),
12654           UINT32_C(0x9B2F10BA), UINT32_C(0x7254A419), UINT32_C(0x96505C7F),
12655           UINT32_C(0x879C7FF9), UINT32_C(0x04F4ACE5)},
12656          {UINT32_C(0xBC5FDA53), UINT32_C(0xC0B4B576), UINT32_C(0xF7ABCD3C),
12657           UINT32_C(0x12549929), UINT32_C(0x313FEC34), UINT32_C(0x00F5631E),
12658           UINT32_C(0x798C7CFB), UINT32_C(0x89EA4459)}},
12659         {{UINT32_C(0x0E2020C1), UINT32_C(0x671137B5), UINT32_C(0xA4DC66C3),
12660           UINT32_C(0x77727861), UINT32_C(0x81492A26), UINT32_C(0x8CE05ED1),
12661           UINT32_C(0xA0C3F612), UINT32_C(0x42BEA541)},
12662          {UINT32_C(0xB0E461EB), UINT32_C(0x6D39E3D1), UINT32_C(0x09FA806F),
12663           UINT32_C(0x459A8E13), UINT32_C(0x466CB93B), UINT32_C(0xE2A185C1),
12664           UINT32_C(0xE21ECB34), UINT32_C(0x17D131CE)}},
12665         {{UINT32_C(0x387A15BF), UINT32_C(0x2141E262), UINT32_C(0x6BE61C42),
12666           UINT32_C(0x675B5E7C), UINT32_C(0xF1CF93EF), UINT32_C(0xEEC1BDD4),
12667           UINT32_C(0x23BAB1F9), UINT32_C(0x6ACF3838)},
12668          {UINT32_C(0xB0B39C86), UINT32_C(0xA2F84E23), UINT32_C(0xE244E0E3),
12669           UINT32_C(0xE955DBBC), UINT32_C(0xB7A8102A), UINT32_C(0xE0155980),
12670           UINT32_C(0xB23012FA), UINT32_C(0x1E117DC8)}},
12671         {{UINT32_C(0x6EB36280), UINT32_C(0xC92A36AA), UINT32_C(0x5E906D78),
12672           UINT32_C(0x5AED3A1D), UINT32_C(0xAE4E430A), UINT32_C(0x8D336221),
12673           UINT32_C(0xD3AA50AD), UINT32_C(0x3F184F1D)},
12674          {UINT32_C(0x916D9741), UINT32_C(0xD14810EC), UINT32_C(0x3322D9B3),
12675           UINT32_C(0x2900169F), UINT32_C(0x04728254), UINT32_C(0xAFF1A060),
12676           UINT32_C(0x26F60B5F), UINT32_C(0x89C4C673)}},
12677         {{UINT32_C(0xB7F0D157), UINT32_C(0x5216E0AE), UINT32_C(0xC9F38AAD),
12678           UINT32_C(0x3B8D2226), UINT32_C(0xBB34AA79), UINT32_C(0x283E3E3F),
12679           UINT32_C(0x565CAB83), UINT32_C(0x94DA80FA)},
12680          {UINT32_C(0xE6ED4A46), UINT32_C(0xDDB51943), UINT32_C(0x7CDD5FE6),
12681           UINT32_C(0xF3AFFA9A), UINT32_C(0xB648A84F), UINT32_C(0x0AB493CC),
12682           UINT32_C(0xF15EE45F), UINT32_C(0x128356B6)}},
12683         {{UINT32_C(0xBD0F02C4), UINT32_C(0xD2AD34F4), UINT32_C(0x719BCF1E),
12684           UINT32_C(0x3DC9B6D1), UINT32_C(0x12EB5AE8), UINT32_C(0x11EDB8F1),
12685           UINT32_C(0x71180F90), UINT32_C(0x33AC71D8)},
12686          {UINT32_C(0xB59621D7), UINT32_C(0x0AE988FE), UINT32_C(0x8F348211),
12687           UINT32_C(0x32042B52), UINT32_C(0xEB0CEBD3), UINT32_C(0x7E6787C4),
12688           UINT32_C(0x26B8A526), UINT32_C(0x8C4D2549)}},
12689         {{UINT32_C(0x4D40ED72), UINT32_C(0xA3B46154), UINT32_C(0xF6CF3972),
12690           UINT32_C(0x3A096546), UINT32_C(0xB3E46D8C), UINT32_C(0x9C7BC931),
12691           UINT32_C(0x90486C75), UINT32_C(0x85B77BAD)},
12692          {UINT32_C(0x6EBD35E0), UINT32_C(0x95B706E5), UINT32_C(0x101E098E),
12693           UINT32_C(0xC1E18243), UINT32_C(0xF01C17E1), UINT32_C(0xF17C23FF),
12694           UINT32_C(0x85EC224E), UINT32_C(0x32235272)}},
12695         {{UINT32_C(0xFD24FA16), UINT32_C(0xE816235D), UINT32_C(0x0B3AEBD7),
12696           UINT32_C(0x5306CBC3), UINT32_C(0x8BE25CB7), UINT32_C(0xDEF60A9A),
12697           UINT32_C(0x512999C2), UINT32_C(0x4B889A0F)},
12698          {UINT32_C(0x67B29FD9), UINT32_C(0xAB86A7F8), UINT32_C(0xB5461BCB),
12699           UINT32_C(0xB81C532D), UINT32_C(0xD34D9819), UINT32_C(0x810E9A0C),
12700           UINT32_C(0x3092515D), UINT32_C(0x1E353009)}},
12701         {{UINT32_C(0x21FB0BD9), UINT32_C(0x46826339), UINT32_C(0x003BAE50),
12702           UINT32_C(0x9CCE9A43), UINT32_C(0x2EB45B4A), UINT32_C(0xCD2216C3),
12703           UINT32_C(0xC7E0F2C3), UINT32_C(0x13598548)},
12704          {UINT32_C(0x54611984), UINT32_C(0x8B0BFD72), UINT32_C(0x89C0B05A),
12705           UINT32_C(0x705CB525), UINT32_C(0xCE880DD8), UINT32_C(0xD9073D87),
12706           UINT32_C(0x003DCAEB), UINT32_C(0x1EA534CD)}},
12707         {{UINT32_C(0xC58B4413), UINT32_C(0xC7AAC256), UINT32_C(0xE8054F96),
12708           UINT32_C(0x301109D6), UINT32_C(0x9C7E7860), UINT32_C(0x0A1F44D2),
12709           UINT32_C(0x96F15424), UINT32_C(0x55D122BB)},
12710          {UINT32_C(0x1C14A8A9), UINT32_C(0x9A63098F), UINT32_C(0x4221CDFB),
12711           UINT32_C(0x8E01A9DC), UINT32_C(0x357B360A), UINT32_C(0x11C91FCF),
12712           UINT32_C(0x036A3CF4), UINT32_C(0x70C47AEA)}},
12713     },
12714     {
12715         {{UINT32_C(0x036A843D), UINT32_C(0xC0457C4F), UINT32_C(0xF1F593CB),
12716           UINT32_C(0x6E3E0801), UINT32_C(0x8C53873B), UINT32_C(0x1AADF2D8),
12717           UINT32_C(0x0D140C8D), UINT32_C(0x5CEC5C7B)},
12718          {UINT32_C(0x328002E4), UINT32_C(0x4341A9AB), UINT32_C(0xC410D034),
12719           UINT32_C(0x11F22331), UINT32_C(0x5DB6A39D), UINT32_C(0x0FCF69EF),
12720           UINT32_C(0xB84FDA1F), UINT32_C(0x3DD32A53)}},
12721         {{UINT32_C(0xAF8C811A), UINT32_C(0x19E52339), UINT32_C(0x92D46C4F),
12722           UINT32_C(0xC8B83800), UINT32_C(0xCA8463A3), UINT32_C(0x891C4185),
12723           UINT32_C(0x98F3FF1B), UINT32_C(0x5B51651F)},
12724          {UINT32_C(0x0FB39DCA), UINT32_C(0x3D149607), UINT32_C(0xB1051394),
12725           UINT32_C(0x39ECCDE2), UINT32_C(0x1A14522B), UINT32_C(0x3633DE27),
12726           UINT32_C(0x7C59A9A5), UINT32_C(0x5FE55114)}},
12727         {{UINT32_C(0x2F0B507F), UINT32_C(0x68C8E0C6), UINT32_C(0x05B62C5E),
12728           UINT32_C(0xDABC8EEF), UINT32_C(0xE6165C1E), UINT32_C(0x297C943A),
12729           UINT32_C(0x7D7CA6D6), UINT32_C(0x337C6B94)},
12730          {UINT32_C(0xD6066191), UINT32_C(0x66F98FE4), UINT32_C(0x58945DA9),
12731           UINT32_C(0x745BFEBA), UINT32_C(0x3B29A546), UINT32_C(0x60044787),
12732           UINT32_C(0xE2D4EDF2), UINT32_C(0x2815651E)}},
12733         {{UINT32_C(0x63661218), UINT32_C(0x54A3BE74), UINT32_C(0x15E79415),
12734           UINT32_C(0x89C56364), UINT32_C(0x405E4932), UINT32_C(0xE03C6963),
12735           UINT32_C(0x9A619956), UINT32_C(0x86E101EA)},
12736          {UINT32_C(0x400DC92B), UINT32_C(0x47BAF2F3), UINT32_C(0x291E4059),
12737           UINT32_C(0x5C44512C), UINT32_C(0xEC6D7BF9), UINT32_C(0xD7F84B8E),
12738           UINT32_C(0x25AB8D79), UINT32_C(0x6CF42540)}},
12739         {{UINT32_C(0xB885DAFC), UINT32_C(0xD6E1B75D), UINT32_C(0x6128014E),
12740           UINT32_C(0x7A33CE4B), UINT32_C(0xEA9FF260), UINT32_C(0x80DF9948),
12741           UINT32_C(0xD2B5872B), UINT32_C(0x99E0A11C)},
12742          {UINT32_C(0xE2435510), UINT32_C(0x960BDC3D), UINT32_C(0x14F7A99C),
12743           UINT32_C(0x4B0ECC53), UINT32_C(0x5AC6170B), UINT32_C(0xE815DB8B),
12744           UINT32_C(0x17D5F2DD), UINT32_C(0x30956156)}},
12745         {{UINT32_C(0x57166FCE), UINT32_C(0xA035E3CE), UINT32_C(0x40A75B80),
12746           UINT32_C(0x71AD4095), UINT32_C(0xDB7D0BFB), UINT32_C(0x639C4EA7),
12747           UINT32_C(0xB12DBE6B), UINT32_C(0x7A90BE97)},
12748          {UINT32_C(0x75F86A60), UINT32_C(0x091AA30F), UINT32_C(0x509AEEFC),
12749           UINT32_C(0x67C0F795), UINT32_C(0x331629C5), UINT32_C(0xF028C12A),
12750           UINT32_C(0x8A1F7478), UINT32_C(0x90D26B1C)}},
12751         {{UINT32_C(0xB6AC2AD5), UINT32_C(0x6F01554E), UINT32_C(0xBC9A48D6),
12752           UINT32_C(0x9DD0576E), UINT32_C(0x97AE2605), UINT32_C(0xAB372013),
12753           UINT32_C(0xBB83852B), UINT32_C(0x1525D8B5)},
12754          {UINT32_C(0xE46E4C61), UINT32_C(0xD50680C3), UINT32_C(0xECB8F06F),
12755           UINT32_C(0x29FBBA5C), UINT32_C(0xB16637A3), UINT32_C(0x60A48AB4),
12756           UINT32_C(0xCD1490D3), UINT32_C(0x8BB47967)}},
12757         {{UINT32_C(0x4B7C7EA6), UINT32_C(0xA35A0187), UINT32_C(0xB4D6409A),
12758           UINT32_C(0xFE01521A), UINT32_C(0x8FDE1E30), UINT32_C(0x57CECE62),
12759           UINT32_C(0xF4F51D55), UINT32_C(0x1A9A9B2D)},
12760          {UINT32_C(0xE221AC58), UINT32_C(0x0D33556B), UINT32_C(0x152508AD),
12761           UINT32_C(0x0A4A1A34), UINT32_C(0x0144AA33), UINT32_C(0x1FD61DA1),
12762           UINT32_C(0xEDC7C5F8), UINT32_C(0x4804BE6A)}},
12763         {{UINT32_C(0x5B363A84), UINT32_C(0x071EC815), UINT32_C(0xFE11ED05),
12764           UINT32_C(0x359C2A9F), UINT32_C(0xB8BBF9BD), UINT32_C(0x0FDF80C9),
12765           UINT32_C(0x103ACCBE), UINT32_C(0x928E51A4)},
12766          {UINT32_C(0xD5E8A222), UINT32_C(0xD152B6E7), UINT32_C(0xCBE022C9),
12767           UINT32_C(0x6368E3A8), UINT32_C(0x3128B659), UINT32_C(0x2E5055DE),
12768           UINT32_C(0xD21F1062), UINT32_C(0x51E23651)}},
12769         {{UINT32_C(0x34834BF7), UINT32_C(0x5CE999D7), UINT32_C(0x3DC831E9),
12770           UINT32_C(0xE386394C), UINT32_C(0x7FE48564), UINT32_C(0x6DBD5ECA),
12771           UINT32_C(0x556841A5), UINT32_C(0x804BC07F)},
12772          {UINT32_C(0x229A9175), UINT32_C(0x2A8B616C), UINT32_C(0xA1B3EF97),
12773           UINT32_C(0xAEEB533A), UINT32_C(0x6F145037), UINT32_C(0x9D858F9D),
12774           UINT32_C(0x7F6A8EBB), UINT32_C(0x247FFAB0)}},
12775         {{UINT32_C(0x099EB4F3), UINT32_C(0xE616E779), UINT32_C(0xF1B1926C),
12776           UINT32_C(0x4F360D2E), UINT32_C(0x17055397), UINT32_C(0x28EE1F91),
12777           UINT32_C(0x844AFCF3), UINT32_C(0x9994D7FF)},
12778          {UINT32_C(0x12CBD801), UINT32_C(0x8824A949), UINT32_C(0x6A4484DD),
12779           UINT32_C(0xA3AFED4D), UINT32_C(0x3B5E36A5), UINT32_C(0xCB16CD67),
12780           UINT32_C(0xBC3BBEA9), UINT32_C(0x5490C30D)}},
12781         {{UINT32_C(0xD7601122), UINT32_C(0xEA43CA5A), UINT32_C(0xD248EB72),
12782           UINT32_C(0x9CF2A15B), UINT32_C(0xB71D18D0), UINT32_C(0x4CE8AB75),
12783           UINT32_C(0x041A19A5), UINT32_C(0x2576C5B1)},
12784          {UINT32_C(0x8CC1496E), UINT32_C(0xDE20FD02), UINT32_C(0x0BE51831),
12785           UINT32_C(0xC9FE5B0C), UINT32_C(0x3A53ABBC), UINT32_C(0x9DC17E32),
12786           UINT32_C(0xF4C806FA), UINT32_C(0x94E24DD9)}},
12787         {{UINT32_C(0x0DF1A4B3), UINT32_C(0x2A9CF5F1), UINT32_C(0x15063C08),
12788           UINT32_C(0xE0196754), UINT32_C(0xCCF88F77), UINT32_C(0xCE9CF2C6),
12789           UINT32_C(0xEFE91C6C), UINT32_C(0x51ACC7B5)},
12790          {UINT32_C(0xA799FE2E), UINT32_C(0x0C2302EF), UINT32_C(0x69C0D117),
12791           UINT32_C(0x5EE756A4), UINT32_C(0xF4EAB1A1), UINT32_C(0x7E907EC2),
12792           UINT32_C(0xD98022DD), UINT32_C(0x19EEF95B)}},
12793         {{UINT32_C(0xA8E7FFA5), UINT32_C(0xB170D483), UINT32_C(0x39180FAC),
12794           UINT32_C(0x2052600A), UINT32_C(0xA68AF290), UINT32_C(0x8EAD52D4),
12795           UINT32_C(0xFF9E3641), UINT32_C(0x01B88CFE)},
12796          {UINT32_C(0x65BC2D0C), UINT32_C(0x3D9077F7), UINT32_C(0x3ABCDB1C),
12797           UINT32_C(0x2AF9CF67), UINT32_C(0x7295DADA), UINT32_C(0xEA104E74),
12798           UINT32_C(0xEB1E5D6E), UINT32_C(0x7DF23470)}},
12799         {{UINT32_C(0x8E53F40B), UINT32_C(0x0F54D98D), UINT32_C(0xAF360481),
12800           UINT32_C(0xBFC22E9B), UINT32_C(0xE132666B), UINT32_C(0x309973B6),
12801           UINT32_C(0x25E783E0), UINT32_C(0x1F40D11F)},
12802          {UINT32_C(0xF00AC3EB), UINT32_C(0x8EEBC9D7), UINT32_C(0x2F9ADCC7),
12803           UINT32_C(0xBD725D82), UINT32_C(0x66EFDDCC), UINT32_C(0x47767810),
12804           UINT32_C(0x4ECCAF67), UINT32_C(0x60B0B100)}},
12805         {{UINT32_C(0xB98C7E96), UINT32_C(0x498E2074), UINT32_C(0x08BF31A9),
12806           UINT32_C(0xBEBF5183), UINT32_C(0x3894DBE7), UINT32_C(0x00DD4AAD),
12807           UINT32_C(0x429878F6), UINT32_C(0x66C047A4)},
12808          {UINT32_C(0x6D0F1AB1), UINT32_C(0x16F2CB33), UINT32_C(0x58669ACB),
12809           UINT32_C(0x5FA2F181), UINT32_C(0x486F1BE7), UINT32_C(0xFA4B2F49),
12810           UINT32_C(0x5698F41B), UINT32_C(0x1ECAAF6B)}},
12811     },
12812     {
12813         {{UINT32_C(0x4DCC455E), UINT32_C(0x2999C212), UINT32_C(0xBEF617B8),
12814           UINT32_C(0x83897E49), UINT32_C(0x5A218E0F), UINT32_C(0x6B49CE26),
12815           UINT32_C(0x88EF7EA7), UINT32_C(0x49A5C9EB)},
12816          {UINT32_C(0xF63EC82C), UINT32_C(0xF0EDA5FF), UINT32_C(0xEAD471CD),
12817           UINT32_C(0x736D933D), UINT32_C(0xDF8071C4), UINT32_C(0x10E4431D),
12818           UINT32_C(0x38E1523C), UINT32_C(0x8C59C107)}},
12819         {{UINT32_C(0x5A54A4AB), UINT32_C(0x569FB74E), UINT32_C(0xF3384C14),
12820           UINT32_C(0x72788868), UINT32_C(0x107B417F), UINT32_C(0xBC840717),
12821           UINT32_C(0x7E13210C), UINT32_C(0x6682C107)},
12822          {UINT32_C(0x77B20150), UINT32_C(0xB3359FC2), UINT32_C(0xA9E03222),
12823           UINT32_C(0xEB923E66), UINT32_C(0xA10CF332), UINT32_C(0x490C39FC),
12824           UINT32_C(0x49BA035D), UINT32_C(0x69099C2D)}},
12825         {{UINT32_C(0x03CB2C6E), UINT32_C(0x64986720), UINT32_C(0x328B22BA),
12826           UINT32_C(0x994054A1), UINT32_C(0x6F0542DA), UINT32_C(0x4155C6B9),
12827           UINT32_C(0xA3B93FFB), UINT32_C(0x216CF760)},
12828          {UINT32_C(0x5C2AD753), UINT32_C(0x74486184), UINT32_C(0xA0CD3660),
12829           UINT32_C(0xE517984E), UINT32_C(0x3D7DA8A1), UINT32_C(0x6530BC86),
12830           UINT32_C(0x2E46CA79), UINT32_C(0x04328CF9)}},
12831         {{UINT32_C(0x4798CD35), UINT32_C(0x4100ADED), UINT32_C(0x635BAECD),
12832           UINT32_C(0xC832796D), UINT32_C(0x5B80E18C), UINT32_C(0x7EF1EA95),
12833           UINT32_C(0x426B1AA9), UINT32_C(0x6889A91B)},
12834          {UINT32_C(0x0927C6F8), UINT32_C(0xC40A0A87), UINT32_C(0x2B86ED45),
12835           UINT32_C(0xD60CFD1C), UINT32_C(0xD57350A1), UINT32_C(0x98731DFF),
12836           UINT32_C(0x1DE4341F), UINT32_C(0x1C52EAE9)}},
12837         {{UINT32_C(0x23A40FAA), UINT32_C(0xC287E33B), UINT32_C(0x7A633BDC),
12838           UINT32_C(0xB96D9F51), UINT32_C(0xE6D0F326), UINT32_C(0xF6A5B779),
12839           UINT32_C(0xF619DE4B), UINT32_C(0x10203FE1)},
12840          {UINT32_C(0xC4F18BF8), UINT32_C(0x011FB53E), UINT32_C(0xBCA32CA0),
12841           UINT32_C(0xAEBB82F6), UINT32_C(0xF881818D), UINT32_C(0x06BF8ED5),
12842           UINT32_C(0x18247E6A), UINT32_C(0x3A6A3E35)}},
12843         {{UINT32_C(0x00625DC1), UINT32_C(0x3BF2E96E), UINT32_C(0x5A288F80),
12844           UINT32_C(0xD81AD156), UINT32_C(0xB7CE9B13), UINT32_C(0x04C3269E),
12845           UINT32_C(0x2F9E2713), UINT32_C(0x3E18EAFC)},
12846          {UINT32_C(0x9D0BC74A), UINT32_C(0x20F0E05D), UINT32_C(0xD8140790),
12847           UINT32_C(0xACDB4B75), UINT32_C(0xF1B5B265), UINT32_C(0x12918A7E),
12848           UINT32_C(0x6896342E), UINT32_C(0x22A70AF9)}},
12849         {{UINT32_C(0x9C4B6B08), UINT32_C(0x326A28A2), UINT32_C(0xA17D3D57),
12850           UINT32_C(0x21302F37), UINT32_C(0xCE36F438), UINT32_C(0x181378E7),
12851           UINT32_C(0xFED12DE1), UINT32_C(0x42B07EBA)},
12852          {UINT32_C(0x0468AD4C), UINT32_C(0x081DDD20), UINT32_C(0x64DF34AE),
12853           UINT32_C(0x32822EC3), UINT32_C(0x04B2192D), UINT32_C(0xE9F8D7C2),
12854           UINT32_C(0x918666F8), UINT32_C(0x6ABC7220)}},
12855         {{UINT32_C(0x04AF3956), UINT32_C(0x93330701), UINT32_C(0x872BD30D),
12856           UINT32_C(0xEEB7AA8E), UINT32_C(0xD0E67494), UINT32_C(0xFC96D106),
12857           UINT32_C(0x3A918DFB), UINT32_C(0x516028CF)},
12858          {UINT32_C(0xFB27B6EC), UINT32_C(0xFAF0B6F7), UINT32_C(0x515DA78D),
12859           UINT32_C(0x0FAD73AD), UINT32_C(0xD8CF1934), UINT32_C(0x5F136068),
12860           UINT32_C(0xB6052802), UINT32_C(0x0A526E04)}},
12861         {{UINT32_C(0xE4685212), UINT32_C(0x20DF0DEB), UINT32_C(0xA41B293F),
12862           UINT32_C(0x71D4BAC1), UINT32_C(0x2FA8BBAC), UINT32_C(0xBCC32A2F),
12863           UINT32_C(0xF30CC343), UINT32_C(0x32A8723A)},
12864          {UINT32_C(0xEF95ACFE), UINT32_C(0x71E6DAAF), UINT32_C(0x9F445394),
12865           UINT32_C(0x27D158F6), UINT32_C(0xE186B246), UINT32_C(0x2140F78D),
12866           UINT32_C(0xCB1C83AD), UINT32_C(0x4CAF98C3)}},
12867         {{UINT32_C(0xB6F63AA9), UINT32_C(0x94E264FC), UINT32_C(0x4D0FE485),
12868           UINT32_C(0xF4637B02), UINT32_C(0x069CCB4E), UINT32_C(0xA4BC0A03),
12869           UINT32_C(0x9E25E817), UINT32_C(0x99A81E37)},
12870          {UINT32_C(0x8F4D37BB), UINT32_C(0xE3B804A7), UINT32_C(0xE38E654C),
12871           UINT32_C(0x57F272A5), UINT32_C(0x05928F65), UINT32_C(0x00D1852C),
12872           UINT32_C(0x4345DD06), UINT32_C(0x3031B713)}},
12873         {{UINT32_C(0x57536140), UINT32_C(0x6E42AF11), UINT32_C(0x005A403F),
12874           UINT32_C(0xDC5B7CDC), UINT32_C(0x26527417), UINT32_C(0xE6EE185E),
12875           UINT32_C(0x7C685BCF), UINT32_C(0x1003D013)},
12876          {UINT32_C(0x192979E6), UINT32_C(0xC2206BF6), UINT32_C(0x6FE38214),
12877           UINT32_C(0xD1C370DB), UINT32_C(0x92F3C044), UINT32_C(0x78D105B7),
12878           UINT32_C(0xBFDF8DFA), UINT32_C(0x2F0DF6B8)}},
12879         {{UINT32_C(0x44D04C4A), UINT32_C(0xB02FCA38), UINT32_C(0xA44566C6),
12880           UINT32_C(0x956A2F7C), UINT32_C(0x9F1F09C6), UINT32_C(0x60672DF3),
12881           UINT32_C(0x2160C362), UINT32_C(0x6459A949)},
12882          {UINT32_C(0x08714451), UINT32_C(0xDAE54341), UINT32_C(0xBFFD7CF6),
12883           UINT32_C(0x48B77A0D), UINT32_C(0x3EDBC8D4), UINT32_C(0x615ADBFE),
12884           UINT32_C(0x35B67D2F), UINT32_C(0x3338E557)}},
12885         {{UINT32_C(0xDD24A0F0), UINT32_C(0x601D49D1), UINT32_C(0x48EF27B9),
12886           UINT32_C(0x60A48DB7), UINT32_C(0x97A8BAC6), UINT32_C(0x97F2212C),
12887           UINT32_C(0x155AB524), UINT32_C(0x376B0292)},
12888          {UINT32_C(0x62E2A961), UINT32_C(0xA25881BA), UINT32_C(0x2B8C56F7),
12889           UINT32_C(0xEB74CC80), UINT32_C(0xDA57C41A), UINT32_C(0xBE5C5DD4),
12890           UINT32_C(0x2D16AFA0), UINT32_C(0x53D0D037)}},
12891         {{UINT32_C(0xCA291206), UINT32_C(0xE47C9EAB), UINT32_C(0x42D5C667),
12892           UINT32_C(0x25DADB64), UINT32_C(0xD886993E), UINT32_C(0x8C154CB6),
12893           UINT32_C(0x806B932F), UINT32_C(0x11DEC39C)},
12894          {UINT32_C(0x13D4B4E5), UINT32_C(0x51A4DCF3), UINT32_C(0x9D1D822A),
12895           UINT32_C(0xAA1DAD6D), UINT32_C(0xCEEF2E29), UINT32_C(0x2BB2E14D),
12896           UINT32_C(0xB2343BE3), UINT32_C(0x429C13C7)}},
12897         {{UINT32_C(0x297F709D), UINT32_C(0x4E8E953F), UINT32_C(0x262D862A),
12898           UINT32_C(0x23183A3D), UINT32_C(0xEA12D93F), UINT32_C(0xE164A10D),
12899           UINT32_C(0xFE703920), UINT32_C(0x386C2873)},
12900          {UINT32_C(0xE5C51C7E), UINT32_C(0xD59E1582), UINT32_C(0x020F6A2E),
12901           UINT32_C(0xA8C93B5B), UINT32_C(0x160CD058), UINT32_C(0x51518BD0),
12902           UINT32_C(0xB1D38AC7), UINT32_C(0x3337801A)}},
12903         {{UINT32_C(0x2F5D9E25), UINT32_C(0x6E251533), UINT32_C(0xB0D6B0DB),
12904           UINT32_C(0x88E76135), UINT32_C(0x9E6762D1), UINT32_C(0x5C197832),
12905           UINT32_C(0x84E620AC), UINT32_C(0x12326773)},
12906          {UINT32_C(0x0E2694DD), UINT32_C(0x3B88DF27), UINT32_C(0x30A23CAA),
12907           UINT32_C(0x30FED9E3), UINT32_C(0xA23DF142), UINT32_C(0xE12DD93E),
12908           UINT32_C(0x2EA77C07), UINT32_C(0x06778F51)}},
12909     },
12910     {
12911         {{UINT32_C(0x49E5F6B4), UINT32_C(0x5D5BE00E), UINT32_C(0x721EF9DC),
12912           UINT32_C(0x2F47E7C7), UINT32_C(0x7EAFC098), UINT32_C(0x338F7B00),
12913           UINT32_C(0xAF8C2475), UINT32_C(0x0F5F06E3)},
12914          {UINT32_C(0x63122B22), UINT32_C(0x2A4B845C), UINT32_C(0x89A4CE9A),
12915           UINT32_C(0xED440060), UINT32_C(0x9A86D9BC), UINT32_C(0xC9EEB640),
12916           UINT32_C(0x2F39B439), UINT32_C(0x12C3E0F3)}},
12917         {{UINT32_C(0x17766F6C), UINT32_C(0xB444B88B), UINT32_C(0xA41FD692),
12918           UINT32_C(0xF9B100E6), UINT32_C(0x5C149B30), UINT32_C(0x81EAFCD1),
12919           UINT32_C(0x1D521A1E), UINT32_C(0x37DD6F6E)},
12920          {UINT32_C(0x389DCD6E), UINT32_C(0x14DBE8C3), UINT32_C(0x0DCBC7FC),
12921           UINT32_C(0xCD24D655), UINT32_C(0xE00F9102), UINT32_C(0x05F8D48E),
12922           UINT32_C(0x509D18D4), UINT32_C(0x403954E6)}},
12923         {{UINT32_C(0xE4FE16EC), UINT32_C(0xA04FDDDF), UINT32_C(0x90E15C0C),
12924           UINT32_C(0xB9E7FA73), UINT32_C(0xC77FAB6B), UINT32_C(0x7D6A7206),
12925           UINT32_C(0x3E221F12), UINT32_C(0x3FFDCCD1)},
12926          {UINT32_C(0x47B5BB7F), UINT32_C(0x120C05B1), UINT32_C(0x5B7E2B96),
12927           UINT32_C(0xFA3614C0), UINT32_C(0x4A6AC6E0), UINT32_C(0xF3A4F07F),
12928           UINT32_C(0xC8AD4F23), UINT32_C(0x0324BF48)}},
12929         {{UINT32_C(0x55DF2F18), UINT32_C(0x508A0370), UINT32_C(0xB872F209),
12930           UINT32_C(0x1C6C91EA), UINT32_C(0x8E12F437), UINT32_C(0xDC3F6C5A),
12931           UINT32_C(0xC91AFD75), UINT32_C(0x65F5058F)},
12932          {UINT32_C(0x5A859A1D), UINT32_C(0x0C43613D), UINT32_C(0x5BF96A6B),
12933           UINT32_C(0x83A2610E), UINT32_C(0x1496AEAD), UINT32_C(0x1A98AA4C),
12934           UINT32_C(0xE6CAA901), UINT32_C(0x3AB1CE5E)}},
12935         {{UINT32_C(0xFFB3E411), UINT32_C(0x9420ABFE), UINT32_C(0x31404E74),
12936           UINT32_C(0xCE609760), UINT32_C(0x02C49837), UINT32_C(0x3D4C23C5),
12937           UINT32_C(0xD0868A3C), UINT32_C(0x6B79FB14)},
12938          {UINT32_C(0x6B5861EA), UINT32_C(0xB4EEE8DB), UINT32_C(0x9D948195),
12939           UINT32_C(0x495E2B46), UINT32_C(0x1CE15EC9), UINT32_C(0x2BB0BD94),
12940           UINT32_C(0xDED25955), UINT32_C(0x6CE79F80)}},
12941         {{UINT32_C(0x5820DF65), UINT32_C(0xA6B98C1D), UINT32_C(0x909356B5),
12942           UINT32_C(0xE8284737), UINT32_C(0x091340E1), UINT32_C(0x38E8609A),
12943           UINT32_C(0x10666012), UINT32_C(0x98EC077B)},
12944          {UINT32_C(0xBF075DAE), UINT32_C(0xFB243B1E), UINT32_C(0xA270FE31),
12945           UINT32_C(0x32312BAC), UINT32_C(0x0CAA5F8E), UINT32_C(0x21451120),
12946           UINT32_C(0x2A515015), UINT32_C(0x8F60118F)}},
12947         {{UINT32_C(0xCBDEB88E), UINT32_C(0x4F211C9E), UINT32_C(0xB6D680FD),
12948           UINT32_C(0xF6D3CC3A), UINT32_C(0x8BF4B4A7), UINT32_C(0xE193829D),
12949           UINT32_C(0x2D620371), UINT32_C(0x3223EF4E)},
12950          {UINT32_C(0xC0E5245A), UINT32_C(0xC3E35420), UINT32_C(0xB4ADE2EA),
12951           UINT32_C(0xD3F4F894), UINT32_C(0xF2CE985E), UINT32_C(0x464FCB6C),
12952           UINT32_C(0x7B987FA7), UINT32_C(0x79CF596D)}},
12953         {{UINT32_C(0x0C0016FF), UINT32_C(0x0730748C), UINT32_C(0xA2949069),
12954           UINT32_C(0xD02115C5), UINT32_C(0x40E9C7F9), UINT32_C(0xAA6F794D),
12955           UINT32_C(0x79149C37), UINT32_C(0x9514FA7B)},
12956          {UINT32_C(0x5A46BCE0), UINT32_C(0x6E2F2778), UINT32_C(0x0837ACD5),
12957           UINT32_C(0xF55D46C6), UINT32_C(0x1E4223E6), UINT32_C(0xF965C468),
12958           UINT32_C(0x85D90A07), UINT32_C(0x0BFF0A91)}},
12959         {{UINT32_C(0x1923C8AF), UINT32_C(0x9ED90358), UINT32_C(0xA470AE00),
12960           UINT32_C(0xC425B633), UINT32_C(0x1C50FDAD), UINT32_C(0xF9F4B162),
12961           UINT32_C(0xA8CA2BD5), UINT32_C(0x0999D072)},
12962          {UINT32_C(0xAF74D4C3), UINT32_C(0xCB122FBD), UINT32_C(0x2C283752),
12963           UINT32_C(0x372C13F0), UINT32_C(0x82138B19), UINT32_C(0x9F42A903),
12964           UINT32_C(0x3EB8CB95), UINT32_C(0x573A2CEE)}},
12965         {{UINT32_C(0x3AC2E191), UINT32_C(0x6C3A6BE3), UINT32_C(0x1B222DB2),
12966           UINT32_C(0x4149E0EB), UINT32_C(0xA4AACC55), UINT32_C(0x5BA91005),
12967           UINT32_C(0x1BFADBD0), UINT32_C(0x176BD33D)},
12968          {UINT32_C(0xA8DA0FEA), UINT32_C(0x4AEAF14E), UINT32_C(0xA7FF8E1C),
12969           UINT32_C(0xB12401F9), UINT32_C(0x0F192414), UINT32_C(0xF1EF39AE),
12970           UINT32_C(0x416743C1), UINT32_C(0x95D433D3)}},
12971         {{UINT32_C(0x9AA0C238), UINT32_C(0x29ECF54D), UINT32_C(0x8FCA6419),
12972           UINT32_C(0x3762F1D7), UINT32_C(0x64D3AAA9), UINT32_C(0x761D786A),
12973           UINT32_C(0xDAEC7BF4), UINT32_C(0x7A8A677D)},
12974          {UINT32_C(0x324676F4), UINT32_C(0xC2829EAD), UINT32_C(0x4D0B291E),
12975           UINT32_C(0x4E504A47), UINT32_C(0xF8C4F384), UINT32_C(0x360CE7FE),
12976           UINT32_C(0x78CDA37D), UINT32_C(0x33A577B5)}},
12977         {{UINT32_C(0x333103FD), UINT32_C(0x1BBFC128), UINT32_C(0xE45C9DBE),
12978           UINT32_C(0x3D36045C), UINT32_C(0x15C9013D), UINT32_C(0xA8D53F5A),
12979           UINT32_C(0xA33FDCFD), UINT32_C(0x99D62F8A)},
12980          {UINT32_C(0x0A81F581), UINT32_C(0x73E53961), UINT32_C(0xD00BC0D9),
12981           UINT32_C(0xD01AD20E), UINT32_C(0x1F6D9B73), UINT32_C(0x59701F4D),
12982           UINT32_C(0xE098E536), UINT32_C(0x0F4EBFBC)}},
12983         {{UINT32_C(0x91E3C062), UINT32_C(0xBDB9368A), UINT32_C(0x9B17AAE5),
12984           UINT32_C(0xCD66A0B1), UINT32_C(0xB4537E05), UINT32_C(0xB6636DD7),
12985           UINT32_C(0x73B119CE), UINT32_C(0x37D94B8E)},
12986          {UINT32_C(0xC7428FF9), UINT32_C(0xA5F8E90F), UINT32_C(0xF8EA9F03),
12987           UINT32_C(0xE7E5B2B7), UINT32_C(0x5B3506DA), UINT32_C(0xB7F20FB8),
12988           UINT32_C(0xE494FFDA), UINT32_C(0x0F4AB6D5)}},
12989         {{UINT32_C(0x85365933), UINT32_C(0x3ACEE3BD), UINT32_C(0xBF510114),
12990           UINT32_C(0x9D5223D3), UINT32_C(0xA08D01B0), UINT32_C(0xE0D7D9A7),
12991           UINT32_C(0xB2F1F61F), UINT32_C(0x28FD329A)},
12992          {UINT32_C(0xA5909DD3), UINT32_C(0x3E16A2E2), UINT32_C(0xB4FECB35),
12993           UINT32_C(0x284A8708), UINT32_C(0x73D5BFBA), UINT32_C(0x190F7B3A),
12994           UINT32_C(0x92EE4BBE), UINT32_C(0x7E07982E)}},
12995         {{UINT32_C(0x44945687), UINT32_C(0xA30A4C22), UINT32_C(0xD688A301),
12996           UINT32_C(0x657C0F2E), UINT32_C(0xBBB3E65A), UINT32_C(0x9B558D4A),
12997           UINT32_C(0xA6E57844), UINT32_C(0x8044D57E)},
12998          {UINT32_C(0xE3957E21), UINT32_C(0xF202E50E), UINT32_C(0xCE62FCC9),
12999           UINT32_C(0x4957E651), UINT32_C(0xC4ECE0B8), UINT32_C(0xF7B9EBA4),
13000           UINT32_C(0x61167229), UINT32_C(0x29532CEC)}},
13001         {{UINT32_C(0x3EEF3D71), UINT32_C(0xE9DC8EA6), UINT32_C(0x3E8EC117),
13002           UINT32_C(0xEBF76BD4), UINT32_C(0x2EA072B9), UINT32_C(0x48CEB78D),
13003           UINT32_C(0x73EFC32D), UINT32_C(0x82ECDFC4)},
13004          {UINT32_C(0xE2C89E7D), UINT32_C(0x51B02CB3), UINT32_C(0xF4D9100F),
13005           UINT32_C(0xE9D0740C), UINT32_C(0x8A5E3F48), UINT32_C(0xBB556EFE),
13006           UINT32_C(0x1D01B44E), UINT32_C(0x864E52DA)}},
13007     },
13008     {
13009         {{UINT32_C(0x14EA6DC5), UINT32_C(0x5A75E0BD), UINT32_C(0x532EFED7),
13010           UINT32_C(0x09F2AA76), UINT32_C(0x83CE5A18), UINT32_C(0xE6DAE0A9),
13011           UINT32_C(0xCEB4E78D), UINT32_C(0x00F9BCB7)},
13012          {UINT32_C(0x71F79BF3), UINT32_C(0x128FB51C), UINT32_C(0x80D5DBC3),
13013           UINT32_C(0x78C79788), UINT32_C(0x9B816B9E), UINT32_C(0x2752F02C),
13014           UINT32_C(0xEB7622E2), UINT32_C(0x88CFBA0C)}},
13015         {{UINT32_C(0x268432A3), UINT32_C(0x845AB940), UINT32_C(0x2F94F6D3),
13016           UINT32_C(0xA8D0231B), UINT32_C(0xFEC02130), UINT32_C(0xBDFB3F91),
13017           UINT32_C(0x5F62419F), UINT32_C(0x07A61AE4)},
13018          {UINT32_C(0x192EBF1A), UINT32_C(0xD1C951DF), UINT32_C(0xFA232E34),
13019           UINT32_C(0x22CDCFF5), UINT32_C(0x3A7581DD), UINT32_C(0xDFDF121B),
13020           UINT32_C(0x710403A5), UINT32_C(0x9865ECA2)}},
13021         {{UINT32_C(0xF8180BAB), UINT32_C(0x609F4527), UINT32_C(0x50A6D914),
13022           UINT32_C(0x93AB1072), UINT32_C(0xE2EEE3BD), UINT32_C(0x299D5013),
13023           UINT32_C(0x42959C14), UINT32_C(0x36EFCE5B)},
13024          {UINT32_C(0x1045FFCB), UINT32_C(0x49CDA60D), UINT32_C(0x45723371),
13025           UINT32_C(0xA8B2492E), UINT32_C(0xF243FDBB), UINT32_C(0xCB75789B),
13026           UINT32_C(0x871D500D), UINT32_C(0x8E1079D7)}},
13027         {{UINT32_C(0xDB14298E), UINT32_C(0x69852694), UINT32_C(0x41A56B6D),
13028           UINT32_C(0xBAA92A95), UINT32_C(0x3DBFDBA4), UINT32_C(0xC7371848),
13029           UINT32_C(0x947747F8), UINT32_C(0x94B3155C)},
13030          {UINT32_C(0x7552426B), UINT32_C(0x97BCDD19), UINT32_C(0x32682121),
13031           UINT32_C(0x4FB3E76D), UINT32_C(0x8BC15FCA), UINT32_C(0x875AA0F7),
13032           UINT32_C(0xF1FD2315), UINT32_C(0x4065BCDF)}},
13033         {{UINT32_C(0xB7F1ED04), UINT32_C(0x2D1C0519), UINT32_C(0xEA2535E1),
13034           UINT32_C(0xED9A1BB7), UINT32_C(0xABAE813E), UINT32_C(0xE4728CD6),
13035           UINT32_C(0x21A771D0), UINT32_C(0x2CD7D447)},
13036          {UINT32_C(0x59B9E964), UINT32_C(0x88E2A785), UINT32_C(0x6F9B5374),
13037           UINT32_C(0x2677FBD7), UINT32_C(0x2645B626), UINT32_C(0x3967D6C5),
13038           UINT32_C(0x5A1C315B), UINT32_C(0x8843F7DF)}},
13039         {{UINT32_C(0xC7055A4E), UINT32_C(0x673CD273), UINT32_C(0xEE827873),
13040           UINT32_C(0x052AC45C), UINT32_C(0xCE1981F3), UINT32_C(0xC26B9214),
13041           UINT32_C(0x2B8EEF59), UINT32_C(0x3C39C13C)},
13042          {UINT32_C(0x0B276D47), UINT32_C(0xDD9E1B9B), UINT32_C(0x7287F9A1),
13043           UINT32_C(0x6729A534), UINT32_C(0x061DAD53), UINT32_C(0x43E1471C),
13044           UINT32_C(0x118B56C8), UINT32_C(0x6082FAD9)}},
13045         {{UINT32_C(0xF99186D6), UINT32_C(0x9C3872AA), UINT32_C(0x75AC99BF),
13046           UINT32_C(0x1D9E8DB6), UINT32_C(0xE338DBD3), UINT32_C(0x6FA7A0FF),
13047           UINT32_C(0xD1FEF2F9), UINT32_C(0x1EDF44EC)},
13048          {UINT32_C(0x1F9114BF), UINT32_C(0xBAF9D33A), UINT32_C(0x3007B6A5),
13049           UINT32_C(0x89AF08E5), UINT32_C(0x8436D917), UINT32_C(0xAA04B169),
13050           UINT32_C(0x6AFCF5E0), UINT32_C(0x8381E76A)}},
13051         {{UINT32_C(0xC1D799BA), UINT32_C(0xC51848A4), UINT32_C(0x7F40B34B),
13052           UINT32_C(0x6C3D43A9), UINT32_C(0xA5CB7B95), UINT32_C(0xE8DAE074),
13053           UINT32_C(0xBB5F8AEC), UINT32_C(0x5375B1EE)},
13054          {UINT32_C(0x507099E6), UINT32_C(0x461290EE), UINT32_C(0x3BAD89AD),
13055           UINT32_C(0xB95934AA), UINT32_C(0x701A4D9C), UINT32_C(0x9A6E5C22),
13056           UINT32_C(0x5E1389F6), UINT32_C(0x2CA79144)}},
13057         {{UINT32_C(0x0E5108FC), UINT32_C(0xBF82F786), UINT32_C(0x644D06DE),
13058           UINT32_C(0x3620CCC4), UINT32_C(0x8E5C4753), UINT32_C(0xB65DE853),
13059           UINT32_C(0x9FEDFD16), UINT32_C(0x6DAB7241)},
13060          {UINT32_C(0x546DCBA4), UINT32_C(0x4CECAC87), UINT32_C(0x3E2D0684),
13061           UINT32_C(0xA7BBE65D), UINT32_C(0xDA1E4FFA), UINT32_C(0x092AA490),
13062           UINT32_C(0x41AD32AF), UINT32_C(0x78F448BE)}},
13063         {{UINT32_C(0x4A33F071), UINT32_C(0x321580FE), UINT32_C(0x5EE5E685),
13064           UINT32_C(0xBEA845D1), UINT32_C(0x47AC8ACF), UINT32_C(0xC73CAECE),
13065           UINT32_C(0xA9F65F05), UINT32_C(0x0E15E55D)},
13066          {UINT32_C(0xA59506E7), UINT32_C(0x5FC47420), UINT32_C(0x01DBD2DD),
13067           UINT32_C(0x501417FF), UINT32_C(0xFB1205A6), UINT32_C(0x8EF23280),
13068           UINT32_C(0xE0F43AE8), UINT32_C(0x1AA26168)}},
13069         {{UINT32_C(0x8149EB2A), UINT32_C(0xD41F73B1), UINT32_C(0xAD95D531),
13070           UINT32_C(0xC297AF04), UINT32_C(0x749E415D), UINT32_C(0x2017176F),
13071           UINT32_C(0x8357CE9A), UINT32_C(0x5AF89C73)},
13072          {UINT32_C(0x08A0FF9C), UINT32_C(0x301F7C79), UINT32_C(0x98695C57),
13073           UINT32_C(0x0C2999B5), UINT32_C(0x6E4D8FF5), UINT32_C(0x85679957),
13074           UINT32_C(0x6F493B1C), UINT32_C(0x2CC0FF3E)}},
13075         {{UINT32_C(0x4AF481F5), UINT32_C(0xFE90F904), UINT32_C(0x31BC4919),
13076           UINT32_C(0x0562C78B), UINT32_C(0x70E4F140), UINT32_C(0xAA44AA56),
13077           UINT32_C(0xA175159A), UINT32_C(0x1B61DEB4)},
13078          {UINT32_C(0xA7A7E648), UINT32_C(0x85315DE1), UINT32_C(0x6C012B33),
13079           UINT32_C(0x4BC1F51D), UINT32_C(0x060CDEE6), UINT32_C(0x40CB5DE3),
13080           UINT32_C(0x32A1E138), UINT32_C(0x969F9196)}},
13081         {{UINT32_C(0xE05F23B5), UINT32_C(0x3B317508), UINT32_C(0x512D1156),
13082           UINT32_C(0x7B1A93AE), UINT32_C(0xCB58EC19), UINT32_C(0x3A283415),
13083           UINT32_C(0x8E27CAD9), UINT32_C(0x193A53A1)},
13084          {UINT32_C(0x03DE1BA8), UINT32_C(0xCF6BBEBA), UINT32_C(0x47A02393),
13085           UINT32_C(0xFA5544CA), UINT32_C(0x8627F5EB), UINT32_C(0x8B3AAC1A),
13086           UINT32_C(0x62EAF195), UINT32_C(0x02FAD2EC)}},
13087         {{UINT32_C(0x259CCF0F), UINT32_C(0x4F8D8ADA), UINT32_C(0x562991D7),
13088           UINT32_C(0xE4E6786B), UINT32_C(0x597C3FD3), UINT32_C(0xA1C63473),
13089           UINT32_C(0xACAB6F16), UINT32_C(0x1F5B9017)},
13090          {UINT32_C(0x592D437A), UINT32_C(0x95B201BD), UINT32_C(0xED14F859),
13091           UINT32_C(0x54432A75), UINT32_C(0x0B551AC1), UINT32_C(0x67EF73FB),
13092           UINT32_C(0x7F1AB9CA), UINT32_C(0x0A48F043)}},
13093         {{UINT32_C(0x4A35445C), UINT32_C(0xECEE508E), UINT32_C(0xB3EA6F9B),
13094           UINT32_C(0x80BE9F07), UINT32_C(0x87E4B78E), UINT32_C(0xD914B256),
13095           UINT32_C(0xF89B8E4B), UINT32_C(0x97F79CC9)},
13096          {UINT32_C(0xC359FB12), UINT32_C(0x6A5B4F2B), UINT32_C(0x99CF6FFA),
13097           UINT32_C(0x54E6E37A), UINT32_C(0xF7C66CA8), UINT32_C(0x1133C4B2),
13098           UINT32_C(0x0345866B), UINT32_C(0x6F679B28)}},
13099         {{UINT32_C(0x44E77CDF), UINT32_C(0x0006F7A1), UINT32_C(0x42033333),
13100           UINT32_C(0xD8077F9F), UINT32_C(0x21EAF35F), UINT32_C(0x0414ECE5),
13101           UINT32_C(0x5623803C), UINT32_C(0x1211576B)},
13102          {UINT32_C(0x140309A7), UINT32_C(0xEDADD215), UINT32_C(0x5EBAE3BB),
13103           UINT32_C(0xC349C657), UINT32_C(0x821DE06B), UINT32_C(0xBD40427C),
13104           UINT32_C(0x3F5D2F97), UINT32_C(0x8949ACA3)}},
13105     },
13106     {
13107         {{UINT32_C(0x022E3D44), UINT32_C(0xAC1F87E6), UINT32_C(0xB39F6B10),
13108           UINT32_C(0xDFC17BED), UINT32_C(0x07119C4A), UINT32_C(0xEAAE4168),
13109           UINT32_C(0xDBD47D36), UINT32_C(0x8B3B40BC)},
13110          {UINT32_C(0x861B7B59), UINT32_C(0x6683A561), UINT32_C(0x13A6C76D),
13111           UINT32_C(0xF9BFFB17), UINT32_C(0xA30A05AC), UINT32_C(0xE4E72EA4),
13112           UINT32_C(0xBA0D2AD6), UINT32_C(0x77C219E8)}},
13113         {{UINT32_C(0x66BE6944), UINT32_C(0x5019824E), UINT32_C(0x7B131070),
13114           UINT32_C(0x811ACEBE), UINT32_C(0x3BA34677), UINT32_C(0x9730DCF0),
13115           UINT32_C(0x7BC9CFC8), UINT32_C(0x5B9C5CF5)},
13116          {UINT32_C(0xB283C8CC), UINT32_C(0x1CBD950F), UINT32_C(0x3973A325),
13117           UINT32_C(0xF66DBDDA), UINT32_C(0x6FA60257), UINT32_C(0x4EC5EBC2),
13118           UINT32_C(0x36FF26B3), UINT32_C(0x0C01D577)}},
13119         {{UINT32_C(0x7CE2BE74), UINT32_C(0xBB221954), UINT32_C(0x841E6C0C),
13120           UINT32_C(0x23E44E0E), UINT32_C(0x77C3824E), UINT32_C(0xE760D33D),
13121           UINT32_C(0x7EB3CE34), UINT32_C(0x5B656FBE)},
13122          {UINT32_C(0xC5F3D66E), UINT32_C(0xEC50E509), UINT32_C(0x496EF8BA),
13123           UINT32_C(0x5326C2B8), UINT32_C(0x3D4B20D4), UINT32_C(0x3F9485F6),
13124           UINT32_C(0x51C21B0E), UINT32_C(0x11B74A85)}},
13125         {{UINT32_C(0x25E30336), UINT32_C(0xC3EAEB04), UINT32_C(0xA6E3637F),
13126           UINT32_C(0xA9D6C70F), UINT32_C(0x86F77F68), UINT32_C(0xF818C37E),
13127           UINT32_C(0xC60DF35A), UINT32_C(0x786ED3C2)},
13128          {UINT32_C(0xD56D705A), UINT32_C(0xACA70EA0), UINT32_C(0x7BF4EF10),
13129           UINT32_C(0xCE61608C), UINT32_C(0x1722C179), UINT32_C(0x49AD1CD8),
13130           UINT32_C(0x687F3222), UINT32_C(0x1B84FBE9)}},
13131         {{UINT32_C(0x35EE0BA9), UINT32_C(0x8A0F4BF1), UINT32_C(0x03952A08),
13132           UINT32_C(0x42AD2846), UINT32_C(0x3B60B4DD), UINT32_C(0x1E0E1E3B),
13133           UINT32_C(0xF5DCAD76), UINT32_C(0x0DC1A947)},
13134          {UINT32_C(0x1F496E03), UINT32_C(0x054BECA4), UINT32_C(0x3AE6E6F6),
13135           UINT32_C(0x8F02FDAB), UINT32_C(0x9B71C9F5), UINT32_C(0x8851CFF4),
13136           UINT32_C(0xA7441F87), UINT32_C(0x6BD7271C)}},
13137         {{UINT32_C(0x9EB6A2C3), UINT32_C(0xB019E346), UINT32_C(0x931E7550),
13138           UINT32_C(0x2B719034), UINT32_C(0x40698F1F), UINT32_C(0x2B2CBEBD),
13139           UINT32_C(0x4F1FC587), UINT32_C(0x375DB591)},
13140          {UINT32_C(0x676A79A4), UINT32_C(0x09843166), UINT32_C(0xB416D657),
13141           UINT32_C(0x91848967), UINT32_C(0x9FED6B27), UINT32_C(0xB49EA721),
13142           UINT32_C(0xD080C8AA), UINT32_C(0x1FAC5650)}},
13143         {{UINT32_C(0x58C4C2AA), UINT32_C(0x205CD588), UINT32_C(0x17F572EE),
13144           UINT32_C(0xBEEE26F8), UINT32_C(0x4CB4DE3A), UINT32_C(0xE744AB67),
13145           UINT32_C(0xCBE989BD), UINT32_C(0x37E34E18)},
13146          {UINT32_C(0x767D31B5), UINT32_C(0x95D9118B), UINT32_C(0x83E7C03E),
13147           UINT32_C(0x9A34DBEC), UINT32_C(0xB8F70DD3), UINT32_C(0xCAFDBD1A),
13148           UINT32_C(0x3909BB51), UINT32_C(0x1E68A681)}},
13149         {{UINT32_C(0x9FD96ABA), UINT32_C(0xFE0A5DFF), UINT32_C(0xD99B68DE),
13150           UINT32_C(0xBBFB1FDF), UINT32_C(0xE3F522BE), UINT32_C(0x5E232A4F),
13151           UINT32_C(0xA6428D33), UINT32_C(0x768C2C54)},
13152          {UINT32_C(0xDBF1A575), UINT32_C(0xE9CFEDF9), UINT32_C(0x4B83F9AB),
13153           UINT32_C(0x841721F2), UINT32_C(0x80A85361), UINT32_C(0xFAD9650A),
13154           UINT32_C(0x04979759), UINT32_C(0x31589211)}},
13155         {{UINT32_C(0xEFBF2099), UINT32_C(0x1CF9F4B8), UINT32_C(0xF571408B),
13156           UINT32_C(0x63D5499B), UINT32_C(0xEC3E74A6), UINT32_C(0x89C119FC),
13157           UINT32_C(0x698E4DCD), UINT32_C(0x0525DDDF)},
13158          {UINT32_C(0x7333A38C), UINT32_C(0x43FCDDE4), UINT32_C(0x80A912DE),
13159           UINT32_C(0x2150EAD4), UINT32_C(0x0A19CC55), UINT32_C(0x4B3BD223),
13160           UINT32_C(0x238AC64C), UINT32_C(0x3553EB4E)}},
13161         {{UINT32_C(0xFEC2371F), UINT32_C(0x3A259F52), UINT32_C(0x44863D3E),
13162           UINT32_C(0x8B03C505), UINT32_C(0x86BB6522), UINT32_C(0x1053E2D6),
13163           UINT32_C(0xF7086CBE), UINT32_C(0x400CE699)},
13164          {UINT32_C(0x03ED78DE), UINT32_C(0x695B1EA0), UINT32_C(0x16500E1B),
13165           UINT32_C(0x00AE6D09), UINT32_C(0x14B01815), UINT32_C(0x9F29B089),
13166           UINT32_C(0xC218D892), UINT32_C(0x269692B4)}},
13167         {{UINT32_C(0xF0D44E79), UINT32_C(0x8660280D), UINT32_C(0x37C0F38F),
13168           UINT32_C(0x69D29685), UINT32_C(0xB9E24AD8), UINT32_C(0x664B8146),
13169           UINT32_C(0x1E695452), UINT32_C(0x277CB4DD)},
13170          {UINT32_C(0xDFBF05EB), UINT32_C(0xB1A02D4E), UINT32_C(0x4A1426C7),
13171           UINT32_C(0x3B349308), UINT32_C(0x22204FE7), UINT32_C(0x13B79612),
13172           UINT32_C(0xBCB5CD9F), UINT32_C(0x04F80867)}},
13173         {{UINT32_C(0xE0852CBC), UINT32_C(0x37BDBCAE), UINT32_C(0xBE22764C),
13174           UINT32_C(0x2A6D7A23), UINT32_C(0x25AFD9FF), UINT32_C(0x4E0D43AC),
13175           UINT32_C(0xD16DD9EB), UINT32_C(0x1F6C9E14)},
13176          {UINT32_C(0xB4B0F47A), UINT32_C(0xE37E3AB3), UINT32_C(0x6C476C3A),
13177           UINT32_C(0x09E046FB), UINT32_C(0xB75FA2DC), UINT32_C(0xB8F649D9),
13178           UINT32_C(0xFAB1AC41), UINT32_C(0x7962A8C4)}},
13179         {{UINT32_C(0xF6A1314A), UINT32_C(0x00E41470), UINT32_C(0xE4388464),
13180           UINT32_C(0x176380C3), UINT32_C(0x9B8A2B4D), UINT32_C(0xDB3405CD),
13181           UINT32_C(0x7DE02ABC), UINT32_C(0x6299A1A6)},
13182          {UINT32_C(0x7BBE7BFA), UINT32_C(0x9F6B9DE7), UINT32_C(0x9D3098DD),
13183           UINT32_C(0x59F16F54), UINT32_C(0x3B5767FE), UINT32_C(0xFEC29C8D),
13184           UINT32_C(0x64955759), UINT32_C(0x67711BC0)}},
13185         {{UINT32_C(0xB1B07B5D), UINT32_C(0x34444EA3), UINT32_C(0x91FA2B4A),
13186           UINT32_C(0xB1D973B4), UINT32_C(0x83403A0E), UINT32_C(0xEBEBEFB1),
13187           UINT32_C(0x8E8A8EC6), UINT32_C(0x56D52098)},
13188          {UINT32_C(0xA7E82D55), UINT32_C(0x11C93529), UINT32_C(0xD525C399),
13189           UINT32_C(0x9230AE03), UINT32_C(0x8DB46C82), UINT32_C(0x74E1CBB2),
13190           UINT32_C(0x40BE5E15), UINT32_C(0x4C3383CC)}},
13191         {{UINT32_C(0xCDAD72F3), UINT32_C(0x33A52E73), UINT32_C(0xB9E77759),
13192           UINT32_C(0x1D2CCA33), UINT32_C(0x549406F5), UINT32_C(0x26717716),
13193           UINT32_C(0x5B3DB3E8), UINT32_C(0x70DED57F)},
13194          {UINT32_C(0x43C85A67), UINT32_C(0xBA38F813), UINT32_C(0x35422BB3),
13195           UINT32_C(0x956F2DD7), UINT32_C(0x07486F18), UINT32_C(0x52D9FA99),
13196           UINT32_C(0x75D1D2C4), UINT32_C(0x655791BF)}},
13197         {{UINT32_C(0x1FC9E0B3), UINT32_C(0xF434A960), UINT32_C(0xBEDE92AD),
13198           UINT32_C(0x42A7B891), UINT32_C(0xA55A8009), UINT32_C(0x05A182D8),
13199           UINT32_C(0x38531612), UINT32_C(0x3404E08D)},
13200          {UINT32_C(0xF07D76E3), UINT32_C(0x2B5B2766), UINT32_C(0x1D77B90C),
13201           UINT32_C(0x94B1A98D), UINT32_C(0x4B18BB9F), UINT32_C(0xA86C0EC8),
13202           UINT32_C(0x526A81E3), UINT32_C(0x6532770F)}},
13203     },
13204     {
13205         {{UINT32_C(0x61CFE04A), UINT32_C(0x4429A4E8), UINT32_C(0x2C9CA012),
13206           UINT32_C(0xEE867386), UINT32_C(0xC32D1969), UINT32_C(0x237A3040),
13207           UINT32_C(0x0AE2DFAE), UINT32_C(0x400AD599)},
13208          {UINT32_C(0x213C0A18), UINT32_C(0x1603D10A), UINT32_C(0x2B1E2A57),
13209           UINT32_C(0x6EB8042D), UINT32_C(0xC7CAF556), UINT32_C(0x4C9C1696),
13210           UINT32_C(0xE0C1A5A3), UINT32_C(0x79BE04A7)}},
13211         {{UINT32_C(0x3FCB8B14), UINT32_C(0x161781E3), UINT32_C(0xB1384C3C),
13212           UINT32_C(0x1383E3B8), UINT32_C(0xB566626C), UINT32_C(0x5129EA19),
13213           UINT32_C(0x551DE02A), UINT32_C(0x8A1F86E4)},
13214          {UINT32_C(0xAEDBE04C), UINT32_C(0x9C648CCE), UINT32_C(0xFB200132),
13215           UINT32_C(0x0D4278AC), UINT32_C(0xC1E2D4A3), UINT32_C(0x466D452A),
13216           UINT32_C(0xB21B6E38), UINT32_C(0x832B0E6E)}},
13217         {{UINT32_C(0xED1D76C7), UINT32_C(0x20101D7C), UINT32_C(0xC110D85E),
13218           UINT32_C(0xC3282661), UINT32_C(0xFFCA2DD7), UINT32_C(0xB8026CE4),
13219           UINT32_C(0x8BA48211), UINT32_C(0x73B4EBA5)},
13220          {UINT32_C(0xD8554E2C), UINT32_C(0xAB94FE21), UINT32_C(0x81B2A181),
13221           UINT32_C(0x319E2FD7), UINT32_C(0x37E8D3E2), UINT32_C(0x2C824DC5),
13222           UINT32_C(0x09FCA0AB), UINT32_C(0x97CD457A)}},
13223         {{UINT32_C(0xC50116CB), UINT32_C(0x8E4B5FBD), UINT32_C(0xCA631A93),
13224           UINT32_C(0x3D20CECE), UINT32_C(0x545575D8), UINT32_C(0x5F80606C),
13225           UINT32_C(0xF91C7908), UINT32_C(0x45ED55DE)},
13226          {UINT32_C(0x7CC1083C), UINT32_C(0x91870A92), UINT32_C(0xD360FF5C),
13227           UINT32_C(0xA3828E06), UINT32_C(0x84003D42), UINT32_C(0xFC9DFCDC),
13228           UINT32_C(0xFAC4667F), UINT32_C(0x0733C887)}},
13229         {{UINT32_C(0xCC2FC31B), UINT32_C(0x6F1F771A), UINT32_C(0x902E8176),
13230           UINT32_C(0xDA9351A1), UINT32_C(0xCE3FF045), UINT32_C(0xFB9395AF),
13231           UINT32_C(0x13820DAB), UINT32_C(0x17C28CA2)},
13232          {UINT32_C(0xA684E6FA), UINT32_C(0xA1F596BC), UINT32_C(0xDAD3995A),
13233           UINT32_C(0x89228CC7), UINT32_C(0xC02E458B), UINT32_C(0x5DBFD421),
13234           UINT32_C(0xA2122AFE), UINT32_C(0x58C25045)}},
13235         {{UINT32_C(0x018EADB0), UINT32_C(0x2906450F), UINT32_C(0x9030C84E),
13236           UINT32_C(0x88A7A236), UINT32_C(0x33308084), UINT32_C(0x492BA7A3),
13237           UINT32_C(0x5605F371), UINT32_C(0x321388B9)},
13238          {UINT32_C(0x626AE19A), UINT32_C(0x5F934C94), UINT32_C(0x01C7CCD9),
13239           UINT32_C(0xE2BD6C67), UINT32_C(0xEC0BBD52), UINT32_C(0xB07757B1),
13240           UINT32_C(0xF9EDD2AC), UINT32_C(0x1E980338)}},
13241         {{UINT32_C(0x8831457C), UINT32_C(0x5A537074), UINT32_C(0x47E7B9A9),
13242           UINT32_C(0x0E0E22FB), UINT32_C(0xA225A259), UINT32_C(0x7BE70594),
13243           UINT32_C(0x30946816), UINT32_C(0x433DB055)},
13244          {UINT32_C(0xE2F2C3CB), UINT32_C(0x852EA9F9), UINT32_C(0x2D243848),
13245           UINT32_C(0xDC4E8E3A), UINT32_C(0x1E887770), UINT32_C(0x10F34AB8),
13246           UINT32_C(0xC89FC71B), UINT32_C(0x29795D2C)}},
13247         {{UINT32_C(0xCFEC2C6F), UINT32_C(0xE046B04B), UINT32_C(0x2CA8256E),
13248           UINT32_C(0xA1D3B5A0), UINT32_C(0xE87F767F), UINT32_C(0x93F7FDFA),
13249           UINT32_C(0x35FA3837), UINT32_C(0x2DF5693E)},
13250          {UINT32_C(0x97884587), UINT32_C(0x71D9638C), UINT32_C(0x39E115EC),
13251           UINT32_C(0x175EA91F), UINT32_C(0xF41A27FC), UINT32_C(0x14E16C31),
13252           UINT32_C(0xEB2F5913), UINT32_C(0x8B2682EA)}},
13253         {{UINT32_C(0x798C7F28), UINT32_C(0x2BCC6853), UINT32_C(0xDD7D3615),
13254           UINT32_C(0x2F985A59), UINT32_C(0x41D2257A), UINT32_C(0xA66519E1),
13255           UINT32_C(0x021F719B), UINT32_C(0x18731D74)},
13256          {UINT32_C(0x360E9C20), UINT32_C(0x7210472C), UINT32_C(0x329A9B35),
13257           UINT32_C(0x4FB48411), UINT32_C(0x87D62CA5), UINT32_C(0xB33B6CB5),
13258           UINT32_C(0xFD0D7703), UINT32_C(0x86226D9E)}},
13259         {{UINT32_C(0xF67CB77C), UINT32_C(0xDD133F8B), UINT32_C(0xF6ABEE80),
13260           UINT32_C(0x381E4D62), UINT32_C(0x7DF85AE5), UINT32_C(0x3236F005),
13261           UINT32_C(0x4610BB0E), UINT32_C(0x88EBB386)},
13262          {UINT32_C(0x8DB908D8), UINT32_C(0x895AA539), UINT32_C(0x104C4633),
13263           UINT32_C(0x848142E6), UINT32_C(0xB8012B2E), UINT32_C(0x467EE770),
13264           UINT32_C(0x1B9210EE), UINT32_C(0x193CBAED)}},
13265         {{UINT32_C(0xC1F44FC1), UINT32_C(0x737CD32B), UINT32_C(0x522B6209),
13266           UINT32_C(0xCDF82B1C), UINT32_C(0xE0017F2A), UINT32_C(0x08F4BB70),
13267           UINT32_C(0x64738F26), UINT32_C(0x1565BCEF)},
13268          {UINT32_C(0x684DCF67), UINT32_C(0x0D2910B9), UINT32_C(0xC6F3EB81),
13269           UINT32_C(0x4ED1734B), UINT32_C(0xDA1D6BC8), UINT32_C(0xCBEA79B6),
13270           UINT32_C(0xEE6A41D6), UINT32_C(0x0470CE36)}},
13271         {{UINT32_C(0xBA05AF3C), UINT32_C(0xECFD5C66), UINT32_C(0xEB9BFAA8),
13272           UINT32_C(0x421D5540), UINT32_C(0x526CFF85), UINT32_C(0xFC0E5AF2),
13273           UINT32_C(0x53DC49A6), UINT32_C(0x7E17F1E6)},
13274          {UINT32_C(0x1FAEB0A2), UINT32_C(0x69BB1DFB), UINT32_C(0xB3785ED4),
13275           UINT32_C(0xDC95661A), UINT32_C(0x676D7CD0), UINT32_C(0x1F1D7395),
13276           UINT32_C(0x89C6412F), UINT32_C(0x2C16BB96)}},
13277         {{UINT32_C(0xEE414CA6), UINT32_C(0x2335F20E), UINT32_C(0xFEF5E042),
13278           UINT32_C(0x56E0DDB2), UINT32_C(0xD9DE2966), UINT32_C(0x942D4E35),
13279           UINT32_C(0xCF63D583), UINT32_C(0x80E92B8C)},
13280          {UINT32_C(0x5D492C76), UINT32_C(0x158BE1B6), UINT32_C(0xC4F822D9),
13281           UINT32_C(0xFF096960), UINT32_C(0x5AF79379), UINT32_C(0xC00FC730),
13282           UINT32_C(0x50D34E12), UINT32_C(0x07C49B03)}},
13283         {{UINT32_C(0xC34836C8), UINT32_C(0x64678B2E), UINT32_C(0x615FF066),
13284           UINT32_C(0xCC280DCB), UINT32_C(0x9131EC98), UINT32_C(0x86C3C747),
13285           UINT32_C(0x2D151FAD), UINT32_C(0x35B008CC)},
13286          {UINT32_C(0xF8133FDC), UINT32_C(0x22C18852), UINT32_C(0x2FE8809D),
13287           UINT32_C(0x183BE4DC), UINT32_C(0xCF98D56D), UINT32_C(0x86589814),
13288           UINT32_C(0x2F6E0DE4), UINT32_C(0x52D8074D)}},
13289         {{UINT32_C(0xC9274AA6), UINT32_C(0x33FF9F41), UINT32_C(0xCA854AF1),
13290           UINT32_C(0xAC30ACB4), UINT32_C(0xFBC994B7), UINT32_C(0x87A7BE53),
13291           UINT32_C(0xDBCD717B), UINT32_C(0x6E7E8B2A)},
13292          {UINT32_C(0xCD494AB6), UINT32_C(0x3065A732), UINT32_C(0x60FD7F57),
13293           UINT32_C(0x6F977B87), UINT32_C(0xB74BAD54), UINT32_C(0x4C216EB4),
13294           UINT32_C(0xF6061F7A), UINT32_C(0x674F00F5)}},
13295         {{UINT32_C(0x3164AFBB), UINT32_C(0xA8C22481), UINT32_C(0x72A7AC55),
13296           UINT32_C(0x4C9E2F1D), UINT32_C(0x79DEFE94), UINT32_C(0xE3DAC3E3),
13297           UINT32_C(0xBB9D953F), UINT32_C(0x193A1E0B)},
13298          {UINT32_C(0x7E0957EE), UINT32_C(0x8852020C), UINT32_C(0xB62F8EF7),
13299           UINT32_C(0xF7FD181E), UINT32_C(0xE26B8860), UINT32_C(0x0DE7EDDE),
13300           UINT32_C(0xFD1B00DE), UINT32_C(0x53A05575)}},
13301     },
13302     {
13303         {{UINT32_C(0x63E0C8FC), UINT32_C(0xE5D63E1B), UINT32_C(0xC684016A),
13304           UINT32_C(0x6849B530), UINT32_C(0x009318AD), UINT32_C(0x4E89CB43),
13305           UINT32_C(0xEF571911), UINT32_C(0x1CDC5918)},
13306          {UINT32_C(0xF389EAF3), UINT32_C(0xA6596C03), UINT32_C(0xE88975F9),
13307           UINT32_C(0x9282C1B3), UINT32_C(0x0D53D3F2), UINT32_C(0xD07A2AEF),
13308           UINT32_C(0x2B3B602C), UINT32_C(0x3DA515D5)}},
13309         {{UINT32_C(0x8A5436EA), UINT32_C(0xE4285781), UINT32_C(0x36D65626),
13310           UINT32_C(0x047E3056), UINT32_C(0xE16489A0), UINT32_C(0x0016B568),
13311           UINT32_C(0x75A0209C), UINT32_C(0x44603196)},
13312          {UINT32_C(0xBCC19754), UINT32_C(0x2BE99A51), UINT32_C(0x5ACFCDEF),
13313           UINT32_C(0xE02EAFD0), UINT32_C(0xAECACABB), UINT32_C(0xB0A1E300),
13314           UINT32_C(0xAC1860D9), UINT32_C(0x0F39CBDE)}},
13315         {{UINT32_C(0x2099F08E), UINT32_C(0x50DA5372), UINT32_C(0xCA4817B1),
13316           UINT32_C(0xAA6AAAD1), UINT32_C(0x57D73192), UINT32_C(0xA4DDC5FF),
13317           UINT32_C(0x7682D453), UINT32_C(0x046043AC)},
13318          {UINT32_C(0x28CF3F48), UINT32_C(0xC8EB1788), UINT32_C(0xDCA184D4),
13319           UINT32_C(0x3967A02F), UINT32_C(0x86221941), UINT32_C(0x0CE68B79),
13320           UINT32_C(0xFD3A197A), UINT32_C(0x27BDCA48)}},
13321         {{UINT32_C(0x563D7A91), UINT32_C(0xD774E33C), UINT32_C(0x07AE1C92),
13322           UINT32_C(0x1C309DAE), UINT32_C(0x57DBE6A8), UINT32_C(0xDABA89B4),
13323           UINT32_C(0xE5820FA4), UINT32_C(0x90C62517)},
13324          {UINT32_C(0x11371109), UINT32_C(0x23C64605), UINT32_C(0x15605666),
13325           UINT32_C(0x1176AE7E), UINT32_C(0xDF040DCB), UINT32_C(0xD71E9755),
13326           UINT32_C(0x62ED515C), UINT32_C(0x5312A5B3)}},
13327         {{UINT32_C(0x7A5FB9E0), UINT32_C(0xB7AA3A11), UINT32_C(0x18E2CB32),
13328           UINT32_C(0xA769BC72), UINT32_C(0x6B73E050), UINT32_C(0x9D551B9B),
13329           UINT32_C(0xDB067CBC), UINT32_C(0x0CE51DF0)},
13330          {UINT32_C(0x4A0E06BE), UINT32_C(0x00BF90D5), UINT32_C(0x7EE820E7),
13331           UINT32_C(0xFEC6E7B3), UINT32_C(0x3334937A), UINT32_C(0xDFBAC083),
13332           UINT32_C(0xCE14CF46), UINT32_C(0x46884935)}},
13333         {{UINT32_C(0x902EF3A9), UINT32_C(0xC3F31EAF), UINT32_C(0x5CCDF002),
13334           UINT32_C(0xF3B6E6FA), UINT32_C(0x88CDDE0F), UINT32_C(0x5A9B5321),
13335           UINT32_C(0xE8691FED), UINT32_C(0x00D99E43)},
13336          {UINT32_C(0xCFE02C8B), UINT32_C(0x8E786F52), UINT32_C(0x4DD36F8E),
13337           UINT32_C(0x587AA537), UINT32_C(0x425CC228), UINT32_C(0xBCA91CAC),
13338           UINT32_C(0xBFA9C36B), UINT32_C(0x80AA8AA9)}},
13339         {{UINT32_C(0x9B20505A), UINT32_C(0xAD4A2AD0), UINT32_C(0x16739066),
13340           UINT32_C(0x6D708029), UINT32_C(0x89F73B52), UINT32_C(0x729001F3),
13341           UINT32_C(0x8073A428), UINT32_C(0x77480347)},
13342          {UINT32_C(0xE84DB3B4), UINT32_C(0x1AB38F07), UINT32_C(0xA6655769),
13343           UINT32_C(0xE643D756), UINT32_C(0x46C19856), UINT32_C(0x5631359B),
13344           UINT32_C(0x01C3DCD1), UINT32_C(0x82530A32)}},
13345         {{UINT32_C(0x2DDDB968), UINT32_C(0x9250EC26), UINT32_C(0x8D82A03E),
13346           UINT32_C(0x63D99CBF), UINT32_C(0x41349B60), UINT32_C(0x4FBFE784),
13347           UINT32_C(0xA15BF2B7), UINT32_C(0x6977DD07)},
13348          {UINT32_C(0x68513C32), UINT32_C(0x771917C6), UINT32_C(0x8F0064F7),
13349           UINT32_C(0x02603518), UINT32_C(0x51D78637), UINT32_C(0x45A57429),
13350           UINT32_C(0x87293790), UINT32_C(0x56BF57CC)}},
13351         {{UINT32_C(0x032E6426), UINT32_C(0xBAC94E24), UINT32_C(0xC2531B26),
13352           UINT32_C(0x7D54AE34), UINT32_C(0xCD688082), UINT32_C(0x4D6EF608),
13353           UINT32_C(0xF5AA4BEE), UINT32_C(0x736E7ACF)},
13354          {UINT32_C(0x6AFB84E2), UINT32_C(0x41D5BF6C), UINT32_C(0x6E976E09),
13355           UINT32_C(0x40E12DA5), UINT32_C(0x2235F7B9), UINT32_C(0xCBF32FCB),
13356           UINT32_C(0xA21BC0E0), UINT32_C(0x285DDF46)}},
13357         {{UINT32_C(0xCE751632), UINT32_C(0x66C6A76E), UINT32_C(0x32A61A1D),
13358           UINT32_C(0xBD457D0E), UINT32_C(0x78191C57), UINT32_C(0xFA12A7C8),
13359           UINT32_C(0x06611B5E), UINT32_C(0x030ED98B)},
13360          {UINT32_C(0xF4972FFD), UINT32_C(0x199F7756), UINT32_C(0x9C8AAB09),
13361           UINT32_C(0x298D98E6), UINT32_C(0xC5B02158), UINT32_C(0x2186054C),
13362           UINT32_C(0xB9B1147A), UINT32_C(0x0736CE4C)}},
13363         {{UINT32_C(0x19BFA57D), UINT32_C(0x33E4A4CA), UINT32_C(0xAA70C35D),
13364           UINT32_C(0xF02F6D32), UINT32_C(0x3CC082FD), UINT32_C(0x9EA10B63),
13365           UINT32_C(0xD00E82A8), UINT32_C(0x86104E8E)},
13366          {UINT32_C(0x87797E25), UINT32_C(0xACBA5E73), UINT32_C(0xEB85A796),
13367           UINT32_C(0x24DD98A8), UINT32_C(0xC58AC480), UINT32_C(0x02748827),
13368           UINT32_C(0x6A932D80), UINT32_C(0x5B4480C7)}},
13369         {{UINT32_C(0x1992B174), UINT32_C(0xF9E210FB), UINT32_C(0xBE22636E),
13370           UINT32_C(0x3CFA6EF1), UINT32_C(0x3BDFA2BD), UINT32_C(0xA46F202B),
13371           UINT32_C(0x441B96D2), UINT32_C(0x8C83B3DA)},
13372          {UINT32_C(0x8AA39AB4), UINT32_C(0x3BB2ED8B), UINT32_C(0x9CE53FB2),
13373           UINT32_C(0x4DB63B23), UINT32_C(0x46DC2104), UINT32_C(0x24AC8A98),
13374           UINT32_C(0x68E20D1B), UINT32_C(0x997BC4A7)}},
13375         {{UINT32_C(0xD1C0D629), UINT32_C(0x4CDF8757), UINT32_C(0xA64B6058),
13376           UINT32_C(0xBA155719), UINT32_C(0xBE3FB0B1), UINT32_C(0x82FD0DA3),
13377           UINT32_C(0x03E34CB1), UINT32_C(0x12F50694)},
13378          {UINT32_C(0x02E7DFEB), UINT32_C(0x8993EE38), UINT32_C(0x3D7A758E),
13379           UINT32_C(0x2FC240C6), UINT32_C(0xAFF7CC7B), UINT32_C(0x75CB6F62),
13380           UINT32_C(0x71B02A5B), UINT32_C(0x2D73F74D)}},
13381         {{UINT32_C(0x550ADA69), UINT32_C(0x0B7B920A), UINT32_C(0xD2F1D5C2),
13382           UINT32_C(0x87D29F08), UINT32_C(0xEEA99A38), UINT32_C(0x6E36EF9C),
13383           UINT32_C(0x79D7626A), UINT32_C(0x624874C1)},
13384          {UINT32_C(0x17F026E0), UINT32_C(0x9FCA1B2E), UINT32_C(0xA3A79C2E),
13385           UINT32_C(0xBDBE18E5), UINT32_C(0x6E1B0C6D), UINT32_C(0x1506DE6A),
13386           UINT32_C(0xAD2A2C5F), UINT32_C(0x860CCD71)}},
13387         {{UINT32_C(0x28715EF9), UINT32_C(0x00A15CB0), UINT32_C(0xB1C0ED6D),
13388           UINT32_C(0x71F337D8), UINT32_C(0xF998251E), UINT32_C(0xBD7E6892),
13389           UINT32_C(0x08E0A4E9), UINT32_C(0x4C5AB311)},
13390          {UINT32_C(0x567342FB), UINT32_C(0xDFD51293), UINT32_C(0x5AE3193B),
13391           UINT32_C(0xF202FCD1), UINT32_C(0xAF59A5A2), UINT32_C(0xE317C933),
13392           UINT32_C(0x5055DE2A), UINT32_C(0x300FE083)}},
13393         {{UINT32_C(0xC58E7AE9), UINT32_C(0x279A071A), UINT32_C(0x4C718A8B),
13394           UINT32_C(0xCED1F2F4), UINT32_C(0x5FE7F6E5), UINT32_C(0x3A8C0D1A),
13395           UINT32_C(0xBB40DA93), UINT32_C(0x789C9B04)},
13396          {UINT32_C(0xBF2A0B9B), UINT32_C(0xBB7EA922), UINT32_C(0x3A484413),
13397           UINT32_C(0x5DD7A04A), UINT32_C(0xC5912F93), UINT32_C(0x3E1F49FB),
13398           UINT32_C(0x61ECAB05), UINT32_C(0x4D8C07A5)}},
13399     },
13400     {
13401         {{UINT32_C(0x9706D4CF), UINT32_C(0x7D351007), UINT32_C(0xB9BABB1F),
13402           UINT32_C(0x3E2B3D2E), UINT32_C(0xA2E423EA), UINT32_C(0xC73745BF),
13403           UINT32_C(0xF59601A0), UINT32_C(0x0AB3940A)},
13404          {UINT32_C(0x2A895C4F), UINT32_C(0x8881507A), UINT32_C(0x68652263),
13405           UINT32_C(0xF27F6F40), UINT32_C(0x88A416BE), UINT32_C(0xCFD91814),
13406           UINT32_C(0x1B4F51F6), UINT32_C(0x13459BC3)}},
13407         {{UINT32_C(0x01C7C38A), UINT32_C(0x6D830E0C), UINT32_C(0xE27DA48A),
13408           UINT32_C(0xBA912BD4), UINT32_C(0x4AB8B5A6), UINT32_C(0x3828F433),
13409           UINT32_C(0xE35E88DA), UINT32_C(0x3F858E6C)},
13410          {UINT32_C(0x6E1C033C), UINT32_C(0x137F2E3A), UINT32_C(0x7E670398),
13411           UINT32_C(0xFC7C8953), UINT32_C(0xF5C3D4DB), UINT32_C(0x6FF761CE),
13412           UINT32_C(0xEED1029B), UINT32_C(0x53A02906)}},
13413         {{UINT32_C(0x56779C20), UINT32_C(0x5C597BA6), UINT32_C(0x43A87346),
13414           UINT32_C(0x366688CC), UINT32_C(0xA55ACF91), UINT32_C(0x19F6DA4A),
13415           UINT32_C(0x182DEC58), UINT32_C(0x280ED592)},
13416          {UINT32_C(0xA1D3EBDD), UINT32_C(0x0A1F3A7A), UINT32_C(0x0C9F474A),
13417           UINT32_C(0xD92B6078), UINT32_C(0x19AE00DD), UINT32_C(0x38D0335E),
13418           UINT32_C(0xA97F33F7), UINT32_C(0x094A5772)}},
13419         {{UINT32_C(0x312D2694), UINT32_C(0x026A9029), UINT32_C(0xAB5B34B8),
13420           UINT32_C(0x95408516), UINT32_C(0xDED270EA), UINT32_C(0x9FFA9AB1),
13421           UINT32_C(0x493E5935), UINT32_C(0x1F9DDC52)},
13422          {UINT32_C(0x17244394), UINT32_C(0xAC7F94C1), UINT32_C(0x0F28C9DF),
13423           UINT32_C(0x18FC29C4), UINT32_C(0xBD817BD9), UINT32_C(0xEDE29238),
13424           UINT32_C(0x8E2A7E40), UINT32_C(0x20DBF9AF)}},
13425         {{UINT32_C(0x7648CA5C), UINT32_C(0x009365D9), UINT32_C(0x2BF27488),
13426           UINT32_C(0xB168191E), UINT32_C(0xE3B91112), UINT32_C(0x2481BFAA),
13427           UINT32_C(0x3D6DB830), UINT32_C(0x744C505B)},
13428          {UINT32_C(0x3C464704), UINT32_C(0x21426D8F), UINT32_C(0xDAF85A61),
13429           UINT32_C(0x283F59EF), UINT32_C(0xF2716102), UINT32_C(0x278B5F8E),
13430           UINT32_C(0x0FE7E7EC), UINT32_C(0x95B80D82)}},
13431         {{UINT32_C(0xF327664D), UINT32_C(0xD15ADA08), UINT32_C(0xFE904AF8),
13432           UINT32_C(0xF26E3232), UINT32_C(0xF99471C6), UINT32_C(0x2763DBA6),
13433           UINT32_C(0x15F30827), UINT32_C(0x4BC97139)},
13434          {UINT32_C(0x5F154BF9), UINT32_C(0x8523812E), UINT32_C(0xDE17F8F9),
13435           UINT32_C(0x0839059F), UINT32_C(0xBC16678D), UINT32_C(0xEA151382),
13436           UINT32_C(0x7890C4EF), UINT32_C(0x68D01E62)}},
13437         {{UINT32_C(0x9487556B), UINT32_C(0x37FAC9FA), UINT32_C(0xFB4DC83D),
13438           UINT32_C(0xB4DF5C53), UINT32_C(0x92969151), UINT32_C(0x1EF42D8C),
13439           UINT32_C(0x8B0ED349), UINT32_C(0x6C0A9D18)},
13440          {UINT32_C(0x946F31ED), UINT32_C(0x63E91049), UINT32_C(0x653F600B),
13441           UINT32_C(0x51E91DC6), UINT32_C(0x53A29196), UINT32_C(0xD7A582B1),
13442           UINT32_C(0x31E1D843), UINT32_C(0x0452F4AD)}},
13443         {{UINT32_C(0x0DE8E344), UINT32_C(0x1224169D), UINT32_C(0xF329D30F),
13444           UINT32_C(0x0F4AB4E7), UINT32_C(0xB525B6A4), UINT32_C(0x12662965),
13445           UINT32_C(0x255F14B8), UINT32_C(0x3142B612)},
13446          {UINT32_C(0xBBF468A1), UINT32_C(0xEF6148B9), UINT32_C(0x144F8DFF),
13447           UINT32_C(0x3FC413B4), UINT32_C(0x9BF55B34), UINT32_C(0xA453D075),
13448           UINT32_C(0x86EBA319), UINT32_C(0x857EC763)}},
13449         {{UINT32_C(0xC16C1002), UINT32_C(0x7FC22E26), UINT32_C(0xB0B186C3),
13450           UINT32_C(0x2E34975E), UINT32_C(0x2FC79F85), UINT32_C(0xE11E3642),
13451           UINT32_C(0x9F981B5F), UINT32_C(0x30FE5C0E)},
13452          {UINT32_C(0x31816247), UINT32_C(0x73BD0FA6), UINT32_C(0x6906AF0A),
13453           UINT32_C(0x40FE1661), UINT32_C(0x787BC7EE), UINT32_C(0x8D7109A3),
13454           UINT32_C(0x6FB9A590), UINT32_C(0x29452054)}},
13455         {{UINT32_C(0x4DFAAF93), UINT32_C(0x24654B9B), UINT32_C(0x9A450D29),
13456           UINT32_C(0x91CDEA8B), UINT32_C(0xE4874748), UINT32_C(0xEE55420B),
13457           UINT32_C(0x6D03064C), UINT32_C(0x01FAC14C)},
13458          {UINT32_C(0xD93BD5BE), UINT32_C(0x8A4EBDE2), UINT32_C(0x49EF18A9),
13459           UINT32_C(0xCB2DF307), UINT32_C(0x1A7B7F36), UINT32_C(0x36E6AC64),
13460           UINT32_C(0x4AC1CB8D), UINT32_C(0x30195423)}},
13461         {{UINT32_C(0x34F5B3FF), UINT32_C(0xD9970B1E), UINT32_C(0x587A9C5C),
13462           UINT32_C(0x3CFEFC50), UINT32_C(0x7CCE631E), UINT32_C(0x8EC1C5DE),
13463           UINT32_C(0x52465AB8), UINT32_C(0x92C93E2B)},
13464          {UINT32_C(0x257017CA), UINT32_C(0x0104DF30), UINT32_C(0x8D8DB4CE),
13465           UINT32_C(0xF4E5E779), UINT32_C(0xFDC267F0), UINT32_C(0xE12A39DD),
13466           UINT32_C(0x27C73FDA), UINT32_C(0x683DEAFE)}},
13467         {{UINT32_C(0xBBC70623), UINT32_C(0xD0840E81), UINT32_C(0x4D23568E),
13468           UINT32_C(0x03A93C16), UINT32_C(0x11A71BFF), UINT32_C(0xC52FF3D6),
13469           UINT32_C(0x0875248E), UINT32_C(0x03C11FCE)},
13470          {UINT32_C(0x6C4AE445), UINT32_C(0xBC6F184B), UINT32_C(0x7698EE98),
13471           UINT32_C(0xF52CC71F), UINT32_C(0xEEA25223), UINT32_C(0x4663193E),
13472           UINT32_C(0x031C68DC), UINT32_C(0x86CD1AB3)}},
13473         {{UINT32_C(0x21E04C02), UINT32_C(0x221C94EB), UINT32_C(0x7B980F70),
13474           UINT32_C(0xE96BB7B3), UINT32_C(0x24DC2BD1), UINT32_C(0x60A72897),
13475           UINT32_C(0x5621F475), UINT32_C(0x8C8E019F)},
13476          {UINT32_C(0x5CFA457A), UINT32_C(0xAE47B2F7), UINT32_C(0xF395C533),
13477           UINT32_C(0x31B2F9E1), UINT32_C(0x82E75849), UINT32_C(0x7EEB5DDC),
13478           UINT32_C(0x2A241E52), UINT32_C(0x4863A6A3)}},
13479         {{UINT32_C(0x914976EF), UINT32_C(0x806AC7F4), UINT32_C(0xCA42B875),
13480           UINT32_C(0x5019261E), UINT32_C(0x6EF2D82F), UINT32_C(0x44F5C03D),
13481           UINT32_C(0x690F2ACA), UINT32_C(0x24959F00)},
13482          {UINT32_C(0x81F0BBB6), UINT32_C(0x4BDE2115), UINT32_C(0x1F701A2D),
13483           UINT32_C(0x01EB2C00), UINT32_C(0x274FB05C), UINT32_C(0x039F8910),
13484           UINT32_C(0xC625EBCD), UINT32_C(0x57068F24)}},
13485         {{UINT32_C(0x67FF2575), UINT32_C(0xB21B8C93), UINT32_C(0x0C60B449),
13486           UINT32_C(0xC7826C60), UINT32_C(0xA98671BB), UINT32_C(0xD4D69A9F),
13487           UINT32_C(0xF5A2AB0C), UINT32_C(0x95249276)},
13488          {UINT32_C(0x2D1976DA), UINT32_C(0x8F7007F0), UINT32_C(0xC011D54C),
13489           UINT32_C(0x846F2A92), UINT32_C(0xFA2076B1), UINT32_C(0xFDBF81DF),
13490           UINT32_C(0x5583B46C), UINT32_C(0x3349224F)}},
13491         {{UINT32_C(0x7C854B4A), UINT32_C(0x62496746), UINT32_C(0x798B1395),
13492           UINT32_C(0xF92BAE1D), UINT32_C(0xD2F65638), UINT32_C(0x2EBE18E3),
13493           UINT32_C(0x8A068F49), UINT32_C(0x472FF6E5)},
13494          {UINT32_C(0xDA2030C2), UINT32_C(0x64BB0F33), UINT32_C(0x66F6C000),
13495           UINT32_C(0x72C0D0C9), UINT32_C(0x3194615E), UINT32_C(0xEA837EE5),
13496           UINT32_C(0xFA9A7903), UINT32_C(0x1B7B4849)}},
13497     },
13498     {
13499         {{UINT32_C(0xCF9A0727), UINT32_C(0x27AB780C), UINT32_C(0x9D7486CB),
13500           UINT32_C(0xD457A7BC), UINT32_C(0xFE9F1A59), UINT32_C(0xFC57C335),
13501           UINT32_C(0xD1D9F161), UINT32_C(0x269D8959)},
13502          {UINT32_C(0xB81605D5), UINT32_C(0x06A32331), UINT32_C(0x6F050BE0),
13503           UINT32_C(0x23696353), UINT32_C(0x413E1C0D), UINT32_C(0xF9350879),
13504           UINT32_C(0x5761A8DF), UINT32_C(0x17019548)}},
13505         {{UINT32_C(0x6765C6A2), UINT32_C(0x583D3D3F), UINT32_C(0xBE9DF3AF),
13506           UINT32_C(0x68BBA6F9), UINT32_C(0x85358B53), UINT32_C(0x7011E594),
13507           UINT32_C(0x53A08874), UINT32_C(0x3B2142E3)},
13508          {UINT32_C(0x6F5C8641), UINT32_C(0x4AB6137E), UINT32_C(0x4FE9BCEB),
13509           UINT32_C(0x4955890E), UINT32_C(0x4D14DA01), UINT32_C(0xE2F732BA),
13510           UINT32_C(0xBEBD63D4), UINT32_C(0x8CB285FC)}},
13511         {{UINT32_C(0x6C74A0AA), UINT32_C(0x5099551B), UINT32_C(0xBC2C8A61),
13512           UINT32_C(0xF04EB8F8), UINT32_C(0x85983435), UINT32_C(0xE169F492),
13513           UINT32_C(0x5B808C9E), UINT32_C(0x764062A1)},
13514          {UINT32_C(0x65B994FB), UINT32_C(0x8C59A43F), UINT32_C(0x6068E685),
13515           UINT32_C(0x2FB148B7), UINT32_C(0x54108A9F), UINT32_C(0x899D4FC5),
13516           UINT32_C(0x5B4D40FE), UINT32_C(0x0469EA3E)}},
13517         {{UINT32_C(0x62A76AA8), UINT32_C(0x15B613EA), UINT32_C(0x2FE2F179),
13518           UINT32_C(0x7E8E7D56), UINT32_C(0xBE98EDC2), UINT32_C(0x53160F65),
13519           UINT32_C(0x9810DC27), UINT32_C(0x258DA04E)},
13520          {UINT32_C(0x030D9C31), UINT32_C(0x4FEE19D0), UINT32_C(0xC29E300F),
13521           UINT32_C(0xFC2C57F8), UINT32_C(0xC44458AE), UINT32_C(0x00071F97),
13522           UINT32_C(0x709727E1), UINT32_C(0x0AA2B911)}},
13523         {{UINT32_C(0xA61166F8), UINT32_C(0x443F8B23), UINT32_C(0xD685FCF1),
13524           UINT32_C(0x3E8F6278), UINT32_C(0x447433C6), UINT32_C(0xC930C1D1),
13525           UINT32_C(0xAED7D6EB), UINT32_C(0x1245A867)},
13526          {UINT32_C(0xFA89945A), UINT32_C(0xC35986DD), UINT32_C(0x26B0AFEE),
13527           UINT32_C(0x89CE1109), UINT32_C(0x17103D18), UINT32_C(0x9C6A87CD),
13528           UINT32_C(0xCE338978), UINT32_C(0x811B2242)}},
13529         {{UINT32_C(0x0C293255), UINT32_C(0xC074AF66), UINT32_C(0x5AEAC2E1),
13530           UINT32_C(0x982C23A9), UINT32_C(0xD39AC56C), UINT32_C(0xDB14DE0C),
13531           UINT32_C(0x47EBB839), UINT32_C(0x20263F3F)},
13532          {UINT32_C(0xD10588DF), UINT32_C(0x183EA578), UINT32_C(0x1EB69C36),
13533           UINT32_C(0xB4D88EFB), UINT32_C(0xDBF3BEE7), UINT32_C(0xA79A1B4D),
13534           UINT32_C(0xE8159E0D), UINT32_C(0x650FC466)}},
13535         {{UINT32_C(0xF80D5744), UINT32_C(0x9E6EE797), UINT32_C(0x825949BD),
13536           UINT32_C(0xDFC3EBF5), UINT32_C(0x7EC9BD65), UINT32_C(0x1083EC79),
13537           UINT32_C(0xB753499C), UINT32_C(0x62A45C5E)},
13538          {UINT32_C(0x2B6F42CF), UINT32_C(0x9C135F80), UINT32_C(0xC4B49041),
13539           UINT32_C(0xE39B0BA5), UINT32_C(0x8D3B2D06), UINT32_C(0x4D838513),
13540           UINT32_C(0xD070754B), UINT32_C(0x696034DC)}},
13541         {{UINT32_C(0xB8E3BDD1), UINT32_C(0x06313D73), UINT32_C(0xE6968872),
13542           UINT32_C(0xC7BEC420), UINT32_C(0x3A04B7F0), UINT32_C(0x740DD6D3),
13543           UINT32_C(0x2465BED2), UINT32_C(0x98F2D0B7)},
13544          {UINT32_C(0x4043DBAD), UINT32_C(0x9F298460), UINT32_C(0x01B5961F),
13545           UINT32_C(0x82D6991A), UINT32_C(0x54DFAB8A), UINT32_C(0xAAE7DF9D),
13546           UINT32_C(0x1A07DD22), UINT32_C(0x5701E335)}},
13547         {{UINT32_C(0xFCA398A2), UINT32_C(0x5695A08E), UINT32_C(0x0D76E8CF),
13548           UINT32_C(0xD29EBC1F), UINT32_C(0x24004EDB), UINT32_C(0x5AB17ABF),
13549           UINT32_C(0x0CC7A144), UINT32_C(0x20C7761B)},
13550          {UINT32_C(0x285EA93C), UINT32_C(0x6CAEE036), UINT32_C(0xF2B8BF23),
13551           UINT32_C(0xF9756E89), UINT32_C(0xB1AB91B7), UINT32_C(0x3CEA1C76),
13552           UINT32_C(0x3FB4F3B8), UINT32_C(0x5D86860E)}},
13553         {{UINT32_C(0xFDC7DBC5), UINT32_C(0x835B023B), UINT32_C(0xEEEDFD73),
13554           UINT32_C(0xF05C0676), UINT32_C(0xE52BFB27), UINT32_C(0xF8325D64),
13555           UINT32_C(0xB5032CFF), UINT32_C(0x919D008D)},
13556          {UINT32_C(0x4B130537), UINT32_C(0xEF27862C), UINT32_C(0x5CE404DC),
13557           UINT32_C(0x616DF154), UINT32_C(0x451ED033), UINT32_C(0x182BA57E),
13558           UINT32_C(0xBD01F864), UINT32_C(0x2EFEC0C7)}},
13559         {{UINT32_C(0x45F3AF3C), UINT32_C(0xDC846845), UINT32_C(0x92A47B31),
13560           UINT32_C(0x2D2BA0CD), UINT32_C(0xE1AFE6EE), UINT32_C(0x9C806C7D),
13561           UINT32_C(0x4C6A4FEA), UINT32_C(0x28FE43FF)},
13562          {UINT32_C(0x6C76C0F4), UINT32_C(0x2E028CD1), UINT32_C(0x2AEFBDDA),
13563           UINT32_C(0xC6FA5AD1), UINT32_C(0xF63F1A35), UINT32_C(0xC8B5339B),
13564           UINT32_C(0x04523F02), UINT32_C(0x30C780A7)}},
13565         {{UINT32_C(0xD7E4F0CE), UINT32_C(0x3D2DCA55), UINT32_C(0x26616811),
13566           UINT32_C(0x8EEF9189), UINT32_C(0x3C0E5892), UINT32_C(0xB106642F),
13567           UINT32_C(0x89DB033E), UINT32_C(0x4A965385)},
13568          {UINT32_C(0xB3C2DD37), UINT32_C(0x5A1CBEB6), UINT32_C(0x156EAC75),
13569           UINT32_C(0x5290C737), UINT32_C(0xE32E40C7), UINT32_C(0x57AFD98A),
13570           UINT32_C(0xB3571868), UINT32_C(0x04A16164)}},
13571         {{UINT32_C(0x1A673E1B), UINT32_C(0x9AB8A3E9), UINT32_C(0x0FC23483),
13572           UINT32_C(0xC707ABBA), UINT32_C(0x9E0EA0BD), UINT32_C(0x936C1783),
13573           UINT32_C(0xF71F6F1D), UINT32_C(0x1E4C2E7C)},
13574          {UINT32_C(0x6FB0926C), UINT32_C(0x37904F63), UINT32_C(0xC51FEEA5),
13575           UINT32_C(0x9EC76DF7), UINT32_C(0x4D103DAC), UINT32_C(0x2C60F7D6),
13576           UINT32_C(0xF9DC2CC6), UINT32_C(0x7B451E0B)}},
13577         {{UINT32_C(0xB2A5F07F), UINT32_C(0xD4F8526C), UINT32_C(0xB0F4AE09),
13578           UINT32_C(0x41303D42), UINT32_C(0x0C182FDC), UINT32_C(0xAC79523F),
13579           UINT32_C(0xAA0C5D6D), UINT32_C(0x8D6A75C8)},
13580          {UINT32_C(0x3CDCE3F0), UINT32_C(0x4DD7FC95), UINT32_C(0x5BE6DA0F),
13581           UINT32_C(0x4DDB3910), UINT32_C(0x16F7E27D), UINT32_C(0xE34961F9),
13582           UINT32_C(0x5B3544EB), UINT32_C(0x0C5CB76F)}},
13583         {{UINT32_C(0x252C354C), UINT32_C(0x324C95B5), UINT32_C(0x8CC2C3BC),
13584           UINT32_C(0x4648D87E), UINT32_C(0x82BC8C80), UINT32_C(0x6DDFDECD),
13585           UINT32_C(0xC069996E), UINT32_C(0x8C64CADE)},
13586          {UINT32_C(0x40ED44AB), UINT32_C(0x4E282E96), UINT32_C(0x79334507),
13587           UINT32_C(0x70A12067), UINT32_C(0x5AB8902B), UINT32_C(0x65CE5D38),
13588           UINT32_C(0x7C949D96), UINT32_C(0x56FE68F2)}},
13589         {{UINT32_C(0xCF9530AE), UINT32_C(0x1D55C87E), UINT32_C(0xC147C2D5),
13590           UINT32_C(0xD1CF73FF), UINT32_C(0xC1F44403), UINT32_C(0x826031CD),
13591           UINT32_C(0x5EEF5BFB), UINT32_C(0x3A06528F)},
13592          {UINT32_C(0x5F84A7B1), UINT32_C(0xF220EAF3), UINT32_C(0x350EBADE),
13593           UINT32_C(0xBC99C905), UINT32_C(0x810A101C), UINT32_C(0x686A706E),
13594           UINT32_C(0x1D92EAEA), UINT32_C(0x95E52713)}},
13595     },
13596     {
13597         {{UINT32_C(0x514D47C2), UINT32_C(0xAAC634B3), UINT32_C(0x58B83B33),
13598           UINT32_C(0xD0C189B8), UINT32_C(0x58CA9A2F), UINT32_C(0x633D59E3),
13599           UINT32_C(0x838ACC80), UINT32_C(0x65965CE0)},
13600          {UINT32_C(0x9B512F6E), UINT32_C(0xBB03F7EA), UINT32_C(0x9EF17A82),
13601           UINT32_C(0xB2F38B84), UINT32_C(0xE16A7A95), UINT32_C(0xE8382E37),
13602           UINT32_C(0x4D9EF607), UINT32_C(0x28644EFE)}},
13603         {{UINT32_C(0x040A515B), UINT32_C(0x46F9115E), UINT32_C(0xFA59CD3E),
13604           UINT32_C(0x4C7DBCFF), UINT32_C(0x71BB543E), UINT32_C(0xB4CE22B8),
13605           UINT32_C(0x948F80BA), UINT32_C(0x58D935D8)},
13606          {UINT32_C(0x03683C8B), UINT32_C(0x33DC1D5B), UINT32_C(0x2D071D87),
13607           UINT32_C(0x25E6113A), UINT32_C(0xA7D59351), UINT32_C(0x44F962F8),
13608           UINT32_C(0xBCF66B43), UINT32_C(0x6B818DDB)}},
13609         {{UINT32_C(0x378C1098), UINT32_C(0x363A63C7), UINT32_C(0xAC5C0C9E),
13610           UINT32_C(0xBEB2A7B6), UINT32_C(0x4361C8D4), UINT32_C(0x3F620D3F),
13611           UINT32_C(0x4E3D9686), UINT32_C(0x68EAD01A)},
13612          {UINT32_C(0x45DB7208), UINT32_C(0x43613085), UINT32_C(0x13B35D33),
13613           UINT32_C(0x865A6DDE), UINT32_C(0x68DF09F5), UINT32_C(0x4EAA1663),
13614           UINT32_C(0xBF02AA12), UINT32_C(0x5FDCA83F)}},
13615         {{UINT32_C(0xBFEFB3CB), UINT32_C(0xC240FEAA), UINT32_C(0x0EC6694F),
13616           UINT32_C(0x78E757D2), UINT32_C(0x2413D6A2), UINT32_C(0xA11A82DF),
13617           UINT32_C(0xDBB7A220), UINT32_C(0x7BD656EE)},
13618          {UINT32_C(0x6EB899A4), UINT32_C(0x68C60873), UINT32_C(0x318C72E8),
13619           UINT32_C(0xAFFB9F1C), UINT32_C(0x9FB7619D), UINT32_C(0xF16A443C),
13620           UINT32_C(0x42C6E4D6), UINT32_C(0x2FC317E3)}},
13621         {{UINT32_C(0x73F57A93), UINT32_C(0xAB56A873), UINT32_C(0x308F5224),
13622           UINT32_C(0xE9BA24E2), UINT32_C(0x11992077), UINT32_C(0x010281B9),
13623           UINT32_C(0x593EAD1A), UINT32_C(0x2CBCA7FE)},
13624          {UINT32_C(0x2A1D8318), UINT32_C(0xB400388A), UINT32_C(0x3C61A0AF),
13625           UINT32_C(0xD470ABDA), UINT32_C(0x94BD2FAC), UINT32_C(0xF9102721),
13626           UINT32_C(0x0FAC703C), UINT32_C(0x222365D1)}},
13627         {{UINT32_C(0x9C2D1B2B), UINT32_C(0x5C9021C4), UINT32_C(0xCAF0B562),
13628           UINT32_C(0xB349DB18), UINT32_C(0x91412CC3), UINT32_C(0x6DAF7412),
13629           UINT32_C(0xCF6584D3), UINT32_C(0x44E5E3E5)},
13630          {UINT32_C(0xE4C17B19), UINT32_C(0x1D1F4244), UINT32_C(0x3787A38A),
13631           UINT32_C(0x4C663EE6), UINT32_C(0x313A8581), UINT32_C(0xA3261E22),
13632           UINT32_C(0x7A82C05A), UINT32_C(0x3AE1E1DB)}},
13633         {{UINT32_C(0x3CD6A155), UINT32_C(0x31AA2B29), UINT32_C(0x3D078B12),
13634           UINT32_C(0x0EB9527E), UINT32_C(0x214FF1E2), UINT32_C(0x6785ABA2),
13635           UINT32_C(0xF111D572), UINT32_C(0x74974F84)},
13636          {UINT32_C(0x078C684B), UINT32_C(0x2199A753), UINT32_C(0x4B13A004),
13637           UINT32_C(0xA0F1DE23), UINT32_C(0x75BEBCBC), UINT32_C(0x3965AE19),
13638           UINT32_C(0x24562AA7), UINT32_C(0x22A8D7EE)}},
13639         {{UINT32_C(0xBF268ADE), UINT32_C(0x0591965F), UINT32_C(0x9EE48F0E),
13640           UINT32_C(0xF621B364), UINT32_C(0x5A3A3848), UINT32_C(0x0AD981A9),
13641           UINT32_C(0x9ECD72B7), UINT32_C(0x1316675C)},
13642          {UINT32_C(0xF37C87E0), UINT32_C(0x21A5CEB7), UINT32_C(0x68D1AAFB),
13643           UINT32_C(0xEF864CF3), UINT32_C(0xD3C9A54F), UINT32_C(0x5F340413),
13644           UINT32_C(0xE00FD564), UINT32_C(0x0C5DE1E6)}},
13645         {{UINT32_C(0xB415D72C), UINT32_C(0x439B2C0C), UINT32_C(0x63442E62),
13646           UINT32_C(0x106AE2E0), UINT32_C(0x4A79E93B), UINT32_C(0x8A9428C6),
13647           UINT32_C(0xCC2DF510), UINT32_C(0x67FE6D6E)},
13648          {UINT32_C(0x655013B3), UINT32_C(0x407158BC), UINT32_C(0x2BC7E7CC),
13649           UINT32_C(0x3AAEAC1C), UINT32_C(0xEE8EC1F4), UINT32_C(0x399DB6EF),
13650           UINT32_C(0xECFF6657), UINT32_C(0x1F7D0D17)}},
13651         {{UINT32_C(0xCB86639E), UINT32_C(0x03039D18), UINT32_C(0x9CDC3408),
13652           UINT32_C(0x58603909), UINT32_C(0xF1804B9E), UINT32_C(0x52421109),
13653           UINT32_C(0xED126B9F), UINT32_C(0x95502857)},
13654          {UINT32_C(0x451B0539), UINT32_C(0xC91842D9), UINT32_C(0xE60AAE3B),
13655           UINT32_C(0x2B5B11EB), UINT32_C(0x44CB5A14), UINT32_C(0xDB50F9EA),
13656           UINT32_C(0x89E80A6E), UINT32_C(0x4B5C9824)}},
13657         {{UINT32_C(0x69FC9F1A), UINT32_C(0x8EF3A1E5), UINT32_C(0x7CCA576A),
13658           UINT32_C(0xA4EAB6F4), UINT32_C(0xFBF1CD65), UINT32_C(0x955E1C89),
13659           UINT32_C(0xF8CE13DB), UINT32_C(0x3E3ACF6E)},
13660          {UINT32_C(0x58F31FC9), UINT32_C(0x1FDB6190), UINT32_C(0x93B0D0D5),
13661           UINT32_C(0x10DB71B3), UINT32_C(0x9154B285), UINT32_C(0x90096143),
13662           UINT32_C(0x1C49EFF3), UINT32_C(0x37EEE178)}},
13663         {{UINT32_C(0xBC198066), UINT32_C(0x609DE502), UINT32_C(0x40722EF6),
13664           UINT32_C(0x075C8631), UINT32_C(0xFF0FA57D), UINT32_C(0x121ACC9F),
13665           UINT32_C(0xEC7DB1A0), UINT32_C(0x31E79AC5)},
13666          {UINT32_C(0xF16FAE79), UINT32_C(0x736EB95D), UINT32_C(0x815A14CB),
13667           UINT32_C(0xFF963917), UINT32_C(0x23AF0BC3), UINT32_C(0xC6003E5D),
13668           UINT32_C(0x99AFCAAA), UINT32_C(0x0D1B0350)}},
13669         {{UINT32_C(0x1F0DF59D), UINT32_C(0x8A1B6C97), UINT32_C(0x59C9CA8D),
13670           UINT32_C(0x7DF81A72), UINT32_C(0x9602E8BE), UINT32_C(0x74257F8E),
13671           UINT32_C(0xA441657A), UINT32_C(0x2FFBAD39)},
13672          {UINT32_C(0x048050A6), UINT32_C(0xB1B090DB), UINT32_C(0x741E7392),
13673           UINT32_C(0xD6144221), UINT32_C(0xECA1E2D6), UINT32_C(0x63826973),
13674           UINT32_C(0xD287DE2F), UINT32_C(0x28EE60B8)}},
13675         {{UINT32_C(0x5DEE86CE), UINT32_C(0x81504295), UINT32_C(0x73C03937),
13676           UINT32_C(0xFACCB61D), UINT32_C(0x299B96AF), UINT32_C(0x9898F773),
13677           UINT32_C(0x488F95CD), UINT32_C(0x51552297)},
13678          {UINT32_C(0x54F5E182), UINT32_C(0x6170618C), UINT32_C(0xC2798401),
13679           UINT32_C(0x9C11D666), UINT32_C(0x3EAF3DDE), UINT32_C(0x88225F4B),
13680           UINT32_C(0x087F1185), UINT32_C(0x20841538)}},
13681         {{UINT32_C(0x14FA59EC), UINT32_C(0x42BCEFFE), UINT32_C(0x7D023F1E),
13682           UINT32_C(0xC41CFCDA), UINT32_C(0x7163E802), UINT32_C(0xD7E4FDE7),
13683           UINT32_C(0x2E145BCE), UINT32_C(0x54F4C798)},
13684          {UINT32_C(0xF9162235), UINT32_C(0xE4EA68C9), UINT32_C(0x458DEC24),
13685           UINT32_C(0x4F7EAC6F), UINT32_C(0x845C6AD1), UINT32_C(0x70100D2D),
13686           UINT32_C(0xF1EA21B2), UINT32_C(0x67AC34CF)}},
13687         {{UINT32_C(0xAC21C728), UINT32_C(0x2BD49BDF), UINT32_C(0xEDA966DF),
13688           UINT32_C(0x2D009B45), UINT32_C(0x4A9B9167), UINT32_C(0x0D4476BE),
13689           UINT32_C(0x95D2ACD2), UINT32_C(0x340BD3BE)},
13690          {UINT32_C(0xB040FF50), UINT32_C(0xF8BACA2D), UINT32_C(0xB91D47C1),
13691           UINT32_C(0x307BEA0D), UINT32_C(0xB6B3A1E4), UINT32_C(0x2EFDC81B),
13692           UINT32_C(0x1595D6E2), UINT32_C(0x3B2CD7D9)}},
13693     },
13694     {
13695         {{UINT32_C(0x32A5A002), UINT32_C(0x56254AE7), UINT32_C(0x448B0A9F),
13696           UINT32_C(0xE48A475C), UINT32_C(0x14EDBBA9), UINT32_C(0x3B2DF6DF),
13697           UINT32_C(0xF5E4CC81), UINT32_C(0x911BE369)},
13698          {UINT32_C(0x77CBB387), UINT32_C(0x57D065C6), UINT32_C(0x527575FD),
13699           UINT32_C(0x7C1E0142), UINT32_C(0x243B5C33), UINT32_C(0x2CA91EEF),
13700           UINT32_C(0x5C4700CC), UINT32_C(0x7E54AF42)}},
13701         {{UINT32_C(0x5EEDF97F), UINT32_C(0xEF5ECAE5), UINT32_C(0xC0D821AC),
13702           UINT32_C(0x2D79312A), UINT32_C(0xA9EDBE8F), UINT32_C(0xD3817042),
13703           UINT32_C(0xAD924B1D), UINT32_C(0x7A3D537E)},
13704          {UINT32_C(0xB26FFC3B), UINT32_C(0xD9923A20), UINT32_C(0x5B81EC12),
13705           UINT32_C(0x651D2201), UINT32_C(0x54C37FF0), UINT32_C(0xBDF7205A),
13706           UINT32_C(0x8C0D2E79), UINT32_C(0x5562D258)}},
13707         {{UINT32_C(0xFB4842F8), UINT32_C(0xE5BC2E1C), UINT32_C(0x25B464C8),
13708           UINT32_C(0xCFE97824), UINT32_C(0x2FEA9ED3), UINT32_C(0xD902A11A),
13709           UINT32_C(0x8D3DD0A4), UINT32_C(0x2FC360ED)},
13710          {UINT32_C(0x9E5F7AE1), UINT32_C(0xEC4E57FC), UINT32_C(0x79B8AF6C),
13711           UINT32_C(0xF0F1FD9F), UINT32_C(0xA9A283D0), UINT32_C(0x803F3ED6),
13712           UINT32_C(0xADEEA78E), UINT32_C(0x5F13000F)}},
13713         {{UINT32_C(0x1838B470), UINT32_C(0x3EBBBD16), UINT32_C(0xB2781680),
13714           UINT32_C(0x934BA22A), UINT32_C(0xC7210CD4), UINT32_C(0xC9ED04FC),
13715           UINT32_C(0x4615F186), UINT32_C(0x716004A1)},
13716          {UINT32_C(0xE894BBC3), UINT32_C(0xE7B36C21), UINT32_C(0x570AA9A8),
13717           UINT32_C(0x3F739857), UINT32_C(0x3063902B), UINT32_C(0x1707FBEE),
13718           UINT32_C(0x155C9824), UINT32_C(0x44FCB774)}},
13719         {{UINT32_C(0xCDD8CEDB), UINT32_C(0x30ECD772), UINT32_C(0xCA09BCD3),
13720           UINT32_C(0x67BB36FD), UINT32_C(0x9BC43B7B), UINT32_C(0xD5AD0FAA),
13721           UINT32_C(0x6A130895), UINT32_C(0x3962E556)},
13722          {UINT32_C(0x7F7A565A), UINT32_C(0x57928253), UINT32_C(0x55B911EE),
13723           UINT32_C(0xDE9D7792), UINT32_C(0x6984F326), UINT32_C(0xD5DBFDDE),
13724           UINT32_C(0x9FB51246), UINT32_C(0x7CDF5E15)}},
13725         {{UINT32_C(0x89D24763), UINT32_C(0xD7FC427A), UINT32_C(0xAD874362),
13726           UINT32_C(0x50E627C9), UINT32_C(0x2069873A), UINT32_C(0x17A8F83B),
13727           UINT32_C(0xDB698BD1), UINT32_C(0x186952D7)},
13728          {UINT32_C(0x38A2822C), UINT32_C(0x6C007EED), UINT32_C(0x0C207073),
13729           UINT32_C(0x5F187091), UINT32_C(0x08D245D2), UINT32_C(0xD0023B63),
13730           UINT32_C(0x34544316), UINT32_C(0x7A32C2A1)}},
13731         {{UINT32_C(0x8C2635EC), UINT32_C(0x8B99183A), UINT32_C(0x6F12B137),
13732           UINT32_C(0xA00A9476), UINT32_C(0x823DA313), UINT32_C(0x9B5E2F57),
13733           UINT32_C(0x47B3CEB1), UINT32_C(0x0F7CB4AF)},
13734          {UINT32_C(0x67266D24), UINT32_C(0xC993AF7E), UINT32_C(0xEBA985B8),
13735           UINT32_C(0x8B60295E), UINT32_C(0xE41A6F69), UINT32_C(0x9AA596CB),
13736           UINT32_C(0x4B68507A), UINT32_C(0x4D6CF5DF)}},
13737         {{UINT32_C(0x6921DEFE), UINT32_C(0x3B8A3CBC), UINT32_C(0x0ED7B717),
13738           UINT32_C(0xB96D5390), UINT32_C(0x7DE65E54), UINT32_C(0x6761E86A),
13739           UINT32_C(0x701CC1E4), UINT32_C(0x964460D6)},
13740          {UINT32_C(0x26C82309), UINT32_C(0x5C0A2213), UINT32_C(0x20328C60),
13741           UINT32_C(0xF95F5472), UINT32_C(0xFB49E3B5), UINT32_C(0xB519B476),
13742           UINT32_C(0xEE373756), UINT32_C(0x089D0AB6)}},
13743         {{UINT32_C(0xDC952768), UINT32_C(0x947DFCF0), UINT32_C(0x3AB613AA),
13744           UINT32_C(0xD8B5C61C), UINT32_C(0x9A457DA4), UINT32_C(0x146E8325),
13745           UINT32_C(0xF476945E), UINT32_C(0x37E2F6D3)},
13746          {UINT32_C(0x3851A6F6), UINT32_C(0x5702A441), UINT32_C(0x8D67EF9C),
13747           UINT32_C(0xB476560E), UINT32_C(0xF9D2AD96), UINT32_C(0xABA23F67),
13748           UINT32_C(0xDFBBB806), UINT32_C(0x3CE30A4E)}},
13749         {{UINT32_C(0xE5BAA662), UINT32_C(0x64695640), UINT32_C(0x0AAF3988),
13750           UINT32_C(0x2A18979A), UINT32_C(0xDE0ED212), UINT32_C(0x605578FF),
13751           UINT32_C(0x30F2C13C), UINT32_C(0x52E604D5)},
13752          {UINT32_C(0x894AB3B9), UINT32_C(0x2E9E2D83), UINT32_C(0x4BC33041),
13753           UINT32_C(0x098B1FAA), UINT32_C(0x0863AA3C), UINT32_C(0x01CF6606),
13754           UINT32_C(0xD2951A60), UINT32_C(0x7334879B)}},
13755         {{UINT32_C(0xC51704F1), UINT32_C(0xB080105C), UINT32_C(0xEAEE29C4),
13756           UINT32_C(0x1A5869B8), UINT32_C(0x5FDD2FD3), UINT32_C(0xAD6AEF33),
13757           UINT32_C(0x49C2B183), UINT32_C(0x83E677C4)},
13758          {UINT32_C(0xDFA8B8F4), UINT32_C(0x757A4EFD), UINT32_C(0xE42F2C87),
13759           UINT32_C(0xFC8E7650), UINT32_C(0x9C963D98), UINT32_C(0xD4A61A3E),
13760           UINT32_C(0x45BC9044), UINT32_C(0x3750289A)}},
13761         {{UINT32_C(0x40B1C72C), UINT32_C(0x40A0620E), UINT32_C(0xB2E44573),
13762           UINT32_C(0xAEE56EC7), UINT32_C(0x60532553), UINT32_C(0xE4E6EA3D),
13763           UINT32_C(0xA0EB6014), UINT32_C(0x5BA50E80)},
13764          {UINT32_C(0x4378CC2F), UINT32_C(0x84642978), UINT32_C(0x2A1C5FB4),
13765           UINT32_C(0xE322D169), UINT32_C(0x6B91F82D), UINT32_C(0x5000C9B1),
13766           UINT32_C(0x7AA49F2D), UINT32_C(0x32380CB8)}},
13767         {{UINT32_C(0xE18C4BD2), UINT32_C(0x0A2F936A), UINT32_C(0xC3DB9AA5),
13768           UINT32_C(0x7AEA56AA), UINT32_C(0x5DDF30CB), UINT32_C(0x3A984E93),
13769           UINT32_C(0x904181C6), UINT32_C(0x36133D20)},
13770          {UINT32_C(0xF62DFBF5), UINT32_C(0xA9A65593), UINT32_C(0x6808B883),
13771           UINT32_C(0xB4AC06FD), UINT32_C(0x7A2FEDBB), UINT32_C(0x98679704),
13772           UINT32_C(0x97880A72), UINT32_C(0x20E9E8E1)}},
13773         {{UINT32_C(0xCEB26FAE), UINT32_C(0x403A1ED1), UINT32_C(0x3CD622C9),
13774           UINT32_C(0xAD13CD87), UINT32_C(0xCF45C32D), UINT32_C(0xC1E03929),
13775           UINT32_C(0xC3BE1A53), UINT32_C(0x4B50E4A9)},
13776          {UINT32_C(0xD0D7AFE3), UINT32_C(0xCF10F3AF), UINT32_C(0x1494A9B4),
13777           UINT32_C(0x6A29B173), UINT32_C(0xD13B0495), UINT32_C(0xB9DC9849),
13778           UINT32_C(0x9C05B110), UINT32_C(0x4C50794E)}},
13779         {{UINT32_C(0x1427F71D), UINT32_C(0xC3C97DED), UINT32_C(0x966ECF33),
13780           UINT32_C(0xC3CFB754), UINT32_C(0x1FBF30CD), UINT32_C(0x48E30FE1),
13781           UINT32_C(0x1E4B0998), UINT32_C(0x71C96E1C)},
13782          {UINT32_C(0xB92C4BF7), UINT32_C(0x878D6305), UINT32_C(0xCCB5E4A1),
13783           UINT32_C(0x14477130), UINT32_C(0xE3C00A19), UINT32_C(0x7C210767),
13784           UINT32_C(0xAB3CDBF0), UINT32_C(0x5546DBD5)}},
13785         {{UINT32_C(0x70857571), UINT32_C(0xADEC8758), UINT32_C(0xE70D07EC),
13786           UINT32_C(0x0A52587C), UINT32_C(0xC731B9BC), UINT32_C(0xE6CEAF9E),
13787           UINT32_C(0x47143479), UINT32_C(0x1D0FDE3F)},
13788          {UINT32_C(0xC5B410CB), UINT32_C(0x2F3BE2CF), UINT32_C(0x4E64FD9B),
13789           UINT32_C(0x576004BE), UINT32_C(0x7629820C), UINT32_C(0x03F33951),
13790           UINT32_C(0x46A450E2), UINT32_C(0x7BD32964)}},
13791     },
13792     {
13793         {{UINT32_C(0x46CED42D), UINT32_C(0xD492D6B7), UINT32_C(0x1F0092E3),
13794           UINT32_C(0xC068D02D), UINT32_C(0x8D8A822A), UINT32_C(0x008ECBAD),
13795           UINT32_C(0x71045647), UINT32_C(0x6B326869)},
13796          {UINT32_C(0x523CBA58), UINT32_C(0xFEE3237F), UINT32_C(0x9C29059F),
13797           UINT32_C(0x077B7F50), UINT32_C(0xE72FBE6F), UINT32_C(0x42C308B3),
13798           UINT32_C(0x8E34148B), UINT32_C(0x3DD79D83)}},
13799         {{UINT32_C(0xCAC24455), UINT32_C(0x3ED9DF47), UINT32_C(0xD8546306),
13800           UINT32_C(0x7C8A7B31), UINT32_C(0x2AA02202), UINT32_C(0x4CC43295),
13801           UINT32_C(0x8598E028), UINT32_C(0x5E8B4EA3)},
13802          {UINT32_C(0x812B8070), UINT32_C(0x8A882F3F), UINT32_C(0x1DD374C0),
13803           UINT32_C(0x984BE588), UINT32_C(0x16E133CF), UINT32_C(0x6FDA8159),
13804           UINT32_C(0x899920D0), UINT32_C(0x34FB92FA)}},
13805         {{UINT32_C(0xDA0B8D0E), UINT32_C(0x3BE0416F), UINT32_C(0x88C053D0),
13806           UINT32_C(0x2CC846DB), UINT32_C(0xB1A3A621), UINT32_C(0xC04C3A42),
13807           UINT32_C(0x8A9D9115), UINT32_C(0x35BC5550)},
13808          {UINT32_C(0x7FA72AFE), UINT32_C(0x7F8C9FE3), UINT32_C(0xD1E914FD),
13809           UINT32_C(0x488FA0B4), UINT32_C(0x84F79359), UINT32_C(0x8F5C2D63),
13810           UINT32_C(0xFBC94785), UINT32_C(0x2BE80429)}},
13811         {{UINT32_C(0x6F67799A), UINT32_C(0x391794E0), UINT32_C(0x0677A067),
13812           UINT32_C(0xD9BF08AE), UINT32_C(0xDF61563C), UINT32_C(0x716D5062),
13813           UINT32_C(0xF590F3A3), UINT32_C(0x0ECB234A)},
13814          {UINT32_C(0xFEA22392), UINT32_C(0xA5B91448), UINT32_C(0x7E76FB8B),
13815           UINT32_C(0xFAA29487), UINT32_C(0x4B6CB375), UINT32_C(0x3CC3A02A),
13816           UINT32_C(0x9022167A), UINT32_C(0x5C0B3B63)}},
13817         {{UINT32_C(0x4C576430), UINT32_C(0xC5689CF3), UINT32_C(0xC585F5A5),
13818           UINT32_C(0xF7B7B230), UINT32_C(0xE4BFCEE7), UINT32_C(0xB8DAADFB),
13819           UINT32_C(0x9CF4242F), UINT32_C(0x7B7D8A95)},
13820          {UINT32_C(0x398FEEF6), UINT32_C(0xC1755F9B), UINT32_C(0x5CC5C36E),
13821           UINT32_C(0x9B31CD4D), UINT32_C(0xF4C6B793), UINT32_C(0x4D87AB9C),
13822           UINT32_C(0xF595EFA8), UINT32_C(0x673FD5B2)}},
13823         {{UINT32_C(0xE05E6B19), UINT32_C(0xA3836484), UINT32_C(0xFCA7E6FB),
13824           UINT32_C(0x090C14CF), UINT32_C(0xFC717DBC), UINT32_C(0xB7A27042),
13825           UINT32_C(0x38647882), UINT32_C(0x56CD4AF1)},
13826          {UINT32_C(0xA43C453E), UINT32_C(0xC2B56B50), UINT32_C(0x982E7AED),
13827           UINT32_C(0x0CD5E768), UINT32_C(0x58474A8B), UINT32_C(0xD5ABADF7),
13828           UINT32_C(0x99F500AC), UINT32_C(0x68188A38)}},
13829         {{UINT32_C(0x83B1F7BA), UINT32_C(0x0683AC3E), UINT32_C(0x680568E9),
13830           UINT32_C(0x6A4FC30C), UINT32_C(0x7F6256CF), UINT32_C(0x735F5E48),
13831           UINT32_C(0x048DB831), UINT32_C(0x1240752D)},
13832          {UINT32_C(0x868B8AD7), UINT32_C(0x98B78A67), UINT32_C(0x822EBA7D),
13833           UINT32_C(0x9E32F2C1), UINT32_C(0x8F37580F), UINT32_C(0xEAE28B1E),
13834           UINT32_C(0xC72EDA86), UINT32_C(0x0D204CE0)}},
13835         {{UINT32_C(0x77E8C68C), UINT32_C(0x5E4EAA1C), UINT32_C(0x859A127B),
13836           UINT32_C(0x282ADFE9), UINT32_C(0x14904910), UINT32_C(0x0C75AB7C),
13837           UINT32_C(0x6E751062), UINT32_C(0x1794516A)},
13838          {UINT32_C(0x3DE4A32A), UINT32_C(0x8D99D891), UINT32_C(0x54EF2BF0),
13839           UINT32_C(0x957AA807), UINT32_C(0x0B109ECD), UINT32_C(0xBF20A9E0),
13840           UINT32_C(0xA72268D3), UINT32_C(0x7732F2B3)}},
13841         {{UINT32_C(0x48752F76), UINT32_C(0xADB52E43), UINT32_C(0xD6F7CCE8),
13842           UINT32_C(0x01E9F4B1), UINT32_C(0x2E4BD9B5), UINT32_C(0x22702DA0),
13843           UINT32_C(0xB40BF9AB), UINT32_C(0x1BCC9C60)},
13844          {UINT32_C(0x9F53B2B1), UINT32_C(0xAB774637), UINT32_C(0x8CB316D0),
13845           UINT32_C(0x9C574151), UINT32_C(0xBECBEBED), UINT32_C(0x231D5C45),
13846           UINT32_C(0xF0458638), UINT32_C(0x0BD2D5E7)}},
13847         {{UINT32_C(0x4B946132), UINT32_C(0xD2F5E0B5), UINT32_C(0x155AA2C8),
13848           UINT32_C(0x200A8A30), UINT32_C(0x56A62CE7), UINT32_C(0x15473FD4),
13849           UINT32_C(0xB6689367), UINT32_C(0x030EA71B)},
13850          {UINT32_C(0x0E315F29), UINT32_C(0xD561432B), UINT32_C(0x149E3A9E),
13851           UINT32_C(0x4155022E), UINT32_C(0x15841273), UINT32_C(0xC77EF7E1),
13852           UINT32_C(0x52BA265A), UINT32_C(0x890D9C8D)}},
13853         {{UINT32_C(0x5E62451A), UINT32_C(0xB72B5A6A), UINT32_C(0x5C61A183),
13854           UINT32_C(0xFDA85C17), UINT32_C(0xB7F36EB3), UINT32_C(0xA4275361),
13855           UINT32_C(0x94F4148D), UINT32_C(0x53ADFAF3)},
13856          {UINT32_C(0x6A8467AE), UINT32_C(0x281D47F9), UINT32_C(0x8474D3AD),
13857           UINT32_C(0x416A64B5), UINT32_C(0xEC99480E), UINT32_C(0x710D0E7A),
13858           UINT32_C(0x819253FF), UINT32_C(0x2693A878)}},
13859         {{UINT32_C(0x1A2FE406), UINT32_C(0x4BE76904), UINT32_C(0x343F5B10),
13860           UINT32_C(0xB6FEED1D), UINT32_C(0xD705E35C), UINT32_C(0x36695C52),
13861           UINT32_C(0x6BD3859F), UINT32_C(0x7DF6FA41)},
13862          {UINT32_C(0xC00E77EA), UINT32_C(0x7B9B11F5), UINT32_C(0xCA80F838),
13863           UINT32_C(0xC90411B8), UINT32_C(0x2908C694), UINT32_C(0x8A9FAEF0),
13864           UINT32_C(0xFF5B39B0), UINT32_C(0x05F65AAA)}},
13865         {{UINT32_C(0xD7F59CC5), UINT32_C(0x823A0776), UINT32_C(0xC410DFD1),
13866           UINT32_C(0xB9EBE15E), UINT32_C(0x10A7FA3F), UINT32_C(0xC2374B58),
13867           UINT32_C(0x311660F2), UINT32_C(0x1B912C84)},
13868          {UINT32_C(0xD5A175E6), UINT32_C(0x486A2607), UINT32_C(0x72B74EB7),
13869           UINT32_C(0x9B17D14D), UINT32_C(0x1039CA77), UINT32_C(0x1069D5C4),
13870           UINT32_C(0x3FEE08BB), UINT32_C(0x214605B3)}},
13871         {{UINT32_C(0xF9D14E8D), UINT32_C(0xC25A7379), UINT32_C(0x577D330E),
13872           UINT32_C(0x9D5FAFDA), UINT32_C(0xA4A9CEF0), UINT32_C(0xB9A0217D),
13873           UINT32_C(0x08252731), UINT32_C(0x95AFC7F7)},
13874          {UINT32_C(0x8FC51680), UINT32_C(0x14E53E9E), UINT32_C(0xA8AC4E21),
13875           UINT32_C(0x0AEA2428), UINT32_C(0x11CB2361), UINT32_C(0x6BC5E42C),
13876           UINT32_C(0xDCB52215), UINT32_C(0x3B205E45)}},
13877         {{UINT32_C(0xC916CDE4), UINT32_C(0x8EDD4718), UINT32_C(0xD70D7130),
13878           UINT32_C(0xBB08F27A), UINT32_C(0xED9162CB), UINT32_C(0x289A33C0),
13879           UINT32_C(0xFB69185B), UINT32_C(0x97CEFA45)},
13880          {UINT32_C(0x8B7797EE), UINT32_C(0x44DA2578), UINT32_C(0x148E9A75),
13881           UINT32_C(0x579B17F7), UINT32_C(0x913C09AE), UINT32_C(0x73EC1C23),
13882           UINT32_C(0x0BAAA67D), UINT32_C(0x3FAB86A4)}},
13883         {{UINT32_C(0x2DF7BE6D), UINT32_C(0x28E76C23), UINT32_C(0x500A844D),
13884           UINT32_C(0x00526844), UINT32_C(0x3CC748C2), UINT32_C(0xB86FBB14),
13885           UINT32_C(0xEB5F6AC5), UINT32_C(0x6D89BB8A)},
13886          {UINT32_C(0x2327808C), UINT32_C(0xF66159DF), UINT32_C(0x29C5006C),
13887           UINT32_C(0x606F0553), UINT32_C(0x844B6CA4), UINT32_C(0xDAA1107F),
13888           UINT32_C(0x63A8946C), UINT32_C(0x95D7686C)}},
13889     },
13890     {
13891         {{UINT32_C(0x07F7DCF5), UINT32_C(0x71438CEA), UINT32_C(0x0A1CCD55),
13892           UINT32_C(0xB3F59AFA), UINT32_C(0x0E0071B4), UINT32_C(0x5A439627),
13893           UINT32_C(0xE93D5B8E), UINT32_C(0x8694E3FA)},
13894          {UINT32_C(0x7D6550B0), UINT32_C(0x21713A38), UINT32_C(0x06CFCD5B),
13895           UINT32_C(0x893BD9F7), UINT32_C(0xE7513FCE), UINT32_C(0xC3D2679C),
13896           UINT32_C(0x2C451EF3), UINT32_C(0x418AE7C8)}},
13897         {{UINT32_C(0x0B85E2A9), UINT32_C(0xADFAFF38), UINT32_C(0x2E244653),
13898           UINT32_C(0x6124E627), UINT32_C(0x375D1EE7), UINT32_C(0xF2C465AF),
13899           UINT32_C(0x76E58455), UINT32_C(0x5B2302D6)},
13900          {UINT32_C(0x7479F387), UINT32_C(0x32938A0D), UINT32_C(0xAAAB22A5),
13901           UINT32_C(0xF9A16A0D), UINT32_C(0x2AD65CAE), UINT32_C(0x65AF0E25),
13902           UINT32_C(0x8431EA40), UINT32_C(0x2B566866)}},
13903         {{UINT32_C(0xDBCDAFAB), UINT32_C(0xCA3ACC11), UINT32_C(0xBB7F218B),
13904           UINT32_C(0x0BBB5DBF), UINT32_C(0xDB0ABBE2), UINT32_C(0xD69E091A),
13905           UINT32_C(0x0B0B7B09), UINT32_C(0x8AFFCE95)},
13906          {UINT32_C(0xC7EC52C7), UINT32_C(0x0A5E6C81), UINT32_C(0x896707CD),
13907           UINT32_C(0xABD60595), UINT32_C(0x101E0F80), UINT32_C(0x4CE86506),
13908           UINT32_C(0x4ED01B2E), UINT32_C(0x9629A6C0)}},
13909         {{UINT32_C(0xE15D82F4), UINT32_C(0x1D740EAC), UINT32_C(0x90A5D149),
13910           UINT32_C(0x42F98018), UINT32_C(0x903D6D28), UINT32_C(0x1B8C8DC0),
13911           UINT32_C(0x05BBDFF7), UINT32_C(0x7BE2B916)},
13912          {UINT32_C(0xD8E41D96), UINT32_C(0xFBACF878), UINT32_C(0xBE26EB56),
13913           UINT32_C(0x42E98BFB), UINT32_C(0xF6DE1EB1), UINT32_C(0x9EA73555),
13914           UINT32_C(0xCF79A9EE), UINT32_C(0x5325DDDE)}},
13915         {{UINT32_C(0x48E6A22F), UINT32_C(0x44BE62C3), UINT32_C(0x8DB35276),
13916           UINT32_C(0xD0A3C0AD), UINT32_C(0x136FE9BA), UINT32_C(0xB4C99306),
13917           UINT32_C(0xA44E491F), UINT32_C(0x0F2987D7)},
13918          {UINT32_C(0xCCC77C2B), UINT32_C(0xA0965F74), UINT32_C(0xFE110072),
13919           UINT32_C(0xE01AD644), UINT32_C(0xC16B5E1E), UINT32_C(0x79528B9C),
13920           UINT32_C(0xF929BE4D), UINT32_C(0x45AEEFF3)}},
13921         {{UINT32_C(0x7F4DA458), UINT32_C(0x46E95DF6), UINT32_C(0xA7AD579B),
13922           UINT32_C(0x554C50C1), UINT32_C(0x4316DBA1), UINT32_C(0xF64F00A1),
13923           UINT32_C(0x46D487BD), UINT32_C(0x16C98513)},
13924          {UINT32_C(0x2C048A1B), UINT32_C(0xECB19761), UINT32_C(0x5373E5E6),
13925           UINT32_C(0x997AF398), UINT32_C(0xFDF23B20), UINT32_C(0x50E832D2),
13926           UINT32_C(0x7EF7E097), UINT32_C(0x1B358E0F)}},
13927         {{UINT32_C(0xACBC759C), UINT32_C(0x7C6728AE), UINT32_C(0xA156A466),
13928           UINT32_C(0x187588FB), UINT32_C(0x928F97BD), UINT32_C(0xC2E550ED),
13929           UINT32_C(0xAAE1C05A), UINT32_C(0x8B595A3A)},
13930          {UINT32_C(0xD77C1125), UINT32_C(0xE36871E1), UINT32_C(0x0DBBD882),
13931           UINT32_C(0x11E12978), UINT32_C(0x5E77FB7E), UINT32_C(0x3EF8268A),
13932           UINT32_C(0x6B33C00C), UINT32_C(0x7BAEA9BA)}},
13933         {{UINT32_C(0x5925E5FE), UINT32_C(0x7C851236), UINT32_C(0xD8E1597B),
13934           UINT32_C(0xCED70AE5), UINT32_C(0x6DCD112F), UINT32_C(0x7A28BE1A),
13935           UINT32_C(0x3B8EAF6F), UINT32_C(0x1EB19268)},
13936          {UINT32_C(0x8AA902B9), UINT32_C(0x7E6F1CF2), UINT32_C(0xA5A761D9),
13937           UINT32_C(0x3DD9D59C), UINT32_C(0x48D9F52E), UINT32_C(0x8EF70BB4),
13938           UINT32_C(0xCDEE9658), UINT32_C(0x96629C1A)}},
13939         {{UINT32_C(0xB367C5B3), UINT32_C(0xCA215EAC), UINT32_C(0xA796338A),
13940           UINT32_C(0x36B22774), UINT32_C(0x26EBCDFE), UINT32_C(0x71F9A61A),
13941           UINT32_C(0x35119BD3), UINT32_C(0x1B40580A)},
13942          {UINT32_C(0x431C78BD), UINT32_C(0x77169EF1), UINT32_C(0x337022D5),
13943           UINT32_C(0x8197975E), UINT32_C(0x1D9A4742), UINT32_C(0x45112799),
13944           UINT32_C(0x19B6DB07), UINT32_C(0x382750D6)}},
13945         {{UINT32_C(0x9786AE0B), UINT32_C(0x740405EE), UINT32_C(0x3ABA0481),
13946           UINT32_C(0xF7F37C0F), UINT32_C(0x51892307), UINT32_C(0x904FC60C),
13947           UINT32_C(0xE891D639), UINT32_C(0x8405DF2A)},
13948          {UINT32_C(0xD9B432F8), UINT32_C(0x53D19AC5), UINT32_C(0x066CD97C),
13949           UINT32_C(0xE8F1730F), UINT32_C(0x0E95804B), UINT32_C(0xC8740FEF),
13950           UINT32_C(0xEC242811), UINT32_C(0x12EE433C)}},
13951         {{UINT32_C(0x6153F4D4), UINT32_C(0x6AF4B9B1), UINT32_C(0xF84F0145),
13952           UINT32_C(0x9CD8CD0C), UINT32_C(0xDCEB0F06), UINT32_C(0x6CABD4FC),
13953           UINT32_C(0x0D134DCE), UINT32_C(0x036BF146)},
13954          {UINT32_C(0x7EFFACAB), UINT32_C(0xCDEB1818), UINT32_C(0x52C987E7),
13955           UINT32_C(0xB57A4162), UINT32_C(0xC647E82F), UINT32_C(0xDD5104EB),
13956           UINT32_C(0xF51B5270), UINT32_C(0x389AA556)}},
13957         {{UINT32_C(0x60108876), UINT32_C(0xC450CAEA), UINT32_C(0xF48601A1),
13958           UINT32_C(0xF36B5B6A), UINT32_C(0x09128863), UINT32_C(0x257950D1),
13959           UINT32_C(0xA9F6A1B9), UINT32_C(0x7A592427)},
13960          {UINT32_C(0xED12DE33), UINT32_C(0xBF1FF2B0), UINT32_C(0xE2141101),
13961           UINT32_C(0x4D542AC8), UINT32_C(0xE170F9CF), UINT32_C(0x998523C4),
13962           UINT32_C(0xFCEC0E2F), UINT32_C(0x629385CE)}},
13963         {{UINT32_C(0xB2677C49), UINT32_C(0x951494ED), UINT32_C(0xF9B648E8),
13964           UINT32_C(0xF1AE7138), UINT32_C(0x63CFF359), UINT32_C(0x28B8749E),
13965           UINT32_C(0x9A73272F), UINT32_C(0x5AC4EC4C)},
13966          {UINT32_C(0x21723271), UINT32_C(0xC25ABB87), UINT32_C(0x8B441AFD),
13967           UINT32_C(0x488EC910), UINT32_C(0x1B1DF775), UINT32_C(0x07518348),
13968           UINT32_C(0xF1EB2FB4), UINT32_C(0x4662BBDA)}},
13969         {{UINT32_C(0x6DF9F64A), UINT32_C(0xAE836F74), UINT32_C(0xA185ABE6),
13970           UINT32_C(0xF3CD6C9D), UINT32_C(0xC29A1C1A), UINT32_C(0xAFA897A8),
13971           UINT32_C(0x11B2D6AC), UINT32_C(0x4BAFBB69)},
13972          {UINT32_C(0xB6D971C7), UINT32_C(0x8040F9A3), UINT32_C(0x00763EAF),
13973           UINT32_C(0x3B8920B7), UINT32_C(0x52E848B7), UINT32_C(0x7A1655DA),
13974           UINT32_C(0x703FA84D), UINT32_C(0x03BC8B55)}},
13975         {{UINT32_C(0x1F934416), UINT32_C(0xE6348C65), UINT32_C(0xF82BBC4A),
13976           UINT32_C(0xDBE59C03), UINT32_C(0xEAD60547), UINT32_C(0x51AEAD09),
13977           UINT32_C(0x4F20111E), UINT32_C(0x043A35C3)},
13978          {UINT32_C(0xEC574F0A), UINT32_C(0x0AA18326), UINT32_C(0xFCADF79D),
13979           UINT32_C(0x07E90D70), UINT32_C(0x201CD68B), UINT32_C(0x3979D4CE),
13980           UINT32_C(0x2C2734B1), UINT32_C(0x7FBF2C63)}},
13981         {{UINT32_C(0x2656AF49), UINT32_C(0x2E451373), UINT32_C(0xA432DE06),
13982           UINT32_C(0xCA86207D), UINT32_C(0x12F20637), UINT32_C(0xC5F9262D),
13983           UINT32_C(0x26C0C745), UINT32_C(0x7DD9CCDC)},
13984          {UINT32_C(0xA785ED89), UINT32_C(0x99276BDC), UINT32_C(0x374CFBE2),
13985           UINT32_C(0x34B307A7), UINT32_C(0x1E8EE0C5), UINT32_C(0x916E9B06),
13986           UINT32_C(0x88A85C6A), UINT32_C(0x4E8EB3C7)}},
13987     },
13988     {
13989         {{UINT32_C(0x107F1CE0), UINT32_C(0x6F2433EF), UINT32_C(0x46D23AEF),
13990           UINT32_C(0x121DE131), UINT32_C(0x20DB44DE), UINT32_C(0x7AC50BE8),
13991           UINT32_C(0xF6F41A1C), UINT32_C(0x1E500A2B)},
13992          {UINT32_C(0x27B0004C), UINT32_C(0x8E5BAFCC), UINT32_C(0xDB555C04),
13993           UINT32_C(0x8538A5ED), UINT32_C(0xCE4ED544), UINT32_C(0x00AEC8A7),
13994           UINT32_C(0x73B2DA91), UINT32_C(0x7C7301CC)}},
13995         {{UINT32_C(0x63284E3A), UINT32_C(0x3E7E1E5C), UINT32_C(0x1422D8EA),
13996           UINT32_C(0x14581400), UINT32_C(0x7AAABD1D), UINT32_C(0x5FE151BF),
13997           UINT32_C(0x1533B371), UINT32_C(0x6716691F)},
13998          {UINT32_C(0x22A8B7DF), UINT32_C(0xA592D53E), UINT32_C(0x51C97935),
13999           UINT32_C(0x66991AFF), UINT32_C(0xDE5429B6), UINT32_C(0x8B10603D),
14000           UINT32_C(0x551F146B), UINT32_C(0x0002F6C6)}},
14001         {{UINT32_C(0x777A334C), UINT32_C(0xF641CBCB), UINT32_C(0xEEFBCA44),
14002           UINT32_C(0xB45B21E1), UINT32_C(0x32F6E263), UINT32_C(0x7C2FCD65),
14003           UINT32_C(0xFEED8901), UINT32_C(0x05A21D80)},
14004          {UINT32_C(0x5506CF47), UINT32_C(0x2471B486), UINT32_C(0x7C9E62DE),
14005           UINT32_C(0x0FFAC1F7), UINT32_C(0x869D3BDC), UINT32_C(0xC4D321DF),
14006           UINT32_C(0x9512D0CA), UINT32_C(0x9AC03509)}},
14007         {{UINT32_C(0x352E0353), UINT32_C(0x5A26E8F5), UINT32_C(0xBF6ABBAC),
14008           UINT32_C(0x965CF602), UINT32_C(0xE911C628), UINT32_C(0xDD8C4818),
14009           UINT32_C(0xDC2D04A0), UINT32_C(0x132CA2D8)},
14010          {UINT32_C(0x6C865C91), UINT32_C(0x7641CFCE), UINT32_C(0x8E9965EF),
14011           UINT32_C(0xDB5AB8F3), UINT32_C(0xDE0B7E90), UINT32_C(0x30030BCD),
14012           UINT32_C(0x2320D3F1), UINT32_C(0x7BF44453)}},
14013         {{UINT32_C(0xD8A99DAD), UINT32_C(0xC006FA6D), UINT32_C(0xB45E64A1),
14014           UINT32_C(0xC042F163), UINT32_C(0x74F4DBB1), UINT32_C(0xB91C9CA4),
14015           UINT32_C(0xBE221E4E), UINT32_C(0x23BD5A29)},
14016          {UINT32_C(0x3D1ECF78), UINT32_C(0x6B0591D7), UINT32_C(0xAA5B771C),
14017           UINT32_C(0x9E0ACF38), UINT32_C(0x796D4AA3), UINT32_C(0xC970F263),
14018           UINT32_C(0x7B5DD349), UINT32_C(0x37037502)}},
14019         {{UINT32_C(0xFBC52541), UINT32_C(0xE11DECDA), UINT32_C(0xE7FE53A5),
14020           UINT32_C(0xA49B8D39), UINT32_C(0x104A1F6E), UINT32_C(0x3A08E9BB),
14021           UINT32_C(0xE0192BFB), UINT32_C(0x95444A15)},
14022          {UINT32_C(0x1A97B875), UINT32_C(0xEF75B062), UINT32_C(0xEA5FC457),
14023           UINT32_C(0x9FC8AE5E), UINT32_C(0x47F73089), UINT32_C(0x3A09FD1B),
14024           UINT32_C(0xE24516AB), UINT32_C(0x096750EC)}},
14025         {{UINT32_C(0x4A350C95), UINT32_C(0xAA180046), UINT32_C(0x58EA4195),
14026           UINT32_C(0xA72F2B67), UINT32_C(0xFD9A4F25), UINT32_C(0xE0647945),
14027           UINT32_C(0x22737E2D), UINT32_C(0x4CF4136D)},
14028          {UINT32_C(0xEFB2A96D), UINT32_C(0xEE2532CE), UINT32_C(0x6C2F1471),
14029           UINT32_C(0xB39DB117), UINT32_C(0x19935BDB), UINT32_C(0xF7C6242B),
14030           UINT32_C(0x7A820092), UINT32_C(0x98CA48D4)}},
14031         {{UINT32_C(0xC3C938B0), UINT32_C(0xE9C1AD0A), UINT32_C(0xCCDF3BC6),
14032           UINT32_C(0xF7CC05C4), UINT32_C(0x363A9CC6), UINT32_C(0x3C21752B),
14033           UINT32_C(0x5916BD59), UINT32_C(0x47996B87)},
14034          {UINT32_C(0x98D17468), UINT32_C(0x01EF895D), UINT32_C(0x5818F5D8),
14035           UINT32_C(0x9182F882), UINT32_C(0xE35E4BE7), UINT32_C(0xCBD212A3),
14036           UINT32_C(0x5EA16E55), UINT32_C(0x894E7F39)}},
14037         {{UINT32_C(0x7C8FDD7E), UINT32_C(0xAC674AEE), UINT32_C(0xEDB0FE30),
14038           UINT32_C(0xA23FA827), UINT32_C(0x745B3230), UINT32_C(0x642BE06F),
14039           UINT32_C(0xCB40941C), UINT32_C(0x7654C79B)},
14040          {UINT32_C(0xD6A9E988), UINT32_C(0x4640C0C5), UINT32_C(0x11A4EECB),
14041           UINT32_C(0xA98AF661), UINT32_C(0x325D730E), UINT32_C(0xE1E827E3),
14042           UINT32_C(0x7D8A02DE), UINT32_C(0x2342D880)}},
14043         {{UINT32_C(0x715DB87E), UINT32_C(0xE4101595), UINT32_C(0x3C44A43A),
14044           UINT32_C(0x462718AB), UINT32_C(0xEFCBC0F7), UINT32_C(0xF414CBC7),
14045           UINT32_C(0xE5999AB3), UINT32_C(0x2A64DB21)},
14046          {UINT32_C(0x9DA91E84), UINT32_C(0xDAD841E1), UINT32_C(0x5F5C1CDD),
14047           UINT32_C(0x5A28F649), UINT32_C(0xB8B41BDA), UINT32_C(0x2F8C9DCA),
14048           UINT32_C(0x029C3697), UINT32_C(0x259DC791)}},
14049         {{UINT32_C(0x5296BA38), UINT32_C(0xD56F4EF4), UINT32_C(0x02EC3100),
14050           UINT32_C(0x4A853BA1), UINT32_C(0xC8AE4C47), UINT32_C(0xB0ED5F21),
14051           UINT32_C(0x61DF268E), UINT32_C(0x53D0DA0C)},
14052          {UINT32_C(0x6DC06EB6), UINT32_C(0xB6771DCB), UINT32_C(0xBB0C457F),
14053           UINT32_C(0x30B07595), UINT32_C(0xF174690D), UINT32_C(0xC2FD08F3),
14054           UINT32_C(0x87A5DC8E), UINT32_C(0x77000D6A)}},
14055         {{UINT32_C(0x6E1369AD), UINT32_C(0x90DDAA61), UINT32_C(0xB6A5F225),
14056           UINT32_C(0x3DD15EE7), UINT32_C(0x27AEB0DC), UINT32_C(0x051AA9C4),
14057           UINT32_C(0xE5372729), UINT32_C(0x18712DBB)},
14058          {UINT32_C(0xA23AFF5A), UINT32_C(0x13B3F9DF), UINT32_C(0x703FBFF9),
14059           UINT32_C(0x34388CED), UINT32_C(0x17D60129), UINT32_C(0x0F390D67),
14060           UINT32_C(0x4DAE9863), UINT32_C(0x3F0CA25E)}},
14061         {{UINT32_C(0x903385DC), UINT32_C(0x6E0F5594), UINT32_C(0xF8A815A9),
14062           UINT32_C(0x47483889), UINT32_C(0x23B70B1C), UINT32_C(0x42AF320C),
14063           UINT32_C(0x1A1AEA03), UINT32_C(0x4A27CA27)},
14064          {UINT32_C(0x66AF6F9D), UINT32_C(0xFAAC21C8), UINT32_C(0xC9FBFD3E),
14065           UINT32_C(0x20849D90), UINT32_C(0xEE0A541C), UINT32_C(0x793F889F),
14066           UINT32_C(0xADA5D18F), UINT32_C(0x2555FC32)}},
14067         {{UINT32_C(0xBA2BD509), UINT32_C(0x3F38F58C), UINT32_C(0x048F864B),
14068           UINT32_C(0x319A5F0D), UINT32_C(0xD5900B1E), UINT32_C(0xC4632F37),
14069           UINT32_C(0xF8519441), UINT32_C(0x3FAF2615)},
14070          {UINT32_C(0xFE194D77), UINT32_C(0x6A4AA25D), UINT32_C(0xD681409B),
14071           UINT32_C(0xB5A6464A), UINT32_C(0xB957523A), UINT32_C(0x1A9326ED),
14072           UINT32_C(0x27098B5B), UINT32_C(0x7690EA4F)}},
14073         {{UINT32_C(0x10F3FDE3), UINT32_C(0x5530E911), UINT32_C(0x810E7853),
14074           UINT32_C(0x9A40101F), UINT32_C(0x8F011C4E), UINT32_C(0x152704FC),
14075           UINT32_C(0x129B455F), UINT32_C(0x5B1702E4)},
14076          {UINT32_C(0xE60F4D30), UINT32_C(0x46A130BA), UINT32_C(0x62BBE8B5),
14077           UINT32_C(0xA3D57414), UINT32_C(0x3CFAEFE3), UINT32_C(0xA26238DA),
14078           UINT32_C(0x3175078E), UINT32_C(0x4E614113)}},
14079         {{UINT32_C(0x992EE109), UINT32_C(0x27BCCDFF), UINT32_C(0xFB45C6C3),
14080           UINT32_C(0x79F88647), UINT32_C(0xC73F2829), UINT32_C(0x7FD5D73A),
14081           UINT32_C(0x65A44CF1), UINT32_C(0x7EBE8E4E)},
14082          {UINT32_C(0x37414B2C), UINT32_C(0xB9EC0B94), UINT32_C(0x36DED49D),
14083           UINT32_C(0x846AD1D1), UINT32_C(0x62F2FE87), UINT32_C(0x72AE1060),
14084           UINT32_C(0xC032EEDD), UINT32_C(0x7F5AF329)}},
14085     },
14086     {
14087         {{UINT32_C(0xC7A645A5), UINT32_C(0x6C80B058), UINT32_C(0x729066AC),
14088           UINT32_C(0xF86341D2), UINT32_C(0x33FB5CE8), UINT32_C(0xE4F366BD),
14089           UINT32_C(0xC23A4751), UINT32_C(0x6B79D63F)},
14090          {UINT32_C(0xEC3F8686), UINT32_C(0xFAA0F994), UINT32_C(0xA9BA8F5E),
14091           UINT32_C(0x156A6E8E), UINT32_C(0x9F2FAE57), UINT32_C(0xA46CA7D5),
14092           UINT32_C(0x6EFE66F2), UINT32_C(0x84CB2196)}},
14093         {{UINT32_C(0xED25185C), UINT32_C(0xF9C1DECB), UINT32_C(0xB1FCFC82),
14094           UINT32_C(0x6DC43F21), UINT32_C(0xA954087B), UINT32_C(0x4A840262),
14095           UINT32_C(0x0A38F667), UINT32_C(0x60230809)},
14096          {UINT32_C(0x1D9672B5), UINT32_C(0xBD345006), UINT32_C(0xF83361EF),
14097           UINT32_C(0xE0FF804B), UINT32_C(0xEF8E1598), UINT32_C(0x9DDC6CE1),
14098           UINT32_C(0xFBD9BD0E), UINT32_C(0x4419F705)}},
14099         {{UINT32_C(0x3426122A), UINT32_C(0xF171EDE4), UINT32_C(0x20A3963E),
14100           UINT32_C(0xEF6A1AE2), UINT32_C(0x031647D0), UINT32_C(0xD25AB7A2),
14101           UINT32_C(0xCB4CA4E3), UINT32_C(0x0FD7EC20)},
14102          {UINT32_C(0xB7D3A295), UINT32_C(0xC103969C), UINT32_C(0x34DBABA8),
14103           UINT32_C(0x4957509E), UINT32_C(0x60BC0760), UINT32_C(0x8456DF63),
14104           UINT32_C(0xD63B49A9), UINT32_C(0x02AF2033)}},
14105         {{UINT32_C(0x0378E444), UINT32_C(0x271966A0), UINT32_C(0x5D15A0B7),
14106           UINT32_C(0x673F057D), UINT32_C(0xA0EFE59E), UINT32_C(0xA55C44F9),
14107           UINT32_C(0x376119A6), UINT32_C(0x2F602F87)},
14108          {UINT32_C(0x28981502), UINT32_C(0x0A149074), UINT32_C(0x8741D4F2),
14109           UINT32_C(0xDA006774), UINT32_C(0x133F8479), UINT32_C(0x8F982C81),
14110           UINT32_C(0xF944319A), UINT32_C(0x1ECAF17A)}},
14111         {{UINT32_C(0xA37F4FC2), UINT32_C(0x281A234E), UINT32_C(0xFD34FC11),
14112           UINT32_C(0xAFD847B2), UINT32_C(0x4683E11A), UINT32_C(0x02CC0839),
14113           UINT32_C(0x3F65B844), UINT32_C(0x71215DA9)},
14114          {UINT32_C(0xEFE32AC9), UINT32_C(0xF9F41383), UINT32_C(0x1361FE53),
14115           UINT32_C(0x4AC3D91D), UINT32_C(0x1CC2E948), UINT32_C(0x03C9FBAB),
14116           UINT32_C(0x43379A4F), UINT32_C(0x9A9A4B91)}},
14117         {{UINT32_C(0x51BED5AC), UINT32_C(0x8D37A108), UINT32_C(0x998E1C19),
14118           UINT32_C(0x75D91890), UINT32_C(0x5D244730), UINT32_C(0xE6C76B09),
14119           UINT32_C(0x4CD555FF), UINT32_C(0x12714716)},
14120          {UINT32_C(0x29DDC669), UINT32_C(0xF2DCE85A), UINT32_C(0x8D622348),
14121           UINT32_C(0x8914D13A), UINT32_C(0xDAE035E8), UINT32_C(0x9FE6B578),
14122           UINT32_C(0xF41EEF19), UINT32_C(0x21ECB251)}},
14123         {{UINT32_C(0x7999064D), UINT32_C(0xEAFF3862), UINT32_C(0x96383204),
14124           UINT32_C(0xB72BABEF), UINT32_C(0x6BCCCB43), UINT32_C(0x8E6C9E67),
14125           UINT32_C(0x7FD71298), UINT32_C(0x320A7D78)},
14126          {UINT32_C(0xB438A302), UINT32_C(0x4081E38A), UINT32_C(0x120E132D),
14127           UINT32_C(0x0A15CBA7), UINT32_C(0xEC2E0939), UINT32_C(0x6D9123E1),
14128           UINT32_C(0xE0D6FEC5), UINT32_C(0x692D699C)}},
14129         {{UINT32_C(0xC8D5D361), UINT32_C(0xB639ADAE), UINT32_C(0xC60A078D),
14130           UINT32_C(0xA8F742CC), UINT32_C(0x9D740F0F), UINT32_C(0xE8D2CF92),
14131           UINT32_C(0x4DCE6A87), UINT32_C(0x6E8EEEF9)},
14132          {UINT32_C(0x6A2E5164), UINT32_C(0x54E19488), UINT32_C(0x2430E4B9),
14133           UINT32_C(0x4372C6CF), UINT32_C(0x1C5B13B3), UINT32_C(0xD58EA91B),
14134           UINT32_C(0xBB9F2911), UINT32_C(0x796DCC45)}},
14135         {{UINT32_C(0xCBB267F9), UINT32_C(0xD8D4FAF0), UINT32_C(0x703F4011),
14136           UINT32_C(0xC2770DBE), UINT32_C(0x0D651402), UINT32_C(0x13739F02),
14137           UINT32_C(0x72D2B3F1), UINT32_C(0x7DE4E51E)},
14138          {UINT32_C(0x1FE00C7E), UINT32_C(0xB10F966E), UINT32_C(0x8F42B5F8),
14139           UINT32_C(0x5E9A1501), UINT32_C(0xD00437A3), UINT32_C(0x6AFB1AD0),
14140           UINT32_C(0x1473D5AE), UINT32_C(0x267D1536)}},
14141         {{UINT32_C(0x4CAE118F), UINT32_C(0x1173B5DB), UINT32_C(0xCA749EE6),
14142           UINT32_C(0xC3A2EAFD), UINT32_C(0x4ED4FFF4), UINT32_C(0x64F738E6),
14143           UINT32_C(0xB07860B6), UINT32_C(0x47DDECB6)},
14144          {UINT32_C(0xBD47A901), UINT32_C(0xF5D627FC), UINT32_C(0x856C6903),
14145           UINT32_C(0x6493BC28), UINT32_C(0xEA63B675), UINT32_C(0x90280E4B),
14146           UINT32_C(0xC4148666), UINT32_C(0x211C04A2)}},
14147         {{UINT32_C(0x6524BC38), UINT32_C(0x0A5F0C27), UINT32_C(0xBB3CBDB9),
14148           UINT32_C(0x4B9D95FB), UINT32_C(0x20507C82), UINT32_C(0x5394ADC2),
14149           UINT32_C(0xB4DBE448), UINT32_C(0x4C0C9167)},
14150          {UINT32_C(0x303A5B11), UINT32_C(0xAC3E87CE), UINT32_C(0x3251F4DF),
14151           UINT32_C(0xD31FB9C5), UINT32_C(0xE43CE799), UINT32_C(0x86C281DF),
14152           UINT32_C(0x29FE09E4), UINT32_C(0x84E644D7)}},
14153         {{UINT32_C(0x43166C20), UINT32_C(0x6D7B61DC), UINT32_C(0xBD34F981),
14154           UINT32_C(0x54D6C035), UINT32_C(0xC991096D), UINT32_C(0xB166769D),
14155           UINT32_C(0x3A4CF05C), UINT32_C(0x51A47E3A)},
14156          {UINT32_C(0x14F5E7F1), UINT32_C(0x57CF9EFF), UINT32_C(0xE39FDA0D),
14157           UINT32_C(0xED3D4E9D), UINT32_C(0xBAA7E93B), UINT32_C(0xDF0176EC),
14158           UINT32_C(0x70935B9F), UINT32_C(0x6B2FEA14)}},
14159         {{UINT32_C(0x709B70AE), UINT32_C(0x19F9D59E), UINT32_C(0x70472149),
14160           UINT32_C(0xD850CA32), UINT32_C(0x29EE6104), UINT32_C(0x292CADD9),
14161           UINT32_C(0x8FD499F2), UINT32_C(0x870F7C99)},
14162          {UINT32_C(0x415C6FFD), UINT32_C(0x200ECB1C), UINT32_C(0x35CB841B),
14163           UINT32_C(0xEEA6107D), UINT32_C(0xF95DD333), UINT32_C(0x1CB06F8A),
14164           UINT32_C(0xE498AA7B), UINT32_C(0x245712FD)}},
14165         {{UINT32_C(0xED4FBD78), UINT32_C(0x101665EA), UINT32_C(0x0E32D1B4),
14166           UINT32_C(0xC6DDE1BB), UINT32_C(0x40150A9C), UINT32_C(0x3E79185E),
14167           UINT32_C(0x7DEF3607), UINT32_C(0x49E2AE6B)},
14168          {UINT32_C(0x308B7F59), UINT32_C(0xCCC9B0F6), UINT32_C(0xCE922087),
14169           UINT32_C(0xB267008F), UINT32_C(0xCF2AABA6), UINT32_C(0x46CF7F07),
14170           UINT32_C(0x9954091F), UINT32_C(0x5A74C8A0)}},
14171         {{UINT32_C(0x5240B5A0), UINT32_C(0x8F287195), UINT32_C(0x1845373D),
14172           UINT32_C(0x7AC7720F), UINT32_C(0x4E592274), UINT32_C(0xCF276B59),
14173           UINT32_C(0x694C30B8), UINT32_C(0x6BEBC284)},
14174          {UINT32_C(0x677B16CD), UINT32_C(0xDA0113D6), UINT32_C(0x45C9FA76),
14175           UINT32_C(0xA2213446), UINT32_C(0x66964ADB), UINT32_C(0x2DEAF2ED),
14176           UINT32_C(0xBC062240), UINT32_C(0x1977A8B3)}},
14177         {{UINT32_C(0x80303DFD), UINT32_C(0xEEA29126), UINT32_C(0xE95BF6A1),
14178           UINT32_C(0x3E4A33AC), UINT32_C(0x15DE0457), UINT32_C(0x6BFE2D5D),
14179           UINT32_C(0xAD0976D1), UINT32_C(0x407BF7E3)},
14180          {UINT32_C(0x306B415B), UINT32_C(0x04C1F61F), UINT32_C(0x5F790D5F),
14181           UINT32_C(0xC86A75D2), UINT32_C(0xB7EAE07B), UINT32_C(0x7B799EDE),
14182           UINT32_C(0xB4A66839), UINT32_C(0x9155A9A0)}},
14183     },
14184     {
14185         {{UINT32_C(0x0DCE586B), UINT32_C(0x9745C6BB), UINT32_C(0xBE77B502),
14186           UINT32_C(0x554C8313), UINT32_C(0xA93962CF), UINT32_C(0xF0F842A9),
14187           UINT32_C(0xAAA141BC), UINT32_C(0x40862273)},
14188          {UINT32_C(0xBD62237B), UINT32_C(0x926FFA4A), UINT32_C(0x7B942F48),
14189           UINT32_C(0xD4F1E4A1), UINT32_C(0x075684FD), UINT32_C(0x3A841EB7),
14190           UINT32_C(0xDD1807E1), UINT32_C(0x21F6EB39)}},
14191         {{UINT32_C(0xBEDA4365), UINT32_C(0x155DFD66), UINT32_C(0x27F33BF9),
14192           UINT32_C(0xDD575C83), UINT32_C(0x3DFF83A1), UINT32_C(0x5907B08D),
14193           UINT32_C(0xD6788D63), UINT32_C(0x7E325357)},
14194          {UINT32_C(0xBAC74ED7), UINT32_C(0xF90BF447), UINT32_C(0xEDA226CD),
14195           UINT32_C(0x2DE6C957), UINT32_C(0x1CA44607), UINT32_C(0x67832302),
14196           UINT32_C(0x56011C38), UINT32_C(0x22ECBC1F)}},
14197         {{UINT32_C(0xB663A46C), UINT32_C(0xF01279A9), UINT32_C(0x7E3AAB83),
14198           UINT32_C(0x07D74C5F), UINT32_C(0x8C0DA43E), UINT32_C(0xF20940B6),
14199           UINT32_C(0x368AD991), UINT32_C(0x57C6A735)},
14200          {UINT32_C(0x5007E059), UINT32_C(0x01E9B366), UINT32_C(0x9614D480),
14201           UINT32_C(0xFC38FC99), UINT32_C(0xFF7DA757), UINT32_C(0x4A3AAA18),
14202           UINT32_C(0xB0CE1B03), UINT32_C(0x4481B669)}},
14203         {{UINT32_C(0xB4A807FF), UINT32_C(0x9CAA37A0), UINT32_C(0xF9B269F3),
14204           UINT32_C(0xBDEDEB49), UINT32_C(0xCB607AC3), UINT32_C(0xC5B76E57),
14205           UINT32_C(0x9A322F48), UINT32_C(0x08AEFE66)},
14206          {UINT32_C(0xD9261469), UINT32_C(0x6919E40D), UINT32_C(0x849718FA),
14207           UINT32_C(0x1F0ADA81), UINT32_C(0x9D81628E), UINT32_C(0xCD251B54),
14208           UINT32_C(0x5505F9E1), UINT32_C(0x6519C3C6)}},
14209         {{UINT32_C(0x2F81C037), UINT32_C(0x277591DC), UINT32_C(0x76E0D41E),
14210           UINT32_C(0xD63AD35A), UINT32_C(0x6EC063D3), UINT32_C(0x682662B5),
14211           UINT32_C(0x6762A0DB), UINT32_C(0x8210978B)},
14212          {UINT32_C(0xFE164B90), UINT32_C(0x05085F68), UINT32_C(0x3D6FD0D1),
14213           UINT32_C(0x50026ADC), UINT32_C(0xB01A3791), UINT32_C(0x38CC9FA7),
14214           UINT32_C(0xB376F83E), UINT32_C(0x1E286652)}},
14215         {{UINT32_C(0x09759892), UINT32_C(0x8DFFDA16), UINT32_C(0x9AC2CE5D),
14216           UINT32_C(0xE011DDDB), UINT32_C(0xBD71426B), UINT32_C(0xDDC7670F),
14217           UINT32_C(0x19742F7C), UINT32_C(0x9722A23B)},
14218          {UINT32_C(0xDC4767D3), UINT32_C(0x2EA99893), UINT32_C(0x11125BAE),
14219           UINT32_C(0xCB68D6C2), UINT32_C(0x307ED3B9), UINT32_C(0xAC76953E),
14220           UINT32_C(0xC366E9A2), UINT32_C(0x0EDD0C17)}},
14221         {{UINT32_C(0x484B5272), UINT32_C(0x88B3DEC9), UINT32_C(0x90380294),
14222           UINT32_C(0x0C848EA1), UINT32_C(0xA01AC92C), UINT32_C(0xDE187E83),
14223           UINT32_C(0x7A5D4D65), UINT32_C(0x2A880182)},
14224          {UINT32_C(0xB3C3C7BB), UINT32_C(0xD3C22C2B), UINT32_C(0xDE7ECE33),
14225           UINT32_C(0xC485CE02), UINT32_C(0xA437071A), UINT32_C(0xF22138C4),
14226           UINT32_C(0x0716DA53), UINT32_C(0x23A55C89)}},
14227         {{UINT32_C(0xF6FE058E), UINT32_C(0x9533C4A3), UINT32_C(0x748E4A4F),
14228           UINT32_C(0x28753F87), UINT32_C(0xEA404C70), UINT32_C(0x7814C50A),
14229           UINT32_C(0xE91B5EF3), UINT32_C(0x908D1C81)},
14230          {UINT32_C(0x04094766), UINT32_C(0xD827D3CE), UINT32_C(0x0CE5C727),
14231           UINT32_C(0x7AE2FD26), UINT32_C(0xCDAD2BDD), UINT32_C(0x016AC86F),
14232           UINT32_C(0x7A77C252), UINT32_C(0x37C088B0)}},
14233         {{UINT32_C(0x18A35CD3), UINT32_C(0xABF4C1EF), UINT32_C(0x698A5A01),
14234           UINT32_C(0x1F721491), UINT32_C(0x1A9E9A1F), UINT32_C(0x79284A12),
14235           UINT32_C(0x4D50DF40), UINT32_C(0x0457FF70)},
14236          {UINT32_C(0xEC46ED07), UINT32_C(0x1D235814), UINT32_C(0xAE5E97C8),
14237           UINT32_C(0xBD013752), UINT32_C(0xD9B100D4), UINT32_C(0x0E085C88),
14238           UINT32_C(0x8858F9F3), UINT32_C(0x8AFA070A)}},
14239         {{UINT32_C(0x698D6A59), UINT32_C(0x0F548BE3), UINT32_C(0xBF2D0D94),
14240           UINT32_C(0x5D7818A5), UINT32_C(0xD80E620D), UINT32_C(0x8E150DF1),
14241           UINT32_C(0xF857F167), UINT32_C(0x4C3A5E64)},
14242          {UINT32_C(0x61BD9152), UINT32_C(0x837D9A98), UINT32_C(0x8D10687F),
14243           UINT32_C(0x242CE589), UINT32_C(0xB6B52BB7), UINT32_C(0x9863EA4C),
14244           UINT32_C(0xB7DD35FF), UINT32_C(0x23665B46)}},
14245         {{UINT32_C(0x73942AAF), UINT32_C(0x3AA5432A), UINT32_C(0x0CEE83A9),
14246           UINT32_C(0xB0185DB4), UINT32_C(0xA83B907B), UINT32_C(0x145372EE),
14247           UINT32_C(0xBB6D341A), UINT32_C(0x609F1AD9)},
14248          {UINT32_C(0x864C92EE), UINT32_C(0x28C2B37A), UINT32_C(0xD4CC1158),
14249           UINT32_C(0xDD847239), UINT32_C(0x8F2EAF0A), UINT32_C(0xE5BD4FD2),
14250           UINT32_C(0xD24950AB), UINT32_C(0x04F43BC0)}},
14251         {{UINT32_C(0x88DA3F20), UINT32_C(0x11DEFCED), UINT32_C(0xA407C4A2),
14252           UINT32_C(0xCA4CE370), UINT32_C(0x2F8C5CFC), UINT32_C(0xEA70BEDF),
14253           UINT32_C(0x8214B7F7), UINT32_C(0x08AC147D)},
14254          {UINT32_C(0xE260AA96), UINT32_C(0xECAD0F77), UINT32_C(0xB56C30F7),
14255           UINT32_C(0xA868AC63), UINT32_C(0x396F4815), UINT32_C(0xF0ACDE5A),
14256           UINT32_C(0xACDE6CD8), UINT32_C(0x302F75B9)}},
14257         {{UINT32_C(0xC5D14866), UINT32_C(0x2125D07D), UINT32_C(0x4AE3212D),
14258           UINT32_C(0xFE563DE4), UINT32_C(0xEE9CAA2B), UINT32_C(0x0FE787CB),
14259           UINT32_C(0x53802482), UINT32_C(0x7D9B56A2)},
14260          {UINT32_C(0x8040D1A7), UINT32_C(0x128B4D37), UINT32_C(0x30ACA2F4),
14261           UINT32_C(0x57371299), UINT32_C(0x7623D14A), UINT32_C(0x5C443E35),
14262           UINT32_C(0x5FDB6310), UINT32_C(0x6436D328)}},
14263         {{UINT32_C(0xA8557B64), UINT32_C(0x531486A4), UINT32_C(0x9C5DE310),
14264           UINT32_C(0x3FAB4F21), UINT32_C(0x260468D0), UINT32_C(0xD872282E),
14265           UINT32_C(0x2542CBA4), UINT32_C(0x04CD4568)},
14266          {UINT32_C(0x555B6E0C), UINT32_C(0xACA0975A), UINT32_C(0x8B85132F),
14267           UINT32_C(0xEE8C43B2), UINT32_C(0xB9DECE9D), UINT32_C(0xC768808B),
14268           UINT32_C(0x431AF98C), UINT32_C(0x59EDEC60)}},
14269         {{UINT32_C(0x31992E22), UINT32_C(0xC365E133), UINT32_C(0x0DC3A4C8),
14270           UINT32_C(0xB96C5FA0), UINT32_C(0xA65761B0), UINT32_C(0xDEB1C1DA),
14271           UINT32_C(0xF4ACAB4C), UINT32_C(0x457676EE)},
14272          {UINT32_C(0xE674FFAF), UINT32_C(0xA0F95894), UINT32_C(0xD65CDAB7),
14273           UINT32_C(0xFD099172), UINT32_C(0x54DA58A2), UINT32_C(0x9383C2F8),
14274           UINT32_C(0x0F24A07B), UINT32_C(0x0A4F4C11)}},
14275         {{UINT32_C(0xE380ABF3), UINT32_C(0x9D7A80B3), UINT32_C(0x9E469F9F),
14276           UINT32_C(0xF0C6AC5A), UINT32_C(0x6BD0A324), UINT32_C(0xC87D5727),
14277           UINT32_C(0x7692B063), UINT32_C(0x28138E37)},
14278          {UINT32_C(0xD67862CA), UINT32_C(0xE18C1F7D), UINT32_C(0x1E07F928),
14279           UINT32_C(0x4B6B723E), UINT32_C(0xBBCF4125), UINT32_C(0xAAFE3FB0),
14280           UINT32_C(0x3B3AE714), UINT32_C(0x25400322)}},
14281     },
14282     {
14283         {{UINT32_C(0x63C295D8), UINT32_C(0xB89A2DCA), UINT32_C(0x85041AA1),
14284           UINT32_C(0x5CC03C65), UINT32_C(0xC6514781), UINT32_C(0xFA9B4C5C),
14285           UINT32_C(0xD92388FF), UINT32_C(0x578031A0)},
14286          {UINT32_C(0xF92C2D77), UINT32_C(0xB0D5AE0A), UINT32_C(0x793D588A),
14287           UINT32_C(0x945A677E), UINT32_C(0x34A190E0), UINT32_C(0x3722DE44),
14288           UINT32_C(0x0C2B9975), UINT32_C(0x6EA90DB8)}},
14289         {{UINT32_C(0x84BA4F9B), UINT32_C(0xE987AA85), UINT32_C(0x0AB43BE6),
14290           UINT32_C(0xB2A77B9C), UINT32_C(0x474D8841), UINT32_C(0xC4AD2AF6),
14291           UINT32_C(0x5D4FA590), UINT32_C(0x4ED7A82B)},
14292          {UINT32_C(0x9977AC2B), UINT32_C(0x9F39335E), UINT32_C(0x52E87607),
14293           UINT32_C(0x3CCD406D), UINT32_C(0x71456060), UINT32_C(0x9D18CB3F),
14294           UINT32_C(0x6A45D7D0), UINT32_C(0x0FE4D888)}},
14295         {{UINT32_C(0xF42D501A), UINT32_C(0xAEA8A911), UINT32_C(0x88F66FBA),
14296           UINT32_C(0x303E25D5), UINT32_C(0x61740B85), UINT32_C(0x54213F29),
14297           UINT32_C(0xC0B4D835), UINT32_C(0x5BC13A30)},
14298          {UINT32_C(0x4758EA28), UINT32_C(0x569AB9B8), UINT32_C(0xB796A794),
14299           UINT32_C(0xE2E49B28), UINT32_C(0x320D54E2), UINT32_C(0x17787125),
14300           UINT32_C(0xC54B4465), UINT32_C(0x5A6A8EDE)}},
14301         {{UINT32_C(0x870619DD), UINT32_C(0xC76C73D9), UINT32_C(0x84FE1078),
14302           UINT32_C(0xF541440E), UINT32_C(0x3B26A3DC), UINT32_C(0x2082FE36),
14303           UINT32_C(0xCC329B14), UINT32_C(0x3B896B29)},
14304          {UINT32_C(0xCAFCDC20), UINT32_C(0xB45028A9), UINT32_C(0x9C56757E),
14305           UINT32_C(0xA1B77C6F), UINT32_C(0x84802E47), UINT32_C(0xDE50D865),
14306           UINT32_C(0xBA0892B0), UINT32_C(0x7DFBC0E8)}},
14307         {{UINT32_C(0x47E702BB), UINT32_C(0xEBC505A9), UINT32_C(0xDACFACFE),
14308           UINT32_C(0x2329A41C), UINT32_C(0x51DDCE2F), UINT32_C(0xEA115603),
14309           UINT32_C(0x2E9D855A), UINT32_C(0x95BBC807)},
14310          {UINT32_C(0xCFD33E9F), UINT32_C(0x454C6B88), UINT32_C(0x4FFBB24A),
14311           UINT32_C(0x993CF6DE), UINT32_C(0x9B2144CD), UINT32_C(0xA8E22FF8),
14312           UINT32_C(0x84943294), UINT32_C(0x741066EE)}},
14313         {{UINT32_C(0xF067E5B2), UINT32_C(0x2CEE0CFF), UINT32_C(0xCA95F1C5),
14314           UINT32_C(0x1C1FD5A3), UINT32_C(0xC07B97F1), UINT32_C(0xA0EB8E7D),
14315           UINT32_C(0x7457415E), UINT32_C(0x0F2A5D77)},
14316          {UINT32_C(0x45D06291), UINT32_C(0xDFF92C58), UINT32_C(0x48ABABE8),
14317           UINT32_C(0x709EA0AC), UINT32_C(0x2FDC92F0), UINT32_C(0xB3058FEB),
14318           UINT32_C(0x5E5B169E), UINT32_C(0x55E9F86E)}},
14319         {{UINT32_C(0xEBF6AF2B), UINT32_C(0xEE5DF132), UINT32_C(0xF642A206),
14320           UINT32_C(0xC30DC3F1), UINT32_C(0x02C60CB6), UINT32_C(0xD7D8EC3E),
14321           UINT32_C(0x3178F1BF), UINT32_C(0x7C98946B)},
14322          {UINT32_C(0xA68799EB), UINT32_C(0x816C2AA1), UINT32_C(0x2430F06B),
14323           UINT32_C(0x507FD5E9), UINT32_C(0xB9EBD4B7), UINT32_C(0x021FFF1C),
14324           UINT32_C(0x8AECFEA4), UINT32_C(0x044365E6)}},
14325         {{UINT32_C(0x21339693), UINT32_C(0xDC5F5EA6), UINT32_C(0x90A448AD),
14326           UINT32_C(0x5BFD2676), UINT32_C(0xA12A9D77), UINT32_C(0xF712BA95),
14327           UINT32_C(0xBD8A6B5B), UINT32_C(0x7104735A)},
14328          {UINT32_C(0xA763BB99), UINT32_C(0xD2ED8304), UINT32_C(0x11B91A05),
14329           UINT32_C(0x7AF040F0), UINT32_C(0xB61F3789), UINT32_C(0xC545E8AE),
14330           UINT32_C(0xBB386760), UINT32_C(0x582E9EED)}},
14331         {{UINT32_C(0xCC099185), UINT32_C(0x0FCE5877), UINT32_C(0xCD681E67),
14332           UINT32_C(0x0E148BB5), UINT32_C(0xECB24ECE), UINT32_C(0xE9F9013E),
14333           UINT32_C(0x2A386485), UINT32_C(0x0090654B)},
14334          {UINT32_C(0x0520BAE8), UINT32_C(0x11BA700B), UINT32_C(0xD8E53123),
14335           UINT32_C(0xFC93BE31), UINT32_C(0xE37948EE), UINT32_C(0x7DD7CB36),
14336           UINT32_C(0x3FC23444), UINT32_C(0x8689AE8F)}},
14337         {{UINT32_C(0xAAC6616B), UINT32_C(0x2060F7DE), UINT32_C(0xDEAB3CC7),
14338           UINT32_C(0x372952C5), UINT32_C(0xC2424ACD), UINT32_C(0x715C4D27),
14339           UINT32_C(0x0308A009), UINT32_C(0x05846856)},
14340          {UINT32_C(0x0B8B34E8), UINT32_C(0x887BBD55), UINT32_C(0xB688C987),
14341           UINT32_C(0x949ACBD1), UINT32_C(0x784C4C0E), UINT32_C(0x3E774D49),
14342           UINT32_C(0xB0F5F545), UINT32_C(0x7AEA2D11)}},
14343         {{UINT32_C(0xE831E509), UINT32_C(0x5335BA6B), UINT32_C(0x739F332E),
14344           UINT32_C(0x8FC4B4AF), UINT32_C(0x95993EAF), UINT32_C(0xB0502462),
14345           UINT32_C(0xA7CEB88B), UINT32_C(0x7DA49F36)},
14346          {UINT32_C(0x029D0C8F), UINT32_C(0x3BE0B74B), UINT32_C(0x55611A8B),
14347           UINT32_C(0xBC07F180), UINT32_C(0x6583F53F), UINT32_C(0xC168CF41),
14348           UINT32_C(0xC34ADBC1), UINT32_C(0x4256E8D2)}},
14349         {{UINT32_C(0xCE2FCD89), UINT32_C(0x313AFC75), UINT32_C(0xD3DA44F2),
14350           UINT32_C(0xEA27FDA4), UINT32_C(0x9063B0DC), UINT32_C(0x9FABEA79),
14351           UINT32_C(0xB3418884), UINT32_C(0x2DF7D966)},
14352          {UINT32_C(0x80AF2EBD), UINT32_C(0x4329FD24), UINT32_C(0x9F095D30),
14353           UINT32_C(0x36F27FF7), UINT32_C(0xCC84C068), UINT32_C(0x88FFB18F),
14354           UINT32_C(0x7B0A9906), UINT32_C(0x976427A8)}},
14355         {{UINT32_C(0xFAC21087), UINT32_C(0xCFF828CC), UINT32_C(0x56863CB5),
14356           UINT32_C(0x6B6D3484), UINT32_C(0xC30879F3), UINT32_C(0x14163A70),
14357           UINT32_C(0x8CA6FD5D), UINT32_C(0x30E2A633)},
14358          {UINT32_C(0x28A58783), UINT32_C(0xC7FCEAD6), UINT32_C(0xEEFA1EAA),
14359           UINT32_C(0x945F7B09), UINT32_C(0x5CC66267), UINT32_C(0x98A503DB),
14360           UINT32_C(0x3780061B), UINT32_C(0x83EE750E)}},
14361         {{UINT32_C(0xB8477D6B), UINT32_C(0x7061409A), UINT32_C(0x2B7B54FA),
14362           UINT32_C(0xE47C779D), UINT32_C(0xF293166C), UINT32_C(0x42F5EDF5),
14363           UINT32_C(0x115D830F), UINT32_C(0x73C3AC1B)},
14364          {UINT32_C(0x4DEE0980), UINT32_C(0xC30D346E), UINT32_C(0xA62F0D09),
14365           UINT32_C(0xEE0D9A29), UINT32_C(0xABCB7DAE), UINT32_C(0xBBE8DC9E),
14366           UINT32_C(0x68B78925), UINT32_C(0x4F0E78C0)}},
14367         {{UINT32_C(0xB4B14003), UINT32_C(0x25A0D4FF), UINT32_C(0xB8AB649C),
14368           UINT32_C(0xA4C3AC55), UINT32_C(0x27F9FDF5), UINT32_C(0x7D7EDE72),
14369           UINT32_C(0xBC2A46D4), UINT32_C(0x507EC83F)},
14370          {UINT32_C(0xFAAFC26F), UINT32_C(0x344577D9), UINT32_C(0x3EB30156),
14371           UINT32_C(0x77CBB783), UINT32_C(0x1D5C9367), UINT32_C(0x3A846FFD),
14372           UINT32_C(0x9DF9F7BE), UINT32_C(0x5F0D280C)}},
14373         {{UINT32_C(0x77DF7F9F), UINT32_C(0xCC8EAC0A), UINT32_C(0xF33A62D4),
14374           UINT32_C(0x195BC6FF), UINT32_C(0x524D78FE), UINT32_C(0x18A33FFA),
14375           UINT32_C(0x6603F9C0), UINT32_C(0x10E58974)},
14376          {UINT32_C(0x0CDA2C3F), UINT32_C(0x31AF4B46), UINT32_C(0xADE169C3),
14377           UINT32_C(0xDDBF00C8), UINT32_C(0x71A7BC38), UINT32_C(0xA169C3E3),
14378           UINT32_C(0xA64B342E), UINT32_C(0x3FC352FF)}},
14379     },
14380     {
14381         {{UINT32_C(0xEE73C673), UINT32_C(0x58848315), UINT32_C(0x8ADB897E),
14382           UINT32_C(0x67D2F7C0), UINT32_C(0xF0658115), UINT32_C(0xE8CD786D),
14383           UINT32_C(0xAC54D2AB), UINT32_C(0x023D515A)},
14384          {UINT32_C(0x67559911), UINT32_C(0x0EDE61D8), UINT32_C(0x3C2B78B5),
14385           UINT32_C(0xBC12B106), UINT32_C(0x9E4707D8), UINT32_C(0xB5661A28),
14386           UINT32_C(0xADC095A4), UINT32_C(0x93FB4096)}},
14387         {{UINT32_C(0x33D5FA08), UINT32_C(0xEEB3810F), UINT32_C(0x33F4CAAF),
14388           UINT32_C(0x8D8FC354), UINT32_C(0x29EB08A3), UINT32_C(0xED870516),
14389           UINT32_C(0xD1D31EBC), UINT32_C(0x89FD91CA)},
14390          {UINT32_C(0xEDE2494B), UINT32_C(0xD2F1F832), UINT32_C(0xFA8EEA95),
14391           UINT32_C(0xCFEE1D77), UINT32_C(0x3B0F005C), UINT32_C(0x13603C4A),
14392           UINT32_C(0xD9EF68F4), UINT32_C(0x6DF97F85)}},
14393         {{UINT32_C(0x55410512), UINT32_C(0x578FBC0A), UINT32_C(0xDEC79EEE),
14394           UINT32_C(0x1FA404F2), UINT32_C(0x92B60820), UINT32_C(0x201FE215),
14395           UINT32_C(0x0A56193A), UINT32_C(0x9A9B3CE8)},
14396          {UINT32_C(0x10B49800), UINT32_C(0x8A5ECCB9), UINT32_C(0xBFDB1D8E),
14397           UINT32_C(0xA7373AEB), UINT32_C(0x4944B5DF), UINT32_C(0x8996BEFA),
14398           UINT32_C(0x7B44246C), UINT32_C(0x3102D3C0)}},
14399         {{UINT32_C(0x449C09BE), UINT32_C(0xD4A853B7), UINT32_C(0x51DDB7FE),
14400           UINT32_C(0x1F7080A4), UINT32_C(0xE1C27FC1), UINT32_C(0x8A9DE52C),
14401           UINT32_C(0x0C58B99D), UINT32_C(0x6585B54F)},
14402          {UINT32_C(0xB5A4AB53), UINT32_C(0x8EEB0601), UINT32_C(0x48C73AC6),
14403           UINT32_C(0x977D658D), UINT32_C(0x3D9BD223), UINT32_C(0xD5DA0903),
14404           UINT32_C(0xBE115965), UINT32_C(0x881A5838)}},
14405         {{UINT32_C(0xEB3FC303), UINT32_C(0x8EB70B77), UINT32_C(0x98BDB841),
14406           UINT32_C(0xED1C4DEF), UINT32_C(0x997DE9E4), UINT32_C(0x13E6BE06),
14407           UINT32_C(0x9334D46D), UINT32_C(0x4A94C0A1)},
14408          {UINT32_C(0x0F867DAF), UINT32_C(0x184C17C8), UINT32_C(0x33A64148),
14409           UINT32_C(0x4A658026), UINT32_C(0x0AE3D4AA), UINT32_C(0xD177F009),
14410           UINT32_C(0x98ED12C0), UINT32_C(0x8134AC8F)}},
14411         {{UINT32_C(0x7A58DDEC), UINT32_C(0x7A308A00), UINT32_C(0xFDF92DF2),
14412           UINT32_C(0x74A15C5F), UINT32_C(0x21B4E345), UINT32_C(0x210D260E),
14413           UINT32_C(0xC651E31E), UINT32_C(0x6446715B)},
14414          {UINT32_C(0x10B905B6), UINT32_C(0xB1AF1F84), UINT32_C(0xA62D366F),
14415           UINT32_C(0xEF6CD0F2), UINT32_C(0xD1F6B7E3), UINT32_C(0x77E47B01),
14416           UINT32_C(0x2B95BD12), UINT32_C(0x0F38B280)}},
14417         {{UINT32_C(0x8CCCDAE6), UINT32_C(0x52DA30E1), UINT32_C(0xBD86A13A),
14418           UINT32_C(0x9F3D6636), UINT32_C(0xF4EA6151), UINT32_C(0xADFA00C5),
14419           UINT32_C(0x1EC37639), UINT32_C(0x6B93BFA0)},
14420          {UINT32_C(0xF8FE22FC), UINT32_C(0x443F0023), UINT32_C(0xA81FEACC),
14421           UINT32_C(0xCB7848A4), UINT32_C(0x517E9E61), UINT32_C(0xCE5E650A),
14422           UINT32_C(0xA1968E3D), UINT32_C(0x5842DB7D)}},
14423         {{UINT32_C(0x98C06F78), UINT32_C(0x61DDC694), UINT32_C(0x7985B1A2),
14424           UINT32_C(0x680FEDE9), UINT32_C(0xFB53A327), UINT32_C(0x214CD2B8),
14425           UINT32_C(0xE425132B), UINT32_C(0x98EAC0B3)},
14426          {UINT32_C(0x33E5766D), UINT32_C(0x5EEDD76D), UINT32_C(0x540000A3),
14427           UINT32_C(0x5B280618), UINT32_C(0x65C894AE), UINT32_C(0x915D55CB),
14428           UINT32_C(0xD20D9523), UINT32_C(0x7B088A36)}},
14429         {{UINT32_C(0xC28DA278), UINT32_C(0x51A47312), UINT32_C(0xEFE64521),
14430           UINT32_C(0xE315CBA4), UINT32_C(0x49D8D0FF), UINT32_C(0x3EF70A18),
14431           UINT32_C(0xCABD48C5), UINT32_C(0x0990CB92)},
14432          {UINT32_C(0xA7C2FC76), UINT32_C(0x22ED6302), UINT32_C(0x2CB98186),
14433           UINT32_C(0xB50370EA), UINT32_C(0xF3F2BA8B), UINT32_C(0xDEA88C65),
14434           UINT32_C(0x09FEDEEA), UINT32_C(0x09062451)}},
14435         {{UINT32_C(0xDAC0F222), UINT32_C(0x742F9A2E), UINT32_C(0x95C88A8E),
14436           UINT32_C(0xE2A8842B), UINT32_C(0x9D817B14), UINT32_C(0x80C05765),
14437           UINT32_C(0x982D49AE), UINT32_C(0x7ED0521A)},
14438          {UINT32_C(0x907B10F7), UINT32_C(0x047E49D4), UINT32_C(0xDE8AD4CD),
14439           UINT32_C(0x8A3E23A7), UINT32_C(0xEB5292B1), UINT32_C(0xEBE8C13F),
14440           UINT32_C(0xA7EB70BD), UINT32_C(0x048A6209)}},
14441         {{UINT32_C(0x9AA34851), UINT32_C(0xB51665A0), UINT32_C(0x7C4AFCEE),
14442           UINT32_C(0x4DD5AC1B), UINT32_C(0x25A21937), UINT32_C(0x00DEE7AB),
14443           UINT32_C(0x80FAF232), UINT32_C(0x88E2681E)},
14444          {UINT32_C(0xB5411EE2), UINT32_C(0x79ECD66A), UINT32_C(0xF370BF53),
14445           UINT32_C(0x06008CE3), UINT32_C(0xC9BBB64C), UINT32_C(0xCFB1850E),
14446           UINT32_C(0x7149B14E), UINT32_C(0x5FBACB27)}},
14447         {{UINT32_C(0x9938AA0C), UINT32_C(0xA1F0EE07), UINT32_C(0x74CCE9C4),
14448           UINT32_C(0x6945E2BA), UINT32_C(0x46A98BEA), UINT32_C(0x16689FCE),
14449           UINT32_C(0xCF67DF91), UINT32_C(0x8D71F405)},
14450          {UINT32_C(0x69621150), UINT32_C(0x71E4CAC8), UINT32_C(0x89B380D8),
14451           UINT32_C(0x518FA200), UINT32_C(0x53F9E660), UINT32_C(0x3B3B85F1),
14452           UINT32_C(0xC6D9B022), UINT32_C(0x02643303)}},
14453         {{UINT32_C(0x07660C3E), UINT32_C(0xE8C478EC), UINT32_C(0xEF41F1DA),
14454           UINT32_C(0xA906C3A1), UINT32_C(0x46699B71), UINT32_C(0xE918F160),
14455           UINT32_C(0xE5BE7B36), UINT32_C(0x2B8A0B0E)},
14456          {UINT32_C(0x889F50A0), UINT32_C(0xC663F0EC), UINT32_C(0xF9214F81),
14457           UINT32_C(0x7413264B), UINT32_C(0x421A9087), UINT32_C(0x2E9FA9A0),
14458           UINT32_C(0x83546DCD), UINT32_C(0x85C59B7C)}},
14459         {{UINT32_C(0x8D920A29), UINT32_C(0xB4A6CF39), UINT32_C(0x1B3956A1),
14460           UINT32_C(0xC857AF48), UINT32_C(0xDD794B23), UINT32_C(0x519C7371),
14461           UINT32_C(0x8EFBF8F9), UINT32_C(0x47846220)},
14462          {UINT32_C(0x617E4C6C), UINT32_C(0x184C25E5), UINT32_C(0xD2E51A5E),
14463           UINT32_C(0x218FCC23), UINT32_C(0x28FA0FFC), UINT32_C(0xB4219719),
14464           UINT32_C(0x781A61D9), UINT32_C(0x6C0BCD71)}},
14465         {{UINT32_C(0xDC7B5568), UINT32_C(0x440D6DDF), UINT32_C(0x0DBBEC7C),
14466           UINT32_C(0x64C7CC31), UINT32_C(0xA2DC0CBA), UINT32_C(0x63D16D4E),
14467           UINT32_C(0x4504BE2C), UINT32_C(0x7BD9E0CC)},
14468          {UINT32_C(0x2DE780A8), UINT32_C(0x9C882895), UINT32_C(0xEF2B2486),
14469           UINT32_C(0x7C6685C2), UINT32_C(0x957FA7D8), UINT32_C(0xF1FB09E9),
14470           UINT32_C(0x46A77A98), UINT32_C(0x20C6B5A5)}},
14471         {{UINT32_C(0x33C0F0C1), UINT32_C(0x60C77573), UINT32_C(0xCADDA5FE),
14472           UINT32_C(0x40C93227), UINT32_C(0x9DD41D5F), UINT32_C(0xA48EBAA2),
14473           UINT32_C(0xEA9FD5AD), UINT32_C(0x4AAFBF3C)},
14474          {UINT32_C(0xC5A287BA), UINT32_C(0x7EB61836), UINT32_C(0xB31BA25E),
14475           UINT32_C(0x1D6A1BA2), UINT32_C(0xAD186E52), UINT32_C(0x60507257),
14476           UINT32_C(0x2BAB7451), UINT32_C(0x7FEC8EB0)}},
14477     },
14478     {
14479         {{UINT32_C(0xB8DA5FFE), UINT32_C(0x500E2FDB), UINT32_C(0x8CDD1B39),
14480           UINT32_C(0x6AE2D4EA), UINT32_C(0x1A5840CD), UINT32_C(0x38D12025),
14481           UINT32_C(0xC214D26D), UINT32_C(0x8D3B20CB)},
14482          {UINT32_C(0xC041E874), UINT32_C(0xEF6BB36C), UINT32_C(0x450F2218),
14483           UINT32_C(0x67660393), UINT32_C(0xA892BDFD), UINT32_C(0x1E1B7782),
14484           UINT32_C(0x8D962E62), UINT32_C(0x2D69514C)}},
14485         {{UINT32_C(0x9631B095), UINT32_C(0x9EDF5F78), UINT32_C(0x45BF8F20),
14486           UINT32_C(0xAC7DD687), UINT32_C(0xE3262EBC), UINT32_C(0x257CCE28),
14487           UINT32_C(0xE0E480A6), UINT32_C(0x5D32EFCB)},
14488          {UINT32_C(0x6FBB99E8), UINT32_C(0xED48E34C), UINT32_C(0x23FDE9B7),
14489           UINT32_C(0x50B1D58C), UINT32_C(0x6B6927C8), UINT32_C(0xC5164C2A),
14490           UINT32_C(0x8906B705), UINT32_C(0x8A0BC606)}},
14491         {{UINT32_C(0x2F747DA8), UINT32_C(0x3FA3C7C9), UINT32_C(0x14938E08),
14492           UINT32_C(0x2E8D2C2E), UINT32_C(0xB6A1C720), UINT32_C(0x155A8A5B),
14493           UINT32_C(0xB3133FD0), UINT32_C(0x6B4D8C9E)},
14494          {UINT32_C(0xCE131C1D), UINT32_C(0x079AC7F1), UINT32_C(0x815B7D2B),
14495           UINT32_C(0x9CF419AF), UINT32_C(0xE60B6245), UINT32_C(0x569EB7BA),
14496           UINT32_C(0x9A3DD94E), UINT32_C(0x03C79E60)}},
14497         {{UINT32_C(0xB9CE9502), UINT32_C(0x328F5296), UINT32_C(0xE45C3576),
14498           UINT32_C(0xCA44ADBD), UINT32_C(0x6194AE2C), UINT32_C(0x66987952),
14499           UINT32_C(0xBF9B8C49), UINT32_C(0x5875F8EF)},
14500          {UINT32_C(0xDA51CAB8), UINT32_C(0x525A4D53), UINT32_C(0x9DC268B2),
14501           UINT32_C(0x91A592DD), UINT32_C(0xE1E3C168), UINT32_C(0xD7EA7958),
14502           UINT32_C(0xA999ED30), UINT32_C(0x0D1E20E0)}},
14503         {{UINT32_C(0xFE8AD270), UINT32_C(0x55DA34E5), UINT32_C(0x61EC55F6),
14504           UINT32_C(0xB0412895), UINT32_C(0x534569C9), UINT32_C(0x0D45670F),
14505           UINT32_C(0xE23F69FB), UINT32_C(0x5A7E6764)},
14506          {UINT32_C(0xA8B28676), UINT32_C(0xBB6BBEC9), UINT32_C(0x093B0D1D),
14507           UINT32_C(0x4F924558), UINT32_C(0x0C29D841), UINT32_C(0xD4E4BF12),
14508           UINT32_C(0x578A237A), UINT32_C(0x67D2B4C8)}},
14509         {{UINT32_C(0x63EF2D73), UINT32_C(0x0BDF32D6), UINT32_C(0x4AE4303C),
14510           UINT32_C(0x7248DD2D), UINT32_C(0x6CE1E92A), UINT32_C(0xBB61BAB5),
14511           UINT32_C(0x1D7B9A6C), UINT32_C(0x126166E9)},
14512          {UINT32_C(0x11CEBC3C), UINT32_C(0x4CE7086A), UINT32_C(0x1C71426F),
14513           UINT32_C(0xE7ACB25E), UINT32_C(0x432CC4AF), UINT32_C(0xBFB65EDC),
14514           UINT32_C(0xCB018CF7), UINT32_C(0x3BCA5202)}},
14515         {{UINT32_C(0x76430A87), UINT32_C(0xACF034F2), UINT32_C(0x534C42ED),
14516           UINT32_C(0xBFDF19B3), UINT32_C(0x7946CB1A), UINT32_C(0x05654FE6),
14517           UINT32_C(0x80F17880), UINT32_C(0x0DB07E79)},
14518          {UINT32_C(0xFDCF8BC9), UINT32_C(0xE6E93101), UINT32_C(0xF798A8CD),
14519           UINT32_C(0xF3198B87), UINT32_C(0xC9683420), UINT32_C(0xC05444EF),
14520           UINT32_C(0x915D1BF1), UINT32_C(0x56E9AA68)}},
14521         {{UINT32_C(0x34000B11), UINT32_C(0xF27B298B), UINT32_C(0xF4196E50),
14522           UINT32_C(0x70ED8C95), UINT32_C(0x233C8764), UINT32_C(0xF3E16608),
14523           UINT32_C(0x41881557), UINT32_C(0x5B97655A)},
14524          {UINT32_C(0x128C195B), UINT32_C(0x5BF11C1A), UINT32_C(0x372C286D),
14525           UINT32_C(0xFFB64333), UINT32_C(0x7C83BB31), UINT32_C(0x084D3EF7),
14526           UINT32_C(0x745B7D75), UINT32_C(0x8ECF6C01)}},
14527         {{UINT32_C(0xC6F4FF82), UINT32_C(0x3D6052B9), UINT32_C(0x6607892F),
14528           UINT32_C(0x9305FE45), UINT32_C(0x5879425F), UINT32_C(0x232FD87E),
14529           UINT32_C(0xD6F47350), UINT32_C(0x4CAEDF73)},
14530          {UINT32_C(0x032FC50D), UINT32_C(0x889243D2), UINT32_C(0x0C9C11AC),
14531           UINT32_C(0xA6AF69D7), UINT32_C(0x802E8E06), UINT32_C(0x43B5429D),
14532           UINT32_C(0xD70FC802), UINT32_C(0x38F1DEA8)}},
14533         {{UINT32_C(0xC9595C08), UINT32_C(0x54F24344), UINT32_C(0x0240AAB3),
14534           UINT32_C(0x95A2E8FB), UINT32_C(0xC3544985), UINT32_C(0x07A5109D),
14535           UINT32_C(0xB5D30899), UINT32_C(0x96F44213)},
14536          {UINT32_C(0xAA347497), UINT32_C(0x03FAB192), UINT32_C(0xC9CFC073),
14537           UINT32_C(0x47FFD3DE), UINT32_C(0xD2C1D57F), UINT32_C(0x283AD765),
14538           UINT32_C(0x62DC271A), UINT32_C(0x1FDFFBAC)}},
14539         {{UINT32_C(0x95F80CA6), UINT32_C(0x2355C629), UINT32_C(0xCD8D880A),
14540           UINT32_C(0x90AE1DBB), UINT32_C(0xC54117E0), UINT32_C(0x563CC122),
14541           UINT32_C(0x813D7481), UINT32_C(0x1EF4991B)},
14542          {UINT32_C(0xCCE9AEDE), UINT32_C(0x8A310D77), UINT32_C(0x9318642E),
14543           UINT32_C(0xA401FAEF), UINT32_C(0xCF9AFDCB), UINT32_C(0xC1712A67),
14544           UINT32_C(0xBE499DE5), UINT32_C(0x8D97374C)}},
14545         {{UINT32_C(0x55A0BC07), UINT32_C(0x7437AA3B), UINT32_C(0xF726DD81),
14546           UINT32_C(0x004946D0), UINT32_C(0x0F341860), UINT32_C(0x33D41D1B),
14547           UINT32_C(0x17840F0D), UINT32_C(0x2A009EB5)},
14548          {UINT32_C(0xAA0DCDCF), UINT32_C(0x158F59AE), UINT32_C(0xEAB42135),
14549           UINT32_C(0xF686EF2D), UINT32_C(0x7A80C670), UINT32_C(0xFF6B8E82),
14550           UINT32_C(0xA04DF944), UINT32_C(0x38646963)}},
14551         {{UINT32_C(0x4B987E90), UINT32_C(0x6BB2705E), UINT32_C(0xD3C36316),
14552           UINT32_C(0x2F5E2C4D), UINT32_C(0xE5A9ECEC), UINT32_C(0x41B38905),
14553           UINT32_C(0x55BF8D1A), UINT32_C(0x2C6BA681)},
14554          {UINT32_C(0x3C92B20B), UINT32_C(0x1121B3B2), UINT32_C(0x904305D5),
14555           UINT32_C(0x6DE41B12), UINT32_C(0xD569EAC4), UINT32_C(0xA0496CF4),
14556           UINT32_C(0x11E5CF90), UINT32_C(0x5C64A06C)}},
14557         {{UINT32_C(0xE28783DF), UINT32_C(0xA65F12AB), UINT32_C(0x37322285),
14558           UINT32_C(0x2A891B0F), UINT32_C(0x9811C4EB), UINT32_C(0xD6FF4604),
14559           UINT32_C(0xA8505AC0), UINT32_C(0x7C960ED5)},
14560          {UINT32_C(0x2FCA110D), UINT32_C(0xE8689377), UINT32_C(0x60FD893E),
14561           UINT32_C(0x71AAE292), UINT32_C(0x7505671D), UINT32_C(0x8ADE5317),
14562           UINT32_C(0x8C508791), UINT32_C(0x721A07A5)}},
14563         {{UINT32_C(0xE5ECCA8C), UINT32_C(0xC1AE9A50), UINT32_C(0x07EB4329),
14564           UINT32_C(0x7528AEF5), UINT32_C(0xD1297D88), UINT32_C(0x8F0D0E03),
14565           UINT32_C(0x244BBC0C), UINT32_C(0x27C7BF76)},
14566          {UINT32_C(0xC7E7E9BB), UINT32_C(0x96EEDA7C), UINT32_C(0xF96C99B3),
14567           UINT32_C(0xC9749BF7), UINT32_C(0x467B4D43), UINT32_C(0x44C852D2),
14568           UINT32_C(0x937FA21D), UINT32_C(0x1691D71D)}},
14569         {{UINT32_C(0xF8058A68), UINT32_C(0x8CAC092F), UINT32_C(0xDAE38445),
14570           UINT32_C(0x6B892BCF), UINT32_C(0x97D76059), UINT32_C(0x82CBECE5),
14571           UINT32_C(0x3518F9E2), UINT32_C(0x5AEB6646)},
14572          {UINT32_C(0x392080B4), UINT32_C(0xA39C710C), UINT32_C(0x1502DE54),
14573           UINT32_C(0x575DC5F4), UINT32_C(0x3A3D2B4D), UINT32_C(0xA465DD5E),
14574           UINT32_C(0x638EAF45), UINT32_C(0x281AAE47)}},
14575     },
14576     {
14577         {{UINT32_C(0xE955A145), UINT32_C(0xBE40C92B), UINT32_C(0x324234B5),
14578           UINT32_C(0xD464D6BC), UINT32_C(0xB09D4AF8), UINT32_C(0xE8084747),
14579           UINT32_C(0x5268D6C3), UINT32_C(0x939C70BF)},
14580          {UINT32_C(0xD1DDBB48), UINT32_C(0x9C9C9D25), UINT32_C(0x790B5B42),
14581           UINT32_C(0x30D9EA7F), UINT32_C(0x4E3914B4), UINT32_C(0x367FD79B),
14582           UINT32_C(0x826EE4D7), UINT32_C(0x27615F29)}},
14583         {{UINT32_C(0x50A41246), UINT32_C(0x09BB6F16), UINT32_C(0xE5459A13),
14584           UINT32_C(0xC72BFF7A), UINT32_C(0xFF09B2F7), UINT32_C(0x0FC15846),
14585           UINT32_C(0x09CB693A), UINT32_C(0x6D904062)},
14586          {UINT32_C(0xF40FC67D), UINT32_C(0x98A132F8), UINT32_C(0xDF37CBFA),
14587           UINT32_C(0xC8B6573B), UINT32_C(0x99D7FC36), UINT32_C(0xC9CF9948),
14588           UINT32_C(0xA7235DDB), UINT32_C(0x0DD66ABA)}},
14589         {{UINT32_C(0xF96048BD), UINT32_C(0x0180B525), UINT32_C(0x544F1E70),
14590           UINT32_C(0xEB566786), UINT32_C(0x8EF4373C), UINT32_C(0x8BABBF9B),
14591           UINT32_C(0xD9E49178), UINT32_C(0x509BA431)},
14592          {UINT32_C(0x65A4A201), UINT32_C(0xF961A6F5), UINT32_C(0x8D44ED2D),
14593           UINT32_C(0xB6621DF9), UINT32_C(0xD7B4D744), UINT32_C(0xEADD3C0C),
14594           UINT32_C(0x0EAAB110), UINT32_C(0x75D27E99)}},
14595         {{UINT32_C(0x85DF5695), UINT32_C(0xEAC7AC76), UINT32_C(0xDA7540A3),
14596           UINT32_C(0x02C26274), UINT32_C(0xC659B610), UINT32_C(0xDEC1BBC4),
14597           UINT32_C(0x3AC61EEB), UINT32_C(0x54483C1B)},
14598          {UINT32_C(0x217E0283), UINT32_C(0x8B91209A), UINT32_C(0x3A17DDFE),
14599           UINT32_C(0x939FBDAF), UINT32_C(0x5BF98726), UINT32_C(0xA82C66D6),
14600           UINT32_C(0x915AAC76), UINT32_C(0x2BA82FA0)}},
14601         {{UINT32_C(0xAF4542E8), UINT32_C(0x99B324C1), UINT32_C(0xC0F225E0),
14602           UINT32_C(0x16EBC66F), UINT32_C(0x27FEF57B), UINT32_C(0xEAE69563),
14603           UINT32_C(0x961B03FA), UINT32_C(0x2996FE3C)},
14604          {UINT32_C(0x4F967A68), UINT32_C(0x0835212E), UINT32_C(0xF44352DC),
14605           UINT32_C(0x0AAABD99), UINT32_C(0x4B3A6B8D), UINT32_C(0x1874255F),
14606           UINT32_C(0x6D10B369), UINT32_C(0x45F5D8B2)}},
14607         {{UINT32_C(0xF7B7644B), UINT32_C(0x603DD497), UINT32_C(0x2D1386AA),
14608           UINT32_C(0x369BE676), UINT32_C(0x14C9FA94), UINT32_C(0x08C1B763),
14609           UINT32_C(0x384AF696), UINT32_C(0x734921D9)},
14610          {UINT32_C(0xD76E8EEB), UINT32_C(0xA1B5AF5B), UINT32_C(0x42F990E8),
14611           UINT32_C(0xB0EAE7A3), UINT32_C(0x069ED81D), UINT32_C(0x59E7C515),
14612           UINT32_C(0xB5A50610), UINT32_C(0x2D1B5E62)}},
14613         {{UINT32_C(0x85995BD3), UINT32_C(0xDC322810), UINT32_C(0x873E7A09),
14614           UINT32_C(0x35A47B05), UINT32_C(0xA70DE932), UINT32_C(0x0CDFE9BB),
14615           UINT32_C(0xD62FBC89), UINT32_C(0x049B899D)},
14616          {UINT32_C(0x652291DB), UINT32_C(0xF6BAA860), UINT32_C(0x9AF7478F),
14617           UINT32_C(0x58123B25), UINT32_C(0x47B9F204), UINT32_C(0xA05CCBC2),
14618           UINT32_C(0x82D999A7), UINT32_C(0x8A0B479D)}},
14619         {{UINT32_C(0x2D0F619A), UINT32_C(0xA72B9B52), UINT32_C(0x5919C420),
14620           UINT32_C(0xE73B66F7), UINT32_C(0xD21CFEFE), UINT32_C(0x92319C86),
14621           UINT32_C(0xF1635F0E), UINT32_C(0x58EEFC71)},
14622          {UINT32_C(0xDA909290), UINT32_C(0xDC481783), UINT32_C(0x66316584),
14623           UINT32_C(0x144E7A98), UINT32_C(0x45E1E3C8), UINT32_C(0xBD7E657F),
14624           UINT32_C(0xBD93938C), UINT32_C(0x5C9FCD1C)}},
14625         {{UINT32_C(0x436C1AB3), UINT32_C(0x2339E2FA), UINT32_C(0xC26768AA),
14626           UINT32_C(0x69C22269), UINT32_C(0x40FCBD90), UINT32_C(0x94DFCAF4),
14627           UINT32_C(0xC41D4F61), UINT32_C(0x56235739)},
14628          {UINT32_C(0x718468D3), UINT32_C(0x6E50D4DB), UINT32_C(0xCADCEC6C),
14629           UINT32_C(0xDEA80730), UINT32_C(0x63DC3C43), UINT32_C(0x924FF97E),
14630           UINT32_C(0x6752EA6A), UINT32_C(0x1B652825)}},
14631         {{UINT32_C(0xF07BE4BB), UINT32_C(0xAC2BDCDD), UINT32_C(0x8DB0A32D),
14632           UINT32_C(0xB46D8E96), UINT32_C(0xB618488D), UINT32_C(0xDD661C68),
14633           UINT32_C(0x75E1E4BF), UINT32_C(0x8ED22D4B)},
14634          {UINT32_C(0x3C177D80), UINT32_C(0x5DD2E5DF), UINT32_C(0x82803711),
14635           UINT32_C(0x5049C012), UINT32_C(0x73E0BA27), UINT32_C(0xFB243B3F),
14636           UINT32_C(0x8C7810D5), UINT32_C(0x0C756BA0)}},
14637         {{UINT32_C(0x6F16FBCA), UINT32_C(0xFC58F0BD), UINT32_C(0xA5E33B36),
14638           UINT32_C(0xA855BB8C), UINT32_C(0x99D08247), UINT32_C(0xB9239EB4),
14639           UINT32_C(0x49CAF40D), UINT32_C(0x27ABC78D)},
14640          {UINT32_C(0xA1285278), UINT32_C(0x88BE1595), UINT32_C(0x60F16638),
14641           UINT32_C(0x9D5AEE5B), UINT32_C(0x1FCE4327), UINT32_C(0x3F381529),
14642           UINT32_C(0xF19CAA04), UINT32_C(0x17206899)}},
14643         {{UINT32_C(0x9E047F55), UINT32_C(0x58616348), UINT32_C(0xE991FC4C),
14644           UINT32_C(0x0D6098A5), UINT32_C(0x99A33914), UINT32_C(0x47760F98),
14645           UINT32_C(0x5608C80E), UINT32_C(0x70C8F5D4)},
14646          {UINT32_C(0x06036DBE), UINT32_C(0x405F1191), UINT32_C(0x80CC0A27),
14647           UINT32_C(0xBF625895), UINT32_C(0x389FA7BF), UINT32_C(0xFB8A0330),
14648           UINT32_C(0x1FA0CBB4), UINT32_C(0x22B0B946)}},
14649         {{UINT32_C(0x1B1E2ACD), UINT32_C(0x84AE1981), UINT32_C(0x63961891),
14650           UINT32_C(0xFA23C205), UINT32_C(0x742C1653), UINT32_C(0xCF4C685E),
14651           UINT32_C(0x4D303078), UINT32_C(0x55BFC744)},
14652          {UINT32_C(0xBA03AAE4), UINT32_C(0xEB131CBB), UINT32_C(0x2C5B9EAB),
14653           UINT32_C(0xF338C0DB), UINT32_C(0xB7495209), UINT32_C(0xC1006396),
14654           UINT32_C(0xF7E6A4E6), UINT32_C(0x0FD928CF)}},
14655         {{UINT32_C(0x8633AB84), UINT32_C(0xA6BAC994), UINT32_C(0x75364642),
14656           UINT32_C(0xC165BF5A), UINT32_C(0x8C57070D), UINT32_C(0xB70BEB47),
14657           UINT32_C(0xD416322E), UINT32_C(0x838158A0)},
14658          {UINT32_C(0xD4957751), UINT32_C(0x501D2BFD), UINT32_C(0xC23AA730),
14659           UINT32_C(0xF1CDDF32), UINT32_C(0x5458F1C6), UINT32_C(0xF64558A8),
14660           UINT32_C(0x06E1209C), UINT32_C(0x51B6DDE3)}},
14661         {{UINT32_C(0xCC31D6BE), UINT32_C(0x0712C186), UINT32_C(0x33CD1D3F),
14662           UINT32_C(0x91C4064A), UINT32_C(0xC7C91F53), UINT32_C(0xCADAE5B0),
14663           UINT32_C(0xDEB2A2EE), UINT32_C(0x52AA408F)},
14664          {UINT32_C(0x202719D5), UINT32_C(0x058675CC), UINT32_C(0x1D087D07),
14665           UINT32_C(0x444F99F5), UINT32_C(0x9D7A8AF4), UINT32_C(0x4DB587E8),
14666           UINT32_C(0xDA17095A), UINT32_C(0x389376F5)}},
14667         {{UINT32_C(0x48FED385), UINT32_C(0x8262D370), UINT32_C(0x1AE92689),
14668           UINT32_C(0x3B1FB466), UINT32_C(0x24242CF4), UINT32_C(0xDA6F570F),
14669           UINT32_C(0x0DEAC5E9), UINT32_C(0x0532FC9E)},
14670          {UINT32_C(0x20C5BD7B), UINT32_C(0x5E8FB740), UINT32_C(0x002624B3),
14671           UINT32_C(0x5AE99925), UINT32_C(0x7AFADC15), UINT32_C(0xAD44A4D5),
14672           UINT32_C(0xDF409330), UINT32_C(0x6AECBC80)}},
14673     }};
14674
14675 /*-
14676  * Q := 2P, both projective, Q and P same pointers OK
14677  * Autogenerated: op3/dbl_proj.op3
14678  * https://eprint.iacr.org/2015/1060 Alg 6
14679  * ASSERT: a = -3
14680  */
14681 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
14682     /* temporary variables */
14683     fe_t t0, t1, t2, t3, t4;
14684     /* constants */
14685     const limb_t *b = const_b;
14686     /* set pointers for legacy curve arith */
14687     const limb_t *X = P->X;
14688     const limb_t *Y = P->Y;
14689     const limb_t *Z = P->Z;
14690     limb_t *X3 = Q->X;
14691     limb_t *Y3 = Q->Y;
14692     limb_t *Z3 = Q->Z;
14693
14694     /* the curve arith formula */
14695     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t0, X);
14696     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t1, Y);
14697     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t2, Z);
14698     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, X, Y);
14699     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t3, t3);
14700     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y, Z);
14701     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, X, Z);
14702     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
14703     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, t2);
14704     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, Z3);
14705     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, Y3, Y3);
14706     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X3, Y3);
14707     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, t1, Y3);
14708     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
14709     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Y3);
14710     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, t3);
14711     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t2, t2);
14712     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t2, t3);
14713     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z3);
14714     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t2);
14715     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t0);
14716     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, Z3, Z3);
14717     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t3);
14718     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t0, t0);
14719     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t3, t0);
14720     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
14721     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, t0, Z3);
14722     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t0);
14723     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t4, t4);
14724     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, Z3);
14725     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, Z3);
14726     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, t1);
14727     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
14728     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
14729 }
14730
14731 /*-
14732  * R := Q + P where R and Q are projective, P affine.
14733  * R and Q same pointers OK
14734  * R and P same pointers not OK
14735  * Autogenerated: op3/add_mixed.op3
14736  * https://eprint.iacr.org/2015/1060 Alg 5
14737  * ASSERT: a = -3
14738  */
14739 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
14740     /* temporary variables */
14741     fe_t t0, t1, t2, t3, t4;
14742     /* constants */
14743     const limb_t *b = const_b;
14744     /* set pointers for legacy curve arith */
14745     const limb_t *X1 = Q->X;
14746     const limb_t *Y1 = Q->Y;
14747     const limb_t *Z1 = Q->Z;
14748     const limb_t *X2 = P->X;
14749     const limb_t *Y2 = P->Y;
14750     fe_t X3;
14751     fe_t Y3;
14752     fe_t Z3;
14753     limb_t nz;
14754
14755     /* check P for affine inf */
14756     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(&nz, P->Y);
14757
14758     /* the curve arith formula */
14759     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
14760     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
14761     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X2, Y2);
14762     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X1, Y1);
14763     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
14764     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
14765     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
14766     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y2, Z1);
14767     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t4, Y1);
14768     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X2, Z1);
14769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, X1);
14770     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z1);
14771     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
14772     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
14773     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
14774     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
14775     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
14776     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
14777     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Z1, Z1);
14778     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, Z1);
14779     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
14780     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
14781     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
14782     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
14783     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
14784     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
14785     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
14786     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
14787     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
14788     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
14789     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
14790     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
14791     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
14792     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
14793     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
14794     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
14795
14796     /* if P is inf, throw all that away and take Q */
14797     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->X, nz, Q->X, X3);
14798     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Y, nz, Q->Y, Y3);
14799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Z, nz, Q->Z, Z3);
14800 }
14801
14802 /*-
14803  * R := Q + P all projective.
14804  * R and Q same pointers OK
14805  * R and P same pointers not OK
14806  * Autogenerated: op3/add_proj.op3
14807  * https://eprint.iacr.org/2015/1060 Alg 4
14808  * ASSERT: a = -3
14809  */
14810 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
14811     /* temporary variables */
14812     fe_t t0, t1, t2, t3, t4, t5;
14813     /* constants */
14814     const limb_t *b = const_b;
14815     /* set pointers for legacy curve arith */
14816     const limb_t *X1 = Q->X;
14817     const limb_t *Y1 = Q->Y;
14818     const limb_t *Z1 = Q->Z;
14819     const limb_t *X2 = P->X;
14820     const limb_t *Y2 = P->Y;
14821     const limb_t *Z2 = P->Z;
14822     limb_t *X3 = R->X;
14823     limb_t *Y3 = R->Y;
14824     limb_t *Z3 = R->Z;
14825
14826     /* the curve arith formula */
14827     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
14828     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
14829     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, Z1, Z2);
14830     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X1, Y1);
14831     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X2, Y2);
14832     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
14833     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
14834     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
14835     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, Y1, Z1);
14836     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, Y2, Z2);
14837     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, t4, t5);
14838     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, t1, t2);
14839     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t4, t4, t5);
14840     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X1, Z1);
14841     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X2, Z2);
14842     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, Y3);
14843     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t0, t2);
14844     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, X3, Y3);
14845     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, t2);
14846     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
14847     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
14848     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
14849     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
14850     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
14851     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
14852     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t2, t2);
14853     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, t2);
14854     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
14855     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
14856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
14857     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
14858     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
14859     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
14860     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
14861     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
14862     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
14863     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
14864     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
14865     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
14866     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
14867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
14868     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
14869     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
14870 }
14871
14872 /* constants */
14873 #define RADIX 5
14874 #define DRADIX (1 << RADIX)
14875 #define DRADIX_WNAF ((DRADIX) << 1)
14876
14877 /*-
14878  * precomp for wnaf scalar multiplication:
14879  * precomp[0] = 1P
14880  * precomp[1] = 3P
14881  * precomp[2] = 5P
14882  * precomp[3] = 7P
14883  * precomp[4] = 9P
14884  * ...
14885  */
14886 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
14887     int i;
14888
14889     fe_copy(precomp[0].X, P->X);
14890     fe_copy(precomp[0].Y, P->Y);
14891     fe_copy(precomp[0].Z, const_one);
14892     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
14893
14894     for (i = 1; i < DRADIX / 2; i++)
14895         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
14896 }
14897
14898 /* fetch a scalar bit */
14899 static int scalar_get_bit(const unsigned char in[32], int idx) {
14900     int widx, rshift;
14901
14902     widx = idx >> 3;
14903     rshift = idx & 0x7;
14904
14905     if (idx < 0 || widx >= 32) return 0;
14906
14907     return (in[widx] >> rshift) & 0x1;
14908 }
14909
14910 /*-
14911  * Compute "regular" wnaf representation of a scalar.
14912  * See "Exponent Recoding and Regular Exponentiation Algorithms",
14913  * Tunstall et al., AfricaCrypt 2009, Alg 6.
14914  * It forces an odd scalar and outputs digits in
14915  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
14916  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
14917  */
14918 static void scalar_rwnaf(char out[52], const unsigned char in[32]) {
14919     int i;
14920     char window, d;
14921
14922     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
14923     for (i = 0; i < 51; i++) {
14924         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
14925         out[i] = d;
14926         window = (window - d) >> RADIX;
14927         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
14928         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
14929         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
14930         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
14931         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
14932     }
14933     out[i] = window;
14934 }
14935
14936 /*-
14937  * Compute "textbook" wnaf representation of a scalar.
14938  * NB: not constant time
14939  */
14940 static void scalar_wnaf(char out[257], const unsigned char in[32]) {
14941     int i;
14942     char window, d;
14943
14944     window = in[0] & (DRADIX_WNAF - 1);
14945     for (i = 0; i < 257; i++) {
14946         d = 0;
14947         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
14948             d -= DRADIX_WNAF;
14949         out[i] = d;
14950         window = (window - d) >> 1;
14951         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
14952     }
14953 }
14954
14955 /*-
14956  * Simulateous scalar multiplication: interleaved "textbook" wnaf.
14957  * NB: not constant time
14958  */
14959 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
14960                               const unsigned char b[32], const pt_aff_t *P) {
14961     int i, d, is_neg, is_inf = 1, flipped = 0;
14962     char anaf[257] = {0};
14963     char bnaf[257] = {0};
14964     pt_prj_t Q;
14965     pt_prj_t precomp[DRADIX / 2];
14966
14967     precomp_wnaf(precomp, P);
14968     scalar_wnaf(anaf, a);
14969     scalar_wnaf(bnaf, b);
14970
14971     for (i = 256; i >= 0; i--) {
14972         if (!is_inf) point_double(&Q, &Q);
14973         if ((d = bnaf[i])) {
14974             if ((is_neg = d < 0) != flipped) {
14975                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
14976                 flipped ^= 1;
14977             }
14978             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
14979             if (is_inf) {
14980                 /* initialize accumulator */
14981                 fe_copy(Q.X, &precomp[d].X);
14982                 fe_copy(Q.Y, &precomp[d].Y);
14983                 fe_copy(Q.Z, &precomp[d].Z);
14984                 is_inf = 0;
14985             } else
14986                 point_add_proj(&Q, &Q, &precomp[d]);
14987         }
14988         if ((d = anaf[i])) {
14989             if ((is_neg = d < 0) != flipped) {
14990                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
14991                 flipped ^= 1;
14992             }
14993             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
14994             if (is_inf) {
14995                 /* initialize accumulator */
14996                 fe_copy(Q.X, &lut_cmb[0][d].X);
14997                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
14998                 fe_copy(Q.Z, const_one);
14999                 is_inf = 0;
15000             } else
15001                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
15002         }
15003     }
15004
15005     if (is_inf) {
15006         /* initialize accumulator to inf: all-zero scalars */
15007         fe_set_zero(Q.X);
15008         fe_copy(Q.Y, const_one);
15009         fe_set_zero(Q.Z);
15010     }
15011
15012     if (flipped) {
15013         /* correct sign */
15014         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
15015     }
15016
15017     /* convert to affine -- NB depends on coordinate system */
15018     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
15019     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
15020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
15021 }
15022
15023 /*-
15024  * Variable point scalar multiplication with "regular" wnaf.
15025  */
15026 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
15027                            const pt_aff_t *P) {
15028     int i, j, d, diff, is_neg;
15029     char rnaf[52] = {0};
15030     pt_prj_t Q, lut;
15031     pt_prj_t precomp[DRADIX / 2];
15032
15033     precomp_wnaf(precomp, P);
15034     scalar_rwnaf(rnaf, scalar);
15035
15036 #if defined(_MSC_VER)
15037     /* result still unsigned: yes we know */
15038 #pragma warning(push)
15039 #pragma warning(disable : 4146)
15040 #endif
15041
15042     /* initialize accumulator to high digit */
15043     d = (rnaf[51] - 1) >> 1;
15044     for (j = 0; j < DRADIX / 2; j++) {
15045         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
15046         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, diff, Q.X,
15047                                                               precomp[j].X);
15048         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, diff, Q.Y,
15049                                                               precomp[j].Y);
15050         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, diff, Q.Z,
15051                                                               precomp[j].Z);
15052     }
15053
15054     for (i = 50; i >= 0; i--) {
15055         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
15056         d = rnaf[i];
15057         /* is_neg = (d < 0) ? 1 : 0 */
15058         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
15059         /* d = abs(d) */
15060         d = (d ^ -is_neg) + is_neg;
15061         d = (d - 1) >> 1;
15062         for (j = 0; j < DRADIX / 2; j++) {
15063             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
15064             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15065                 lut.X, diff, lut.X, precomp[j].X);
15066             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15067                 lut.Y, diff, lut.Y, precomp[j].Y);
15068             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15069                 lut.Z, diff, lut.Z, precomp[j].Z);
15070         }
15071         /* negate lut point if digit is negative */
15072         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
15073         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(lut.Y, is_neg,
15074                                                               lut.Y, out->Y);
15075         point_add_proj(&Q, &Q, &lut);
15076     }
15077
15078 #if defined(_MSC_VER)
15079 #pragma warning(pop)
15080 #endif
15081
15082     /* conditionally subtract P if the scalar was even */
15083     fe_copy(lut.X, precomp[0].X);
15084     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, precomp[0].Y);
15085     fe_copy(lut.Z, precomp[0].Z);
15086     point_add_proj(&lut, &lut, &Q);
15087     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
15088                                                           lut.X, Q.X);
15089     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
15090                                                           lut.Y, Q.Y);
15091     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
15092                                                           lut.Z, Q.Z);
15093
15094     /* convert to affine -- NB depends on coordinate system */
15095     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
15096     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
15097     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
15098 }
15099
15100 /*-
15101  * Fixed scalar multiplication: comb with interleaving.
15102  */
15103 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
15104     int i, j, k, d, diff, is_neg = 0;
15105     char rnaf[52] = {0};
15106     pt_prj_t Q, R;
15107     pt_aff_t lut;
15108
15109     scalar_rwnaf(rnaf, scalar);
15110
15111     /* initalize accumulator to inf */
15112     fe_set_zero(Q.X);
15113     fe_copy(Q.Y, const_one);
15114     fe_set_zero(Q.Z);
15115
15116 #if defined(_MSC_VER)
15117     /* result still unsigned: yes we know */
15118 #pragma warning(push)
15119 #pragma warning(disable : 4146)
15120 #endif
15121
15122     for (i = 1; i >= 0; i--) {
15123         for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
15124         for (j = 0; j < 27; j++) {
15125             if (j * 2 + i > 51) continue;
15126             d = rnaf[j * 2 + i];
15127             /* is_neg = (d < 0) ? 1 : 0 */
15128             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
15129             /* d = abs(d) */
15130             d = (d ^ -is_neg) + is_neg;
15131             d = (d - 1) >> 1;
15132             for (k = 0; k < DRADIX / 2; k++) {
15133                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
15134                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15135                     lut.X, diff, lut.X, lut_cmb[j][k].X);
15136                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15137                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
15138             }
15139             /* negate lut point if digit is negative */
15140             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
15141             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15142                 lut.Y, is_neg, lut.Y, out->Y);
15143             point_add_mixed(&Q, &Q, &lut);
15144         }
15145     }
15146
15147 #if defined(_MSC_VER)
15148 #pragma warning(pop)
15149 #endif
15150
15151     /* conditionally subtract P if the scalar was even */
15152     fe_copy(lut.X, lut_cmb[0][0].X);
15153     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, lut_cmb[0][0].Y);
15154     point_add_mixed(&R, &Q, &lut);
15155     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
15156                                                           R.X, Q.X);
15157     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
15158                                                           R.Y, Q.Y);
15159     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
15160                                                           R.Z, Q.Z);
15161
15162     /* convert to affine -- NB depends on coordinate system */
15163     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
15164     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
15165     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
15166 }
15167
15168 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
15169                           const unsigned char a[32], const unsigned char b[32],
15170                           const unsigned char inx[32],
15171                           const unsigned char iny[32]) {
15172     pt_aff_t P;
15173
15174     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
15175     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
15176     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
15177     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
15178     /* simultaneous scalar multiplication */
15179     var_smul_wnaf_two(&P, a, b, &P);
15180
15181     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
15182     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
15183     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
15184     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
15185 }
15186
15187 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
15188                         const unsigned char scalar[32]) {
15189     pt_aff_t P;
15190
15191     /* fixed scmul function */
15192     fixed_smul_cmb(&P, scalar);
15193     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
15194     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
15195     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
15196     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
15197 }
15198
15199 static void point_mul(unsigned char outx[32], unsigned char outy[32],
15200                       const unsigned char scalar[32],
15201                       const unsigned char inx[32],
15202                       const unsigned char iny[32]) {
15203     pt_aff_t P;
15204
15205     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
15206     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
15207     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
15208     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
15209     /* var scmul function */
15210     var_smul_rwnaf(&P, scalar, &P);
15211     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
15212     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
15213     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
15214     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
15215 }
15216
15217 #include <openssl/ec.h>
15218
15219 static const unsigned char const_zb[32] = {0};
15220
15221     int
15222     point_mul_two_id_GostR3410_2001_CryptoPro_C_ParamSet(
15223         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
15224         const BIGNUM *m, BN_CTX *ctx) {
15225     int ret = 0;
15226     unsigned char b_x[32];
15227     unsigned char b_y[32];
15228     unsigned char b_n[32];
15229     unsigned char b_m[32];
15230     BIGNUM *x = NULL, *y = NULL;
15231
15232     BN_CTX_start(ctx);
15233     x = BN_CTX_get(ctx);
15234     if ((y = BN_CTX_get(ctx)) == NULL
15235         /* pull out coords as bytes */
15236         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
15237         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
15238         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
15239         goto err;
15240     /* do the simultaneous scalar multiplication */
15241     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
15242     /* check for infinity */
15243     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
15244         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
15245         if (!EC_POINT_set_to_infinity(group, r)) goto err;
15246     } else {
15247         /* otherwise, pack the bytes into the result */
15248         if (BN_lebin2bn(b_x, 32, x) == NULL ||
15249             BN_lebin2bn(b_y, 32, y) == NULL ||
15250             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
15251             goto err;
15252     }
15253     ret = 1;
15254 err:
15255     BN_CTX_end(ctx);
15256     return ret;
15257 }
15258
15259     int
15260     point_mul_id_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
15261                                                      EC_POINT *r,
15262                                                      const EC_POINT *q,
15263                                                      const BIGNUM *m,
15264                                                      BN_CTX *ctx) {
15265     int ret = 0;
15266     unsigned char b_x[32];
15267     unsigned char b_y[32];
15268     unsigned char b_m[32];
15269     BIGNUM *x = NULL, *y = NULL;
15270
15271     BN_CTX_start(ctx);
15272     x = BN_CTX_get(ctx);
15273     if ((y = BN_CTX_get(ctx)) == NULL
15274         /* pull out coords as bytes */
15275         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
15276         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
15277         BN_bn2lebinpad(m, b_m, 32) != 32)
15278         goto err;
15279     /* do the variable scalar multiplication */
15280     point_mul(b_x, b_y, b_m, b_x, b_y);
15281     /* check for infinity */
15282     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
15283         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
15284         if (!EC_POINT_set_to_infinity(group, r)) goto err;
15285     } else {
15286         /* otherwise, pack the bytes into the result */
15287         if (BN_lebin2bn(b_x, 32, x) == NULL ||
15288             BN_lebin2bn(b_y, 32, y) == NULL ||
15289             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
15290             goto err;
15291     }
15292     ret = 1;
15293 err:
15294     BN_CTX_end(ctx);
15295     return ret;
15296 }
15297
15298     int
15299     point_mul_g_id_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
15300                                                        EC_POINT *r,
15301                                                        const BIGNUM *n,
15302                                                        BN_CTX *ctx) {
15303     int ret = 0;
15304     unsigned char b_x[32];
15305     unsigned char b_y[32];
15306     unsigned char b_n[32];
15307     BIGNUM *x = NULL, *y = NULL;
15308
15309     BN_CTX_start(ctx);
15310     x = BN_CTX_get(ctx);
15311     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
15312         goto err;
15313     /* do the fixed scalar multiplication */
15314     point_mul_g(b_x, b_y, b_n);
15315     /* check for infinity */
15316     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
15317         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
15318         if (!EC_POINT_set_to_infinity(group, r)) goto err;
15319     } else {
15320         /* otherwise, pack the bytes into the result */
15321         if (BN_lebin2bn(b_x, 32, x) == NULL ||
15322             BN_lebin2bn(b_y, 32, y) == NULL ||
15323             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
15324             goto err;
15325     }
15326     ret = 1;
15327 err:
15328     BN_CTX_end(ctx);
15329     return ret;
15330 }
15331
15332
15333
15334 #endif /* __SIZEOF_INT128__ */