]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - ecp_id_GostR3410_2001_CryptoPro_C_ParamSet.c
Update INSTALL.md
[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(int8_t out[52], const unsigned char in[32]) {
4563     int i;
4564     int8_t 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(int8_t out[257], const unsigned char in[32]) {
4585     int i;
4586     int8_t 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     int8_t anaf[257] = {0};
4607     int8_t 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     int8_t 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     int8_t 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
4862 #include <openssl/ec.h>
4863
4864 static const unsigned char const_zb[32] = {0};
4865
4866     int
4867     point_mul_two_id_GostR3410_2001_CryptoPro_C_ParamSet(
4868         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
4869         const BIGNUM *m, BN_CTX *ctx) {
4870     int ret = 0;
4871     unsigned char b_x[32];
4872     unsigned char b_y[32];
4873     unsigned char b_n[32];
4874     unsigned char b_m[32];
4875     BIGNUM *x = NULL, *y = NULL;
4876
4877     BN_CTX_start(ctx);
4878     x = BN_CTX_get(ctx);
4879     if ((y = BN_CTX_get(ctx)) == NULL
4880         /* pull out coords as bytes */
4881         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4882         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
4883         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
4884         goto err;
4885     /* do the simultaneous scalar multiplication */
4886     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
4887     /* check for infinity */
4888     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4889         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4890         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4891     } else {
4892         /* otherwise, pack the bytes into the result */
4893         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4894             BN_lebin2bn(b_y, 32, y) == NULL ||
4895             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4896             goto err;
4897     }
4898     ret = 1;
4899 err:
4900     BN_CTX_end(ctx);
4901     return ret;
4902 }
4903
4904     int
4905     point_mul_id_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
4906                                                      EC_POINT *r,
4907                                                      const EC_POINT *q,
4908                                                      const BIGNUM *m,
4909                                                      BN_CTX *ctx) {
4910     int ret = 0;
4911     unsigned char b_x[32];
4912     unsigned char b_y[32];
4913     unsigned char b_m[32];
4914     BIGNUM *x = NULL, *y = NULL;
4915
4916     BN_CTX_start(ctx);
4917     x = BN_CTX_get(ctx);
4918     if ((y = BN_CTX_get(ctx)) == NULL
4919         /* pull out coords as bytes */
4920         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4921         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
4922         BN_bn2lebinpad(m, b_m, 32) != 32)
4923         goto err;
4924     /* do the variable scalar multiplication */
4925     point_mul(b_x, b_y, b_m, b_x, b_y);
4926     /* check for infinity */
4927     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4928         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4929         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4930     } else {
4931         /* otherwise, pack the bytes into the result */
4932         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4933             BN_lebin2bn(b_y, 32, y) == NULL ||
4934             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4935             goto err;
4936     }
4937     ret = 1;
4938 err:
4939     BN_CTX_end(ctx);
4940     return ret;
4941 }
4942
4943     int
4944     point_mul_g_id_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
4945                                                        EC_POINT *r,
4946                                                        const BIGNUM *n,
4947                                                        BN_CTX *ctx) {
4948     int ret = 0;
4949     unsigned char b_x[32];
4950     unsigned char b_y[32];
4951     unsigned char b_n[32];
4952     BIGNUM *x = NULL, *y = NULL;
4953
4954     BN_CTX_start(ctx);
4955     x = BN_CTX_get(ctx);
4956     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
4957         goto err;
4958     /* do the fixed scalar multiplication */
4959     point_mul_g(b_x, b_y, b_n);
4960     /* check for infinity */
4961     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4962         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4963         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4964     } else {
4965         /* otherwise, pack the bytes into the result */
4966         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4967             BN_lebin2bn(b_y, 32, y) == NULL ||
4968             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4969             goto err;
4970     }
4971     ret = 1;
4972 err:
4973     BN_CTX_end(ctx);
4974     return ret;
4975 }
4976
4977
4978
4979 #else /* __SIZEOF_INT128__ */
4980
4981 #include <stdint.h>
4982 #include <string.h>
4983 #define LIMB_BITS 32
4984 #define LIMB_CNT 8
4985 /* Field elements */
4986 typedef uint32_t fe_t[LIMB_CNT];
4987 typedef uint32_t limb_t;
4988
4989 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
4990 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
4991
4992 /* Projective points */
4993 typedef struct {
4994     fe_t X;
4995     fe_t Y;
4996     fe_t Z;
4997 } pt_prj_t;
4998
4999 /* Affine points */
5000 typedef struct {
5001     fe_t X;
5002     fe_t Y;
5003 } pt_aff_t;
5004
5005 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
5006 /*-
5007  * MIT License
5008  *
5009  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
5010  *
5011  * Permission is hereby granted, free of charge, to any person obtaining a copy
5012  * of this software and associated documentation files (the "Software"), to deal
5013  * in the Software without restriction, including without limitation the rights
5014  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5015  * copies of the Software, and to permit persons to whom the Software is
5016  * furnished to do so, subject to the following conditions:
5017  *
5018  * The above copyright notice and this permission notice shall be included in
5019  * all copies or substantial portions of the Software.
5020  *
5021  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
5022  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
5023  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
5024  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
5025  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
5026  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
5027  * SOFTWARE.
5028  */
5029
5030 /* Autogenerated: word_by_word_montgomery --static id_GostR3410_2001_CryptoPro_C_ParamSet 32 0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B */
5031 /* curve description: id_GostR3410_2001_CryptoPro_C_ParamSet */
5032 /* machine_wordsize = 32 (from "32") */
5033 /* requested operations: (all) */
5034 /* m = 0x9b9f605f5a858107ab1ec85e6b41c8aacf846e86789051d37998f7b9022d759b (from "0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B") */
5035 /*                                                                    */
5036 /* NOTE: In addition to the bounds specified above each function, all */
5037 /*   functions synthesized for this Montgomery arithmetic require the */
5038 /*   input to be strictly less than the prime modulus (m), and also   */
5039 /*   require the input to be in the unique saturated representation.  */
5040 /*   All functions also ensure that these two properties are true of  */
5041 /*   return values.                                                   */
5042 /*  */
5043 /* Computed values: */
5044 /* 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) */
5045 /* 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) */
5046
5047 #include <stdint.h>
5048 typedef unsigned char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1;
5049 typedef signed char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1;
5050
5051 #if (-1 & 3) != 3
5052 #error "This code only works on a two's complement system"
5053 #endif
5054
5055 /*
5056  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32 is an addition with carry.
5057  * Postconditions:
5058  *   out1 = (arg1 + arg2 + arg3) mod 2^32
5059  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^32⌋
5060  *
5061  * Input Bounds:
5062  *   arg1: [0x0 ~> 0x1]
5063  *   arg2: [0x0 ~> 0xffffffff]
5064  *   arg3: [0x0 ~> 0xffffffff]
5065  * Output Bounds:
5066  *   out1: [0x0 ~> 0xffffffff]
5067  *   out2: [0x0 ~> 0x1]
5068  */
5069 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
5070     uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
5071     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint32_t arg2,
5072     uint32_t arg3) {
5073     uint64_t x1;
5074     uint32_t x2;
5075     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x3;
5076     x1 = ((arg1 + (uint64_t)arg2) + arg3);
5077     x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
5078     x3 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(x1 >> 32);
5079     *out1 = x2;
5080     *out2 = x3;
5081 }
5082
5083 /*
5084  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32 is a subtraction with borrow.
5085  * Postconditions:
5086  *   out1 = (-arg1 + arg2 + -arg3) mod 2^32
5087  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^32⌋
5088  *
5089  * Input Bounds:
5090  *   arg1: [0x0 ~> 0x1]
5091  *   arg2: [0x0 ~> 0xffffffff]
5092  *   arg3: [0x0 ~> 0xffffffff]
5093  * Output Bounds:
5094  *   out1: [0x0 ~> 0xffffffff]
5095  *   out2: [0x0 ~> 0x1]
5096  */
5097 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
5098     uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
5099     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint32_t arg2,
5100     uint32_t arg3) {
5101     int64_t x1;
5102     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1 x2;
5103     uint32_t x3;
5104     x1 = ((arg2 - (int64_t)arg1) - arg3);
5105     x2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(x1 >> 32);
5106     x3 = (uint32_t)(x1 & UINT32_C(0xffffffff));
5107     *out1 = x3;
5108     *out2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(0x0 - x2);
5109 }
5110
5111 /*
5112  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32 is a multiplication, returning the full double-width result.
5113  * Postconditions:
5114  *   out1 = (arg1 * arg2) mod 2^32
5115  *   out2 = ⌊arg1 * arg2 / 2^32⌋
5116  *
5117  * Input Bounds:
5118  *   arg1: [0x0 ~> 0xffffffff]
5119  *   arg2: [0x0 ~> 0xffffffff]
5120  * Output Bounds:
5121  *   out1: [0x0 ~> 0xffffffff]
5122  *   out2: [0x0 ~> 0xffffffff]
5123  */
5124 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(
5125     uint32_t *out1, uint32_t *out2, uint32_t arg1, uint32_t arg2) {
5126     uint64_t x1;
5127     uint32_t x2;
5128     uint32_t x3;
5129     x1 = ((uint64_t)arg1 * arg2);
5130     x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
5131     x3 = (uint32_t)(x1 >> 32);
5132     *out1 = x2;
5133     *out2 = x3;
5134 }
5135
5136 /*
5137  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32 is a single-word conditional move.
5138  * Postconditions:
5139  *   out1 = (if arg1 = 0 then arg2 else arg3)
5140  *
5141  * Input Bounds:
5142  *   arg1: [0x0 ~> 0x1]
5143  *   arg2: [0x0 ~> 0xffffffff]
5144  *   arg3: [0x0 ~> 0xffffffff]
5145  * Output Bounds:
5146  *   out1: [0x0 ~> 0xffffffff]
5147  */
5148 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
5149     uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
5150     uint32_t arg2, uint32_t arg3) {
5151     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x1;
5152     uint32_t x2;
5153     uint32_t x3;
5154     x1 = (!(!arg1));
5155     x2 = ((fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(0x0 - x1) &
5156           UINT32_C(0xffffffff));
5157     x3 = ((x2 & arg3) | ((~x2) & arg2));
5158     *out1 = x3;
5159 }
5160
5161 /*
5162  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul multiplies two field elements in the Montgomery domain.
5163  * Preconditions:
5164  *   0 ≤ eval arg1 < m
5165  *   0 ≤ eval arg2 < m
5166  * Postconditions:
5167  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
5168  *   0 ≤ eval out1 < m
5169  *
5170  * Input Bounds:
5171  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5172  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5173  * Output Bounds:
5174  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5175  */
5176 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(
5177     uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
5178     uint32_t x1;
5179     uint32_t x2;
5180     uint32_t x3;
5181     uint32_t x4;
5182     uint32_t x5;
5183     uint32_t x6;
5184     uint32_t x7;
5185     uint32_t x8;
5186     uint32_t x9;
5187     uint32_t x10;
5188     uint32_t x11;
5189     uint32_t x12;
5190     uint32_t x13;
5191     uint32_t x14;
5192     uint32_t x15;
5193     uint32_t x16;
5194     uint32_t x17;
5195     uint32_t x18;
5196     uint32_t x19;
5197     uint32_t x20;
5198     uint32_t x21;
5199     uint32_t x22;
5200     uint32_t x23;
5201     uint32_t x24;
5202     uint32_t x25;
5203     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
5204     uint32_t x27;
5205     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
5206     uint32_t x29;
5207     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
5208     uint32_t x31;
5209     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
5210     uint32_t x33;
5211     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
5212     uint32_t x35;
5213     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
5214     uint32_t x37;
5215     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
5216     uint32_t x39;
5217     uint32_t x40;
5218     uint32_t x41;
5219     uint32_t x42;
5220     uint32_t x43;
5221     uint32_t x44;
5222     uint32_t x45;
5223     uint32_t x46;
5224     uint32_t x47;
5225     uint32_t x48;
5226     uint32_t x49;
5227     uint32_t x50;
5228     uint32_t x51;
5229     uint32_t x52;
5230     uint32_t x53;
5231     uint32_t x54;
5232     uint32_t x55;
5233     uint32_t x56;
5234     uint32_t x57;
5235     uint32_t x58;
5236     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
5237     uint32_t x60;
5238     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
5239     uint32_t x62;
5240     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
5241     uint32_t x64;
5242     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
5243     uint32_t x66;
5244     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
5245     uint32_t x68;
5246     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
5247     uint32_t x70;
5248     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x71;
5249     uint32_t x72;
5250     uint32_t x73;
5251     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x74;
5252     uint32_t x75;
5253     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x76;
5254     uint32_t x77;
5255     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
5256     uint32_t x79;
5257     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
5258     uint32_t x81;
5259     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
5260     uint32_t x83;
5261     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
5262     uint32_t x85;
5263     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
5264     uint32_t x87;
5265     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
5266     uint32_t x89;
5267     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
5268     uint32_t x91;
5269     uint32_t x92;
5270     uint32_t x93;
5271     uint32_t x94;
5272     uint32_t x95;
5273     uint32_t x96;
5274     uint32_t x97;
5275     uint32_t x98;
5276     uint32_t x99;
5277     uint32_t x100;
5278     uint32_t x101;
5279     uint32_t x102;
5280     uint32_t x103;
5281     uint32_t x104;
5282     uint32_t x105;
5283     uint32_t x106;
5284     uint32_t x107;
5285     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
5286     uint32_t x109;
5287     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
5288     uint32_t x111;
5289     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
5290     uint32_t x113;
5291     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
5292     uint32_t x115;
5293     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
5294     uint32_t x117;
5295     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
5296     uint32_t x119;
5297     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
5298     uint32_t x121;
5299     uint32_t x122;
5300     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x123;
5301     uint32_t x124;
5302     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x125;
5303     uint32_t x126;
5304     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x127;
5305     uint32_t x128;
5306     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x129;
5307     uint32_t x130;
5308     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x131;
5309     uint32_t x132;
5310     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x133;
5311     uint32_t x134;
5312     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x135;
5313     uint32_t x136;
5314     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x137;
5315     uint32_t x138;
5316     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x139;
5317     uint32_t x140;
5318     uint32_t x141;
5319     uint32_t x142;
5320     uint32_t x143;
5321     uint32_t x144;
5322     uint32_t x145;
5323     uint32_t x146;
5324     uint32_t x147;
5325     uint32_t x148;
5326     uint32_t x149;
5327     uint32_t x150;
5328     uint32_t x151;
5329     uint32_t x152;
5330     uint32_t x153;
5331     uint32_t x154;
5332     uint32_t x155;
5333     uint32_t x156;
5334     uint32_t x157;
5335     uint32_t x158;
5336     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x159;
5337     uint32_t x160;
5338     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x161;
5339     uint32_t x162;
5340     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x163;
5341     uint32_t x164;
5342     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x165;
5343     uint32_t x166;
5344     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x167;
5345     uint32_t x168;
5346     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
5347     uint32_t x170;
5348     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
5349     uint32_t x172;
5350     uint32_t x173;
5351     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
5352     uint32_t x175;
5353     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
5354     uint32_t x177;
5355     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
5356     uint32_t x179;
5357     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
5358     uint32_t x181;
5359     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
5360     uint32_t x183;
5361     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
5362     uint32_t x185;
5363     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x186;
5364     uint32_t x187;
5365     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x188;
5366     uint32_t x189;
5367     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x190;
5368     uint32_t x191;
5369     uint32_t x192;
5370     uint32_t x193;
5371     uint32_t x194;
5372     uint32_t x195;
5373     uint32_t x196;
5374     uint32_t x197;
5375     uint32_t x198;
5376     uint32_t x199;
5377     uint32_t x200;
5378     uint32_t x201;
5379     uint32_t x202;
5380     uint32_t x203;
5381     uint32_t x204;
5382     uint32_t x205;
5383     uint32_t x206;
5384     uint32_t x207;
5385     uint32_t x208;
5386     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
5387     uint32_t x210;
5388     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
5389     uint32_t x212;
5390     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
5391     uint32_t x214;
5392     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
5393     uint32_t x216;
5394     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x217;
5395     uint32_t x218;
5396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x219;
5397     uint32_t x220;
5398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x221;
5399     uint32_t x222;
5400     uint32_t x223;
5401     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x224;
5402     uint32_t x225;
5403     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x226;
5404     uint32_t x227;
5405     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x228;
5406     uint32_t x229;
5407     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x230;
5408     uint32_t x231;
5409     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x232;
5410     uint32_t x233;
5411     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x234;
5412     uint32_t x235;
5413     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x236;
5414     uint32_t x237;
5415     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x238;
5416     uint32_t x239;
5417     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x240;
5418     uint32_t x241;
5419     uint32_t x242;
5420     uint32_t x243;
5421     uint32_t x244;
5422     uint32_t x245;
5423     uint32_t x246;
5424     uint32_t x247;
5425     uint32_t x248;
5426     uint32_t x249;
5427     uint32_t x250;
5428     uint32_t x251;
5429     uint32_t x252;
5430     uint32_t x253;
5431     uint32_t x254;
5432     uint32_t x255;
5433     uint32_t x256;
5434     uint32_t x257;
5435     uint32_t x258;
5436     uint32_t x259;
5437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x260;
5438     uint32_t x261;
5439     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x262;
5440     uint32_t x263;
5441     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x264;
5442     uint32_t x265;
5443     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x266;
5444     uint32_t x267;
5445     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x268;
5446     uint32_t x269;
5447     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x270;
5448     uint32_t x271;
5449     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x272;
5450     uint32_t x273;
5451     uint32_t x274;
5452     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x275;
5453     uint32_t x276;
5454     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x277;
5455     uint32_t x278;
5456     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x279;
5457     uint32_t x280;
5458     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x281;
5459     uint32_t x282;
5460     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x283;
5461     uint32_t x284;
5462     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x285;
5463     uint32_t x286;
5464     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x287;
5465     uint32_t x288;
5466     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x289;
5467     uint32_t x290;
5468     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x291;
5469     uint32_t x292;
5470     uint32_t x293;
5471     uint32_t x294;
5472     uint32_t x295;
5473     uint32_t x296;
5474     uint32_t x297;
5475     uint32_t x298;
5476     uint32_t x299;
5477     uint32_t x300;
5478     uint32_t x301;
5479     uint32_t x302;
5480     uint32_t x303;
5481     uint32_t x304;
5482     uint32_t x305;
5483     uint32_t x306;
5484     uint32_t x307;
5485     uint32_t x308;
5486     uint32_t x309;
5487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x310;
5488     uint32_t x311;
5489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x312;
5490     uint32_t x313;
5491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x314;
5492     uint32_t x315;
5493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x316;
5494     uint32_t x317;
5495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x318;
5496     uint32_t x319;
5497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x320;
5498     uint32_t x321;
5499     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x322;
5500     uint32_t x323;
5501     uint32_t x324;
5502     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x325;
5503     uint32_t x326;
5504     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x327;
5505     uint32_t x328;
5506     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x329;
5507     uint32_t x330;
5508     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x331;
5509     uint32_t x332;
5510     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x333;
5511     uint32_t x334;
5512     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x335;
5513     uint32_t x336;
5514     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x337;
5515     uint32_t x338;
5516     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x339;
5517     uint32_t x340;
5518     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x341;
5519     uint32_t x342;
5520     uint32_t x343;
5521     uint32_t x344;
5522     uint32_t x345;
5523     uint32_t x346;
5524     uint32_t x347;
5525     uint32_t x348;
5526     uint32_t x349;
5527     uint32_t x350;
5528     uint32_t x351;
5529     uint32_t x352;
5530     uint32_t x353;
5531     uint32_t x354;
5532     uint32_t x355;
5533     uint32_t x356;
5534     uint32_t x357;
5535     uint32_t x358;
5536     uint32_t x359;
5537     uint32_t x360;
5538     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x361;
5539     uint32_t x362;
5540     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x363;
5541     uint32_t x364;
5542     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x365;
5543     uint32_t x366;
5544     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x367;
5545     uint32_t x368;
5546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x369;
5547     uint32_t x370;
5548     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x371;
5549     uint32_t x372;
5550     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x373;
5551     uint32_t x374;
5552     uint32_t x375;
5553     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x376;
5554     uint32_t x377;
5555     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x378;
5556     uint32_t x379;
5557     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x380;
5558     uint32_t x381;
5559     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x382;
5560     uint32_t x383;
5561     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x384;
5562     uint32_t x385;
5563     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x386;
5564     uint32_t x387;
5565     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x388;
5566     uint32_t x389;
5567     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x390;
5568     uint32_t x391;
5569     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x392;
5570     uint32_t x393;
5571     uint32_t x394;
5572     uint32_t x395;
5573     uint32_t x396;
5574     uint32_t x397;
5575     uint32_t x398;
5576     uint32_t x399;
5577     uint32_t x400;
5578     uint32_t x401;
5579     uint32_t x402;
5580     uint32_t x403;
5581     uint32_t x404;
5582     uint32_t x405;
5583     uint32_t x406;
5584     uint32_t x407;
5585     uint32_t x408;
5586     uint32_t x409;
5587     uint32_t x410;
5588     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x411;
5589     uint32_t x412;
5590     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x413;
5591     uint32_t x414;
5592     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x415;
5593     uint32_t x416;
5594     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x417;
5595     uint32_t x418;
5596     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x419;
5597     uint32_t x420;
5598     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x421;
5599     uint32_t x422;
5600     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x423;
5601     uint32_t x424;
5602     uint32_t x425;
5603     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x426;
5604     uint32_t x427;
5605     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x428;
5606     uint32_t x429;
5607     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x430;
5608     uint32_t x431;
5609     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x432;
5610     uint32_t x433;
5611     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x434;
5612     uint32_t x435;
5613     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x436;
5614     uint32_t x437;
5615     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x438;
5616     uint32_t x439;
5617     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x440;
5618     uint32_t x441;
5619     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x442;
5620     uint32_t x443;
5621     uint32_t x444;
5622     uint32_t x445;
5623     uint32_t x446;
5624     uint32_t x447;
5625     uint32_t x448;
5626     uint32_t x449;
5627     uint32_t x450;
5628     uint32_t x451;
5629     uint32_t x452;
5630     uint32_t x453;
5631     uint32_t x454;
5632     uint32_t x455;
5633     uint32_t x456;
5634     uint32_t x457;
5635     uint32_t x458;
5636     uint32_t x459;
5637     uint32_t x460;
5638     uint32_t x461;
5639     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x462;
5640     uint32_t x463;
5641     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x464;
5642     uint32_t x465;
5643     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x466;
5644     uint32_t x467;
5645     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x468;
5646     uint32_t x469;
5647     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x470;
5648     uint32_t x471;
5649     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x472;
5650     uint32_t x473;
5651     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x474;
5652     uint32_t x475;
5653     uint32_t x476;
5654     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x477;
5655     uint32_t x478;
5656     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x479;
5657     uint32_t x480;
5658     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x481;
5659     uint32_t x482;
5660     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x483;
5661     uint32_t x484;
5662     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x485;
5663     uint32_t x486;
5664     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x487;
5665     uint32_t x488;
5666     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x489;
5667     uint32_t x490;
5668     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x491;
5669     uint32_t x492;
5670     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x493;
5671     uint32_t x494;
5672     uint32_t x495;
5673     uint32_t x496;
5674     uint32_t x497;
5675     uint32_t x498;
5676     uint32_t x499;
5677     uint32_t x500;
5678     uint32_t x501;
5679     uint32_t x502;
5680     uint32_t x503;
5681     uint32_t x504;
5682     uint32_t x505;
5683     uint32_t x506;
5684     uint32_t x507;
5685     uint32_t x508;
5686     uint32_t x509;
5687     uint32_t x510;
5688     uint32_t x511;
5689     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x512;
5690     uint32_t x513;
5691     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x514;
5692     uint32_t x515;
5693     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x516;
5694     uint32_t x517;
5695     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x518;
5696     uint32_t x519;
5697     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x520;
5698     uint32_t x521;
5699     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x522;
5700     uint32_t x523;
5701     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x524;
5702     uint32_t x525;
5703     uint32_t x526;
5704     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x527;
5705     uint32_t x528;
5706     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x529;
5707     uint32_t x530;
5708     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x531;
5709     uint32_t x532;
5710     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x533;
5711     uint32_t x534;
5712     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x535;
5713     uint32_t x536;
5714     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x537;
5715     uint32_t x538;
5716     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x539;
5717     uint32_t x540;
5718     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x541;
5719     uint32_t x542;
5720     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x543;
5721     uint32_t x544;
5722     uint32_t x545;
5723     uint32_t x546;
5724     uint32_t x547;
5725     uint32_t x548;
5726     uint32_t x549;
5727     uint32_t x550;
5728     uint32_t x551;
5729     uint32_t x552;
5730     uint32_t x553;
5731     uint32_t x554;
5732     uint32_t x555;
5733     uint32_t x556;
5734     uint32_t x557;
5735     uint32_t x558;
5736     uint32_t x559;
5737     uint32_t x560;
5738     uint32_t x561;
5739     uint32_t x562;
5740     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x563;
5741     uint32_t x564;
5742     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x565;
5743     uint32_t x566;
5744     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x567;
5745     uint32_t x568;
5746     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x569;
5747     uint32_t x570;
5748     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x571;
5749     uint32_t x572;
5750     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x573;
5751     uint32_t x574;
5752     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x575;
5753     uint32_t x576;
5754     uint32_t x577;
5755     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x578;
5756     uint32_t x579;
5757     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x580;
5758     uint32_t x581;
5759     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x582;
5760     uint32_t x583;
5761     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x584;
5762     uint32_t x585;
5763     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x586;
5764     uint32_t x587;
5765     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x588;
5766     uint32_t x589;
5767     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x590;
5768     uint32_t x591;
5769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x592;
5770     uint32_t x593;
5771     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x594;
5772     uint32_t x595;
5773     uint32_t x596;
5774     uint32_t x597;
5775     uint32_t x598;
5776     uint32_t x599;
5777     uint32_t x600;
5778     uint32_t x601;
5779     uint32_t x602;
5780     uint32_t x603;
5781     uint32_t x604;
5782     uint32_t x605;
5783     uint32_t x606;
5784     uint32_t x607;
5785     uint32_t x608;
5786     uint32_t x609;
5787     uint32_t x610;
5788     uint32_t x611;
5789     uint32_t x612;
5790     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x613;
5791     uint32_t x614;
5792     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x615;
5793     uint32_t x616;
5794     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x617;
5795     uint32_t x618;
5796     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x619;
5797     uint32_t x620;
5798     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x621;
5799     uint32_t x622;
5800     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x623;
5801     uint32_t x624;
5802     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x625;
5803     uint32_t x626;
5804     uint32_t x627;
5805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x628;
5806     uint32_t x629;
5807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x630;
5808     uint32_t x631;
5809     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x632;
5810     uint32_t x633;
5811     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x634;
5812     uint32_t x635;
5813     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x636;
5814     uint32_t x637;
5815     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x638;
5816     uint32_t x639;
5817     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x640;
5818     uint32_t x641;
5819     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x642;
5820     uint32_t x643;
5821     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x644;
5822     uint32_t x645;
5823     uint32_t x646;
5824     uint32_t x647;
5825     uint32_t x648;
5826     uint32_t x649;
5827     uint32_t x650;
5828     uint32_t x651;
5829     uint32_t x652;
5830     uint32_t x653;
5831     uint32_t x654;
5832     uint32_t x655;
5833     uint32_t x656;
5834     uint32_t x657;
5835     uint32_t x658;
5836     uint32_t x659;
5837     uint32_t x660;
5838     uint32_t x661;
5839     uint32_t x662;
5840     uint32_t x663;
5841     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x664;
5842     uint32_t x665;
5843     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x666;
5844     uint32_t x667;
5845     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x668;
5846     uint32_t x669;
5847     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x670;
5848     uint32_t x671;
5849     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x672;
5850     uint32_t x673;
5851     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x674;
5852     uint32_t x675;
5853     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x676;
5854     uint32_t x677;
5855     uint32_t x678;
5856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x679;
5857     uint32_t x680;
5858     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x681;
5859     uint32_t x682;
5860     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x683;
5861     uint32_t x684;
5862     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x685;
5863     uint32_t x686;
5864     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x687;
5865     uint32_t x688;
5866     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x689;
5867     uint32_t x690;
5868     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x691;
5869     uint32_t x692;
5870     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x693;
5871     uint32_t x694;
5872     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x695;
5873     uint32_t x696;
5874     uint32_t x697;
5875     uint32_t x698;
5876     uint32_t x699;
5877     uint32_t x700;
5878     uint32_t x701;
5879     uint32_t x702;
5880     uint32_t x703;
5881     uint32_t x704;
5882     uint32_t x705;
5883     uint32_t x706;
5884     uint32_t x707;
5885     uint32_t x708;
5886     uint32_t x709;
5887     uint32_t x710;
5888     uint32_t x711;
5889     uint32_t x712;
5890     uint32_t x713;
5891     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x714;
5892     uint32_t x715;
5893     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x716;
5894     uint32_t x717;
5895     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x718;
5896     uint32_t x719;
5897     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x720;
5898     uint32_t x721;
5899     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x722;
5900     uint32_t x723;
5901     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x724;
5902     uint32_t x725;
5903     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x726;
5904     uint32_t x727;
5905     uint32_t x728;
5906     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x729;
5907     uint32_t x730;
5908     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x731;
5909     uint32_t x732;
5910     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x733;
5911     uint32_t x734;
5912     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x735;
5913     uint32_t x736;
5914     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x737;
5915     uint32_t x738;
5916     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x739;
5917     uint32_t x740;
5918     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x741;
5919     uint32_t x742;
5920     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x743;
5921     uint32_t x744;
5922     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x745;
5923     uint32_t x746;
5924     uint32_t x747;
5925     uint32_t x748;
5926     uint32_t x749;
5927     uint32_t x750;
5928     uint32_t x751;
5929     uint32_t x752;
5930     uint32_t x753;
5931     uint32_t x754;
5932     uint32_t x755;
5933     uint32_t x756;
5934     uint32_t x757;
5935     uint32_t x758;
5936     uint32_t x759;
5937     uint32_t x760;
5938     uint32_t x761;
5939     uint32_t x762;
5940     uint32_t x763;
5941     uint32_t x764;
5942     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x765;
5943     uint32_t x766;
5944     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x767;
5945     uint32_t x768;
5946     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x769;
5947     uint32_t x770;
5948     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x771;
5949     uint32_t x772;
5950     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x773;
5951     uint32_t x774;
5952     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x775;
5953     uint32_t x776;
5954     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x777;
5955     uint32_t x778;
5956     uint32_t x779;
5957     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x780;
5958     uint32_t x781;
5959     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x782;
5960     uint32_t x783;
5961     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x784;
5962     uint32_t x785;
5963     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x786;
5964     uint32_t x787;
5965     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x788;
5966     uint32_t x789;
5967     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x790;
5968     uint32_t x791;
5969     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x792;
5970     uint32_t x793;
5971     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x794;
5972     uint32_t x795;
5973     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x796;
5974     uint32_t x797;
5975     uint32_t x798;
5976     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x799;
5977     uint32_t x800;
5978     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x801;
5979     uint32_t x802;
5980     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x803;
5981     uint32_t x804;
5982     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x805;
5983     uint32_t x806;
5984     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x807;
5985     uint32_t x808;
5986     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x809;
5987     uint32_t x810;
5988     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x811;
5989     uint32_t x812;
5990     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x813;
5991     uint32_t x814;
5992     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x815;
5993     uint32_t x816;
5994     uint32_t x817;
5995     uint32_t x818;
5996     uint32_t x819;
5997     uint32_t x820;
5998     uint32_t x821;
5999     uint32_t x822;
6000     uint32_t x823;
6001     x1 = (arg1[1]);
6002     x2 = (arg1[2]);
6003     x3 = (arg1[3]);
6004     x4 = (arg1[4]);
6005     x5 = (arg1[5]);
6006     x6 = (arg1[6]);
6007     x7 = (arg1[7]);
6008     x8 = (arg1[0]);
6009     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x9, &x10, x8,
6010                                                          (arg2[7]));
6011     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x11, &x12, x8,
6012                                                          (arg2[6]));
6013     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x13, &x14, x8,
6014                                                          (arg2[5]));
6015     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x15, &x16, x8,
6016                                                          (arg2[4]));
6017     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x17, &x18, x8,
6018                                                          (arg2[3]));
6019     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x19, &x20, x8,
6020                                                          (arg2[2]));
6021     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x21, &x22, x8,
6022                                                          (arg2[1]));
6023     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x23, &x24, x8,
6024                                                          (arg2[0]));
6025     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
6026                                                               x24, x21);
6027     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x27, &x28, x26,
6028                                                               x22, x19);
6029     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x29, &x30, x28,
6030                                                               x20, x17);
6031     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x31, &x32, x30,
6032                                                               x18, x15);
6033     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x33, &x34, x32,
6034                                                               x16, x13);
6035     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x35, &x36, x34,
6036                                                               x14, x11);
6037     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x37, &x38, x36,
6038                                                               x12, x9);
6039     x39 = (x38 + x10);
6040     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x40, &x41, x23,
6041                                                          UINT32_C(0x727c176d));
6042     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x42, &x43, x40,
6043                                                          UINT32_C(0x9b9f605f));
6044     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x44, &x45, x40,
6045                                                          UINT32_C(0x5a858107));
6046     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x46, &x47, x40,
6047                                                          UINT32_C(0xab1ec85e));
6048     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x48, &x49, x40,
6049                                                          UINT32_C(0x6b41c8aa));
6050     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x50, &x51, x40,
6051                                                          UINT32_C(0xcf846e86));
6052     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x52, &x53, x40,
6053                                                          UINT32_C(0x789051d3));
6054     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x54, &x55, x40,
6055                                                          UINT32_C(0x7998f7b9));
6056     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x56, &x57, x40,
6057                                                          UINT32_C(0x22d759b));
6058     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x58, &x59, 0x0,
6059                                                               x57, x54);
6060     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x60, &x61, x59,
6061                                                               x55, x52);
6062     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x62, &x63, x61,
6063                                                               x53, x50);
6064     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x64, &x65, x63,
6065                                                               x51, x48);
6066     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x66, &x67, x65,
6067                                                               x49, x46);
6068     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x68, &x69, x67,
6069                                                               x47, x44);
6070     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x70, &x71, x69,
6071                                                               x45, x42);
6072     x72 = (x71 + x43);
6073     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x73, &x74, 0x0,
6074                                                               x23, x56);
6075     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x75, &x76, x74,
6076                                                               x25, x58);
6077     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x77, &x78, x76,
6078                                                               x27, x60);
6079     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x79, &x80, x78,
6080                                                               x29, x62);
6081     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x81, &x82, x80,
6082                                                               x31, x64);
6083     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x83, &x84, x82,
6084                                                               x33, x66);
6085     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x85, &x86, x84,
6086                                                               x35, x68);
6087     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x87, &x88, x86,
6088                                                               x37, x70);
6089     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x89, &x90, x88,
6090                                                               x39, x72);
6091     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x91, &x92, x1,
6092                                                          (arg2[7]));
6093     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x93, &x94, x1,
6094                                                          (arg2[6]));
6095     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x95, &x96, x1,
6096                                                          (arg2[5]));
6097     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x97, &x98, x1,
6098                                                          (arg2[4]));
6099     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x99, &x100, x1,
6100                                                          (arg2[3]));
6101     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x101, &x102, x1,
6102                                                          (arg2[2]));
6103     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x103, &x104, x1,
6104                                                          (arg2[1]));
6105     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x105, &x106, x1,
6106                                                          (arg2[0]));
6107     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x107, &x108, 0x0,
6108                                                               x106, x103);
6109     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x109, &x110,
6110                                                               x108, x104, x101);
6111     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x111, &x112,
6112                                                               x110, x102, x99);
6113     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x113, &x114,
6114                                                               x112, x100, x97);
6115     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x115, &x116,
6116                                                               x114, x98, x95);
6117     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x117, &x118,
6118                                                               x116, x96, x93);
6119     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x119, &x120,
6120                                                               x118, x94, x91);
6121     x121 = (x120 + x92);
6122     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x122, &x123, 0x0,
6123                                                               x75, x105);
6124     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x124, &x125,
6125                                                               x123, x77, x107);
6126     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x126, &x127,
6127                                                               x125, x79, x109);
6128     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x128, &x129,
6129                                                               x127, x81, x111);
6130     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x130, &x131,
6131                                                               x129, x83, x113);
6132     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x132, &x133,
6133                                                               x131, x85, x115);
6134     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x134, &x135,
6135                                                               x133, x87, x117);
6136     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x136, &x137,
6137                                                               x135, x89, x119);
6138     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x138, &x139,
6139                                                               x137, x90, x121);
6140     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x140, &x141, x122,
6141                                                          UINT32_C(0x727c176d));
6142     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x142, &x143, x140,
6143                                                          UINT32_C(0x9b9f605f));
6144     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x144, &x145, x140,
6145                                                          UINT32_C(0x5a858107));
6146     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x146, &x147, x140,
6147                                                          UINT32_C(0xab1ec85e));
6148     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x148, &x149, x140,
6149                                                          UINT32_C(0x6b41c8aa));
6150     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x150, &x151, x140,
6151                                                          UINT32_C(0xcf846e86));
6152     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x152, &x153, x140,
6153                                                          UINT32_C(0x789051d3));
6154     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x154, &x155, x140,
6155                                                          UINT32_C(0x7998f7b9));
6156     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x156, &x157, x140,
6157                                                          UINT32_C(0x22d759b));
6158     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x158, &x159, 0x0,
6159                                                               x157, x154);
6160     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x160, &x161,
6161                                                               x159, x155, x152);
6162     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x162, &x163,
6163                                                               x161, x153, x150);
6164     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x164, &x165,
6165                                                               x163, x151, x148);
6166     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x166, &x167,
6167                                                               x165, x149, x146);
6168     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x168, &x169,
6169                                                               x167, x147, x144);
6170     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x170, &x171,
6171                                                               x169, x145, x142);
6172     x172 = (x171 + x143);
6173     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x173, &x174, 0x0,
6174                                                               x122, x156);
6175     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x175, &x176,
6176                                                               x174, x124, x158);
6177     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x177, &x178,
6178                                                               x176, x126, x160);
6179     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x179, &x180,
6180                                                               x178, x128, x162);
6181     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x181, &x182,
6182                                                               x180, x130, x164);
6183     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x183, &x184,
6184                                                               x182, x132, x166);
6185     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x185, &x186,
6186                                                               x184, x134, x168);
6187     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x187, &x188,
6188                                                               x186, x136, x170);
6189     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x189, &x190,
6190                                                               x188, x138, x172);
6191     x191 = ((uint32_t)x190 + x139);
6192     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x192, &x193, x2,
6193                                                          (arg2[7]));
6194     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x194, &x195, x2,
6195                                                          (arg2[6]));
6196     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x196, &x197, x2,
6197                                                          (arg2[5]));
6198     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x198, &x199, x2,
6199                                                          (arg2[4]));
6200     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x200, &x201, x2,
6201                                                          (arg2[3]));
6202     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x202, &x203, x2,
6203                                                          (arg2[2]));
6204     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x204, &x205, x2,
6205                                                          (arg2[1]));
6206     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x206, &x207, x2,
6207                                                          (arg2[0]));
6208     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x208, &x209, 0x0,
6209                                                               x207, x204);
6210     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x210, &x211,
6211                                                               x209, x205, x202);
6212     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x212, &x213,
6213                                                               x211, x203, x200);
6214     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x214, &x215,
6215                                                               x213, x201, x198);
6216     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x216, &x217,
6217                                                               x215, x199, x196);
6218     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x218, &x219,
6219                                                               x217, x197, x194);
6220     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x220, &x221,
6221                                                               x219, x195, x192);
6222     x222 = (x221 + x193);
6223     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x223, &x224, 0x0,
6224                                                               x175, x206);
6225     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x225, &x226,
6226                                                               x224, x177, x208);
6227     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x227, &x228,
6228                                                               x226, x179, x210);
6229     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x229, &x230,
6230                                                               x228, x181, x212);
6231     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x231, &x232,
6232                                                               x230, x183, x214);
6233     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x233, &x234,
6234                                                               x232, x185, x216);
6235     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x235, &x236,
6236                                                               x234, x187, x218);
6237     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x237, &x238,
6238                                                               x236, x189, x220);
6239     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x239, &x240,
6240                                                               x238, x191, x222);
6241     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x241, &x242, x223,
6242                                                          UINT32_C(0x727c176d));
6243     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x243, &x244, x241,
6244                                                          UINT32_C(0x9b9f605f));
6245     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x245, &x246, x241,
6246                                                          UINT32_C(0x5a858107));
6247     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x247, &x248, x241,
6248                                                          UINT32_C(0xab1ec85e));
6249     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x249, &x250, x241,
6250                                                          UINT32_C(0x6b41c8aa));
6251     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x251, &x252, x241,
6252                                                          UINT32_C(0xcf846e86));
6253     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x253, &x254, x241,
6254                                                          UINT32_C(0x789051d3));
6255     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x255, &x256, x241,
6256                                                          UINT32_C(0x7998f7b9));
6257     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x257, &x258, x241,
6258                                                          UINT32_C(0x22d759b));
6259     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x259, &x260, 0x0,
6260                                                               x258, x255);
6261     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x261, &x262,
6262                                                               x260, x256, x253);
6263     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x263, &x264,
6264                                                               x262, x254, x251);
6265     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x265, &x266,
6266                                                               x264, x252, x249);
6267     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x267, &x268,
6268                                                               x266, x250, x247);
6269     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x269, &x270,
6270                                                               x268, x248, x245);
6271     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x271, &x272,
6272                                                               x270, x246, x243);
6273     x273 = (x272 + x244);
6274     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x274, &x275, 0x0,
6275                                                               x223, x257);
6276     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x276, &x277,
6277                                                               x275, x225, x259);
6278     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x278, &x279,
6279                                                               x277, x227, x261);
6280     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x280, &x281,
6281                                                               x279, x229, x263);
6282     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x282, &x283,
6283                                                               x281, x231, x265);
6284     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x284, &x285,
6285                                                               x283, x233, x267);
6286     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x286, &x287,
6287                                                               x285, x235, x269);
6288     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x288, &x289,
6289                                                               x287, x237, x271);
6290     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x290, &x291,
6291                                                               x289, x239, x273);
6292     x292 = ((uint32_t)x291 + x240);
6293     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x293, &x294, x3,
6294                                                          (arg2[7]));
6295     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x295, &x296, x3,
6296                                                          (arg2[6]));
6297     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x297, &x298, x3,
6298                                                          (arg2[5]));
6299     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x299, &x300, x3,
6300                                                          (arg2[4]));
6301     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x301, &x302, x3,
6302                                                          (arg2[3]));
6303     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x303, &x304, x3,
6304                                                          (arg2[2]));
6305     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x305, &x306, x3,
6306                                                          (arg2[1]));
6307     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x307, &x308, x3,
6308                                                          (arg2[0]));
6309     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x309, &x310, 0x0,
6310                                                               x308, x305);
6311     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x311, &x312,
6312                                                               x310, x306, x303);
6313     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x313, &x314,
6314                                                               x312, x304, x301);
6315     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x315, &x316,
6316                                                               x314, x302, x299);
6317     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x317, &x318,
6318                                                               x316, x300, x297);
6319     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x319, &x320,
6320                                                               x318, x298, x295);
6321     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x321, &x322,
6322                                                               x320, x296, x293);
6323     x323 = (x322 + x294);
6324     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x324, &x325, 0x0,
6325                                                               x276, x307);
6326     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x326, &x327,
6327                                                               x325, x278, x309);
6328     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x328, &x329,
6329                                                               x327, x280, x311);
6330     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x330, &x331,
6331                                                               x329, x282, x313);
6332     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x332, &x333,
6333                                                               x331, x284, x315);
6334     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x334, &x335,
6335                                                               x333, x286, x317);
6336     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x336, &x337,
6337                                                               x335, x288, x319);
6338     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x338, &x339,
6339                                                               x337, x290, x321);
6340     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x340, &x341,
6341                                                               x339, x292, x323);
6342     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x342, &x343, x324,
6343                                                          UINT32_C(0x727c176d));
6344     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x344, &x345, x342,
6345                                                          UINT32_C(0x9b9f605f));
6346     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x346, &x347, x342,
6347                                                          UINT32_C(0x5a858107));
6348     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x348, &x349, x342,
6349                                                          UINT32_C(0xab1ec85e));
6350     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x350, &x351, x342,
6351                                                          UINT32_C(0x6b41c8aa));
6352     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x352, &x353, x342,
6353                                                          UINT32_C(0xcf846e86));
6354     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x354, &x355, x342,
6355                                                          UINT32_C(0x789051d3));
6356     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x356, &x357, x342,
6357                                                          UINT32_C(0x7998f7b9));
6358     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x358, &x359, x342,
6359                                                          UINT32_C(0x22d759b));
6360     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x360, &x361, 0x0,
6361                                                               x359, x356);
6362     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x362, &x363,
6363                                                               x361, x357, x354);
6364     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x364, &x365,
6365                                                               x363, x355, x352);
6366     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x366, &x367,
6367                                                               x365, x353, x350);
6368     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x368, &x369,
6369                                                               x367, x351, x348);
6370     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x370, &x371,
6371                                                               x369, x349, x346);
6372     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x372, &x373,
6373                                                               x371, x347, x344);
6374     x374 = (x373 + x345);
6375     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x375, &x376, 0x0,
6376                                                               x324, x358);
6377     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x377, &x378,
6378                                                               x376, x326, x360);
6379     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x379, &x380,
6380                                                               x378, x328, x362);
6381     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x381, &x382,
6382                                                               x380, x330, x364);
6383     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x383, &x384,
6384                                                               x382, x332, x366);
6385     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x385, &x386,
6386                                                               x384, x334, x368);
6387     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x387, &x388,
6388                                                               x386, x336, x370);
6389     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x389, &x390,
6390                                                               x388, x338, x372);
6391     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x391, &x392,
6392                                                               x390, x340, x374);
6393     x393 = ((uint32_t)x392 + x341);
6394     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x394, &x395, x4,
6395                                                          (arg2[7]));
6396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x396, &x397, x4,
6397                                                          (arg2[6]));
6398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x398, &x399, x4,
6399                                                          (arg2[5]));
6400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x400, &x401, x4,
6401                                                          (arg2[4]));
6402     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x402, &x403, x4,
6403                                                          (arg2[3]));
6404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x404, &x405, x4,
6405                                                          (arg2[2]));
6406     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x406, &x407, x4,
6407                                                          (arg2[1]));
6408     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x408, &x409, x4,
6409                                                          (arg2[0]));
6410     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x410, &x411, 0x0,
6411                                                               x409, x406);
6412     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x412, &x413,
6413                                                               x411, x407, x404);
6414     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x414, &x415,
6415                                                               x413, x405, x402);
6416     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x416, &x417,
6417                                                               x415, x403, x400);
6418     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x418, &x419,
6419                                                               x417, x401, x398);
6420     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x420, &x421,
6421                                                               x419, x399, x396);
6422     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x422, &x423,
6423                                                               x421, x397, x394);
6424     x424 = (x423 + x395);
6425     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x425, &x426, 0x0,
6426                                                               x377, x408);
6427     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x427, &x428,
6428                                                               x426, x379, x410);
6429     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x429, &x430,
6430                                                               x428, x381, x412);
6431     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x431, &x432,
6432                                                               x430, x383, x414);
6433     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x433, &x434,
6434                                                               x432, x385, x416);
6435     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x435, &x436,
6436                                                               x434, x387, x418);
6437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x437, &x438,
6438                                                               x436, x389, x420);
6439     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x439, &x440,
6440                                                               x438, x391, x422);
6441     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x441, &x442,
6442                                                               x440, x393, x424);
6443     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x443, &x444, x425,
6444                                                          UINT32_C(0x727c176d));
6445     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x445, &x446, x443,
6446                                                          UINT32_C(0x9b9f605f));
6447     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x447, &x448, x443,
6448                                                          UINT32_C(0x5a858107));
6449     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x449, &x450, x443,
6450                                                          UINT32_C(0xab1ec85e));
6451     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x451, &x452, x443,
6452                                                          UINT32_C(0x6b41c8aa));
6453     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x453, &x454, x443,
6454                                                          UINT32_C(0xcf846e86));
6455     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x455, &x456, x443,
6456                                                          UINT32_C(0x789051d3));
6457     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x457, &x458, x443,
6458                                                          UINT32_C(0x7998f7b9));
6459     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x459, &x460, x443,
6460                                                          UINT32_C(0x22d759b));
6461     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x461, &x462, 0x0,
6462                                                               x460, x457);
6463     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x463, &x464,
6464                                                               x462, x458, x455);
6465     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x465, &x466,
6466                                                               x464, x456, x453);
6467     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x467, &x468,
6468                                                               x466, x454, x451);
6469     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x469, &x470,
6470                                                               x468, x452, x449);
6471     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x471, &x472,
6472                                                               x470, x450, x447);
6473     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x473, &x474,
6474                                                               x472, x448, x445);
6475     x475 = (x474 + x446);
6476     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x476, &x477, 0x0,
6477                                                               x425, x459);
6478     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x478, &x479,
6479                                                               x477, x427, x461);
6480     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x480, &x481,
6481                                                               x479, x429, x463);
6482     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x482, &x483,
6483                                                               x481, x431, x465);
6484     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x484, &x485,
6485                                                               x483, x433, x467);
6486     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x486, &x487,
6487                                                               x485, x435, x469);
6488     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x488, &x489,
6489                                                               x487, x437, x471);
6490     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x490, &x491,
6491                                                               x489, x439, x473);
6492     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x492, &x493,
6493                                                               x491, x441, x475);
6494     x494 = ((uint32_t)x493 + x442);
6495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x495, &x496, x5,
6496                                                          (arg2[7]));
6497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x497, &x498, x5,
6498                                                          (arg2[6]));
6499     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x499, &x500, x5,
6500                                                          (arg2[5]));
6501     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x501, &x502, x5,
6502                                                          (arg2[4]));
6503     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x503, &x504, x5,
6504                                                          (arg2[3]));
6505     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x505, &x506, x5,
6506                                                          (arg2[2]));
6507     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x507, &x508, x5,
6508                                                          (arg2[1]));
6509     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x509, &x510, x5,
6510                                                          (arg2[0]));
6511     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x511, &x512, 0x0,
6512                                                               x510, x507);
6513     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x513, &x514,
6514                                                               x512, x508, x505);
6515     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x515, &x516,
6516                                                               x514, x506, x503);
6517     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x517, &x518,
6518                                                               x516, x504, x501);
6519     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x519, &x520,
6520                                                               x518, x502, x499);
6521     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x521, &x522,
6522                                                               x520, x500, x497);
6523     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x523, &x524,
6524                                                               x522, x498, x495);
6525     x525 = (x524 + x496);
6526     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x526, &x527, 0x0,
6527                                                               x478, x509);
6528     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x528, &x529,
6529                                                               x527, x480, x511);
6530     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x530, &x531,
6531                                                               x529, x482, x513);
6532     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x532, &x533,
6533                                                               x531, x484, x515);
6534     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x534, &x535,
6535                                                               x533, x486, x517);
6536     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x536, &x537,
6537                                                               x535, x488, x519);
6538     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x538, &x539,
6539                                                               x537, x490, x521);
6540     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x540, &x541,
6541                                                               x539, x492, x523);
6542     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x542, &x543,
6543                                                               x541, x494, x525);
6544     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x544, &x545, x526,
6545                                                          UINT32_C(0x727c176d));
6546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x546, &x547, x544,
6547                                                          UINT32_C(0x9b9f605f));
6548     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x548, &x549, x544,
6549                                                          UINT32_C(0x5a858107));
6550     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x550, &x551, x544,
6551                                                          UINT32_C(0xab1ec85e));
6552     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x552, &x553, x544,
6553                                                          UINT32_C(0x6b41c8aa));
6554     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x554, &x555, x544,
6555                                                          UINT32_C(0xcf846e86));
6556     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x556, &x557, x544,
6557                                                          UINT32_C(0x789051d3));
6558     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x558, &x559, x544,
6559                                                          UINT32_C(0x7998f7b9));
6560     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x560, &x561, x544,
6561                                                          UINT32_C(0x22d759b));
6562     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x562, &x563, 0x0,
6563                                                               x561, x558);
6564     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x564, &x565,
6565                                                               x563, x559, x556);
6566     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x566, &x567,
6567                                                               x565, x557, x554);
6568     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x568, &x569,
6569                                                               x567, x555, x552);
6570     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x570, &x571,
6571                                                               x569, x553, x550);
6572     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x572, &x573,
6573                                                               x571, x551, x548);
6574     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x574, &x575,
6575                                                               x573, x549, x546);
6576     x576 = (x575 + x547);
6577     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x577, &x578, 0x0,
6578                                                               x526, x560);
6579     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x579, &x580,
6580                                                               x578, x528, x562);
6581     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x581, &x582,
6582                                                               x580, x530, x564);
6583     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x583, &x584,
6584                                                               x582, x532, x566);
6585     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x585, &x586,
6586                                                               x584, x534, x568);
6587     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x587, &x588,
6588                                                               x586, x536, x570);
6589     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x589, &x590,
6590                                                               x588, x538, x572);
6591     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x591, &x592,
6592                                                               x590, x540, x574);
6593     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x593, &x594,
6594                                                               x592, x542, x576);
6595     x595 = ((uint32_t)x594 + x543);
6596     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x596, &x597, x6,
6597                                                          (arg2[7]));
6598     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x598, &x599, x6,
6599                                                          (arg2[6]));
6600     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x600, &x601, x6,
6601                                                          (arg2[5]));
6602     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x602, &x603, x6,
6603                                                          (arg2[4]));
6604     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x604, &x605, x6,
6605                                                          (arg2[3]));
6606     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x606, &x607, x6,
6607                                                          (arg2[2]));
6608     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x608, &x609, x6,
6609                                                          (arg2[1]));
6610     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x610, &x611, x6,
6611                                                          (arg2[0]));
6612     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x612, &x613, 0x0,
6613                                                               x611, x608);
6614     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x614, &x615,
6615                                                               x613, x609, x606);
6616     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x616, &x617,
6617                                                               x615, x607, x604);
6618     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x618, &x619,
6619                                                               x617, x605, x602);
6620     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x620, &x621,
6621                                                               x619, x603, x600);
6622     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x622, &x623,
6623                                                               x621, x601, x598);
6624     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x624, &x625,
6625                                                               x623, x599, x596);
6626     x626 = (x625 + x597);
6627     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x627, &x628, 0x0,
6628                                                               x579, x610);
6629     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x629, &x630,
6630                                                               x628, x581, x612);
6631     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x631, &x632,
6632                                                               x630, x583, x614);
6633     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x633, &x634,
6634                                                               x632, x585, x616);
6635     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x635, &x636,
6636                                                               x634, x587, x618);
6637     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x637, &x638,
6638                                                               x636, x589, x620);
6639     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x639, &x640,
6640                                                               x638, x591, x622);
6641     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x641, &x642,
6642                                                               x640, x593, x624);
6643     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x643, &x644,
6644                                                               x642, x595, x626);
6645     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x645, &x646, x627,
6646                                                          UINT32_C(0x727c176d));
6647     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x647, &x648, x645,
6648                                                          UINT32_C(0x9b9f605f));
6649     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x649, &x650, x645,
6650                                                          UINT32_C(0x5a858107));
6651     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x651, &x652, x645,
6652                                                          UINT32_C(0xab1ec85e));
6653     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x653, &x654, x645,
6654                                                          UINT32_C(0x6b41c8aa));
6655     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x655, &x656, x645,
6656                                                          UINT32_C(0xcf846e86));
6657     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x657, &x658, x645,
6658                                                          UINT32_C(0x789051d3));
6659     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x659, &x660, x645,
6660                                                          UINT32_C(0x7998f7b9));
6661     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x661, &x662, x645,
6662                                                          UINT32_C(0x22d759b));
6663     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x663, &x664, 0x0,
6664                                                               x662, x659);
6665     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x665, &x666,
6666                                                               x664, x660, x657);
6667     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x667, &x668,
6668                                                               x666, x658, x655);
6669     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x669, &x670,
6670                                                               x668, x656, x653);
6671     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x671, &x672,
6672                                                               x670, x654, x651);
6673     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x673, &x674,
6674                                                               x672, x652, x649);
6675     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x675, &x676,
6676                                                               x674, x650, x647);
6677     x677 = (x676 + x648);
6678     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x678, &x679, 0x0,
6679                                                               x627, x661);
6680     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x680, &x681,
6681                                                               x679, x629, x663);
6682     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x682, &x683,
6683                                                               x681, x631, x665);
6684     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x684, &x685,
6685                                                               x683, x633, x667);
6686     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x686, &x687,
6687                                                               x685, x635, x669);
6688     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x688, &x689,
6689                                                               x687, x637, x671);
6690     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x690, &x691,
6691                                                               x689, x639, x673);
6692     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x692, &x693,
6693                                                               x691, x641, x675);
6694     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x694, &x695,
6695                                                               x693, x643, x677);
6696     x696 = ((uint32_t)x695 + x644);
6697     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x697, &x698, x7,
6698                                                          (arg2[7]));
6699     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x699, &x700, x7,
6700                                                          (arg2[6]));
6701     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x701, &x702, x7,
6702                                                          (arg2[5]));
6703     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x703, &x704, x7,
6704                                                          (arg2[4]));
6705     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x705, &x706, x7,
6706                                                          (arg2[3]));
6707     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x707, &x708, x7,
6708                                                          (arg2[2]));
6709     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x709, &x710, x7,
6710                                                          (arg2[1]));
6711     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x711, &x712, x7,
6712                                                          (arg2[0]));
6713     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x713, &x714, 0x0,
6714                                                               x712, x709);
6715     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x715, &x716,
6716                                                               x714, x710, x707);
6717     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x717, &x718,
6718                                                               x716, x708, x705);
6719     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x719, &x720,
6720                                                               x718, x706, x703);
6721     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x721, &x722,
6722                                                               x720, x704, x701);
6723     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x723, &x724,
6724                                                               x722, x702, x699);
6725     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x725, &x726,
6726                                                               x724, x700, x697);
6727     x727 = (x726 + x698);
6728     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x728, &x729, 0x0,
6729                                                               x680, x711);
6730     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x730, &x731,
6731                                                               x729, x682, x713);
6732     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x732, &x733,
6733                                                               x731, x684, x715);
6734     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x734, &x735,
6735                                                               x733, x686, x717);
6736     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x736, &x737,
6737                                                               x735, x688, x719);
6738     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x738, &x739,
6739                                                               x737, x690, x721);
6740     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x740, &x741,
6741                                                               x739, x692, x723);
6742     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x742, &x743,
6743                                                               x741, x694, x725);
6744     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x744, &x745,
6745                                                               x743, x696, x727);
6746     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x746, &x747, x728,
6747                                                          UINT32_C(0x727c176d));
6748     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x748, &x749, x746,
6749                                                          UINT32_C(0x9b9f605f));
6750     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x750, &x751, x746,
6751                                                          UINT32_C(0x5a858107));
6752     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x752, &x753, x746,
6753                                                          UINT32_C(0xab1ec85e));
6754     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x754, &x755, x746,
6755                                                          UINT32_C(0x6b41c8aa));
6756     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x756, &x757, x746,
6757                                                          UINT32_C(0xcf846e86));
6758     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x758, &x759, x746,
6759                                                          UINT32_C(0x789051d3));
6760     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x760, &x761, x746,
6761                                                          UINT32_C(0x7998f7b9));
6762     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x762, &x763, x746,
6763                                                          UINT32_C(0x22d759b));
6764     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x764, &x765, 0x0,
6765                                                               x763, x760);
6766     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x766, &x767,
6767                                                               x765, x761, x758);
6768     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x768, &x769,
6769                                                               x767, x759, x756);
6770     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x770, &x771,
6771                                                               x769, x757, x754);
6772     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x772, &x773,
6773                                                               x771, x755, x752);
6774     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x774, &x775,
6775                                                               x773, x753, x750);
6776     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x776, &x777,
6777                                                               x775, x751, x748);
6778     x778 = (x777 + x749);
6779     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x779, &x780, 0x0,
6780                                                               x728, x762);
6781     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x781, &x782,
6782                                                               x780, x730, x764);
6783     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x783, &x784,
6784                                                               x782, x732, x766);
6785     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x785, &x786,
6786                                                               x784, x734, x768);
6787     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x787, &x788,
6788                                                               x786, x736, x770);
6789     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x789, &x790,
6790                                                               x788, x738, x772);
6791     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x791, &x792,
6792                                                               x790, x740, x774);
6793     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x793, &x794,
6794                                                               x792, x742, x776);
6795     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x795, &x796,
6796                                                               x794, x744, x778);
6797     x797 = ((uint32_t)x796 + x745);
6798     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6799         &x798, &x799, 0x0, x781, UINT32_C(0x22d759b));
6800     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6801         &x800, &x801, x799, x783, UINT32_C(0x7998f7b9));
6802     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6803         &x802, &x803, x801, x785, UINT32_C(0x789051d3));
6804     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6805         &x804, &x805, x803, x787, UINT32_C(0xcf846e86));
6806     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6807         &x806, &x807, x805, x789, UINT32_C(0x6b41c8aa));
6808     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6809         &x808, &x809, x807, x791, UINT32_C(0xab1ec85e));
6810     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6811         &x810, &x811, x809, x793, UINT32_C(0x5a858107));
6812     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
6813         &x812, &x813, x811, x795, UINT32_C(0x9b9f605f));
6814     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x814, &x815,
6815                                                                x813, x797, 0x0);
6816     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x816, x815, x798,
6817                                                             x781);
6818     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x817, x815, x800,
6819                                                             x783);
6820     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x818, x815, x802,
6821                                                             x785);
6822     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x819, x815, x804,
6823                                                             x787);
6824     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x820, x815, x806,
6825                                                             x789);
6826     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x821, x815, x808,
6827                                                             x791);
6828     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x822, x815, x810,
6829                                                             x793);
6830     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x823, x815, x812,
6831                                                             x795);
6832     out1[0] = x816;
6833     out1[1] = x817;
6834     out1[2] = x818;
6835     out1[3] = x819;
6836     out1[4] = x820;
6837     out1[5] = x821;
6838     out1[6] = x822;
6839     out1[7] = x823;
6840 }
6841
6842 /*
6843  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square squares a field element in the Montgomery domain.
6844  * Preconditions:
6845  *   0 ≤ eval arg1 < m
6846  * Postconditions:
6847  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
6848  *   0 ≤ eval out1 < m
6849  *
6850  * Input Bounds:
6851  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6852  * Output Bounds:
6853  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6854  */
6855 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(
6856     uint32_t out1[8], const uint32_t arg1[8]) {
6857     uint32_t x1;
6858     uint32_t x2;
6859     uint32_t x3;
6860     uint32_t x4;
6861     uint32_t x5;
6862     uint32_t x6;
6863     uint32_t x7;
6864     uint32_t x8;
6865     uint32_t x9;
6866     uint32_t x10;
6867     uint32_t x11;
6868     uint32_t x12;
6869     uint32_t x13;
6870     uint32_t x14;
6871     uint32_t x15;
6872     uint32_t x16;
6873     uint32_t x17;
6874     uint32_t x18;
6875     uint32_t x19;
6876     uint32_t x20;
6877     uint32_t x21;
6878     uint32_t x22;
6879     uint32_t x23;
6880     uint32_t x24;
6881     uint32_t x25;
6882     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
6883     uint32_t x27;
6884     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
6885     uint32_t x29;
6886     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
6887     uint32_t x31;
6888     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
6889     uint32_t x33;
6890     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
6891     uint32_t x35;
6892     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
6893     uint32_t x37;
6894     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
6895     uint32_t x39;
6896     uint32_t x40;
6897     uint32_t x41;
6898     uint32_t x42;
6899     uint32_t x43;
6900     uint32_t x44;
6901     uint32_t x45;
6902     uint32_t x46;
6903     uint32_t x47;
6904     uint32_t x48;
6905     uint32_t x49;
6906     uint32_t x50;
6907     uint32_t x51;
6908     uint32_t x52;
6909     uint32_t x53;
6910     uint32_t x54;
6911     uint32_t x55;
6912     uint32_t x56;
6913     uint32_t x57;
6914     uint32_t x58;
6915     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
6916     uint32_t x60;
6917     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
6918     uint32_t x62;
6919     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
6920     uint32_t x64;
6921     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
6922     uint32_t x66;
6923     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
6924     uint32_t x68;
6925     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
6926     uint32_t x70;
6927     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x71;
6928     uint32_t x72;
6929     uint32_t x73;
6930     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x74;
6931     uint32_t x75;
6932     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x76;
6933     uint32_t x77;
6934     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
6935     uint32_t x79;
6936     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
6937     uint32_t x81;
6938     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
6939     uint32_t x83;
6940     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
6941     uint32_t x85;
6942     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
6943     uint32_t x87;
6944     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
6945     uint32_t x89;
6946     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
6947     uint32_t x91;
6948     uint32_t x92;
6949     uint32_t x93;
6950     uint32_t x94;
6951     uint32_t x95;
6952     uint32_t x96;
6953     uint32_t x97;
6954     uint32_t x98;
6955     uint32_t x99;
6956     uint32_t x100;
6957     uint32_t x101;
6958     uint32_t x102;
6959     uint32_t x103;
6960     uint32_t x104;
6961     uint32_t x105;
6962     uint32_t x106;
6963     uint32_t x107;
6964     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
6965     uint32_t x109;
6966     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
6967     uint32_t x111;
6968     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
6969     uint32_t x113;
6970     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
6971     uint32_t x115;
6972     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
6973     uint32_t x117;
6974     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
6975     uint32_t x119;
6976     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
6977     uint32_t x121;
6978     uint32_t x122;
6979     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x123;
6980     uint32_t x124;
6981     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x125;
6982     uint32_t x126;
6983     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x127;
6984     uint32_t x128;
6985     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x129;
6986     uint32_t x130;
6987     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x131;
6988     uint32_t x132;
6989     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x133;
6990     uint32_t x134;
6991     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x135;
6992     uint32_t x136;
6993     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x137;
6994     uint32_t x138;
6995     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x139;
6996     uint32_t x140;
6997     uint32_t x141;
6998     uint32_t x142;
6999     uint32_t x143;
7000     uint32_t x144;
7001     uint32_t x145;
7002     uint32_t x146;
7003     uint32_t x147;
7004     uint32_t x148;
7005     uint32_t x149;
7006     uint32_t x150;
7007     uint32_t x151;
7008     uint32_t x152;
7009     uint32_t x153;
7010     uint32_t x154;
7011     uint32_t x155;
7012     uint32_t x156;
7013     uint32_t x157;
7014     uint32_t x158;
7015     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x159;
7016     uint32_t x160;
7017     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x161;
7018     uint32_t x162;
7019     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x163;
7020     uint32_t x164;
7021     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x165;
7022     uint32_t x166;
7023     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x167;
7024     uint32_t x168;
7025     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
7026     uint32_t x170;
7027     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
7028     uint32_t x172;
7029     uint32_t x173;
7030     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
7031     uint32_t x175;
7032     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
7033     uint32_t x177;
7034     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
7035     uint32_t x179;
7036     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
7037     uint32_t x181;
7038     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
7039     uint32_t x183;
7040     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
7041     uint32_t x185;
7042     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x186;
7043     uint32_t x187;
7044     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x188;
7045     uint32_t x189;
7046     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x190;
7047     uint32_t x191;
7048     uint32_t x192;
7049     uint32_t x193;
7050     uint32_t x194;
7051     uint32_t x195;
7052     uint32_t x196;
7053     uint32_t x197;
7054     uint32_t x198;
7055     uint32_t x199;
7056     uint32_t x200;
7057     uint32_t x201;
7058     uint32_t x202;
7059     uint32_t x203;
7060     uint32_t x204;
7061     uint32_t x205;
7062     uint32_t x206;
7063     uint32_t x207;
7064     uint32_t x208;
7065     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
7066     uint32_t x210;
7067     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
7068     uint32_t x212;
7069     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
7070     uint32_t x214;
7071     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
7072     uint32_t x216;
7073     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x217;
7074     uint32_t x218;
7075     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x219;
7076     uint32_t x220;
7077     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x221;
7078     uint32_t x222;
7079     uint32_t x223;
7080     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x224;
7081     uint32_t x225;
7082     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x226;
7083     uint32_t x227;
7084     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x228;
7085     uint32_t x229;
7086     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x230;
7087     uint32_t x231;
7088     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x232;
7089     uint32_t x233;
7090     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x234;
7091     uint32_t x235;
7092     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x236;
7093     uint32_t x237;
7094     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x238;
7095     uint32_t x239;
7096     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x240;
7097     uint32_t x241;
7098     uint32_t x242;
7099     uint32_t x243;
7100     uint32_t x244;
7101     uint32_t x245;
7102     uint32_t x246;
7103     uint32_t x247;
7104     uint32_t x248;
7105     uint32_t x249;
7106     uint32_t x250;
7107     uint32_t x251;
7108     uint32_t x252;
7109     uint32_t x253;
7110     uint32_t x254;
7111     uint32_t x255;
7112     uint32_t x256;
7113     uint32_t x257;
7114     uint32_t x258;
7115     uint32_t x259;
7116     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x260;
7117     uint32_t x261;
7118     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x262;
7119     uint32_t x263;
7120     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x264;
7121     uint32_t x265;
7122     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x266;
7123     uint32_t x267;
7124     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x268;
7125     uint32_t x269;
7126     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x270;
7127     uint32_t x271;
7128     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x272;
7129     uint32_t x273;
7130     uint32_t x274;
7131     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x275;
7132     uint32_t x276;
7133     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x277;
7134     uint32_t x278;
7135     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x279;
7136     uint32_t x280;
7137     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x281;
7138     uint32_t x282;
7139     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x283;
7140     uint32_t x284;
7141     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x285;
7142     uint32_t x286;
7143     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x287;
7144     uint32_t x288;
7145     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x289;
7146     uint32_t x290;
7147     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x291;
7148     uint32_t x292;
7149     uint32_t x293;
7150     uint32_t x294;
7151     uint32_t x295;
7152     uint32_t x296;
7153     uint32_t x297;
7154     uint32_t x298;
7155     uint32_t x299;
7156     uint32_t x300;
7157     uint32_t x301;
7158     uint32_t x302;
7159     uint32_t x303;
7160     uint32_t x304;
7161     uint32_t x305;
7162     uint32_t x306;
7163     uint32_t x307;
7164     uint32_t x308;
7165     uint32_t x309;
7166     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x310;
7167     uint32_t x311;
7168     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x312;
7169     uint32_t x313;
7170     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x314;
7171     uint32_t x315;
7172     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x316;
7173     uint32_t x317;
7174     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x318;
7175     uint32_t x319;
7176     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x320;
7177     uint32_t x321;
7178     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x322;
7179     uint32_t x323;
7180     uint32_t x324;
7181     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x325;
7182     uint32_t x326;
7183     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x327;
7184     uint32_t x328;
7185     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x329;
7186     uint32_t x330;
7187     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x331;
7188     uint32_t x332;
7189     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x333;
7190     uint32_t x334;
7191     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x335;
7192     uint32_t x336;
7193     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x337;
7194     uint32_t x338;
7195     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x339;
7196     uint32_t x340;
7197     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x341;
7198     uint32_t x342;
7199     uint32_t x343;
7200     uint32_t x344;
7201     uint32_t x345;
7202     uint32_t x346;
7203     uint32_t x347;
7204     uint32_t x348;
7205     uint32_t x349;
7206     uint32_t x350;
7207     uint32_t x351;
7208     uint32_t x352;
7209     uint32_t x353;
7210     uint32_t x354;
7211     uint32_t x355;
7212     uint32_t x356;
7213     uint32_t x357;
7214     uint32_t x358;
7215     uint32_t x359;
7216     uint32_t x360;
7217     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x361;
7218     uint32_t x362;
7219     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x363;
7220     uint32_t x364;
7221     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x365;
7222     uint32_t x366;
7223     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x367;
7224     uint32_t x368;
7225     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x369;
7226     uint32_t x370;
7227     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x371;
7228     uint32_t x372;
7229     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x373;
7230     uint32_t x374;
7231     uint32_t x375;
7232     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x376;
7233     uint32_t x377;
7234     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x378;
7235     uint32_t x379;
7236     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x380;
7237     uint32_t x381;
7238     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x382;
7239     uint32_t x383;
7240     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x384;
7241     uint32_t x385;
7242     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x386;
7243     uint32_t x387;
7244     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x388;
7245     uint32_t x389;
7246     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x390;
7247     uint32_t x391;
7248     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x392;
7249     uint32_t x393;
7250     uint32_t x394;
7251     uint32_t x395;
7252     uint32_t x396;
7253     uint32_t x397;
7254     uint32_t x398;
7255     uint32_t x399;
7256     uint32_t x400;
7257     uint32_t x401;
7258     uint32_t x402;
7259     uint32_t x403;
7260     uint32_t x404;
7261     uint32_t x405;
7262     uint32_t x406;
7263     uint32_t x407;
7264     uint32_t x408;
7265     uint32_t x409;
7266     uint32_t x410;
7267     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x411;
7268     uint32_t x412;
7269     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x413;
7270     uint32_t x414;
7271     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x415;
7272     uint32_t x416;
7273     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x417;
7274     uint32_t x418;
7275     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x419;
7276     uint32_t x420;
7277     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x421;
7278     uint32_t x422;
7279     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x423;
7280     uint32_t x424;
7281     uint32_t x425;
7282     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x426;
7283     uint32_t x427;
7284     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x428;
7285     uint32_t x429;
7286     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x430;
7287     uint32_t x431;
7288     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x432;
7289     uint32_t x433;
7290     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x434;
7291     uint32_t x435;
7292     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x436;
7293     uint32_t x437;
7294     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x438;
7295     uint32_t x439;
7296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x440;
7297     uint32_t x441;
7298     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x442;
7299     uint32_t x443;
7300     uint32_t x444;
7301     uint32_t x445;
7302     uint32_t x446;
7303     uint32_t x447;
7304     uint32_t x448;
7305     uint32_t x449;
7306     uint32_t x450;
7307     uint32_t x451;
7308     uint32_t x452;
7309     uint32_t x453;
7310     uint32_t x454;
7311     uint32_t x455;
7312     uint32_t x456;
7313     uint32_t x457;
7314     uint32_t x458;
7315     uint32_t x459;
7316     uint32_t x460;
7317     uint32_t x461;
7318     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x462;
7319     uint32_t x463;
7320     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x464;
7321     uint32_t x465;
7322     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x466;
7323     uint32_t x467;
7324     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x468;
7325     uint32_t x469;
7326     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x470;
7327     uint32_t x471;
7328     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x472;
7329     uint32_t x473;
7330     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x474;
7331     uint32_t x475;
7332     uint32_t x476;
7333     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x477;
7334     uint32_t x478;
7335     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x479;
7336     uint32_t x480;
7337     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x481;
7338     uint32_t x482;
7339     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x483;
7340     uint32_t x484;
7341     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x485;
7342     uint32_t x486;
7343     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x487;
7344     uint32_t x488;
7345     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x489;
7346     uint32_t x490;
7347     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x491;
7348     uint32_t x492;
7349     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x493;
7350     uint32_t x494;
7351     uint32_t x495;
7352     uint32_t x496;
7353     uint32_t x497;
7354     uint32_t x498;
7355     uint32_t x499;
7356     uint32_t x500;
7357     uint32_t x501;
7358     uint32_t x502;
7359     uint32_t x503;
7360     uint32_t x504;
7361     uint32_t x505;
7362     uint32_t x506;
7363     uint32_t x507;
7364     uint32_t x508;
7365     uint32_t x509;
7366     uint32_t x510;
7367     uint32_t x511;
7368     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x512;
7369     uint32_t x513;
7370     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x514;
7371     uint32_t x515;
7372     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x516;
7373     uint32_t x517;
7374     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x518;
7375     uint32_t x519;
7376     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x520;
7377     uint32_t x521;
7378     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x522;
7379     uint32_t x523;
7380     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x524;
7381     uint32_t x525;
7382     uint32_t x526;
7383     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x527;
7384     uint32_t x528;
7385     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x529;
7386     uint32_t x530;
7387     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x531;
7388     uint32_t x532;
7389     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x533;
7390     uint32_t x534;
7391     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x535;
7392     uint32_t x536;
7393     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x537;
7394     uint32_t x538;
7395     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x539;
7396     uint32_t x540;
7397     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x541;
7398     uint32_t x542;
7399     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x543;
7400     uint32_t x544;
7401     uint32_t x545;
7402     uint32_t x546;
7403     uint32_t x547;
7404     uint32_t x548;
7405     uint32_t x549;
7406     uint32_t x550;
7407     uint32_t x551;
7408     uint32_t x552;
7409     uint32_t x553;
7410     uint32_t x554;
7411     uint32_t x555;
7412     uint32_t x556;
7413     uint32_t x557;
7414     uint32_t x558;
7415     uint32_t x559;
7416     uint32_t x560;
7417     uint32_t x561;
7418     uint32_t x562;
7419     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x563;
7420     uint32_t x564;
7421     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x565;
7422     uint32_t x566;
7423     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x567;
7424     uint32_t x568;
7425     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x569;
7426     uint32_t x570;
7427     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x571;
7428     uint32_t x572;
7429     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x573;
7430     uint32_t x574;
7431     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x575;
7432     uint32_t x576;
7433     uint32_t x577;
7434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x578;
7435     uint32_t x579;
7436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x580;
7437     uint32_t x581;
7438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x582;
7439     uint32_t x583;
7440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x584;
7441     uint32_t x585;
7442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x586;
7443     uint32_t x587;
7444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x588;
7445     uint32_t x589;
7446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x590;
7447     uint32_t x591;
7448     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x592;
7449     uint32_t x593;
7450     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x594;
7451     uint32_t x595;
7452     uint32_t x596;
7453     uint32_t x597;
7454     uint32_t x598;
7455     uint32_t x599;
7456     uint32_t x600;
7457     uint32_t x601;
7458     uint32_t x602;
7459     uint32_t x603;
7460     uint32_t x604;
7461     uint32_t x605;
7462     uint32_t x606;
7463     uint32_t x607;
7464     uint32_t x608;
7465     uint32_t x609;
7466     uint32_t x610;
7467     uint32_t x611;
7468     uint32_t x612;
7469     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x613;
7470     uint32_t x614;
7471     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x615;
7472     uint32_t x616;
7473     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x617;
7474     uint32_t x618;
7475     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x619;
7476     uint32_t x620;
7477     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x621;
7478     uint32_t x622;
7479     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x623;
7480     uint32_t x624;
7481     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x625;
7482     uint32_t x626;
7483     uint32_t x627;
7484     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x628;
7485     uint32_t x629;
7486     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x630;
7487     uint32_t x631;
7488     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x632;
7489     uint32_t x633;
7490     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x634;
7491     uint32_t x635;
7492     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x636;
7493     uint32_t x637;
7494     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x638;
7495     uint32_t x639;
7496     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x640;
7497     uint32_t x641;
7498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x642;
7499     uint32_t x643;
7500     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x644;
7501     uint32_t x645;
7502     uint32_t x646;
7503     uint32_t x647;
7504     uint32_t x648;
7505     uint32_t x649;
7506     uint32_t x650;
7507     uint32_t x651;
7508     uint32_t x652;
7509     uint32_t x653;
7510     uint32_t x654;
7511     uint32_t x655;
7512     uint32_t x656;
7513     uint32_t x657;
7514     uint32_t x658;
7515     uint32_t x659;
7516     uint32_t x660;
7517     uint32_t x661;
7518     uint32_t x662;
7519     uint32_t x663;
7520     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x664;
7521     uint32_t x665;
7522     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x666;
7523     uint32_t x667;
7524     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x668;
7525     uint32_t x669;
7526     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x670;
7527     uint32_t x671;
7528     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x672;
7529     uint32_t x673;
7530     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x674;
7531     uint32_t x675;
7532     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x676;
7533     uint32_t x677;
7534     uint32_t x678;
7535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x679;
7536     uint32_t x680;
7537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x681;
7538     uint32_t x682;
7539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x683;
7540     uint32_t x684;
7541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x685;
7542     uint32_t x686;
7543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x687;
7544     uint32_t x688;
7545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x689;
7546     uint32_t x690;
7547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x691;
7548     uint32_t x692;
7549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x693;
7550     uint32_t x694;
7551     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x695;
7552     uint32_t x696;
7553     uint32_t x697;
7554     uint32_t x698;
7555     uint32_t x699;
7556     uint32_t x700;
7557     uint32_t x701;
7558     uint32_t x702;
7559     uint32_t x703;
7560     uint32_t x704;
7561     uint32_t x705;
7562     uint32_t x706;
7563     uint32_t x707;
7564     uint32_t x708;
7565     uint32_t x709;
7566     uint32_t x710;
7567     uint32_t x711;
7568     uint32_t x712;
7569     uint32_t x713;
7570     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x714;
7571     uint32_t x715;
7572     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x716;
7573     uint32_t x717;
7574     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x718;
7575     uint32_t x719;
7576     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x720;
7577     uint32_t x721;
7578     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x722;
7579     uint32_t x723;
7580     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x724;
7581     uint32_t x725;
7582     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x726;
7583     uint32_t x727;
7584     uint32_t x728;
7585     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x729;
7586     uint32_t x730;
7587     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x731;
7588     uint32_t x732;
7589     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x733;
7590     uint32_t x734;
7591     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x735;
7592     uint32_t x736;
7593     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x737;
7594     uint32_t x738;
7595     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x739;
7596     uint32_t x740;
7597     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x741;
7598     uint32_t x742;
7599     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x743;
7600     uint32_t x744;
7601     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x745;
7602     uint32_t x746;
7603     uint32_t x747;
7604     uint32_t x748;
7605     uint32_t x749;
7606     uint32_t x750;
7607     uint32_t x751;
7608     uint32_t x752;
7609     uint32_t x753;
7610     uint32_t x754;
7611     uint32_t x755;
7612     uint32_t x756;
7613     uint32_t x757;
7614     uint32_t x758;
7615     uint32_t x759;
7616     uint32_t x760;
7617     uint32_t x761;
7618     uint32_t x762;
7619     uint32_t x763;
7620     uint32_t x764;
7621     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x765;
7622     uint32_t x766;
7623     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x767;
7624     uint32_t x768;
7625     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x769;
7626     uint32_t x770;
7627     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x771;
7628     uint32_t x772;
7629     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x773;
7630     uint32_t x774;
7631     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x775;
7632     uint32_t x776;
7633     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x777;
7634     uint32_t x778;
7635     uint32_t x779;
7636     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x780;
7637     uint32_t x781;
7638     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x782;
7639     uint32_t x783;
7640     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x784;
7641     uint32_t x785;
7642     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x786;
7643     uint32_t x787;
7644     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x788;
7645     uint32_t x789;
7646     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x790;
7647     uint32_t x791;
7648     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x792;
7649     uint32_t x793;
7650     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x794;
7651     uint32_t x795;
7652     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x796;
7653     uint32_t x797;
7654     uint32_t x798;
7655     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x799;
7656     uint32_t x800;
7657     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x801;
7658     uint32_t x802;
7659     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x803;
7660     uint32_t x804;
7661     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x805;
7662     uint32_t x806;
7663     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x807;
7664     uint32_t x808;
7665     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x809;
7666     uint32_t x810;
7667     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x811;
7668     uint32_t x812;
7669     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x813;
7670     uint32_t x814;
7671     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x815;
7672     uint32_t x816;
7673     uint32_t x817;
7674     uint32_t x818;
7675     uint32_t x819;
7676     uint32_t x820;
7677     uint32_t x821;
7678     uint32_t x822;
7679     uint32_t x823;
7680     x1 = (arg1[1]);
7681     x2 = (arg1[2]);
7682     x3 = (arg1[3]);
7683     x4 = (arg1[4]);
7684     x5 = (arg1[5]);
7685     x6 = (arg1[6]);
7686     x7 = (arg1[7]);
7687     x8 = (arg1[0]);
7688     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x9, &x10, x8,
7689                                                          (arg1[7]));
7690     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x11, &x12, x8,
7691                                                          (arg1[6]));
7692     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x13, &x14, x8,
7693                                                          (arg1[5]));
7694     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x15, &x16, x8,
7695                                                          (arg1[4]));
7696     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x17, &x18, x8,
7697                                                          (arg1[3]));
7698     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x19, &x20, x8,
7699                                                          (arg1[2]));
7700     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x21, &x22, x8,
7701                                                          (arg1[1]));
7702     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x23, &x24, x8,
7703                                                          (arg1[0]));
7704     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
7705                                                               x24, x21);
7706     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x27, &x28, x26,
7707                                                               x22, x19);
7708     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x29, &x30, x28,
7709                                                               x20, x17);
7710     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x31, &x32, x30,
7711                                                               x18, x15);
7712     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x33, &x34, x32,
7713                                                               x16, x13);
7714     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x35, &x36, x34,
7715                                                               x14, x11);
7716     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x37, &x38, x36,
7717                                                               x12, x9);
7718     x39 = (x38 + x10);
7719     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x40, &x41, x23,
7720                                                          UINT32_C(0x727c176d));
7721     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x42, &x43, x40,
7722                                                          UINT32_C(0x9b9f605f));
7723     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x44, &x45, x40,
7724                                                          UINT32_C(0x5a858107));
7725     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x46, &x47, x40,
7726                                                          UINT32_C(0xab1ec85e));
7727     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x48, &x49, x40,
7728                                                          UINT32_C(0x6b41c8aa));
7729     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x50, &x51, x40,
7730                                                          UINT32_C(0xcf846e86));
7731     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x52, &x53, x40,
7732                                                          UINT32_C(0x789051d3));
7733     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x54, &x55, x40,
7734                                                          UINT32_C(0x7998f7b9));
7735     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x56, &x57, x40,
7736                                                          UINT32_C(0x22d759b));
7737     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x58, &x59, 0x0,
7738                                                               x57, x54);
7739     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x60, &x61, x59,
7740                                                               x55, x52);
7741     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x62, &x63, x61,
7742                                                               x53, x50);
7743     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x64, &x65, x63,
7744                                                               x51, x48);
7745     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x66, &x67, x65,
7746                                                               x49, x46);
7747     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x68, &x69, x67,
7748                                                               x47, x44);
7749     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x70, &x71, x69,
7750                                                               x45, x42);
7751     x72 = (x71 + x43);
7752     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x73, &x74, 0x0,
7753                                                               x23, x56);
7754     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x75, &x76, x74,
7755                                                               x25, x58);
7756     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x77, &x78, x76,
7757                                                               x27, x60);
7758     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x79, &x80, x78,
7759                                                               x29, x62);
7760     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x81, &x82, x80,
7761                                                               x31, x64);
7762     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x83, &x84, x82,
7763                                                               x33, x66);
7764     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x85, &x86, x84,
7765                                                               x35, x68);
7766     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x87, &x88, x86,
7767                                                               x37, x70);
7768     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x89, &x90, x88,
7769                                                               x39, x72);
7770     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x91, &x92, x1,
7771                                                          (arg1[7]));
7772     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x93, &x94, x1,
7773                                                          (arg1[6]));
7774     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x95, &x96, x1,
7775                                                          (arg1[5]));
7776     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x97, &x98, x1,
7777                                                          (arg1[4]));
7778     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x99, &x100, x1,
7779                                                          (arg1[3]));
7780     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x101, &x102, x1,
7781                                                          (arg1[2]));
7782     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x103, &x104, x1,
7783                                                          (arg1[1]));
7784     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x105, &x106, x1,
7785                                                          (arg1[0]));
7786     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x107, &x108, 0x0,
7787                                                               x106, x103);
7788     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x109, &x110,
7789                                                               x108, x104, x101);
7790     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x111, &x112,
7791                                                               x110, x102, x99);
7792     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x113, &x114,
7793                                                               x112, x100, x97);
7794     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x115, &x116,
7795                                                               x114, x98, x95);
7796     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x117, &x118,
7797                                                               x116, x96, x93);
7798     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x119, &x120,
7799                                                               x118, x94, x91);
7800     x121 = (x120 + x92);
7801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x122, &x123, 0x0,
7802                                                               x75, x105);
7803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x124, &x125,
7804                                                               x123, x77, x107);
7805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x126, &x127,
7806                                                               x125, x79, x109);
7807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x128, &x129,
7808                                                               x127, x81, x111);
7809     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x130, &x131,
7810                                                               x129, x83, x113);
7811     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x132, &x133,
7812                                                               x131, x85, x115);
7813     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x134, &x135,
7814                                                               x133, x87, x117);
7815     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x136, &x137,
7816                                                               x135, x89, x119);
7817     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x138, &x139,
7818                                                               x137, x90, x121);
7819     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x140, &x141, x122,
7820                                                          UINT32_C(0x727c176d));
7821     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x142, &x143, x140,
7822                                                          UINT32_C(0x9b9f605f));
7823     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x144, &x145, x140,
7824                                                          UINT32_C(0x5a858107));
7825     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x146, &x147, x140,
7826                                                          UINT32_C(0xab1ec85e));
7827     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x148, &x149, x140,
7828                                                          UINT32_C(0x6b41c8aa));
7829     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x150, &x151, x140,
7830                                                          UINT32_C(0xcf846e86));
7831     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x152, &x153, x140,
7832                                                          UINT32_C(0x789051d3));
7833     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x154, &x155, x140,
7834                                                          UINT32_C(0x7998f7b9));
7835     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x156, &x157, x140,
7836                                                          UINT32_C(0x22d759b));
7837     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x158, &x159, 0x0,
7838                                                               x157, x154);
7839     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x160, &x161,
7840                                                               x159, x155, x152);
7841     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x162, &x163,
7842                                                               x161, x153, x150);
7843     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x164, &x165,
7844                                                               x163, x151, x148);
7845     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x166, &x167,
7846                                                               x165, x149, x146);
7847     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x168, &x169,
7848                                                               x167, x147, x144);
7849     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x170, &x171,
7850                                                               x169, x145, x142);
7851     x172 = (x171 + x143);
7852     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x173, &x174, 0x0,
7853                                                               x122, x156);
7854     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x175, &x176,
7855                                                               x174, x124, x158);
7856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x177, &x178,
7857                                                               x176, x126, x160);
7858     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x179, &x180,
7859                                                               x178, x128, x162);
7860     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x181, &x182,
7861                                                               x180, x130, x164);
7862     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x183, &x184,
7863                                                               x182, x132, x166);
7864     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x185, &x186,
7865                                                               x184, x134, x168);
7866     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x187, &x188,
7867                                                               x186, x136, x170);
7868     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x189, &x190,
7869                                                               x188, x138, x172);
7870     x191 = ((uint32_t)x190 + x139);
7871     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x192, &x193, x2,
7872                                                          (arg1[7]));
7873     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x194, &x195, x2,
7874                                                          (arg1[6]));
7875     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x196, &x197, x2,
7876                                                          (arg1[5]));
7877     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x198, &x199, x2,
7878                                                          (arg1[4]));
7879     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x200, &x201, x2,
7880                                                          (arg1[3]));
7881     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x202, &x203, x2,
7882                                                          (arg1[2]));
7883     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x204, &x205, x2,
7884                                                          (arg1[1]));
7885     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x206, &x207, x2,
7886                                                          (arg1[0]));
7887     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x208, &x209, 0x0,
7888                                                               x207, x204);
7889     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x210, &x211,
7890                                                               x209, x205, x202);
7891     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x212, &x213,
7892                                                               x211, x203, x200);
7893     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x214, &x215,
7894                                                               x213, x201, x198);
7895     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x216, &x217,
7896                                                               x215, x199, x196);
7897     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x218, &x219,
7898                                                               x217, x197, x194);
7899     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x220, &x221,
7900                                                               x219, x195, x192);
7901     x222 = (x221 + x193);
7902     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x223, &x224, 0x0,
7903                                                               x175, x206);
7904     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x225, &x226,
7905                                                               x224, x177, x208);
7906     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x227, &x228,
7907                                                               x226, x179, x210);
7908     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x229, &x230,
7909                                                               x228, x181, x212);
7910     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x231, &x232,
7911                                                               x230, x183, x214);
7912     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x233, &x234,
7913                                                               x232, x185, x216);
7914     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x235, &x236,
7915                                                               x234, x187, x218);
7916     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x237, &x238,
7917                                                               x236, x189, x220);
7918     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x239, &x240,
7919                                                               x238, x191, x222);
7920     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x241, &x242, x223,
7921                                                          UINT32_C(0x727c176d));
7922     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x243, &x244, x241,
7923                                                          UINT32_C(0x9b9f605f));
7924     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x245, &x246, x241,
7925                                                          UINT32_C(0x5a858107));
7926     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x247, &x248, x241,
7927                                                          UINT32_C(0xab1ec85e));
7928     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x249, &x250, x241,
7929                                                          UINT32_C(0x6b41c8aa));
7930     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x251, &x252, x241,
7931                                                          UINT32_C(0xcf846e86));
7932     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x253, &x254, x241,
7933                                                          UINT32_C(0x789051d3));
7934     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x255, &x256, x241,
7935                                                          UINT32_C(0x7998f7b9));
7936     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x257, &x258, x241,
7937                                                          UINT32_C(0x22d759b));
7938     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x259, &x260, 0x0,
7939                                                               x258, x255);
7940     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x261, &x262,
7941                                                               x260, x256, x253);
7942     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x263, &x264,
7943                                                               x262, x254, x251);
7944     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x265, &x266,
7945                                                               x264, x252, x249);
7946     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x267, &x268,
7947                                                               x266, x250, x247);
7948     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x269, &x270,
7949                                                               x268, x248, x245);
7950     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x271, &x272,
7951                                                               x270, x246, x243);
7952     x273 = (x272 + x244);
7953     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x274, &x275, 0x0,
7954                                                               x223, x257);
7955     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x276, &x277,
7956                                                               x275, x225, x259);
7957     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x278, &x279,
7958                                                               x277, x227, x261);
7959     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x280, &x281,
7960                                                               x279, x229, x263);
7961     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x282, &x283,
7962                                                               x281, x231, x265);
7963     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x284, &x285,
7964                                                               x283, x233, x267);
7965     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x286, &x287,
7966                                                               x285, x235, x269);
7967     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x288, &x289,
7968                                                               x287, x237, x271);
7969     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x290, &x291,
7970                                                               x289, x239, x273);
7971     x292 = ((uint32_t)x291 + x240);
7972     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x293, &x294, x3,
7973                                                          (arg1[7]));
7974     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x295, &x296, x3,
7975                                                          (arg1[6]));
7976     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x297, &x298, x3,
7977                                                          (arg1[5]));
7978     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x299, &x300, x3,
7979                                                          (arg1[4]));
7980     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x301, &x302, x3,
7981                                                          (arg1[3]));
7982     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x303, &x304, x3,
7983                                                          (arg1[2]));
7984     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x305, &x306, x3,
7985                                                          (arg1[1]));
7986     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x307, &x308, x3,
7987                                                          (arg1[0]));
7988     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x309, &x310, 0x0,
7989                                                               x308, x305);
7990     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x311, &x312,
7991                                                               x310, x306, x303);
7992     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x313, &x314,
7993                                                               x312, x304, x301);
7994     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x315, &x316,
7995                                                               x314, x302, x299);
7996     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x317, &x318,
7997                                                               x316, x300, x297);
7998     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x319, &x320,
7999                                                               x318, x298, x295);
8000     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x321, &x322,
8001                                                               x320, x296, x293);
8002     x323 = (x322 + x294);
8003     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x324, &x325, 0x0,
8004                                                               x276, x307);
8005     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x326, &x327,
8006                                                               x325, x278, x309);
8007     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x328, &x329,
8008                                                               x327, x280, x311);
8009     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x330, &x331,
8010                                                               x329, x282, x313);
8011     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x332, &x333,
8012                                                               x331, x284, x315);
8013     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x334, &x335,
8014                                                               x333, x286, x317);
8015     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x336, &x337,
8016                                                               x335, x288, x319);
8017     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x338, &x339,
8018                                                               x337, x290, x321);
8019     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x340, &x341,
8020                                                               x339, x292, x323);
8021     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x342, &x343, x324,
8022                                                          UINT32_C(0x727c176d));
8023     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x344, &x345, x342,
8024                                                          UINT32_C(0x9b9f605f));
8025     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x346, &x347, x342,
8026                                                          UINT32_C(0x5a858107));
8027     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x348, &x349, x342,
8028                                                          UINT32_C(0xab1ec85e));
8029     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x350, &x351, x342,
8030                                                          UINT32_C(0x6b41c8aa));
8031     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x352, &x353, x342,
8032                                                          UINT32_C(0xcf846e86));
8033     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x354, &x355, x342,
8034                                                          UINT32_C(0x789051d3));
8035     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x356, &x357, x342,
8036                                                          UINT32_C(0x7998f7b9));
8037     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x358, &x359, x342,
8038                                                          UINT32_C(0x22d759b));
8039     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x360, &x361, 0x0,
8040                                                               x359, x356);
8041     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x362, &x363,
8042                                                               x361, x357, x354);
8043     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x364, &x365,
8044                                                               x363, x355, x352);
8045     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x366, &x367,
8046                                                               x365, x353, x350);
8047     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x368, &x369,
8048                                                               x367, x351, x348);
8049     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x370, &x371,
8050                                                               x369, x349, x346);
8051     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x372, &x373,
8052                                                               x371, x347, x344);
8053     x374 = (x373 + x345);
8054     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x375, &x376, 0x0,
8055                                                               x324, x358);
8056     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x377, &x378,
8057                                                               x376, x326, x360);
8058     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x379, &x380,
8059                                                               x378, x328, x362);
8060     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x381, &x382,
8061                                                               x380, x330, x364);
8062     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x383, &x384,
8063                                                               x382, x332, x366);
8064     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x385, &x386,
8065                                                               x384, x334, x368);
8066     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x387, &x388,
8067                                                               x386, x336, x370);
8068     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x389, &x390,
8069                                                               x388, x338, x372);
8070     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x391, &x392,
8071                                                               x390, x340, x374);
8072     x393 = ((uint32_t)x392 + x341);
8073     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x394, &x395, x4,
8074                                                          (arg1[7]));
8075     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x396, &x397, x4,
8076                                                          (arg1[6]));
8077     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x398, &x399, x4,
8078                                                          (arg1[5]));
8079     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x400, &x401, x4,
8080                                                          (arg1[4]));
8081     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x402, &x403, x4,
8082                                                          (arg1[3]));
8083     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x404, &x405, x4,
8084                                                          (arg1[2]));
8085     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x406, &x407, x4,
8086                                                          (arg1[1]));
8087     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x408, &x409, x4,
8088                                                          (arg1[0]));
8089     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x410, &x411, 0x0,
8090                                                               x409, x406);
8091     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x412, &x413,
8092                                                               x411, x407, x404);
8093     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x414, &x415,
8094                                                               x413, x405, x402);
8095     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x416, &x417,
8096                                                               x415, x403, x400);
8097     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x418, &x419,
8098                                                               x417, x401, x398);
8099     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x420, &x421,
8100                                                               x419, x399, x396);
8101     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x422, &x423,
8102                                                               x421, x397, x394);
8103     x424 = (x423 + x395);
8104     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x425, &x426, 0x0,
8105                                                               x377, x408);
8106     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x427, &x428,
8107                                                               x426, x379, x410);
8108     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x429, &x430,
8109                                                               x428, x381, x412);
8110     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x431, &x432,
8111                                                               x430, x383, x414);
8112     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x433, &x434,
8113                                                               x432, x385, x416);
8114     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x435, &x436,
8115                                                               x434, x387, x418);
8116     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x437, &x438,
8117                                                               x436, x389, x420);
8118     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x439, &x440,
8119                                                               x438, x391, x422);
8120     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x441, &x442,
8121                                                               x440, x393, x424);
8122     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x443, &x444, x425,
8123                                                          UINT32_C(0x727c176d));
8124     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x445, &x446, x443,
8125                                                          UINT32_C(0x9b9f605f));
8126     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x447, &x448, x443,
8127                                                          UINT32_C(0x5a858107));
8128     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x449, &x450, x443,
8129                                                          UINT32_C(0xab1ec85e));
8130     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x451, &x452, x443,
8131                                                          UINT32_C(0x6b41c8aa));
8132     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x453, &x454, x443,
8133                                                          UINT32_C(0xcf846e86));
8134     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x455, &x456, x443,
8135                                                          UINT32_C(0x789051d3));
8136     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x457, &x458, x443,
8137                                                          UINT32_C(0x7998f7b9));
8138     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x459, &x460, x443,
8139                                                          UINT32_C(0x22d759b));
8140     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x461, &x462, 0x0,
8141                                                               x460, x457);
8142     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x463, &x464,
8143                                                               x462, x458, x455);
8144     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x465, &x466,
8145                                                               x464, x456, x453);
8146     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x467, &x468,
8147                                                               x466, x454, x451);
8148     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x469, &x470,
8149                                                               x468, x452, x449);
8150     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x471, &x472,
8151                                                               x470, x450, x447);
8152     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x473, &x474,
8153                                                               x472, x448, x445);
8154     x475 = (x474 + x446);
8155     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x476, &x477, 0x0,
8156                                                               x425, x459);
8157     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x478, &x479,
8158                                                               x477, x427, x461);
8159     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x480, &x481,
8160                                                               x479, x429, x463);
8161     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x482, &x483,
8162                                                               x481, x431, x465);
8163     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x484, &x485,
8164                                                               x483, x433, x467);
8165     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x486, &x487,
8166                                                               x485, x435, x469);
8167     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x488, &x489,
8168                                                               x487, x437, x471);
8169     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x490, &x491,
8170                                                               x489, x439, x473);
8171     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x492, &x493,
8172                                                               x491, x441, x475);
8173     x494 = ((uint32_t)x493 + x442);
8174     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x495, &x496, x5,
8175                                                          (arg1[7]));
8176     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x497, &x498, x5,
8177                                                          (arg1[6]));
8178     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x499, &x500, x5,
8179                                                          (arg1[5]));
8180     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x501, &x502, x5,
8181                                                          (arg1[4]));
8182     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x503, &x504, x5,
8183                                                          (arg1[3]));
8184     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x505, &x506, x5,
8185                                                          (arg1[2]));
8186     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x507, &x508, x5,
8187                                                          (arg1[1]));
8188     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x509, &x510, x5,
8189                                                          (arg1[0]));
8190     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x511, &x512, 0x0,
8191                                                               x510, x507);
8192     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x513, &x514,
8193                                                               x512, x508, x505);
8194     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x515, &x516,
8195                                                               x514, x506, x503);
8196     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x517, &x518,
8197                                                               x516, x504, x501);
8198     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x519, &x520,
8199                                                               x518, x502, x499);
8200     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x521, &x522,
8201                                                               x520, x500, x497);
8202     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x523, &x524,
8203                                                               x522, x498, x495);
8204     x525 = (x524 + x496);
8205     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x526, &x527, 0x0,
8206                                                               x478, x509);
8207     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x528, &x529,
8208                                                               x527, x480, x511);
8209     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x530, &x531,
8210                                                               x529, x482, x513);
8211     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x532, &x533,
8212                                                               x531, x484, x515);
8213     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x534, &x535,
8214                                                               x533, x486, x517);
8215     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x536, &x537,
8216                                                               x535, x488, x519);
8217     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x538, &x539,
8218                                                               x537, x490, x521);
8219     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x540, &x541,
8220                                                               x539, x492, x523);
8221     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x542, &x543,
8222                                                               x541, x494, x525);
8223     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x544, &x545, x526,
8224                                                          UINT32_C(0x727c176d));
8225     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x546, &x547, x544,
8226                                                          UINT32_C(0x9b9f605f));
8227     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x548, &x549, x544,
8228                                                          UINT32_C(0x5a858107));
8229     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x550, &x551, x544,
8230                                                          UINT32_C(0xab1ec85e));
8231     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x552, &x553, x544,
8232                                                          UINT32_C(0x6b41c8aa));
8233     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x554, &x555, x544,
8234                                                          UINT32_C(0xcf846e86));
8235     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x556, &x557, x544,
8236                                                          UINT32_C(0x789051d3));
8237     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x558, &x559, x544,
8238                                                          UINT32_C(0x7998f7b9));
8239     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x560, &x561, x544,
8240                                                          UINT32_C(0x22d759b));
8241     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x562, &x563, 0x0,
8242                                                               x561, x558);
8243     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x564, &x565,
8244                                                               x563, x559, x556);
8245     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x566, &x567,
8246                                                               x565, x557, x554);
8247     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x568, &x569,
8248                                                               x567, x555, x552);
8249     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x570, &x571,
8250                                                               x569, x553, x550);
8251     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x572, &x573,
8252                                                               x571, x551, x548);
8253     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x574, &x575,
8254                                                               x573, x549, x546);
8255     x576 = (x575 + x547);
8256     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x577, &x578, 0x0,
8257                                                               x526, x560);
8258     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x579, &x580,
8259                                                               x578, x528, x562);
8260     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x581, &x582,
8261                                                               x580, x530, x564);
8262     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x583, &x584,
8263                                                               x582, x532, x566);
8264     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x585, &x586,
8265                                                               x584, x534, x568);
8266     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x587, &x588,
8267                                                               x586, x536, x570);
8268     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x589, &x590,
8269                                                               x588, x538, x572);
8270     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x591, &x592,
8271                                                               x590, x540, x574);
8272     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x593, &x594,
8273                                                               x592, x542, x576);
8274     x595 = ((uint32_t)x594 + x543);
8275     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x596, &x597, x6,
8276                                                          (arg1[7]));
8277     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x598, &x599, x6,
8278                                                          (arg1[6]));
8279     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x600, &x601, x6,
8280                                                          (arg1[5]));
8281     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x602, &x603, x6,
8282                                                          (arg1[4]));
8283     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x604, &x605, x6,
8284                                                          (arg1[3]));
8285     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x606, &x607, x6,
8286                                                          (arg1[2]));
8287     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x608, &x609, x6,
8288                                                          (arg1[1]));
8289     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x610, &x611, x6,
8290                                                          (arg1[0]));
8291     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x612, &x613, 0x0,
8292                                                               x611, x608);
8293     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x614, &x615,
8294                                                               x613, x609, x606);
8295     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x616, &x617,
8296                                                               x615, x607, x604);
8297     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x618, &x619,
8298                                                               x617, x605, x602);
8299     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x620, &x621,
8300                                                               x619, x603, x600);
8301     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x622, &x623,
8302                                                               x621, x601, x598);
8303     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x624, &x625,
8304                                                               x623, x599, x596);
8305     x626 = (x625 + x597);
8306     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x627, &x628, 0x0,
8307                                                               x579, x610);
8308     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x629, &x630,
8309                                                               x628, x581, x612);
8310     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x631, &x632,
8311                                                               x630, x583, x614);
8312     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x633, &x634,
8313                                                               x632, x585, x616);
8314     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x635, &x636,
8315                                                               x634, x587, x618);
8316     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x637, &x638,
8317                                                               x636, x589, x620);
8318     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x639, &x640,
8319                                                               x638, x591, x622);
8320     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x641, &x642,
8321                                                               x640, x593, x624);
8322     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x643, &x644,
8323                                                               x642, x595, x626);
8324     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x645, &x646, x627,
8325                                                          UINT32_C(0x727c176d));
8326     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x647, &x648, x645,
8327                                                          UINT32_C(0x9b9f605f));
8328     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x649, &x650, x645,
8329                                                          UINT32_C(0x5a858107));
8330     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x651, &x652, x645,
8331                                                          UINT32_C(0xab1ec85e));
8332     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x653, &x654, x645,
8333                                                          UINT32_C(0x6b41c8aa));
8334     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x655, &x656, x645,
8335                                                          UINT32_C(0xcf846e86));
8336     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x657, &x658, x645,
8337                                                          UINT32_C(0x789051d3));
8338     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x659, &x660, x645,
8339                                                          UINT32_C(0x7998f7b9));
8340     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x661, &x662, x645,
8341                                                          UINT32_C(0x22d759b));
8342     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x663, &x664, 0x0,
8343                                                               x662, x659);
8344     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x665, &x666,
8345                                                               x664, x660, x657);
8346     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x667, &x668,
8347                                                               x666, x658, x655);
8348     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x669, &x670,
8349                                                               x668, x656, x653);
8350     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x671, &x672,
8351                                                               x670, x654, x651);
8352     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x673, &x674,
8353                                                               x672, x652, x649);
8354     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x675, &x676,
8355                                                               x674, x650, x647);
8356     x677 = (x676 + x648);
8357     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x678, &x679, 0x0,
8358                                                               x627, x661);
8359     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x680, &x681,
8360                                                               x679, x629, x663);
8361     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x682, &x683,
8362                                                               x681, x631, x665);
8363     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x684, &x685,
8364                                                               x683, x633, x667);
8365     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x686, &x687,
8366                                                               x685, x635, x669);
8367     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x688, &x689,
8368                                                               x687, x637, x671);
8369     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x690, &x691,
8370                                                               x689, x639, x673);
8371     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x692, &x693,
8372                                                               x691, x641, x675);
8373     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x694, &x695,
8374                                                               x693, x643, x677);
8375     x696 = ((uint32_t)x695 + x644);
8376     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x697, &x698, x7,
8377                                                          (arg1[7]));
8378     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x699, &x700, x7,
8379                                                          (arg1[6]));
8380     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x701, &x702, x7,
8381                                                          (arg1[5]));
8382     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x703, &x704, x7,
8383                                                          (arg1[4]));
8384     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x705, &x706, x7,
8385                                                          (arg1[3]));
8386     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x707, &x708, x7,
8387                                                          (arg1[2]));
8388     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x709, &x710, x7,
8389                                                          (arg1[1]));
8390     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x711, &x712, x7,
8391                                                          (arg1[0]));
8392     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x713, &x714, 0x0,
8393                                                               x712, x709);
8394     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x715, &x716,
8395                                                               x714, x710, x707);
8396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x717, &x718,
8397                                                               x716, x708, x705);
8398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x719, &x720,
8399                                                               x718, x706, x703);
8400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x721, &x722,
8401                                                               x720, x704, x701);
8402     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x723, &x724,
8403                                                               x722, x702, x699);
8404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x725, &x726,
8405                                                               x724, x700, x697);
8406     x727 = (x726 + x698);
8407     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x728, &x729, 0x0,
8408                                                               x680, x711);
8409     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x730, &x731,
8410                                                               x729, x682, x713);
8411     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x732, &x733,
8412                                                               x731, x684, x715);
8413     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x734, &x735,
8414                                                               x733, x686, x717);
8415     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x736, &x737,
8416                                                               x735, x688, x719);
8417     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x738, &x739,
8418                                                               x737, x690, x721);
8419     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x740, &x741,
8420                                                               x739, x692, x723);
8421     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x742, &x743,
8422                                                               x741, x694, x725);
8423     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x744, &x745,
8424                                                               x743, x696, x727);
8425     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x746, &x747, x728,
8426                                                          UINT32_C(0x727c176d));
8427     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x748, &x749, x746,
8428                                                          UINT32_C(0x9b9f605f));
8429     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x750, &x751, x746,
8430                                                          UINT32_C(0x5a858107));
8431     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x752, &x753, x746,
8432                                                          UINT32_C(0xab1ec85e));
8433     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x754, &x755, x746,
8434                                                          UINT32_C(0x6b41c8aa));
8435     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x756, &x757, x746,
8436                                                          UINT32_C(0xcf846e86));
8437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x758, &x759, x746,
8438                                                          UINT32_C(0x789051d3));
8439     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x760, &x761, x746,
8440                                                          UINT32_C(0x7998f7b9));
8441     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x762, &x763, x746,
8442                                                          UINT32_C(0x22d759b));
8443     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x764, &x765, 0x0,
8444                                                               x763, x760);
8445     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x766, &x767,
8446                                                               x765, x761, x758);
8447     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x768, &x769,
8448                                                               x767, x759, x756);
8449     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x770, &x771,
8450                                                               x769, x757, x754);
8451     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x772, &x773,
8452                                                               x771, x755, x752);
8453     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x774, &x775,
8454                                                               x773, x753, x750);
8455     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x776, &x777,
8456                                                               x775, x751, x748);
8457     x778 = (x777 + x749);
8458     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x779, &x780, 0x0,
8459                                                               x728, x762);
8460     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x781, &x782,
8461                                                               x780, x730, x764);
8462     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x783, &x784,
8463                                                               x782, x732, x766);
8464     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x785, &x786,
8465                                                               x784, x734, x768);
8466     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x787, &x788,
8467                                                               x786, x736, x770);
8468     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x789, &x790,
8469                                                               x788, x738, x772);
8470     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x791, &x792,
8471                                                               x790, x740, x774);
8472     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x793, &x794,
8473                                                               x792, x742, x776);
8474     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x795, &x796,
8475                                                               x794, x744, x778);
8476     x797 = ((uint32_t)x796 + x745);
8477     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8478         &x798, &x799, 0x0, x781, UINT32_C(0x22d759b));
8479     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8480         &x800, &x801, x799, x783, UINT32_C(0x7998f7b9));
8481     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8482         &x802, &x803, x801, x785, UINT32_C(0x789051d3));
8483     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8484         &x804, &x805, x803, x787, UINT32_C(0xcf846e86));
8485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8486         &x806, &x807, x805, x789, UINT32_C(0x6b41c8aa));
8487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8488         &x808, &x809, x807, x791, UINT32_C(0xab1ec85e));
8489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8490         &x810, &x811, x809, x793, UINT32_C(0x5a858107));
8491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8492         &x812, &x813, x811, x795, UINT32_C(0x9b9f605f));
8493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x814, &x815,
8494                                                                x813, x797, 0x0);
8495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x816, x815, x798,
8496                                                             x781);
8497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x817, x815, x800,
8498                                                             x783);
8499     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x818, x815, x802,
8500                                                             x785);
8501     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x819, x815, x804,
8502                                                             x787);
8503     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x820, x815, x806,
8504                                                             x789);
8505     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x821, x815, x808,
8506                                                             x791);
8507     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x822, x815, x810,
8508                                                             x793);
8509     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x823, x815, x812,
8510                                                             x795);
8511     out1[0] = x816;
8512     out1[1] = x817;
8513     out1[2] = x818;
8514     out1[3] = x819;
8515     out1[4] = x820;
8516     out1[5] = x821;
8517     out1[6] = x822;
8518     out1[7] = x823;
8519 }
8520
8521 /*
8522  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add adds two field elements in the Montgomery domain.
8523  * Preconditions:
8524  *   0 ≤ eval arg1 < m
8525  *   0 ≤ eval arg2 < m
8526  * Postconditions:
8527  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
8528  *   0 ≤ eval out1 < m
8529  *
8530  * Input Bounds:
8531  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8532  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8533  * Output Bounds:
8534  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8535  */
8536 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(
8537     uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
8538     uint32_t x1;
8539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
8540     uint32_t x3;
8541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
8542     uint32_t x5;
8543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
8544     uint32_t x7;
8545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
8546     uint32_t x9;
8547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
8548     uint32_t x11;
8549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
8550     uint32_t x13;
8551     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
8552     uint32_t x15;
8553     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
8554     uint32_t x17;
8555     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x18;
8556     uint32_t x19;
8557     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x20;
8558     uint32_t x21;
8559     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x22;
8560     uint32_t x23;
8561     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x24;
8562     uint32_t x25;
8563     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
8564     uint32_t x27;
8565     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
8566     uint32_t x29;
8567     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
8568     uint32_t x31;
8569     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
8570     uint32_t x33;
8571     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
8572     uint32_t x35;
8573     uint32_t x36;
8574     uint32_t x37;
8575     uint32_t x38;
8576     uint32_t x39;
8577     uint32_t x40;
8578     uint32_t x41;
8579     uint32_t x42;
8580     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8581         &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
8582     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8583         &x3, &x4, x2, (arg1[1]), (arg2[1]));
8584     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8585         &x5, &x6, x4, (arg1[2]), (arg2[2]));
8586     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8587         &x7, &x8, x6, (arg1[3]), (arg2[3]));
8588     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8589         &x9, &x10, x8, (arg1[4]), (arg2[4]));
8590     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8591         &x11, &x12, x10, (arg1[5]), (arg2[5]));
8592     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8593         &x13, &x14, x12, (arg1[6]), (arg2[6]));
8594     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8595         &x15, &x16, x14, (arg1[7]), (arg2[7]));
8596     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8597         &x17, &x18, 0x0, x1, UINT32_C(0x22d759b));
8598     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8599         &x19, &x20, x18, x3, UINT32_C(0x7998f7b9));
8600     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8601         &x21, &x22, x20, x5, UINT32_C(0x789051d3));
8602     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8603         &x23, &x24, x22, x7, UINT32_C(0xcf846e86));
8604     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8605         &x25, &x26, x24, x9, UINT32_C(0x6b41c8aa));
8606     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8607         &x27, &x28, x26, x11, UINT32_C(0xab1ec85e));
8608     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8609         &x29, &x30, x28, x13, UINT32_C(0x5a858107));
8610     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8611         &x31, &x32, x30, x15, UINT32_C(0x9b9f605f));
8612     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x33, &x34, x32,
8613                                                                x16, 0x0);
8614     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x35, x34, x17, x1);
8615     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x36, x34, x19, x3);
8616     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x37, x34, x21, x5);
8617     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x38, x34, x23, x7);
8618     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x39, x34, x25, x9);
8619     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x40, x34, x27,
8620                                                             x11);
8621     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x41, x34, x29,
8622                                                             x13);
8623     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x42, x34, x31,
8624                                                             x15);
8625     out1[0] = x35;
8626     out1[1] = x36;
8627     out1[2] = x37;
8628     out1[3] = x38;
8629     out1[4] = x39;
8630     out1[5] = x40;
8631     out1[6] = x41;
8632     out1[7] = x42;
8633 }
8634
8635 /*
8636  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub subtracts two field elements in the Montgomery domain.
8637  * Preconditions:
8638  *   0 ≤ eval arg1 < m
8639  *   0 ≤ eval arg2 < m
8640  * Postconditions:
8641  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
8642  *   0 ≤ eval out1 < m
8643  *
8644  * Input Bounds:
8645  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8646  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8647  * Output Bounds:
8648  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8649  */
8650 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(
8651     uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
8652     uint32_t x1;
8653     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
8654     uint32_t x3;
8655     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
8656     uint32_t x5;
8657     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
8658     uint32_t x7;
8659     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
8660     uint32_t x9;
8661     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
8662     uint32_t x11;
8663     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
8664     uint32_t x13;
8665     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
8666     uint32_t x15;
8667     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
8668     uint32_t x17;
8669     uint32_t x18;
8670     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x19;
8671     uint32_t x20;
8672     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
8673     uint32_t x22;
8674     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
8675     uint32_t x24;
8676     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
8677     uint32_t x26;
8678     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
8679     uint32_t x28;
8680     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
8681     uint32_t x30;
8682     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
8683     uint32_t x32;
8684     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
8685     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8686         &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
8687     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8688         &x3, &x4, x2, (arg1[1]), (arg2[1]));
8689     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8690         &x5, &x6, x4, (arg1[2]), (arg2[2]));
8691     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8692         &x7, &x8, x6, (arg1[3]), (arg2[3]));
8693     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8694         &x9, &x10, x8, (arg1[4]), (arg2[4]));
8695     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8696         &x11, &x12, x10, (arg1[5]), (arg2[5]));
8697     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8698         &x13, &x14, x12, (arg1[6]), (arg2[6]));
8699     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
8700         &x15, &x16, x14, (arg1[7]), (arg2[7]));
8701     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
8702         &x17, x16, 0x0, UINT32_C(0xffffffff));
8703     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8704         &x18, &x19, 0x0, x1, (x17 & UINT32_C(0x22d759b)));
8705     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8706         &x20, &x21, x19, x3, (x17 & UINT32_C(0x7998f7b9)));
8707     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8708         &x22, &x23, x21, x5, (x17 & UINT32_C(0x789051d3)));
8709     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8710         &x24, &x25, x23, x7, (x17 & UINT32_C(0xcf846e86)));
8711     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8712         &x26, &x27, x25, x9, (x17 & UINT32_C(0x6b41c8aa)));
8713     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8714         &x28, &x29, x27, x11, (x17 & UINT32_C(0xab1ec85e)));
8715     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8716         &x30, &x31, x29, x13, (x17 & UINT32_C(0x5a858107)));
8717     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8718         &x32, &x33, x31, x15, (x17 & UINT32_C(0x9b9f605f)));
8719     out1[0] = x18;
8720     out1[1] = x20;
8721     out1[2] = x22;
8722     out1[3] = x24;
8723     out1[4] = x26;
8724     out1[5] = x28;
8725     out1[6] = x30;
8726     out1[7] = x32;
8727 }
8728
8729 /*
8730  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp negates a field element in the Montgomery domain.
8731  * Preconditions:
8732  *   0 ≤ eval arg1 < m
8733  * Postconditions:
8734  *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
8735  *   0 ≤ eval out1 < m
8736  *
8737  * Input Bounds:
8738  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8739  * Output Bounds:
8740  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8741  */
8742 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(
8743     uint32_t out1[8], const uint32_t arg1[8]) {
8744     uint32_t x1;
8745     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
8746     uint32_t x3;
8747     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
8748     uint32_t x5;
8749     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
8750     uint32_t x7;
8751     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
8752     uint32_t x9;
8753     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
8754     uint32_t x11;
8755     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
8756     uint32_t x13;
8757     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
8758     uint32_t x15;
8759     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
8760     uint32_t x17;
8761     uint32_t x18;
8762     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x19;
8763     uint32_t x20;
8764     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
8765     uint32_t x22;
8766     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
8767     uint32_t x24;
8768     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
8769     uint32_t x26;
8770     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
8771     uint32_t x28;
8772     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
8773     uint32_t x30;
8774     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
8775     uint32_t x32;
8776     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
8777     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x1, &x2, 0x0,
8778                                                                0x0, (arg1[0]));
8779     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x3, &x4, x2,
8780                                                                0x0, (arg1[1]));
8781     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x5, &x6, x4,
8782                                                                0x0, (arg1[2]));
8783     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x7, &x8, x6,
8784                                                                0x0, (arg1[3]));
8785     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x9, &x10, x8,
8786                                                                0x0, (arg1[4]));
8787     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x11, &x12, x10,
8788                                                                0x0, (arg1[5]));
8789     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x13, &x14, x12,
8790                                                                0x0, (arg1[6]));
8791     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x15, &x16, x14,
8792                                                                0x0, (arg1[7]));
8793     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
8794         &x17, x16, 0x0, UINT32_C(0xffffffff));
8795     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8796         &x18, &x19, 0x0, x1, (x17 & UINT32_C(0x22d759b)));
8797     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8798         &x20, &x21, x19, x3, (x17 & UINT32_C(0x7998f7b9)));
8799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8800         &x22, &x23, x21, x5, (x17 & UINT32_C(0x789051d3)));
8801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8802         &x24, &x25, x23, x7, (x17 & UINT32_C(0xcf846e86)));
8803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8804         &x26, &x27, x25, x9, (x17 & UINT32_C(0x6b41c8aa)));
8805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8806         &x28, &x29, x27, x11, (x17 & UINT32_C(0xab1ec85e)));
8807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8808         &x30, &x31, x29, x13, (x17 & UINT32_C(0x5a858107)));
8809     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
8810         &x32, &x33, x31, x15, (x17 & UINT32_C(0x9b9f605f)));
8811     out1[0] = x18;
8812     out1[1] = x20;
8813     out1[2] = x22;
8814     out1[3] = x24;
8815     out1[4] = x26;
8816     out1[5] = x28;
8817     out1[6] = x30;
8818     out1[7] = x32;
8819 }
8820
8821 /*
8822  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery translates a field element out of the Montgomery domain.
8823  * Preconditions:
8824  *   0 ≤ eval arg1 < m
8825  * Postconditions:
8826  *   eval out1 mod m = (eval arg1 * ((2^32)⁻¹ mod m)^8) mod m
8827  *   0 ≤ eval out1 < m
8828  *
8829  * Input Bounds:
8830  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8831  * Output Bounds:
8832  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8833  */
8834 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(
8835     uint32_t out1[8], const uint32_t arg1[8]) {
8836     uint32_t x1;
8837     uint32_t x2;
8838     uint32_t x3;
8839     uint32_t x4;
8840     uint32_t x5;
8841     uint32_t x6;
8842     uint32_t x7;
8843     uint32_t x8;
8844     uint32_t x9;
8845     uint32_t x10;
8846     uint32_t x11;
8847     uint32_t x12;
8848     uint32_t x13;
8849     uint32_t x14;
8850     uint32_t x15;
8851     uint32_t x16;
8852     uint32_t x17;
8853     uint32_t x18;
8854     uint32_t x19;
8855     uint32_t x20;
8856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
8857     uint32_t x22;
8858     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
8859     uint32_t x24;
8860     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
8861     uint32_t x26;
8862     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
8863     uint32_t x28;
8864     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
8865     uint32_t x30;
8866     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
8867     uint32_t x32;
8868     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
8869     uint32_t x34;
8870     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x35;
8871     uint32_t x36;
8872     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x37;
8873     uint32_t x38;
8874     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x39;
8875     uint32_t x40;
8876     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x41;
8877     uint32_t x42;
8878     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x43;
8879     uint32_t x44;
8880     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x45;
8881     uint32_t x46;
8882     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x47;
8883     uint32_t x48;
8884     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x49;
8885     uint32_t x50;
8886     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x51;
8887     uint32_t x52;
8888     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x53;
8889     uint32_t x54;
8890     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x55;
8891     uint32_t x56;
8892     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x57;
8893     uint32_t x58;
8894     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
8895     uint32_t x60;
8896     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
8897     uint32_t x62;
8898     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
8899     uint32_t x64;
8900     uint32_t x65;
8901     uint32_t x66;
8902     uint32_t x67;
8903     uint32_t x68;
8904     uint32_t x69;
8905     uint32_t x70;
8906     uint32_t x71;
8907     uint32_t x72;
8908     uint32_t x73;
8909     uint32_t x74;
8910     uint32_t x75;
8911     uint32_t x76;
8912     uint32_t x77;
8913     uint32_t x78;
8914     uint32_t x79;
8915     uint32_t x80;
8916     uint32_t x81;
8917     uint32_t x82;
8918     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x83;
8919     uint32_t x84;
8920     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x85;
8921     uint32_t x86;
8922     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x87;
8923     uint32_t x88;
8924     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x89;
8925     uint32_t x90;
8926     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x91;
8927     uint32_t x92;
8928     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x93;
8929     uint32_t x94;
8930     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x95;
8931     uint32_t x96;
8932     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x97;
8933     uint32_t x98;
8934     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x99;
8935     uint32_t x100;
8936     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x101;
8937     uint32_t x102;
8938     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x103;
8939     uint32_t x104;
8940     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x105;
8941     uint32_t x106;
8942     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x107;
8943     uint32_t x108;
8944     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x109;
8945     uint32_t x110;
8946     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x111;
8947     uint32_t x112;
8948     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x113;
8949     uint32_t x114;
8950     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x115;
8951     uint32_t x116;
8952     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x117;
8953     uint32_t x118;
8954     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x119;
8955     uint32_t x120;
8956     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x121;
8957     uint32_t x122;
8958     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x123;
8959     uint32_t x124;
8960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x125;
8961     uint32_t x126;
8962     uint32_t x127;
8963     uint32_t x128;
8964     uint32_t x129;
8965     uint32_t x130;
8966     uint32_t x131;
8967     uint32_t x132;
8968     uint32_t x133;
8969     uint32_t x134;
8970     uint32_t x135;
8971     uint32_t x136;
8972     uint32_t x137;
8973     uint32_t x138;
8974     uint32_t x139;
8975     uint32_t x140;
8976     uint32_t x141;
8977     uint32_t x142;
8978     uint32_t x143;
8979     uint32_t x144;
8980     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x145;
8981     uint32_t x146;
8982     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x147;
8983     uint32_t x148;
8984     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x149;
8985     uint32_t x150;
8986     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x151;
8987     uint32_t x152;
8988     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x153;
8989     uint32_t x154;
8990     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x155;
8991     uint32_t x156;
8992     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x157;
8993     uint32_t x158;
8994     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x159;
8995     uint32_t x160;
8996     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x161;
8997     uint32_t x162;
8998     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x163;
8999     uint32_t x164;
9000     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x165;
9001     uint32_t x166;
9002     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x167;
9003     uint32_t x168;
9004     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
9005     uint32_t x170;
9006     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
9007     uint32_t x172;
9008     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x173;
9009     uint32_t x174;
9010     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x175;
9011     uint32_t x176;
9012     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x177;
9013     uint32_t x178;
9014     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x179;
9015     uint32_t x180;
9016     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x181;
9017     uint32_t x182;
9018     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x183;
9019     uint32_t x184;
9020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x185;
9021     uint32_t x186;
9022     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x187;
9023     uint32_t x188;
9024     uint32_t x189;
9025     uint32_t x190;
9026     uint32_t x191;
9027     uint32_t x192;
9028     uint32_t x193;
9029     uint32_t x194;
9030     uint32_t x195;
9031     uint32_t x196;
9032     uint32_t x197;
9033     uint32_t x198;
9034     uint32_t x199;
9035     uint32_t x200;
9036     uint32_t x201;
9037     uint32_t x202;
9038     uint32_t x203;
9039     uint32_t x204;
9040     uint32_t x205;
9041     uint32_t x206;
9042     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x207;
9043     uint32_t x208;
9044     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
9045     uint32_t x210;
9046     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
9047     uint32_t x212;
9048     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
9049     uint32_t x214;
9050     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
9051     uint32_t x216;
9052     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x217;
9053     uint32_t x218;
9054     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x219;
9055     uint32_t x220;
9056     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x221;
9057     uint32_t x222;
9058     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x223;
9059     uint32_t x224;
9060     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x225;
9061     uint32_t x226;
9062     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x227;
9063     uint32_t x228;
9064     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x229;
9065     uint32_t x230;
9066     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x231;
9067     uint32_t x232;
9068     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x233;
9069     uint32_t x234;
9070     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x235;
9071     uint32_t x236;
9072     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x237;
9073     uint32_t x238;
9074     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x239;
9075     uint32_t x240;
9076     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x241;
9077     uint32_t x242;
9078     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x243;
9079     uint32_t x244;
9080     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x245;
9081     uint32_t x246;
9082     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x247;
9083     uint32_t x248;
9084     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x249;
9085     uint32_t x250;
9086     uint32_t x251;
9087     uint32_t x252;
9088     uint32_t x253;
9089     uint32_t x254;
9090     uint32_t x255;
9091     uint32_t x256;
9092     uint32_t x257;
9093     uint32_t x258;
9094     uint32_t x259;
9095     uint32_t x260;
9096     uint32_t x261;
9097     uint32_t x262;
9098     uint32_t x263;
9099     uint32_t x264;
9100     uint32_t x265;
9101     uint32_t x266;
9102     uint32_t x267;
9103     uint32_t x268;
9104     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x269;
9105     uint32_t x270;
9106     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x271;
9107     uint32_t x272;
9108     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x273;
9109     uint32_t x274;
9110     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x275;
9111     uint32_t x276;
9112     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x277;
9113     uint32_t x278;
9114     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x279;
9115     uint32_t x280;
9116     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x281;
9117     uint32_t x282;
9118     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x283;
9119     uint32_t x284;
9120     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x285;
9121     uint32_t x286;
9122     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x287;
9123     uint32_t x288;
9124     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x289;
9125     uint32_t x290;
9126     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x291;
9127     uint32_t x292;
9128     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x293;
9129     uint32_t x294;
9130     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x295;
9131     uint32_t x296;
9132     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x297;
9133     uint32_t x298;
9134     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x299;
9135     uint32_t x300;
9136     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x301;
9137     uint32_t x302;
9138     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x303;
9139     uint32_t x304;
9140     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x305;
9141     uint32_t x306;
9142     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x307;
9143     uint32_t x308;
9144     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x309;
9145     uint32_t x310;
9146     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x311;
9147     uint32_t x312;
9148     uint32_t x313;
9149     uint32_t x314;
9150     uint32_t x315;
9151     uint32_t x316;
9152     uint32_t x317;
9153     uint32_t x318;
9154     uint32_t x319;
9155     uint32_t x320;
9156     uint32_t x321;
9157     uint32_t x322;
9158     uint32_t x323;
9159     uint32_t x324;
9160     uint32_t x325;
9161     uint32_t x326;
9162     uint32_t x327;
9163     uint32_t x328;
9164     uint32_t x329;
9165     uint32_t x330;
9166     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x331;
9167     uint32_t x332;
9168     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x333;
9169     uint32_t x334;
9170     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x335;
9171     uint32_t x336;
9172     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x337;
9173     uint32_t x338;
9174     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x339;
9175     uint32_t x340;
9176     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x341;
9177     uint32_t x342;
9178     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x343;
9179     uint32_t x344;
9180     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x345;
9181     uint32_t x346;
9182     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x347;
9183     uint32_t x348;
9184     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x349;
9185     uint32_t x350;
9186     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x351;
9187     uint32_t x352;
9188     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x353;
9189     uint32_t x354;
9190     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x355;
9191     uint32_t x356;
9192     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x357;
9193     uint32_t x358;
9194     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x359;
9195     uint32_t x360;
9196     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x361;
9197     uint32_t x362;
9198     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x363;
9199     uint32_t x364;
9200     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x365;
9201     uint32_t x366;
9202     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x367;
9203     uint32_t x368;
9204     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x369;
9205     uint32_t x370;
9206     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x371;
9207     uint32_t x372;
9208     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x373;
9209     uint32_t x374;
9210     uint32_t x375;
9211     uint32_t x376;
9212     uint32_t x377;
9213     uint32_t x378;
9214     uint32_t x379;
9215     uint32_t x380;
9216     uint32_t x381;
9217     uint32_t x382;
9218     uint32_t x383;
9219     uint32_t x384;
9220     uint32_t x385;
9221     uint32_t x386;
9222     uint32_t x387;
9223     uint32_t x388;
9224     uint32_t x389;
9225     uint32_t x390;
9226     uint32_t x391;
9227     uint32_t x392;
9228     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x393;
9229     uint32_t x394;
9230     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x395;
9231     uint32_t x396;
9232     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x397;
9233     uint32_t x398;
9234     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x399;
9235     uint32_t x400;
9236     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x401;
9237     uint32_t x402;
9238     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x403;
9239     uint32_t x404;
9240     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x405;
9241     uint32_t x406;
9242     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x407;
9243     uint32_t x408;
9244     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x409;
9245     uint32_t x410;
9246     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x411;
9247     uint32_t x412;
9248     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x413;
9249     uint32_t x414;
9250     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x415;
9251     uint32_t x416;
9252     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x417;
9253     uint32_t x418;
9254     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x419;
9255     uint32_t x420;
9256     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x421;
9257     uint32_t x422;
9258     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x423;
9259     uint32_t x424;
9260     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x425;
9261     uint32_t x426;
9262     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x427;
9263     uint32_t x428;
9264     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x429;
9265     uint32_t x430;
9266     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x431;
9267     uint32_t x432;
9268     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x433;
9269     uint32_t x434;
9270     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x435;
9271     uint32_t x436;
9272     uint32_t x437;
9273     uint32_t x438;
9274     uint32_t x439;
9275     uint32_t x440;
9276     uint32_t x441;
9277     uint32_t x442;
9278     uint32_t x443;
9279     uint32_t x444;
9280     uint32_t x445;
9281     uint32_t x446;
9282     uint32_t x447;
9283     uint32_t x448;
9284     uint32_t x449;
9285     uint32_t x450;
9286     uint32_t x451;
9287     uint32_t x452;
9288     uint32_t x453;
9289     uint32_t x454;
9290     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x455;
9291     uint32_t x456;
9292     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x457;
9293     uint32_t x458;
9294     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x459;
9295     uint32_t x460;
9296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x461;
9297     uint32_t x462;
9298     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x463;
9299     uint32_t x464;
9300     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x465;
9301     uint32_t x466;
9302     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x467;
9303     uint32_t x468;
9304     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x469;
9305     uint32_t x470;
9306     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x471;
9307     uint32_t x472;
9308     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x473;
9309     uint32_t x474;
9310     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x475;
9311     uint32_t x476;
9312     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x477;
9313     uint32_t x478;
9314     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x479;
9315     uint32_t x480;
9316     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x481;
9317     uint32_t x482;
9318     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x483;
9319     uint32_t x484;
9320     uint32_t x485;
9321     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x486;
9322     uint32_t x487;
9323     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x488;
9324     uint32_t x489;
9325     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x490;
9326     uint32_t x491;
9327     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x492;
9328     uint32_t x493;
9329     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x494;
9330     uint32_t x495;
9331     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x496;
9332     uint32_t x497;
9333     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x498;
9334     uint32_t x499;
9335     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x500;
9336     uint32_t x501;
9337     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x502;
9338     uint32_t x503;
9339     uint32_t x504;
9340     uint32_t x505;
9341     uint32_t x506;
9342     uint32_t x507;
9343     uint32_t x508;
9344     uint32_t x509;
9345     uint32_t x510;
9346     x1 = (arg1[0]);
9347     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x2, &x3, x1,
9348                                                          UINT32_C(0x727c176d));
9349     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x4, &x5, x2,
9350                                                          UINT32_C(0x9b9f605f));
9351     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x6, &x7, x2,
9352                                                          UINT32_C(0x5a858107));
9353     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x8, &x9, x2,
9354                                                          UINT32_C(0xab1ec85e));
9355     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x10, &x11, x2,
9356                                                          UINT32_C(0x6b41c8aa));
9357     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x12, &x13, x2,
9358                                                          UINT32_C(0xcf846e86));
9359     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x14, &x15, x2,
9360                                                          UINT32_C(0x789051d3));
9361     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x16, &x17, x2,
9362                                                          UINT32_C(0x7998f7b9));
9363     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x18, &x19, x2,
9364                                                          UINT32_C(0x22d759b));
9365     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x20, &x21, 0x0,
9366                                                               x19, x16);
9367     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x22, &x23, x21,
9368                                                               x17, x14);
9369     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x24, &x25, x23,
9370                                                               x15, x12);
9371     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x26, &x27, x25,
9372                                                               x13, x10);
9373     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x28, &x29, x27,
9374                                                               x11, x8);
9375     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x30, &x31, x29,
9376                                                               x9, x6);
9377     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x32, &x33, x31,
9378                                                               x7, x4);
9379     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x34, &x35, 0x0,
9380                                                               x1, x18);
9381     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x36, &x37, x35,
9382                                                               0x0, x20);
9383     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x38, &x39, x37,
9384                                                               0x0, x22);
9385     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x40, &x41, x39,
9386                                                               0x0, x24);
9387     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x42, &x43, x41,
9388                                                               0x0, x26);
9389     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x44, &x45, x43,
9390                                                               0x0, x28);
9391     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x46, &x47, x45,
9392                                                               0x0, x30);
9393     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x48, &x49, x47,
9394                                                               0x0, x32);
9395     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x50, &x51, 0x0,
9396                                                               x36, (arg1[1]));
9397     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x52, &x53, x51,
9398                                                               x38, 0x0);
9399     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x54, &x55, x53,
9400                                                               x40, 0x0);
9401     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x56, &x57, x55,
9402                                                               x42, 0x0);
9403     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x58, &x59, x57,
9404                                                               x44, 0x0);
9405     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x60, &x61, x59,
9406                                                               x46, 0x0);
9407     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x62, &x63, x61,
9408                                                               x48, 0x0);
9409     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x64, &x65, x50,
9410                                                          UINT32_C(0x727c176d));
9411     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x66, &x67, x64,
9412                                                          UINT32_C(0x9b9f605f));
9413     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x68, &x69, x64,
9414                                                          UINT32_C(0x5a858107));
9415     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x70, &x71, x64,
9416                                                          UINT32_C(0xab1ec85e));
9417     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x72, &x73, x64,
9418                                                          UINT32_C(0x6b41c8aa));
9419     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x74, &x75, x64,
9420                                                          UINT32_C(0xcf846e86));
9421     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x76, &x77, x64,
9422                                                          UINT32_C(0x789051d3));
9423     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x78, &x79, x64,
9424                                                          UINT32_C(0x7998f7b9));
9425     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x80, &x81, x64,
9426                                                          UINT32_C(0x22d759b));
9427     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x82, &x83, 0x0,
9428                                                               x81, x78);
9429     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x84, &x85, x83,
9430                                                               x79, x76);
9431     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x86, &x87, x85,
9432                                                               x77, x74);
9433     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x88, &x89, x87,
9434                                                               x75, x72);
9435     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x90, &x91, x89,
9436                                                               x73, x70);
9437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x92, &x93, x91,
9438                                                               x71, x68);
9439     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x94, &x95, x93,
9440                                                               x69, x66);
9441     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x96, &x97, 0x0,
9442                                                               x50, x80);
9443     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x98, &x99, x97,
9444                                                               x52, x82);
9445     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x100, &x101, x99,
9446                                                               x54, x84);
9447     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x102, &x103,
9448                                                               x101, x56, x86);
9449     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x104, &x105,
9450                                                               x103, x58, x88);
9451     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x106, &x107,
9452                                                               x105, x60, x90);
9453     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x108, &x109,
9454                                                               x107, x62, x92);
9455     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9456         &x110, &x111, x109, (x63 + (x49 + (x33 + x5))), x94);
9457     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x112, &x113, 0x0,
9458                                                               x98, (arg1[2]));
9459     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x114, &x115,
9460                                                               x113, x100, 0x0);
9461     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x116, &x117,
9462                                                               x115, x102, 0x0);
9463     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x118, &x119,
9464                                                               x117, x104, 0x0);
9465     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x120, &x121,
9466                                                               x119, x106, 0x0);
9467     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x122, &x123,
9468                                                               x121, x108, 0x0);
9469     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x124, &x125,
9470                                                               x123, x110, 0x0);
9471     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x126, &x127, x112,
9472                                                          UINT32_C(0x727c176d));
9473     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x128, &x129, x126,
9474                                                          UINT32_C(0x9b9f605f));
9475     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x130, &x131, x126,
9476                                                          UINT32_C(0x5a858107));
9477     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x132, &x133, x126,
9478                                                          UINT32_C(0xab1ec85e));
9479     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x134, &x135, x126,
9480                                                          UINT32_C(0x6b41c8aa));
9481     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x136, &x137, x126,
9482                                                          UINT32_C(0xcf846e86));
9483     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x138, &x139, x126,
9484                                                          UINT32_C(0x789051d3));
9485     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x140, &x141, x126,
9486                                                          UINT32_C(0x7998f7b9));
9487     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x142, &x143, x126,
9488                                                          UINT32_C(0x22d759b));
9489     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x144, &x145, 0x0,
9490                                                               x143, x140);
9491     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x146, &x147,
9492                                                               x145, x141, x138);
9493     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x148, &x149,
9494                                                               x147, x139, x136);
9495     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x150, &x151,
9496                                                               x149, x137, x134);
9497     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x152, &x153,
9498                                                               x151, x135, x132);
9499     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x154, &x155,
9500                                                               x153, x133, x130);
9501     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x156, &x157,
9502                                                               x155, x131, x128);
9503     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x158, &x159, 0x0,
9504                                                               x112, x142);
9505     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x160, &x161,
9506                                                               x159, x114, x144);
9507     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x162, &x163,
9508                                                               x161, x116, x146);
9509     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x164, &x165,
9510                                                               x163, x118, x148);
9511     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x166, &x167,
9512                                                               x165, x120, x150);
9513     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x168, &x169,
9514                                                               x167, x122, x152);
9515     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x170, &x171,
9516                                                               x169, x124, x154);
9517     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9518         &x172, &x173, x171, (x125 + (x111 + (x95 + x67))), x156);
9519     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x174, &x175, 0x0,
9520                                                               x160, (arg1[3]));
9521     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x176, &x177,
9522                                                               x175, x162, 0x0);
9523     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x178, &x179,
9524                                                               x177, x164, 0x0);
9525     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x180, &x181,
9526                                                               x179, x166, 0x0);
9527     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x182, &x183,
9528                                                               x181, x168, 0x0);
9529     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x184, &x185,
9530                                                               x183, x170, 0x0);
9531     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x186, &x187,
9532                                                               x185, x172, 0x0);
9533     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x188, &x189, x174,
9534                                                          UINT32_C(0x727c176d));
9535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x190, &x191, x188,
9536                                                          UINT32_C(0x9b9f605f));
9537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x192, &x193, x188,
9538                                                          UINT32_C(0x5a858107));
9539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x194, &x195, x188,
9540                                                          UINT32_C(0xab1ec85e));
9541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x196, &x197, x188,
9542                                                          UINT32_C(0x6b41c8aa));
9543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x198, &x199, x188,
9544                                                          UINT32_C(0xcf846e86));
9545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x200, &x201, x188,
9546                                                          UINT32_C(0x789051d3));
9547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x202, &x203, x188,
9548                                                          UINT32_C(0x7998f7b9));
9549     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x204, &x205, x188,
9550                                                          UINT32_C(0x22d759b));
9551     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x206, &x207, 0x0,
9552                                                               x205, x202);
9553     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x208, &x209,
9554                                                               x207, x203, x200);
9555     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x210, &x211,
9556                                                               x209, x201, x198);
9557     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x212, &x213,
9558                                                               x211, x199, x196);
9559     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x214, &x215,
9560                                                               x213, x197, x194);
9561     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x216, &x217,
9562                                                               x215, x195, x192);
9563     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x218, &x219,
9564                                                               x217, x193, x190);
9565     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x220, &x221, 0x0,
9566                                                               x174, x204);
9567     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x222, &x223,
9568                                                               x221, x176, x206);
9569     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x224, &x225,
9570                                                               x223, x178, x208);
9571     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x226, &x227,
9572                                                               x225, x180, x210);
9573     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x228, &x229,
9574                                                               x227, x182, x212);
9575     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x230, &x231,
9576                                                               x229, x184, x214);
9577     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x232, &x233,
9578                                                               x231, x186, x216);
9579     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9580         &x234, &x235, x233, (x187 + (x173 + (x157 + x129))), x218);
9581     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x236, &x237, 0x0,
9582                                                               x222, (arg1[4]));
9583     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x238, &x239,
9584                                                               x237, x224, 0x0);
9585     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x240, &x241,
9586                                                               x239, x226, 0x0);
9587     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x242, &x243,
9588                                                               x241, x228, 0x0);
9589     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x244, &x245,
9590                                                               x243, x230, 0x0);
9591     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x246, &x247,
9592                                                               x245, x232, 0x0);
9593     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x248, &x249,
9594                                                               x247, x234, 0x0);
9595     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x250, &x251, x236,
9596                                                          UINT32_C(0x727c176d));
9597     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x252, &x253, x250,
9598                                                          UINT32_C(0x9b9f605f));
9599     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x254, &x255, x250,
9600                                                          UINT32_C(0x5a858107));
9601     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x256, &x257, x250,
9602                                                          UINT32_C(0xab1ec85e));
9603     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x258, &x259, x250,
9604                                                          UINT32_C(0x6b41c8aa));
9605     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x260, &x261, x250,
9606                                                          UINT32_C(0xcf846e86));
9607     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x262, &x263, x250,
9608                                                          UINT32_C(0x789051d3));
9609     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x264, &x265, x250,
9610                                                          UINT32_C(0x7998f7b9));
9611     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x266, &x267, x250,
9612                                                          UINT32_C(0x22d759b));
9613     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x268, &x269, 0x0,
9614                                                               x267, x264);
9615     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x270, &x271,
9616                                                               x269, x265, x262);
9617     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x272, &x273,
9618                                                               x271, x263, x260);
9619     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x274, &x275,
9620                                                               x273, x261, x258);
9621     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x276, &x277,
9622                                                               x275, x259, x256);
9623     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x278, &x279,
9624                                                               x277, x257, x254);
9625     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x280, &x281,
9626                                                               x279, x255, x252);
9627     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x282, &x283, 0x0,
9628                                                               x236, x266);
9629     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x284, &x285,
9630                                                               x283, x238, x268);
9631     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x286, &x287,
9632                                                               x285, x240, x270);
9633     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x288, &x289,
9634                                                               x287, x242, x272);
9635     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x290, &x291,
9636                                                               x289, x244, x274);
9637     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x292, &x293,
9638                                                               x291, x246, x276);
9639     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x294, &x295,
9640                                                               x293, x248, x278);
9641     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9642         &x296, &x297, x295, (x249 + (x235 + (x219 + x191))), x280);
9643     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x298, &x299, 0x0,
9644                                                               x284, (arg1[5]));
9645     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x300, &x301,
9646                                                               x299, x286, 0x0);
9647     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x302, &x303,
9648                                                               x301, x288, 0x0);
9649     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x304, &x305,
9650                                                               x303, x290, 0x0);
9651     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x306, &x307,
9652                                                               x305, x292, 0x0);
9653     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x308, &x309,
9654                                                               x307, x294, 0x0);
9655     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x310, &x311,
9656                                                               x309, x296, 0x0);
9657     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x312, &x313, x298,
9658                                                          UINT32_C(0x727c176d));
9659     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x314, &x315, x312,
9660                                                          UINT32_C(0x9b9f605f));
9661     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x316, &x317, x312,
9662                                                          UINT32_C(0x5a858107));
9663     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x318, &x319, x312,
9664                                                          UINT32_C(0xab1ec85e));
9665     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x320, &x321, x312,
9666                                                          UINT32_C(0x6b41c8aa));
9667     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x322, &x323, x312,
9668                                                          UINT32_C(0xcf846e86));
9669     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x324, &x325, x312,
9670                                                          UINT32_C(0x789051d3));
9671     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x326, &x327, x312,
9672                                                          UINT32_C(0x7998f7b9));
9673     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x328, &x329, x312,
9674                                                          UINT32_C(0x22d759b));
9675     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x330, &x331, 0x0,
9676                                                               x329, x326);
9677     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x332, &x333,
9678                                                               x331, x327, x324);
9679     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x334, &x335,
9680                                                               x333, x325, x322);
9681     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x336, &x337,
9682                                                               x335, x323, x320);
9683     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x338, &x339,
9684                                                               x337, x321, x318);
9685     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x340, &x341,
9686                                                               x339, x319, x316);
9687     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x342, &x343,
9688                                                               x341, x317, x314);
9689     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x344, &x345, 0x0,
9690                                                               x298, x328);
9691     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x346, &x347,
9692                                                               x345, x300, x330);
9693     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x348, &x349,
9694                                                               x347, x302, x332);
9695     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x350, &x351,
9696                                                               x349, x304, x334);
9697     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x352, &x353,
9698                                                               x351, x306, x336);
9699     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x354, &x355,
9700                                                               x353, x308, x338);
9701     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x356, &x357,
9702                                                               x355, x310, x340);
9703     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9704         &x358, &x359, x357, (x311 + (x297 + (x281 + x253))), x342);
9705     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x360, &x361, 0x0,
9706                                                               x346, (arg1[6]));
9707     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x362, &x363,
9708                                                               x361, x348, 0x0);
9709     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x364, &x365,
9710                                                               x363, x350, 0x0);
9711     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x366, &x367,
9712                                                               x365, x352, 0x0);
9713     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x368, &x369,
9714                                                               x367, x354, 0x0);
9715     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x370, &x371,
9716                                                               x369, x356, 0x0);
9717     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x372, &x373,
9718                                                               x371, x358, 0x0);
9719     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x374, &x375, x360,
9720                                                          UINT32_C(0x727c176d));
9721     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x376, &x377, x374,
9722                                                          UINT32_C(0x9b9f605f));
9723     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x378, &x379, x374,
9724                                                          UINT32_C(0x5a858107));
9725     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x380, &x381, x374,
9726                                                          UINT32_C(0xab1ec85e));
9727     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x382, &x383, x374,
9728                                                          UINT32_C(0x6b41c8aa));
9729     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x384, &x385, x374,
9730                                                          UINT32_C(0xcf846e86));
9731     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x386, &x387, x374,
9732                                                          UINT32_C(0x789051d3));
9733     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x388, &x389, x374,
9734                                                          UINT32_C(0x7998f7b9));
9735     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x390, &x391, x374,
9736                                                          UINT32_C(0x22d759b));
9737     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x392, &x393, 0x0,
9738                                                               x391, x388);
9739     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x394, &x395,
9740                                                               x393, x389, x386);
9741     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x396, &x397,
9742                                                               x395, x387, x384);
9743     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x398, &x399,
9744                                                               x397, x385, x382);
9745     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x400, &x401,
9746                                                               x399, x383, x380);
9747     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x402, &x403,
9748                                                               x401, x381, x378);
9749     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x404, &x405,
9750                                                               x403, x379, x376);
9751     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x406, &x407, 0x0,
9752                                                               x360, x390);
9753     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x408, &x409,
9754                                                               x407, x362, x392);
9755     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x410, &x411,
9756                                                               x409, x364, x394);
9757     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x412, &x413,
9758                                                               x411, x366, x396);
9759     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x414, &x415,
9760                                                               x413, x368, x398);
9761     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x416, &x417,
9762                                                               x415, x370, x400);
9763     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x418, &x419,
9764                                                               x417, x372, x402);
9765     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9766         &x420, &x421, x419, (x373 + (x359 + (x343 + x315))), x404);
9767     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x422, &x423, 0x0,
9768                                                               x408, (arg1[7]));
9769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x424, &x425,
9770                                                               x423, x410, 0x0);
9771     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x426, &x427,
9772                                                               x425, x412, 0x0);
9773     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x428, &x429,
9774                                                               x427, x414, 0x0);
9775     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x430, &x431,
9776                                                               x429, x416, 0x0);
9777     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x432, &x433,
9778                                                               x431, x418, 0x0);
9779     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x434, &x435,
9780                                                               x433, x420, 0x0);
9781     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x436, &x437, x422,
9782                                                          UINT32_C(0x727c176d));
9783     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x438, &x439, x436,
9784                                                          UINT32_C(0x9b9f605f));
9785     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x440, &x441, x436,
9786                                                          UINT32_C(0x5a858107));
9787     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x442, &x443, x436,
9788                                                          UINT32_C(0xab1ec85e));
9789     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x444, &x445, x436,
9790                                                          UINT32_C(0x6b41c8aa));
9791     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x446, &x447, x436,
9792                                                          UINT32_C(0xcf846e86));
9793     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x448, &x449, x436,
9794                                                          UINT32_C(0x789051d3));
9795     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x450, &x451, x436,
9796                                                          UINT32_C(0x7998f7b9));
9797     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x452, &x453, x436,
9798                                                          UINT32_C(0x22d759b));
9799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x454, &x455, 0x0,
9800                                                               x453, x450);
9801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x456, &x457,
9802                                                               x455, x451, x448);
9803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x458, &x459,
9804                                                               x457, x449, x446);
9805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x460, &x461,
9806                                                               x459, x447, x444);
9807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x462, &x463,
9808                                                               x461, x445, x442);
9809     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x464, &x465,
9810                                                               x463, x443, x440);
9811     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x466, &x467,
9812                                                               x465, x441, x438);
9813     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x468, &x469, 0x0,
9814                                                               x422, x452);
9815     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x470, &x471,
9816                                                               x469, x424, x454);
9817     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x472, &x473,
9818                                                               x471, x426, x456);
9819     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x474, &x475,
9820                                                               x473, x428, x458);
9821     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x476, &x477,
9822                                                               x475, x430, x460);
9823     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x478, &x479,
9824                                                               x477, x432, x462);
9825     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x480, &x481,
9826                                                               x479, x434, x464);
9827     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
9828         &x482, &x483, x481, (x435 + (x421 + (x405 + x377))), x466);
9829     x484 = (x483 + (x467 + x439));
9830     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9831         &x485, &x486, 0x0, x470, UINT32_C(0x22d759b));
9832     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9833         &x487, &x488, x486, x472, UINT32_C(0x7998f7b9));
9834     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9835         &x489, &x490, x488, x474, UINT32_C(0x789051d3));
9836     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9837         &x491, &x492, x490, x476, UINT32_C(0xcf846e86));
9838     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9839         &x493, &x494, x492, x478, UINT32_C(0x6b41c8aa));
9840     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9841         &x495, &x496, x494, x480, UINT32_C(0xab1ec85e));
9842     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9843         &x497, &x498, x496, x482, UINT32_C(0x5a858107));
9844     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
9845         &x499, &x500, x498, x484, UINT32_C(0x9b9f605f));
9846     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x501, &x502,
9847                                                                x500, 0x0, 0x0);
9848     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x503, x502, x485,
9849                                                             x470);
9850     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x504, x502, x487,
9851                                                             x472);
9852     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x505, x502, x489,
9853                                                             x474);
9854     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x506, x502, x491,
9855                                                             x476);
9856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x507, x502, x493,
9857                                                             x478);
9858     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x508, x502, x495,
9859                                                             x480);
9860     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x509, x502, x497,
9861                                                             x482);
9862     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x510, x502, x499,
9863                                                             x484);
9864     out1[0] = x503;
9865     out1[1] = x504;
9866     out1[2] = x505;
9867     out1[3] = x506;
9868     out1[4] = x507;
9869     out1[5] = x508;
9870     out1[6] = x509;
9871     out1[7] = x510;
9872 }
9873
9874 /*
9875  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery translates a field element into the Montgomery domain.
9876  * Preconditions:
9877  *   0 ≤ eval arg1 < m
9878  * Postconditions:
9879  *   eval (from_montgomery out1) mod m = eval arg1 mod m
9880  *   0 ≤ eval out1 < m
9881  *
9882  * Input Bounds:
9883  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
9884  * Output Bounds:
9885  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
9886  */
9887 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(
9888     uint32_t out1[8], const uint32_t arg1[8]) {
9889     uint32_t x1;
9890     uint32_t x2;
9891     uint32_t x3;
9892     uint32_t x4;
9893     uint32_t x5;
9894     uint32_t x6;
9895     uint32_t x7;
9896     uint32_t x8;
9897     uint32_t x9;
9898     uint32_t x10;
9899     uint32_t x11;
9900     uint32_t x12;
9901     uint32_t x13;
9902     uint32_t x14;
9903     uint32_t x15;
9904     uint32_t x16;
9905     uint32_t x17;
9906     uint32_t x18;
9907     uint32_t x19;
9908     uint32_t x20;
9909     uint32_t x21;
9910     uint32_t x22;
9911     uint32_t x23;
9912     uint32_t x24;
9913     uint32_t x25;
9914     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
9915     uint32_t x27;
9916     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
9917     uint32_t x29;
9918     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
9919     uint32_t x31;
9920     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
9921     uint32_t x33;
9922     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
9923     uint32_t x35;
9924     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
9925     uint32_t x37;
9926     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
9927     uint32_t x39;
9928     uint32_t x40;
9929     uint32_t x41;
9930     uint32_t x42;
9931     uint32_t x43;
9932     uint32_t x44;
9933     uint32_t x45;
9934     uint32_t x46;
9935     uint32_t x47;
9936     uint32_t x48;
9937     uint32_t x49;
9938     uint32_t x50;
9939     uint32_t x51;
9940     uint32_t x52;
9941     uint32_t x53;
9942     uint32_t x54;
9943     uint32_t x55;
9944     uint32_t x56;
9945     uint32_t x57;
9946     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x58;
9947     uint32_t x59;
9948     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x60;
9949     uint32_t x61;
9950     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x62;
9951     uint32_t x63;
9952     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x64;
9953     uint32_t x65;
9954     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x66;
9955     uint32_t x67;
9956     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x68;
9957     uint32_t x69;
9958     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x70;
9959     uint32_t x71;
9960     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x72;
9961     uint32_t x73;
9962     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x74;
9963     uint32_t x75;
9964     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x76;
9965     uint32_t x77;
9966     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
9967     uint32_t x79;
9968     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
9969     uint32_t x81;
9970     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
9971     uint32_t x83;
9972     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
9973     uint32_t x85;
9974     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
9975     uint32_t x87;
9976     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
9977     uint32_t x89;
9978     uint32_t x90;
9979     uint32_t x91;
9980     uint32_t x92;
9981     uint32_t x93;
9982     uint32_t x94;
9983     uint32_t x95;
9984     uint32_t x96;
9985     uint32_t x97;
9986     uint32_t x98;
9987     uint32_t x99;
9988     uint32_t x100;
9989     uint32_t x101;
9990     uint32_t x102;
9991     uint32_t x103;
9992     uint32_t x104;
9993     uint32_t x105;
9994     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x106;
9995     uint32_t x107;
9996     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
9997     uint32_t x109;
9998     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
9999     uint32_t x111;
10000     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
10001     uint32_t x113;
10002     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
10003     uint32_t x115;
10004     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
10005     uint32_t x117;
10006     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
10007     uint32_t x119;
10008     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
10009     uint32_t x121;
10010     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x122;
10011     uint32_t x123;
10012     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x124;
10013     uint32_t x125;
10014     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x126;
10015     uint32_t x127;
10016     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x128;
10017     uint32_t x129;
10018     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x130;
10019     uint32_t x131;
10020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x132;
10021     uint32_t x133;
10022     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x134;
10023     uint32_t x135;
10024     uint32_t x136;
10025     uint32_t x137;
10026     uint32_t x138;
10027     uint32_t x139;
10028     uint32_t x140;
10029     uint32_t x141;
10030     uint32_t x142;
10031     uint32_t x143;
10032     uint32_t x144;
10033     uint32_t x145;
10034     uint32_t x146;
10035     uint32_t x147;
10036     uint32_t x148;
10037     uint32_t x149;
10038     uint32_t x150;
10039     uint32_t x151;
10040     uint32_t x152;
10041     uint32_t x153;
10042     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x154;
10043     uint32_t x155;
10044     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x156;
10045     uint32_t x157;
10046     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x158;
10047     uint32_t x159;
10048     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x160;
10049     uint32_t x161;
10050     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x162;
10051     uint32_t x163;
10052     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x164;
10053     uint32_t x165;
10054     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x166;
10055     uint32_t x167;
10056     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x168;
10057     uint32_t x169;
10058     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x170;
10059     uint32_t x171;
10060     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x172;
10061     uint32_t x173;
10062     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
10063     uint32_t x175;
10064     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
10065     uint32_t x177;
10066     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
10067     uint32_t x179;
10068     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
10069     uint32_t x181;
10070     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
10071     uint32_t x183;
10072     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
10073     uint32_t x185;
10074     uint32_t x186;
10075     uint32_t x187;
10076     uint32_t x188;
10077     uint32_t x189;
10078     uint32_t x190;
10079     uint32_t x191;
10080     uint32_t x192;
10081     uint32_t x193;
10082     uint32_t x194;
10083     uint32_t x195;
10084     uint32_t x196;
10085     uint32_t x197;
10086     uint32_t x198;
10087     uint32_t x199;
10088     uint32_t x200;
10089     uint32_t x201;
10090     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x202;
10091     uint32_t x203;
10092     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x204;
10093     uint32_t x205;
10094     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x206;
10095     uint32_t x207;
10096     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x208;
10097     uint32_t x209;
10098     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x210;
10099     uint32_t x211;
10100     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x212;
10101     uint32_t x213;
10102     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x214;
10103     uint32_t x215;
10104     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x216;
10105     uint32_t x217;
10106     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x218;
10107     uint32_t x219;
10108     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x220;
10109     uint32_t x221;
10110     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x222;
10111     uint32_t x223;
10112     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x224;
10113     uint32_t x225;
10114     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x226;
10115     uint32_t x227;
10116     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x228;
10117     uint32_t x229;
10118     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x230;
10119     uint32_t x231;
10120     uint32_t x232;
10121     uint32_t x233;
10122     uint32_t x234;
10123     uint32_t x235;
10124     uint32_t x236;
10125     uint32_t x237;
10126     uint32_t x238;
10127     uint32_t x239;
10128     uint32_t x240;
10129     uint32_t x241;
10130     uint32_t x242;
10131     uint32_t x243;
10132     uint32_t x244;
10133     uint32_t x245;
10134     uint32_t x246;
10135     uint32_t x247;
10136     uint32_t x248;
10137     uint32_t x249;
10138     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x250;
10139     uint32_t x251;
10140     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x252;
10141     uint32_t x253;
10142     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x254;
10143     uint32_t x255;
10144     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x256;
10145     uint32_t x257;
10146     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x258;
10147     uint32_t x259;
10148     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x260;
10149     uint32_t x261;
10150     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x262;
10151     uint32_t x263;
10152     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x264;
10153     uint32_t x265;
10154     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x266;
10155     uint32_t x267;
10156     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x268;
10157     uint32_t x269;
10158     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x270;
10159     uint32_t x271;
10160     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x272;
10161     uint32_t x273;
10162     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x274;
10163     uint32_t x275;
10164     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x276;
10165     uint32_t x277;
10166     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x278;
10167     uint32_t x279;
10168     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x280;
10169     uint32_t x281;
10170     uint32_t x282;
10171     uint32_t x283;
10172     uint32_t x284;
10173     uint32_t x285;
10174     uint32_t x286;
10175     uint32_t x287;
10176     uint32_t x288;
10177     uint32_t x289;
10178     uint32_t x290;
10179     uint32_t x291;
10180     uint32_t x292;
10181     uint32_t x293;
10182     uint32_t x294;
10183     uint32_t x295;
10184     uint32_t x296;
10185     uint32_t x297;
10186     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x298;
10187     uint32_t x299;
10188     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x300;
10189     uint32_t x301;
10190     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x302;
10191     uint32_t x303;
10192     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x304;
10193     uint32_t x305;
10194     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x306;
10195     uint32_t x307;
10196     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x308;
10197     uint32_t x309;
10198     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x310;
10199     uint32_t x311;
10200     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x312;
10201     uint32_t x313;
10202     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x314;
10203     uint32_t x315;
10204     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x316;
10205     uint32_t x317;
10206     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x318;
10207     uint32_t x319;
10208     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x320;
10209     uint32_t x321;
10210     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x322;
10211     uint32_t x323;
10212     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x324;
10213     uint32_t x325;
10214     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x326;
10215     uint32_t x327;
10216     uint32_t x328;
10217     uint32_t x329;
10218     uint32_t x330;
10219     uint32_t x331;
10220     uint32_t x332;
10221     uint32_t x333;
10222     uint32_t x334;
10223     uint32_t x335;
10224     uint32_t x336;
10225     uint32_t x337;
10226     uint32_t x338;
10227     uint32_t x339;
10228     uint32_t x340;
10229     uint32_t x341;
10230     uint32_t x342;
10231     uint32_t x343;
10232     uint32_t x344;
10233     uint32_t x345;
10234     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x346;
10235     uint32_t x347;
10236     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x348;
10237     uint32_t x349;
10238     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x350;
10239     uint32_t x351;
10240     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x352;
10241     uint32_t x353;
10242     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x354;
10243     uint32_t x355;
10244     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x356;
10245     uint32_t x357;
10246     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x358;
10247     uint32_t x359;
10248     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x360;
10249     uint32_t x361;
10250     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x362;
10251     uint32_t x363;
10252     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x364;
10253     uint32_t x365;
10254     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x366;
10255     uint32_t x367;
10256     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x368;
10257     uint32_t x369;
10258     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x370;
10259     uint32_t x371;
10260     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x372;
10261     uint32_t x373;
10262     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x374;
10263     uint32_t x375;
10264     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x376;
10265     uint32_t x377;
10266     uint32_t x378;
10267     uint32_t x379;
10268     uint32_t x380;
10269     uint32_t x381;
10270     uint32_t x382;
10271     uint32_t x383;
10272     uint32_t x384;
10273     uint32_t x385;
10274     uint32_t x386;
10275     uint32_t x387;
10276     uint32_t x388;
10277     uint32_t x389;
10278     uint32_t x390;
10279     uint32_t x391;
10280     uint32_t x392;
10281     uint32_t x393;
10282     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x394;
10283     uint32_t x395;
10284     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x396;
10285     uint32_t x397;
10286     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x398;
10287     uint32_t x399;
10288     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x400;
10289     uint32_t x401;
10290     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x402;
10291     uint32_t x403;
10292     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x404;
10293     uint32_t x405;
10294     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x406;
10295     uint32_t x407;
10296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x408;
10297     uint32_t x409;
10298     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x410;
10299     uint32_t x411;
10300     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x412;
10301     uint32_t x413;
10302     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x414;
10303     uint32_t x415;
10304     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x416;
10305     uint32_t x417;
10306     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x418;
10307     uint32_t x419;
10308     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x420;
10309     uint32_t x421;
10310     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x422;
10311     uint32_t x423;
10312     uint32_t x424;
10313     uint32_t x425;
10314     uint32_t x426;
10315     uint32_t x427;
10316     uint32_t x428;
10317     uint32_t x429;
10318     uint32_t x430;
10319     uint32_t x431;
10320     uint32_t x432;
10321     uint32_t x433;
10322     uint32_t x434;
10323     uint32_t x435;
10324     uint32_t x436;
10325     uint32_t x437;
10326     uint32_t x438;
10327     uint32_t x439;
10328     uint32_t x440;
10329     uint32_t x441;
10330     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x442;
10331     uint32_t x443;
10332     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x444;
10333     uint32_t x445;
10334     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x446;
10335     uint32_t x447;
10336     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x448;
10337     uint32_t x449;
10338     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x450;
10339     uint32_t x451;
10340     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x452;
10341     uint32_t x453;
10342     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x454;
10343     uint32_t x455;
10344     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x456;
10345     uint32_t x457;
10346     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x458;
10347     uint32_t x459;
10348     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x460;
10349     uint32_t x461;
10350     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x462;
10351     uint32_t x463;
10352     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x464;
10353     uint32_t x465;
10354     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x466;
10355     uint32_t x467;
10356     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x468;
10357     uint32_t x469;
10358     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x470;
10359     uint32_t x471;
10360     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x472;
10361     uint32_t x473;
10362     uint32_t x474;
10363     uint32_t x475;
10364     uint32_t x476;
10365     uint32_t x477;
10366     uint32_t x478;
10367     uint32_t x479;
10368     uint32_t x480;
10369     uint32_t x481;
10370     uint32_t x482;
10371     uint32_t x483;
10372     uint32_t x484;
10373     uint32_t x485;
10374     uint32_t x486;
10375     uint32_t x487;
10376     uint32_t x488;
10377     uint32_t x489;
10378     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x490;
10379     uint32_t x491;
10380     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x492;
10381     uint32_t x493;
10382     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x494;
10383     uint32_t x495;
10384     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x496;
10385     uint32_t x497;
10386     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x498;
10387     uint32_t x499;
10388     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x500;
10389     uint32_t x501;
10390     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x502;
10391     uint32_t x503;
10392     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x504;
10393     uint32_t x505;
10394     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x506;
10395     uint32_t x507;
10396     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x508;
10397     uint32_t x509;
10398     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x510;
10399     uint32_t x511;
10400     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x512;
10401     uint32_t x513;
10402     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x514;
10403     uint32_t x515;
10404     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x516;
10405     uint32_t x517;
10406     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x518;
10407     uint32_t x519;
10408     uint32_t x520;
10409     uint32_t x521;
10410     uint32_t x522;
10411     uint32_t x523;
10412     uint32_t x524;
10413     uint32_t x525;
10414     uint32_t x526;
10415     uint32_t x527;
10416     uint32_t x528;
10417     uint32_t x529;
10418     uint32_t x530;
10419     uint32_t x531;
10420     uint32_t x532;
10421     uint32_t x533;
10422     uint32_t x534;
10423     uint32_t x535;
10424     uint32_t x536;
10425     uint32_t x537;
10426     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x538;
10427     uint32_t x539;
10428     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x540;
10429     uint32_t x541;
10430     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x542;
10431     uint32_t x543;
10432     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x544;
10433     uint32_t x545;
10434     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x546;
10435     uint32_t x547;
10436     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x548;
10437     uint32_t x549;
10438     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x550;
10439     uint32_t x551;
10440     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x552;
10441     uint32_t x553;
10442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x554;
10443     uint32_t x555;
10444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x556;
10445     uint32_t x557;
10446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x558;
10447     uint32_t x559;
10448     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x560;
10449     uint32_t x561;
10450     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x562;
10451     uint32_t x563;
10452     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x564;
10453     uint32_t x565;
10454     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x566;
10455     uint32_t x567;
10456     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x568;
10457     uint32_t x569;
10458     uint32_t x570;
10459     uint32_t x571;
10460     uint32_t x572;
10461     uint32_t x573;
10462     uint32_t x574;
10463     uint32_t x575;
10464     uint32_t x576;
10465     uint32_t x577;
10466     uint32_t x578;
10467     uint32_t x579;
10468     uint32_t x580;
10469     uint32_t x581;
10470     uint32_t x582;
10471     uint32_t x583;
10472     uint32_t x584;
10473     uint32_t x585;
10474     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x586;
10475     uint32_t x587;
10476     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x588;
10477     uint32_t x589;
10478     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x590;
10479     uint32_t x591;
10480     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x592;
10481     uint32_t x593;
10482     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x594;
10483     uint32_t x595;
10484     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x596;
10485     uint32_t x597;
10486     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x598;
10487     uint32_t x599;
10488     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x600;
10489     uint32_t x601;
10490     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x602;
10491     uint32_t x603;
10492     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x604;
10493     uint32_t x605;
10494     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x606;
10495     uint32_t x607;
10496     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x608;
10497     uint32_t x609;
10498     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x610;
10499     uint32_t x611;
10500     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x612;
10501     uint32_t x613;
10502     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x614;
10503     uint32_t x615;
10504     uint32_t x616;
10505     uint32_t x617;
10506     uint32_t x618;
10507     uint32_t x619;
10508     uint32_t x620;
10509     uint32_t x621;
10510     uint32_t x622;
10511     uint32_t x623;
10512     uint32_t x624;
10513     uint32_t x625;
10514     uint32_t x626;
10515     uint32_t x627;
10516     uint32_t x628;
10517     uint32_t x629;
10518     uint32_t x630;
10519     uint32_t x631;
10520     uint32_t x632;
10521     uint32_t x633;
10522     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x634;
10523     uint32_t x635;
10524     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x636;
10525     uint32_t x637;
10526     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x638;
10527     uint32_t x639;
10528     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x640;
10529     uint32_t x641;
10530     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x642;
10531     uint32_t x643;
10532     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x644;
10533     uint32_t x645;
10534     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x646;
10535     uint32_t x647;
10536     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x648;
10537     uint32_t x649;
10538     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x650;
10539     uint32_t x651;
10540     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x652;
10541     uint32_t x653;
10542     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x654;
10543     uint32_t x655;
10544     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x656;
10545     uint32_t x657;
10546     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x658;
10547     uint32_t x659;
10548     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x660;
10549     uint32_t x661;
10550     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x662;
10551     uint32_t x663;
10552     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x664;
10553     uint32_t x665;
10554     uint32_t x666;
10555     uint32_t x667;
10556     uint32_t x668;
10557     uint32_t x669;
10558     uint32_t x670;
10559     uint32_t x671;
10560     uint32_t x672;
10561     uint32_t x673;
10562     uint32_t x674;
10563     uint32_t x675;
10564     uint32_t x676;
10565     uint32_t x677;
10566     uint32_t x678;
10567     uint32_t x679;
10568     uint32_t x680;
10569     uint32_t x681;
10570     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x682;
10571     uint32_t x683;
10572     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x684;
10573     uint32_t x685;
10574     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x686;
10575     uint32_t x687;
10576     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x688;
10577     uint32_t x689;
10578     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x690;
10579     uint32_t x691;
10580     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x692;
10581     uint32_t x693;
10582     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x694;
10583     uint32_t x695;
10584     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x696;
10585     uint32_t x697;
10586     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x698;
10587     uint32_t x699;
10588     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x700;
10589     uint32_t x701;
10590     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x702;
10591     uint32_t x703;
10592     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x704;
10593     uint32_t x705;
10594     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x706;
10595     uint32_t x707;
10596     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x708;
10597     uint32_t x709;
10598     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x710;
10599     uint32_t x711;
10600     uint32_t x712;
10601     uint32_t x713;
10602     uint32_t x714;
10603     uint32_t x715;
10604     uint32_t x716;
10605     uint32_t x717;
10606     uint32_t x718;
10607     uint32_t x719;
10608     uint32_t x720;
10609     uint32_t x721;
10610     uint32_t x722;
10611     uint32_t x723;
10612     uint32_t x724;
10613     uint32_t x725;
10614     uint32_t x726;
10615     uint32_t x727;
10616     uint32_t x728;
10617     uint32_t x729;
10618     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x730;
10619     uint32_t x731;
10620     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x732;
10621     uint32_t x733;
10622     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x734;
10623     uint32_t x735;
10624     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x736;
10625     uint32_t x737;
10626     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x738;
10627     uint32_t x739;
10628     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x740;
10629     uint32_t x741;
10630     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x742;
10631     uint32_t x743;
10632     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x744;
10633     uint32_t x745;
10634     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x746;
10635     uint32_t x747;
10636     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x748;
10637     uint32_t x749;
10638     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x750;
10639     uint32_t x751;
10640     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x752;
10641     uint32_t x753;
10642     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x754;
10643     uint32_t x755;
10644     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x756;
10645     uint32_t x757;
10646     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x758;
10647     uint32_t x759;
10648     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x760;
10649     uint32_t x761;
10650     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x762;
10651     uint32_t x763;
10652     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x764;
10653     uint32_t x765;
10654     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x766;
10655     uint32_t x767;
10656     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x768;
10657     uint32_t x769;
10658     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x770;
10659     uint32_t x771;
10660     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x772;
10661     uint32_t x773;
10662     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x774;
10663     uint32_t x775;
10664     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x776;
10665     uint32_t x777;
10666     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x778;
10667     uint32_t x779;
10668     uint32_t x780;
10669     uint32_t x781;
10670     uint32_t x782;
10671     uint32_t x783;
10672     uint32_t x784;
10673     uint32_t x785;
10674     uint32_t x786;
10675     x1 = (arg1[1]);
10676     x2 = (arg1[2]);
10677     x3 = (arg1[3]);
10678     x4 = (arg1[4]);
10679     x5 = (arg1[5]);
10680     x6 = (arg1[6]);
10681     x7 = (arg1[7]);
10682     x8 = (arg1[0]);
10683     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x9, &x10, x8,
10684                                                          UINT32_C(0x807a394e));
10685     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x11, &x12, x8,
10686                                                          UINT32_C(0xde097652));
10687     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x13, &x14, x8,
10688                                                          UINT32_C(0x18630421));
10689     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x15, &x16, x8,
10690                                                          UINT32_C(0x2849c07b));
10691     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x17, &x18, x8,
10692                                                          UINT32_C(0x1017bb39));
10693     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x19, &x20, x8,
10694                                                          UINT32_C(0xc2d346c5));
10695     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x21, &x22, x8,
10696                                                          UINT32_C(0x409973b4));
10697     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x23, &x24, x8,
10698                                                          UINT32_C(0xc427fcea));
10699     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
10700                                                               x24, x21);
10701     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x27, &x28, x26,
10702                                                               x22, x19);
10703     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x29, &x30, x28,
10704                                                               x20, x17);
10705     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x31, &x32, x30,
10706                                                               x18, x15);
10707     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x33, &x34, x32,
10708                                                               x16, x13);
10709     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x35, &x36, x34,
10710                                                               x14, x11);
10711     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x37, &x38, x36,
10712                                                               x12, x9);
10713     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x39, &x40, x23,
10714                                                          UINT32_C(0x727c176d));
10715     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x41, &x42, x39,
10716                                                          UINT32_C(0x9b9f605f));
10717     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x43, &x44, x39,
10718                                                          UINT32_C(0x5a858107));
10719     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x45, &x46, x39,
10720                                                          UINT32_C(0xab1ec85e));
10721     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x47, &x48, x39,
10722                                                          UINT32_C(0x6b41c8aa));
10723     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x49, &x50, x39,
10724                                                          UINT32_C(0xcf846e86));
10725     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x51, &x52, x39,
10726                                                          UINT32_C(0x789051d3));
10727     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x53, &x54, x39,
10728                                                          UINT32_C(0x7998f7b9));
10729     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x55, &x56, x39,
10730                                                          UINT32_C(0x22d759b));
10731     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x57, &x58, 0x0,
10732                                                               x56, x53);
10733     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x59, &x60, x58,
10734                                                               x54, x51);
10735     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x61, &x62, x60,
10736                                                               x52, x49);
10737     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x63, &x64, x62,
10738                                                               x50, x47);
10739     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x65, &x66, x64,
10740                                                               x48, x45);
10741     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x67, &x68, x66,
10742                                                               x46, x43);
10743     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x69, &x70, x68,
10744                                                               x44, x41);
10745     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x71, &x72, 0x0,
10746                                                               x23, x55);
10747     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x73, &x74, x72,
10748                                                               x25, x57);
10749     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x75, &x76, x74,
10750                                                               x27, x59);
10751     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x77, &x78, x76,
10752                                                               x29, x61);
10753     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x79, &x80, x78,
10754                                                               x31, x63);
10755     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x81, &x82, x80,
10756                                                               x33, x65);
10757     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x83, &x84, x82,
10758                                                               x35, x67);
10759     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x85, &x86, x84,
10760                                                               x37, x69);
10761     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
10762         &x87, &x88, x86, (x38 + x10), (x70 + x42));
10763     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x89, &x90, x1,
10764                                                          UINT32_C(0x807a394e));
10765     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x91, &x92, x1,
10766                                                          UINT32_C(0xde097652));
10767     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x93, &x94, x1,
10768                                                          UINT32_C(0x18630421));
10769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x95, &x96, x1,
10770                                                          UINT32_C(0x2849c07b));
10771     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x97, &x98, x1,
10772                                                          UINT32_C(0x1017bb39));
10773     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x99, &x100, x1,
10774                                                          UINT32_C(0xc2d346c5));
10775     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x101, &x102, x1,
10776                                                          UINT32_C(0x409973b4));
10777     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x103, &x104, x1,
10778                                                          UINT32_C(0xc427fcea));
10779     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x105, &x106, 0x0,
10780                                                               x104, x101);
10781     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x107, &x108,
10782                                                               x106, x102, x99);
10783     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x109, &x110,
10784                                                               x108, x100, x97);
10785     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x111, &x112,
10786                                                               x110, x98, x95);
10787     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x113, &x114,
10788                                                               x112, x96, x93);
10789     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x115, &x116,
10790                                                               x114, x94, x91);
10791     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x117, &x118,
10792                                                               x116, x92, x89);
10793     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x119, &x120, 0x0,
10794                                                               x73, x103);
10795     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x121, &x122,
10796                                                               x120, x75, x105);
10797     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x123, &x124,
10798                                                               x122, x77, x107);
10799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x125, &x126,
10800                                                               x124, x79, x109);
10801     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x127, &x128,
10802                                                               x126, x81, x111);
10803     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x129, &x130,
10804                                                               x128, x83, x113);
10805     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x131, &x132,
10806                                                               x130, x85, x115);
10807     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x133, &x134,
10808                                                               x132, x87, x117);
10809     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x135, &x136, x119,
10810                                                          UINT32_C(0x727c176d));
10811     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x137, &x138, x135,
10812                                                          UINT32_C(0x9b9f605f));
10813     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x139, &x140, x135,
10814                                                          UINT32_C(0x5a858107));
10815     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x141, &x142, x135,
10816                                                          UINT32_C(0xab1ec85e));
10817     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x143, &x144, x135,
10818                                                          UINT32_C(0x6b41c8aa));
10819     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x145, &x146, x135,
10820                                                          UINT32_C(0xcf846e86));
10821     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x147, &x148, x135,
10822                                                          UINT32_C(0x789051d3));
10823     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x149, &x150, x135,
10824                                                          UINT32_C(0x7998f7b9));
10825     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x151, &x152, x135,
10826                                                          UINT32_C(0x22d759b));
10827     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x153, &x154, 0x0,
10828                                                               x152, x149);
10829     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x155, &x156,
10830                                                               x154, x150, x147);
10831     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x157, &x158,
10832                                                               x156, x148, x145);
10833     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x159, &x160,
10834                                                               x158, x146, x143);
10835     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x161, &x162,
10836                                                               x160, x144, x141);
10837     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x163, &x164,
10838                                                               x162, x142, x139);
10839     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x165, &x166,
10840                                                               x164, x140, x137);
10841     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x167, &x168, 0x0,
10842                                                               x119, x151);
10843     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x169, &x170,
10844                                                               x168, x121, x153);
10845     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x171, &x172,
10846                                                               x170, x123, x155);
10847     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x173, &x174,
10848                                                               x172, x125, x157);
10849     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x175, &x176,
10850                                                               x174, x127, x159);
10851     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x177, &x178,
10852                                                               x176, x129, x161);
10853     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x179, &x180,
10854                                                               x178, x131, x163);
10855     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x181, &x182,
10856                                                               x180, x133, x165);
10857     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
10858         &x183, &x184, x182, (((uint32_t)x134 + x88) + (x118 + x90)),
10859         (x166 + x138));
10860     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x185, &x186, x2,
10861                                                          UINT32_C(0x807a394e));
10862     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x187, &x188, x2,
10863                                                          UINT32_C(0xde097652));
10864     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x189, &x190, x2,
10865                                                          UINT32_C(0x18630421));
10866     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x191, &x192, x2,
10867                                                          UINT32_C(0x2849c07b));
10868     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x193, &x194, x2,
10869                                                          UINT32_C(0x1017bb39));
10870     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x195, &x196, x2,
10871                                                          UINT32_C(0xc2d346c5));
10872     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x197, &x198, x2,
10873                                                          UINT32_C(0x409973b4));
10874     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x199, &x200, x2,
10875                                                          UINT32_C(0xc427fcea));
10876     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x201, &x202, 0x0,
10877                                                               x200, x197);
10878     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x203, &x204,
10879                                                               x202, x198, x195);
10880     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x205, &x206,
10881                                                               x204, x196, x193);
10882     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x207, &x208,
10883                                                               x206, x194, x191);
10884     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x209, &x210,
10885                                                               x208, x192, x189);
10886     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x211, &x212,
10887                                                               x210, x190, x187);
10888     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x213, &x214,
10889                                                               x212, x188, x185);
10890     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x215, &x216, 0x0,
10891                                                               x169, x199);
10892     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x217, &x218,
10893                                                               x216, x171, x201);
10894     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x219, &x220,
10895                                                               x218, x173, x203);
10896     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x221, &x222,
10897                                                               x220, x175, x205);
10898     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x223, &x224,
10899                                                               x222, x177, x207);
10900     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x225, &x226,
10901                                                               x224, x179, x209);
10902     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x227, &x228,
10903                                                               x226, x181, x211);
10904     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x229, &x230,
10905                                                               x228, x183, x213);
10906     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x231, &x232, x215,
10907                                                          UINT32_C(0x727c176d));
10908     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x233, &x234, x231,
10909                                                          UINT32_C(0x9b9f605f));
10910     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x235, &x236, x231,
10911                                                          UINT32_C(0x5a858107));
10912     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x237, &x238, x231,
10913                                                          UINT32_C(0xab1ec85e));
10914     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x239, &x240, x231,
10915                                                          UINT32_C(0x6b41c8aa));
10916     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x241, &x242, x231,
10917                                                          UINT32_C(0xcf846e86));
10918     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x243, &x244, x231,
10919                                                          UINT32_C(0x789051d3));
10920     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x245, &x246, x231,
10921                                                          UINT32_C(0x7998f7b9));
10922     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x247, &x248, x231,
10923                                                          UINT32_C(0x22d759b));
10924     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x249, &x250, 0x0,
10925                                                               x248, x245);
10926     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x251, &x252,
10927                                                               x250, x246, x243);
10928     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x253, &x254,
10929                                                               x252, x244, x241);
10930     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x255, &x256,
10931                                                               x254, x242, x239);
10932     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x257, &x258,
10933                                                               x256, x240, x237);
10934     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x259, &x260,
10935                                                               x258, x238, x235);
10936     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x261, &x262,
10937                                                               x260, x236, x233);
10938     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x263, &x264, 0x0,
10939                                                               x215, x247);
10940     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x265, &x266,
10941                                                               x264, x217, x249);
10942     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x267, &x268,
10943                                                               x266, x219, x251);
10944     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x269, &x270,
10945                                                               x268, x221, x253);
10946     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x271, &x272,
10947                                                               x270, x223, x255);
10948     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x273, &x274,
10949                                                               x272, x225, x257);
10950     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x275, &x276,
10951                                                               x274, x227, x259);
10952     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x277, &x278,
10953                                                               x276, x229, x261);
10954     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
10955         &x279, &x280, x278, (((uint32_t)x230 + x184) + (x214 + x186)),
10956         (x262 + x234));
10957     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x281, &x282, x3,
10958                                                          UINT32_C(0x807a394e));
10959     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x283, &x284, x3,
10960                                                          UINT32_C(0xde097652));
10961     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x285, &x286, x3,
10962                                                          UINT32_C(0x18630421));
10963     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x287, &x288, x3,
10964                                                          UINT32_C(0x2849c07b));
10965     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x289, &x290, x3,
10966                                                          UINT32_C(0x1017bb39));
10967     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x291, &x292, x3,
10968                                                          UINT32_C(0xc2d346c5));
10969     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x293, &x294, x3,
10970                                                          UINT32_C(0x409973b4));
10971     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x295, &x296, x3,
10972                                                          UINT32_C(0xc427fcea));
10973     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x297, &x298, 0x0,
10974                                                               x296, x293);
10975     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x299, &x300,
10976                                                               x298, x294, x291);
10977     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x301, &x302,
10978                                                               x300, x292, x289);
10979     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x303, &x304,
10980                                                               x302, x290, x287);
10981     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x305, &x306,
10982                                                               x304, x288, x285);
10983     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x307, &x308,
10984                                                               x306, x286, x283);
10985     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x309, &x310,
10986                                                               x308, x284, x281);
10987     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x311, &x312, 0x0,
10988                                                               x265, x295);
10989     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x313, &x314,
10990                                                               x312, x267, x297);
10991     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x315, &x316,
10992                                                               x314, x269, x299);
10993     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x317, &x318,
10994                                                               x316, x271, x301);
10995     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x319, &x320,
10996                                                               x318, x273, x303);
10997     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x321, &x322,
10998                                                               x320, x275, x305);
10999     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x323, &x324,
11000                                                               x322, x277, x307);
11001     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x325, &x326,
11002                                                               x324, x279, x309);
11003     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x327, &x328, x311,
11004                                                          UINT32_C(0x727c176d));
11005     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x329, &x330, x327,
11006                                                          UINT32_C(0x9b9f605f));
11007     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x331, &x332, x327,
11008                                                          UINT32_C(0x5a858107));
11009     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x333, &x334, x327,
11010                                                          UINT32_C(0xab1ec85e));
11011     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x335, &x336, x327,
11012                                                          UINT32_C(0x6b41c8aa));
11013     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x337, &x338, x327,
11014                                                          UINT32_C(0xcf846e86));
11015     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x339, &x340, x327,
11016                                                          UINT32_C(0x789051d3));
11017     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x341, &x342, x327,
11018                                                          UINT32_C(0x7998f7b9));
11019     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x343, &x344, x327,
11020                                                          UINT32_C(0x22d759b));
11021     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x345, &x346, 0x0,
11022                                                               x344, x341);
11023     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x347, &x348,
11024                                                               x346, x342, x339);
11025     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x349, &x350,
11026                                                               x348, x340, x337);
11027     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x351, &x352,
11028                                                               x350, x338, x335);
11029     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x353, &x354,
11030                                                               x352, x336, x333);
11031     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x355, &x356,
11032                                                               x354, x334, x331);
11033     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x357, &x358,
11034                                                               x356, x332, x329);
11035     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x359, &x360, 0x0,
11036                                                               x311, x343);
11037     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x361, &x362,
11038                                                               x360, x313, x345);
11039     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x363, &x364,
11040                                                               x362, x315, x347);
11041     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x365, &x366,
11042                                                               x364, x317, x349);
11043     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x367, &x368,
11044                                                               x366, x319, x351);
11045     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x369, &x370,
11046                                                               x368, x321, x353);
11047     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x371, &x372,
11048                                                               x370, x323, x355);
11049     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x373, &x374,
11050                                                               x372, x325, x357);
11051     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11052         &x375, &x376, x374, (((uint32_t)x326 + x280) + (x310 + x282)),
11053         (x358 + x330));
11054     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x377, &x378, x4,
11055                                                          UINT32_C(0x807a394e));
11056     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x379, &x380, x4,
11057                                                          UINT32_C(0xde097652));
11058     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x381, &x382, x4,
11059                                                          UINT32_C(0x18630421));
11060     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x383, &x384, x4,
11061                                                          UINT32_C(0x2849c07b));
11062     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x385, &x386, x4,
11063                                                          UINT32_C(0x1017bb39));
11064     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x387, &x388, x4,
11065                                                          UINT32_C(0xc2d346c5));
11066     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x389, &x390, x4,
11067                                                          UINT32_C(0x409973b4));
11068     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x391, &x392, x4,
11069                                                          UINT32_C(0xc427fcea));
11070     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x393, &x394, 0x0,
11071                                                               x392, x389);
11072     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x395, &x396,
11073                                                               x394, x390, x387);
11074     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x397, &x398,
11075                                                               x396, x388, x385);
11076     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x399, &x400,
11077                                                               x398, x386, x383);
11078     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x401, &x402,
11079                                                               x400, x384, x381);
11080     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x403, &x404,
11081                                                               x402, x382, x379);
11082     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x405, &x406,
11083                                                               x404, x380, x377);
11084     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x407, &x408, 0x0,
11085                                                               x361, x391);
11086     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x409, &x410,
11087                                                               x408, x363, x393);
11088     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x411, &x412,
11089                                                               x410, x365, x395);
11090     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x413, &x414,
11091                                                               x412, x367, x397);
11092     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x415, &x416,
11093                                                               x414, x369, x399);
11094     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x417, &x418,
11095                                                               x416, x371, x401);
11096     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x419, &x420,
11097                                                               x418, x373, x403);
11098     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x421, &x422,
11099                                                               x420, x375, x405);
11100     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x423, &x424, x407,
11101                                                          UINT32_C(0x727c176d));
11102     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x425, &x426, x423,
11103                                                          UINT32_C(0x9b9f605f));
11104     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x427, &x428, x423,
11105                                                          UINT32_C(0x5a858107));
11106     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x429, &x430, x423,
11107                                                          UINT32_C(0xab1ec85e));
11108     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x431, &x432, x423,
11109                                                          UINT32_C(0x6b41c8aa));
11110     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x433, &x434, x423,
11111                                                          UINT32_C(0xcf846e86));
11112     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x435, &x436, x423,
11113                                                          UINT32_C(0x789051d3));
11114     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x437, &x438, x423,
11115                                                          UINT32_C(0x7998f7b9));
11116     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x439, &x440, x423,
11117                                                          UINT32_C(0x22d759b));
11118     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x441, &x442, 0x0,
11119                                                               x440, x437);
11120     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x443, &x444,
11121                                                               x442, x438, x435);
11122     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x445, &x446,
11123                                                               x444, x436, x433);
11124     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x447, &x448,
11125                                                               x446, x434, x431);
11126     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x449, &x450,
11127                                                               x448, x432, x429);
11128     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x451, &x452,
11129                                                               x450, x430, x427);
11130     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x453, &x454,
11131                                                               x452, x428, x425);
11132     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x455, &x456, 0x0,
11133                                                               x407, x439);
11134     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x457, &x458,
11135                                                               x456, x409, x441);
11136     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x459, &x460,
11137                                                               x458, x411, x443);
11138     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x461, &x462,
11139                                                               x460, x413, x445);
11140     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x463, &x464,
11141                                                               x462, x415, x447);
11142     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x465, &x466,
11143                                                               x464, x417, x449);
11144     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x467, &x468,
11145                                                               x466, x419, x451);
11146     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x469, &x470,
11147                                                               x468, x421, x453);
11148     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11149         &x471, &x472, x470, (((uint32_t)x422 + x376) + (x406 + x378)),
11150         (x454 + x426));
11151     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x473, &x474, x5,
11152                                                          UINT32_C(0x807a394e));
11153     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x475, &x476, x5,
11154                                                          UINT32_C(0xde097652));
11155     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x477, &x478, x5,
11156                                                          UINT32_C(0x18630421));
11157     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x479, &x480, x5,
11158                                                          UINT32_C(0x2849c07b));
11159     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x481, &x482, x5,
11160                                                          UINT32_C(0x1017bb39));
11161     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x483, &x484, x5,
11162                                                          UINT32_C(0xc2d346c5));
11163     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x485, &x486, x5,
11164                                                          UINT32_C(0x409973b4));
11165     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x487, &x488, x5,
11166                                                          UINT32_C(0xc427fcea));
11167     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x489, &x490, 0x0,
11168                                                               x488, x485);
11169     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x491, &x492,
11170                                                               x490, x486, x483);
11171     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x493, &x494,
11172                                                               x492, x484, x481);
11173     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x495, &x496,
11174                                                               x494, x482, x479);
11175     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x497, &x498,
11176                                                               x496, x480, x477);
11177     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x499, &x500,
11178                                                               x498, x478, x475);
11179     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x501, &x502,
11180                                                               x500, x476, x473);
11181     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x503, &x504, 0x0,
11182                                                               x457, x487);
11183     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x505, &x506,
11184                                                               x504, x459, x489);
11185     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x507, &x508,
11186                                                               x506, x461, x491);
11187     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x509, &x510,
11188                                                               x508, x463, x493);
11189     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x511, &x512,
11190                                                               x510, x465, x495);
11191     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x513, &x514,
11192                                                               x512, x467, x497);
11193     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x515, &x516,
11194                                                               x514, x469, x499);
11195     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x517, &x518,
11196                                                               x516, x471, x501);
11197     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x519, &x520, x503,
11198                                                          UINT32_C(0x727c176d));
11199     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x521, &x522, x519,
11200                                                          UINT32_C(0x9b9f605f));
11201     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x523, &x524, x519,
11202                                                          UINT32_C(0x5a858107));
11203     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x525, &x526, x519,
11204                                                          UINT32_C(0xab1ec85e));
11205     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x527, &x528, x519,
11206                                                          UINT32_C(0x6b41c8aa));
11207     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x529, &x530, x519,
11208                                                          UINT32_C(0xcf846e86));
11209     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x531, &x532, x519,
11210                                                          UINT32_C(0x789051d3));
11211     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x533, &x534, x519,
11212                                                          UINT32_C(0x7998f7b9));
11213     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x535, &x536, x519,
11214                                                          UINT32_C(0x22d759b));
11215     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x537, &x538, 0x0,
11216                                                               x536, x533);
11217     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x539, &x540,
11218                                                               x538, x534, x531);
11219     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x541, &x542,
11220                                                               x540, x532, x529);
11221     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x543, &x544,
11222                                                               x542, x530, x527);
11223     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x545, &x546,
11224                                                               x544, x528, x525);
11225     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x547, &x548,
11226                                                               x546, x526, x523);
11227     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x549, &x550,
11228                                                               x548, x524, x521);
11229     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x551, &x552, 0x0,
11230                                                               x503, x535);
11231     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x553, &x554,
11232                                                               x552, x505, x537);
11233     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x555, &x556,
11234                                                               x554, x507, x539);
11235     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x557, &x558,
11236                                                               x556, x509, x541);
11237     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x559, &x560,
11238                                                               x558, x511, x543);
11239     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x561, &x562,
11240                                                               x560, x513, x545);
11241     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x563, &x564,
11242                                                               x562, x515, x547);
11243     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x565, &x566,
11244                                                               x564, x517, x549);
11245     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11246         &x567, &x568, x566, (((uint32_t)x518 + x472) + (x502 + x474)),
11247         (x550 + x522));
11248     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x569, &x570, x6,
11249                                                          UINT32_C(0x807a394e));
11250     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x571, &x572, x6,
11251                                                          UINT32_C(0xde097652));
11252     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x573, &x574, x6,
11253                                                          UINT32_C(0x18630421));
11254     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x575, &x576, x6,
11255                                                          UINT32_C(0x2849c07b));
11256     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x577, &x578, x6,
11257                                                          UINT32_C(0x1017bb39));
11258     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x579, &x580, x6,
11259                                                          UINT32_C(0xc2d346c5));
11260     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x581, &x582, x6,
11261                                                          UINT32_C(0x409973b4));
11262     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x583, &x584, x6,
11263                                                          UINT32_C(0xc427fcea));
11264     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x585, &x586, 0x0,
11265                                                               x584, x581);
11266     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x587, &x588,
11267                                                               x586, x582, x579);
11268     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x589, &x590,
11269                                                               x588, x580, x577);
11270     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x591, &x592,
11271                                                               x590, x578, x575);
11272     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x593, &x594,
11273                                                               x592, x576, x573);
11274     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x595, &x596,
11275                                                               x594, x574, x571);
11276     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x597, &x598,
11277                                                               x596, x572, x569);
11278     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x599, &x600, 0x0,
11279                                                               x553, x583);
11280     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x601, &x602,
11281                                                               x600, x555, x585);
11282     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x603, &x604,
11283                                                               x602, x557, x587);
11284     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x605, &x606,
11285                                                               x604, x559, x589);
11286     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x607, &x608,
11287                                                               x606, x561, x591);
11288     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x609, &x610,
11289                                                               x608, x563, x593);
11290     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x611, &x612,
11291                                                               x610, x565, x595);
11292     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x613, &x614,
11293                                                               x612, x567, x597);
11294     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x615, &x616, x599,
11295                                                          UINT32_C(0x727c176d));
11296     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x617, &x618, x615,
11297                                                          UINT32_C(0x9b9f605f));
11298     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x619, &x620, x615,
11299                                                          UINT32_C(0x5a858107));
11300     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x621, &x622, x615,
11301                                                          UINT32_C(0xab1ec85e));
11302     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x623, &x624, x615,
11303                                                          UINT32_C(0x6b41c8aa));
11304     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x625, &x626, x615,
11305                                                          UINT32_C(0xcf846e86));
11306     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x627, &x628, x615,
11307                                                          UINT32_C(0x789051d3));
11308     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x629, &x630, x615,
11309                                                          UINT32_C(0x7998f7b9));
11310     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x631, &x632, x615,
11311                                                          UINT32_C(0x22d759b));
11312     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x633, &x634, 0x0,
11313                                                               x632, x629);
11314     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x635, &x636,
11315                                                               x634, x630, x627);
11316     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x637, &x638,
11317                                                               x636, x628, x625);
11318     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x639, &x640,
11319                                                               x638, x626, x623);
11320     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x641, &x642,
11321                                                               x640, x624, x621);
11322     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x643, &x644,
11323                                                               x642, x622, x619);
11324     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x645, &x646,
11325                                                               x644, x620, x617);
11326     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x647, &x648, 0x0,
11327                                                               x599, x631);
11328     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x649, &x650,
11329                                                               x648, x601, x633);
11330     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x651, &x652,
11331                                                               x650, x603, x635);
11332     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x653, &x654,
11333                                                               x652, x605, x637);
11334     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x655, &x656,
11335                                                               x654, x607, x639);
11336     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x657, &x658,
11337                                                               x656, x609, x641);
11338     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x659, &x660,
11339                                                               x658, x611, x643);
11340     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x661, &x662,
11341                                                               x660, x613, x645);
11342     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11343         &x663, &x664, x662, (((uint32_t)x614 + x568) + (x598 + x570)),
11344         (x646 + x618));
11345     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x665, &x666, x7,
11346                                                          UINT32_C(0x807a394e));
11347     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x667, &x668, x7,
11348                                                          UINT32_C(0xde097652));
11349     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x669, &x670, x7,
11350                                                          UINT32_C(0x18630421));
11351     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x671, &x672, x7,
11352                                                          UINT32_C(0x2849c07b));
11353     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x673, &x674, x7,
11354                                                          UINT32_C(0x1017bb39));
11355     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x675, &x676, x7,
11356                                                          UINT32_C(0xc2d346c5));
11357     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x677, &x678, x7,
11358                                                          UINT32_C(0x409973b4));
11359     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x679, &x680, x7,
11360                                                          UINT32_C(0xc427fcea));
11361     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x681, &x682, 0x0,
11362                                                               x680, x677);
11363     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x683, &x684,
11364                                                               x682, x678, x675);
11365     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x685, &x686,
11366                                                               x684, x676, x673);
11367     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x687, &x688,
11368                                                               x686, x674, x671);
11369     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x689, &x690,
11370                                                               x688, x672, x669);
11371     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x691, &x692,
11372                                                               x690, x670, x667);
11373     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x693, &x694,
11374                                                               x692, x668, x665);
11375     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x695, &x696, 0x0,
11376                                                               x649, x679);
11377     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x697, &x698,
11378                                                               x696, x651, x681);
11379     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x699, &x700,
11380                                                               x698, x653, x683);
11381     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x701, &x702,
11382                                                               x700, x655, x685);
11383     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x703, &x704,
11384                                                               x702, x657, x687);
11385     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x705, &x706,
11386                                                               x704, x659, x689);
11387     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x707, &x708,
11388                                                               x706, x661, x691);
11389     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x709, &x710,
11390                                                               x708, x663, x693);
11391     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x711, &x712, x695,
11392                                                          UINT32_C(0x727c176d));
11393     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x713, &x714, x711,
11394                                                          UINT32_C(0x9b9f605f));
11395     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x715, &x716, x711,
11396                                                          UINT32_C(0x5a858107));
11397     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x717, &x718, x711,
11398                                                          UINT32_C(0xab1ec85e));
11399     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x719, &x720, x711,
11400                                                          UINT32_C(0x6b41c8aa));
11401     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x721, &x722, x711,
11402                                                          UINT32_C(0xcf846e86));
11403     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x723, &x724, x711,
11404                                                          UINT32_C(0x789051d3));
11405     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x725, &x726, x711,
11406                                                          UINT32_C(0x7998f7b9));
11407     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x727, &x728, x711,
11408                                                          UINT32_C(0x22d759b));
11409     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x729, &x730, 0x0,
11410                                                               x728, x725);
11411     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x731, &x732,
11412                                                               x730, x726, x723);
11413     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x733, &x734,
11414                                                               x732, x724, x721);
11415     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x735, &x736,
11416                                                               x734, x722, x719);
11417     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x737, &x738,
11418                                                               x736, x720, x717);
11419     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x739, &x740,
11420                                                               x738, x718, x715);
11421     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x741, &x742,
11422                                                               x740, x716, x713);
11423     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x743, &x744, 0x0,
11424                                                               x695, x727);
11425     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x745, &x746,
11426                                                               x744, x697, x729);
11427     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x747, &x748,
11428                                                               x746, x699, x731);
11429     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x749, &x750,
11430                                                               x748, x701, x733);
11431     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x751, &x752,
11432                                                               x750, x703, x735);
11433     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x753, &x754,
11434                                                               x752, x705, x737);
11435     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x755, &x756,
11436                                                               x754, x707, x739);
11437     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x757, &x758,
11438                                                               x756, x709, x741);
11439     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
11440         &x759, &x760, x758, (((uint32_t)x710 + x664) + (x694 + x666)),
11441         (x742 + x714));
11442     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11443         &x761, &x762, 0x0, x745, UINT32_C(0x22d759b));
11444     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11445         &x763, &x764, x762, x747, UINT32_C(0x7998f7b9));
11446     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11447         &x765, &x766, x764, x749, UINT32_C(0x789051d3));
11448     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11449         &x767, &x768, x766, x751, UINT32_C(0xcf846e86));
11450     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11451         &x769, &x770, x768, x753, UINT32_C(0x6b41c8aa));
11452     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11453         &x771, &x772, x770, x755, UINT32_C(0xab1ec85e));
11454     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11455         &x773, &x774, x772, x757, UINT32_C(0x5a858107));
11456     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
11457         &x775, &x776, x774, x759, UINT32_C(0x9b9f605f));
11458     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x777, &x778,
11459                                                                x776, x760, 0x0);
11460     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x779, x778, x761,
11461                                                             x745);
11462     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x780, x778, x763,
11463                                                             x747);
11464     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x781, x778, x765,
11465                                                             x749);
11466     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x782, x778, x767,
11467                                                             x751);
11468     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x783, x778, x769,
11469                                                             x753);
11470     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x784, x778, x771,
11471                                                             x755);
11472     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x785, x778, x773,
11473                                                             x757);
11474     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x786, x778, x775,
11475                                                             x759);
11476     out1[0] = x779;
11477     out1[1] = x780;
11478     out1[2] = x781;
11479     out1[3] = x782;
11480     out1[4] = x783;
11481     out1[5] = x784;
11482     out1[6] = x785;
11483     out1[7] = x786;
11484 }
11485
11486 /*
11487  * 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.
11488  * Preconditions:
11489  *   0 ≤ eval arg1 < m
11490  * Postconditions:
11491  *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
11492  *
11493  * Input Bounds:
11494  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11495  * Output Bounds:
11496  *   out1: [0x0 ~> 0xffffffff]
11497  */
11498 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(
11499     uint32_t *out1, const uint32_t arg1[8]) {
11500     uint32_t x1;
11501     x1 = ((arg1[0]) |
11502           ((arg1[1]) |
11503            ((arg1[2]) |
11504             ((arg1[3]) |
11505              ((arg1[4]) |
11506               ((arg1[5]) | ((arg1[6]) | ((arg1[7]) | (uint32_t)0x0))))))));
11507     *out1 = x1;
11508 }
11509
11510 /*
11511  * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz is a multi-limb conditional select.
11512  * Postconditions:
11513  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
11514  *
11515  * Input Bounds:
11516  *   arg1: [0x0 ~> 0x1]
11517  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11518  *   arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11519  * Output Bounds:
11520  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11521  */
11522 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
11523     uint32_t out1[8], fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
11524     const uint32_t arg2[8], const uint32_t arg3[8]) {
11525     uint32_t x1;
11526     uint32_t x2;
11527     uint32_t x3;
11528     uint32_t x4;
11529     uint32_t x5;
11530     uint32_t x6;
11531     uint32_t x7;
11532     uint32_t x8;
11533     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11534         &x1, arg1, (arg2[0]), (arg3[0]));
11535     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11536         &x2, arg1, (arg2[1]), (arg3[1]));
11537     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11538         &x3, arg1, (arg2[2]), (arg3[2]));
11539     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11540         &x4, arg1, (arg2[3]), (arg3[3]));
11541     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11542         &x5, arg1, (arg2[4]), (arg3[4]));
11543     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11544         &x6, arg1, (arg2[5]), (arg3[5]));
11545     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11546         &x7, arg1, (arg2[6]), (arg3[6]));
11547     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
11548         &x8, arg1, (arg2[7]), (arg3[7]));
11549     out1[0] = x1;
11550     out1[1] = x2;
11551     out1[2] = x3;
11552     out1[3] = x4;
11553     out1[4] = x5;
11554     out1[5] = x6;
11555     out1[6] = x7;
11556     out1[7] = x8;
11557 }
11558
11559 /*
11560  * 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.
11561  * Preconditions:
11562  *   0 ≤ eval arg1 < m
11563  * Postconditions:
11564  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
11565  *
11566  * Input Bounds:
11567  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11568  * Output Bounds:
11569  *   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]]
11570  */
11571 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(
11572     uint8_t out1[32], const uint32_t arg1[8]) {
11573     uint32_t x1;
11574     uint32_t x2;
11575     uint32_t x3;
11576     uint32_t x4;
11577     uint32_t x5;
11578     uint32_t x6;
11579     uint32_t x7;
11580     uint32_t x8;
11581     uint32_t x9;
11582     uint8_t x10;
11583     uint32_t x11;
11584     uint8_t x12;
11585     uint8_t x13;
11586     uint8_t x14;
11587     uint8_t x15;
11588     uint32_t x16;
11589     uint8_t x17;
11590     uint32_t x18;
11591     uint8_t x19;
11592     uint8_t x20;
11593     uint8_t x21;
11594     uint8_t x22;
11595     uint32_t x23;
11596     uint8_t x24;
11597     uint32_t x25;
11598     uint8_t x26;
11599     uint8_t x27;
11600     uint8_t x28;
11601     uint8_t x29;
11602     uint32_t x30;
11603     uint8_t x31;
11604     uint32_t x32;
11605     uint8_t x33;
11606     uint8_t x34;
11607     uint8_t x35;
11608     uint8_t x36;
11609     uint32_t x37;
11610     uint8_t x38;
11611     uint32_t x39;
11612     uint8_t x40;
11613     uint8_t x41;
11614     uint8_t x42;
11615     uint8_t x43;
11616     uint32_t x44;
11617     uint8_t x45;
11618     uint32_t x46;
11619     uint8_t x47;
11620     uint8_t x48;
11621     uint8_t x49;
11622     uint8_t x50;
11623     uint32_t x51;
11624     uint8_t x52;
11625     uint32_t x53;
11626     uint8_t x54;
11627     uint8_t x55;
11628     uint8_t x56;
11629     uint8_t x57;
11630     uint32_t x58;
11631     uint8_t x59;
11632     uint32_t x60;
11633     uint8_t x61;
11634     uint8_t x62;
11635     uint8_t x63;
11636     x1 = (arg1[7]);
11637     x2 = (arg1[6]);
11638     x3 = (arg1[5]);
11639     x4 = (arg1[4]);
11640     x5 = (arg1[3]);
11641     x6 = (arg1[2]);
11642     x7 = (arg1[1]);
11643     x8 = (arg1[0]);
11644     x9 = (x8 >> 8);
11645     x10 = (uint8_t)(x8 & UINT8_C(0xff));
11646     x11 = (x9 >> 8);
11647     x12 = (uint8_t)(x9 & UINT8_C(0xff));
11648     x13 = (uint8_t)(x11 >> 8);
11649     x14 = (uint8_t)(x11 & UINT8_C(0xff));
11650     x15 = (uint8_t)(x13 & UINT8_C(0xff));
11651     x16 = (x7 >> 8);
11652     x17 = (uint8_t)(x7 & UINT8_C(0xff));
11653     x18 = (x16 >> 8);
11654     x19 = (uint8_t)(x16 & UINT8_C(0xff));
11655     x20 = (uint8_t)(x18 >> 8);
11656     x21 = (uint8_t)(x18 & UINT8_C(0xff));
11657     x22 = (uint8_t)(x20 & UINT8_C(0xff));
11658     x23 = (x6 >> 8);
11659     x24 = (uint8_t)(x6 & UINT8_C(0xff));
11660     x25 = (x23 >> 8);
11661     x26 = (uint8_t)(x23 & UINT8_C(0xff));
11662     x27 = (uint8_t)(x25 >> 8);
11663     x28 = (uint8_t)(x25 & UINT8_C(0xff));
11664     x29 = (uint8_t)(x27 & UINT8_C(0xff));
11665     x30 = (x5 >> 8);
11666     x31 = (uint8_t)(x5 & UINT8_C(0xff));
11667     x32 = (x30 >> 8);
11668     x33 = (uint8_t)(x30 & UINT8_C(0xff));
11669     x34 = (uint8_t)(x32 >> 8);
11670     x35 = (uint8_t)(x32 & UINT8_C(0xff));
11671     x36 = (uint8_t)(x34 & UINT8_C(0xff));
11672     x37 = (x4 >> 8);
11673     x38 = (uint8_t)(x4 & UINT8_C(0xff));
11674     x39 = (x37 >> 8);
11675     x40 = (uint8_t)(x37 & UINT8_C(0xff));
11676     x41 = (uint8_t)(x39 >> 8);
11677     x42 = (uint8_t)(x39 & UINT8_C(0xff));
11678     x43 = (uint8_t)(x41 & UINT8_C(0xff));
11679     x44 = (x3 >> 8);
11680     x45 = (uint8_t)(x3 & UINT8_C(0xff));
11681     x46 = (x44 >> 8);
11682     x47 = (uint8_t)(x44 & UINT8_C(0xff));
11683     x48 = (uint8_t)(x46 >> 8);
11684     x49 = (uint8_t)(x46 & UINT8_C(0xff));
11685     x50 = (uint8_t)(x48 & UINT8_C(0xff));
11686     x51 = (x2 >> 8);
11687     x52 = (uint8_t)(x2 & UINT8_C(0xff));
11688     x53 = (x51 >> 8);
11689     x54 = (uint8_t)(x51 & UINT8_C(0xff));
11690     x55 = (uint8_t)(x53 >> 8);
11691     x56 = (uint8_t)(x53 & UINT8_C(0xff));
11692     x57 = (uint8_t)(x55 & UINT8_C(0xff));
11693     x58 = (x1 >> 8);
11694     x59 = (uint8_t)(x1 & UINT8_C(0xff));
11695     x60 = (x58 >> 8);
11696     x61 = (uint8_t)(x58 & UINT8_C(0xff));
11697     x62 = (uint8_t)(x60 >> 8);
11698     x63 = (uint8_t)(x60 & UINT8_C(0xff));
11699     out1[0] = x10;
11700     out1[1] = x12;
11701     out1[2] = x14;
11702     out1[3] = x15;
11703     out1[4] = x17;
11704     out1[5] = x19;
11705     out1[6] = x21;
11706     out1[7] = x22;
11707     out1[8] = x24;
11708     out1[9] = x26;
11709     out1[10] = x28;
11710     out1[11] = x29;
11711     out1[12] = x31;
11712     out1[13] = x33;
11713     out1[14] = x35;
11714     out1[15] = x36;
11715     out1[16] = x38;
11716     out1[17] = x40;
11717     out1[18] = x42;
11718     out1[19] = x43;
11719     out1[20] = x45;
11720     out1[21] = x47;
11721     out1[22] = x49;
11722     out1[23] = x50;
11723     out1[24] = x52;
11724     out1[25] = x54;
11725     out1[26] = x56;
11726     out1[27] = x57;
11727     out1[28] = x59;
11728     out1[29] = x61;
11729     out1[30] = x63;
11730     out1[31] = x62;
11731 }
11732
11733 /*
11734  * 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.
11735  * Preconditions:
11736  *   0 ≤ bytes_eval arg1 < m
11737  * Postconditions:
11738  *   eval out1 mod m = bytes_eval arg1 mod m
11739  *   0 ≤ eval out1 < m
11740  *
11741  * Input Bounds:
11742  *   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]]
11743  * Output Bounds:
11744  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
11745  */
11746 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(
11747     uint32_t out1[8], const uint8_t arg1[32]) {
11748     uint32_t x1;
11749     uint32_t x2;
11750     uint32_t x3;
11751     uint8_t x4;
11752     uint32_t x5;
11753     uint32_t x6;
11754     uint32_t x7;
11755     uint8_t x8;
11756     uint32_t x9;
11757     uint32_t x10;
11758     uint32_t x11;
11759     uint8_t x12;
11760     uint32_t x13;
11761     uint32_t x14;
11762     uint32_t x15;
11763     uint8_t x16;
11764     uint32_t x17;
11765     uint32_t x18;
11766     uint32_t x19;
11767     uint8_t x20;
11768     uint32_t x21;
11769     uint32_t x22;
11770     uint32_t x23;
11771     uint8_t x24;
11772     uint32_t x25;
11773     uint32_t x26;
11774     uint32_t x27;
11775     uint8_t x28;
11776     uint32_t x29;
11777     uint32_t x30;
11778     uint32_t x31;
11779     uint8_t x32;
11780     uint32_t x33;
11781     uint32_t x34;
11782     uint32_t x35;
11783     uint32_t x36;
11784     uint32_t x37;
11785     uint32_t x38;
11786     uint32_t x39;
11787     uint32_t x40;
11788     uint32_t x41;
11789     uint32_t x42;
11790     uint32_t x43;
11791     uint32_t x44;
11792     uint32_t x45;
11793     uint32_t x46;
11794     uint32_t x47;
11795     x1 = ((uint32_t)(arg1[31]) << 24);
11796     x2 = ((uint32_t)(arg1[30]) << 16);
11797     x3 = ((uint32_t)(arg1[29]) << 8);
11798     x4 = (arg1[28]);
11799     x5 = ((uint32_t)(arg1[27]) << 24);
11800     x6 = ((uint32_t)(arg1[26]) << 16);
11801     x7 = ((uint32_t)(arg1[25]) << 8);
11802     x8 = (arg1[24]);
11803     x9 = ((uint32_t)(arg1[23]) << 24);
11804     x10 = ((uint32_t)(arg1[22]) << 16);
11805     x11 = ((uint32_t)(arg1[21]) << 8);
11806     x12 = (arg1[20]);
11807     x13 = ((uint32_t)(arg1[19]) << 24);
11808     x14 = ((uint32_t)(arg1[18]) << 16);
11809     x15 = ((uint32_t)(arg1[17]) << 8);
11810     x16 = (arg1[16]);
11811     x17 = ((uint32_t)(arg1[15]) << 24);
11812     x18 = ((uint32_t)(arg1[14]) << 16);
11813     x19 = ((uint32_t)(arg1[13]) << 8);
11814     x20 = (arg1[12]);
11815     x21 = ((uint32_t)(arg1[11]) << 24);
11816     x22 = ((uint32_t)(arg1[10]) << 16);
11817     x23 = ((uint32_t)(arg1[9]) << 8);
11818     x24 = (arg1[8]);
11819     x25 = ((uint32_t)(arg1[7]) << 24);
11820     x26 = ((uint32_t)(arg1[6]) << 16);
11821     x27 = ((uint32_t)(arg1[5]) << 8);
11822     x28 = (arg1[4]);
11823     x29 = ((uint32_t)(arg1[3]) << 24);
11824     x30 = ((uint32_t)(arg1[2]) << 16);
11825     x31 = ((uint32_t)(arg1[1]) << 8);
11826     x32 = (arg1[0]);
11827     x33 = (x32 + (x31 + (x30 + x29)));
11828     x34 = (x33 & UINT32_C(0xffffffff));
11829     x35 = (x4 + (x3 + (x2 + x1)));
11830     x36 = (x8 + (x7 + (x6 + x5)));
11831     x37 = (x12 + (x11 + (x10 + x9)));
11832     x38 = (x16 + (x15 + (x14 + x13)));
11833     x39 = (x20 + (x19 + (x18 + x17)));
11834     x40 = (x24 + (x23 + (x22 + x21)));
11835     x41 = (x28 + (x27 + (x26 + x25)));
11836     x42 = (x41 & UINT32_C(0xffffffff));
11837     x43 = (x40 & UINT32_C(0xffffffff));
11838     x44 = (x39 & UINT32_C(0xffffffff));
11839     x45 = (x38 & UINT32_C(0xffffffff));
11840     x46 = (x37 & UINT32_C(0xffffffff));
11841     x47 = (x36 & UINT32_C(0xffffffff));
11842     out1[0] = x34;
11843     out1[1] = x42;
11844     out1[2] = x43;
11845     out1[3] = x44;
11846     out1[4] = x45;
11847     out1[5] = x46;
11848     out1[6] = x47;
11849     out1[7] = x35;
11850 }
11851
11852 /* END verbatim fiat code */
11853
11854 /*-
11855  * Finite field inversion via FLT.
11856  * NB: this is not a real Fiat function, just named that way for consistency.
11857  * Autogenerated: ecp/id_GostR3410_2001_CryptoPro_C_ParamSet/fe_inv.op3
11858  * sliding window w=5
11859  */
11860 static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(fe_t output,
11861                                                             const fe_t t1) {
11862     int i;
11863     /* temporary variables */
11864     fe_t acc, t11, t13, t15, t17, t19, t21, t23, t25, t27, t29, t3, t31, t5, t7,
11865         t9;
11866
11867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t1);
11868     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t1, acc);
11869     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t5, t3, acc);
11870     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t7, t5, acc);
11871     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t9, t7, acc);
11872     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t11, t9, acc);
11873     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t13, t11, acc);
11874     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t15, t13, acc);
11875     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t17, t15, acc);
11876     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t19, t17, acc);
11877     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t21, t19, acc);
11878     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t23, t21, acc);
11879     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t25, t23, acc);
11880     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t27, t25, acc);
11881     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t29, t27, acc);
11882     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t31, t29, acc);
11883     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t9);
11884     for (i = 0; i < 4; i++)
11885         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11886     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
11887     for (i = 0; i < 5; i++)
11888         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11889     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
11890     for (i = 0; i < 5; i++)
11891         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11892     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t27);
11893     for (i = 0; i < 7; i++)
11894         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11895     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
11896     for (i = 0; i < 5; i++)
11897         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11898     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
11899     for (i = 0; i < 5; i++)
11900         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11901     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
11902     for (i = 0; i < 5; i++)
11903         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11904     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
11905     for (i = 0; i < 8; i++)
11906         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11907     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
11908     for (i = 0; i < 7; i++)
11909         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11910     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
11911     for (i = 0; i < 6; i++)
11912         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11913     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
11914     for (i = 0; i < 5; i++)
11915         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11916     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
11917     for (i = 0; i < 5; i++)
11918         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11919     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
11920     for (i = 0; i < 7; i++)
11921         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11922     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
11923     for (i = 0; i < 6; i++)
11924         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11925     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
11926     for (i = 0; i < 5; i++)
11927         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11928     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
11929     for (i = 0; i < 5; i++)
11930         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11931     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
11932     for (i = 0; i < 6; i++)
11933         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11934     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
11935     for (i = 0; i < 5; i++)
11936         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11937     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
11938     for (i = 0; i < 6; i++)
11939         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11940     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
11941     for (i = 0; i < 5; i++)
11942         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11943     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
11944     for (i = 0; i < 8; i++)
11945         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11946     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
11947     for (i = 0; i < 5; i++)
11948         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11949     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
11950     for (i = 0; i < 7; i++)
11951         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11952     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t31);
11953     for (i = 0; i < 5; i++)
11954         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11955     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
11956     for (i = 0; i < 5; i++)
11957         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11958     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
11959     for (i = 0; i < 6; i++)
11960         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11961     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
11962     for (i = 0; i < 6; i++)
11963         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11964     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
11965     for (i = 0; i < 6; i++)
11966         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11967     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
11968     for (i = 0; i < 7; i++)
11969         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11970     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t9);
11971     for (i = 0; i < 8; i++)
11972         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11973     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t5);
11974     for (i = 0; i < 6; i++)
11975         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11976     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
11977     for (i = 0; i < 6; i++)
11978         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11979     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t19);
11980     for (i = 0; i < 5; i++)
11981         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11982     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
11983     for (i = 0; i < 7; i++)
11984         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11985     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
11986     for (i = 0; i < 5; i++)
11987         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11988     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t17);
11989     for (i = 0; i < 5; i++)
11990         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11991     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
11992     for (i = 0; i < 5; i++)
11993         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11994     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
11995     for (i = 0; i < 5; i++)
11996         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
11997     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
11998     for (i = 0; i < 7; i++)
11999         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12000     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
12001     for (i = 0; i < 7; i++)
12002         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12003     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
12004     for (i = 0; i < 6; i++)
12005         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12006     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
12007     for (i = 0; i < 5; i++)
12008         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12009     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
12010     for (i = 0; i < 7; i++)
12011         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
12012     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(output, acc, t25);
12013 }
12014
12015 /* curve coefficient constants */
12016
12017 static const limb_t const_one[8] = {UINT32_C(0xFDD28A65), UINT32_C(0x86670846),
12018                                     UINT32_C(0x876FAE2C), UINT32_C(0x307B9179),
12019                                     UINT32_C(0x94BE3755), UINT32_C(0x54E137A1),
12020                                     UINT32_C(0xA57A7EF8), UINT32_C(0x64609FA0)};
12021
12022 static const limb_t const_b[8] = {UINT32_C(0x3BDA2ACF), UINT32_C(0x4BE8A4E9),
12023                                   UINT32_C(0x90D382DD), UINT32_C(0x79CC0E3E),
12024                                   UINT32_C(0x1D9CC79B), UINT32_C(0x3BA4C8B0),
12025                                   UINT32_C(0x966609E9), UINT32_C(0x5CC73B5A)};
12026
12027 /* LUT for scalar multiplication by comb interleaving */
12028 static const pt_aff_t lut_cmb[27][16] = {
12029     {
12030         {{UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
12031           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
12032           UINT32_C(0x00000000), UINT32_C(0x00000000)},
12033          {UINT32_C(0x00254F12), UINT32_C(0xD082E007), UINT32_C(0xEB1F1421),
12034           UINT32_C(0xC5BA8184), UINT32_C(0xF010780D), UINT32_C(0x4EC9E7D0),
12035           UINT32_C(0x2794C8D5), UINT32_C(0x7846B5B7)}},
12036         {{UINT32_C(0x7225A595), UINT32_C(0x870FB041), UINT32_C(0x5FD57F04),
12037           UINT32_C(0x6CAFAE70), UINT32_C(0x2E7DB9BA), UINT32_C(0xFEC1C2AC),
12038           UINT32_C(0x127A5862), UINT32_C(0x9230823E)},
12039          {UINT32_C(0xE4464836), UINT32_C(0xF6CFDB6D), UINT32_C(0x9A945AC0),
12040           UINT32_C(0x3D79631B), UINT32_C(0x3D0C880D), UINT32_C(0xA1FCF2DF),
12041           UINT32_C(0x0EE6A611), UINT32_C(0x17C83E50)}},
12042         {{UINT32_C(0xE42734FD), UINT32_C(0x3C79C11A), UINT32_C(0xAC4040C3),
12043           UINT32_C(0x1614B2BE), UINT32_C(0x2C3A23A5), UINT32_C(0xDD143725),
12044           UINT32_C(0x8AF4F7CD), UINT32_C(0x1A02DA83)},
12045          {UINT32_C(0xE7D6991A), UINT32_C(0x23D588D6), UINT32_C(0xD2B3E364),
12046           UINT32_C(0x5F332676), UINT32_C(0x9134BA88), UINT32_C(0x35382680),
12047           UINT32_C(0xD27090E5), UINT32_C(0x08ECA826)}},
12048         {{UINT32_C(0x26761106), UINT32_C(0x231F8DC8), UINT32_C(0x3D78B14B),
12049           UINT32_C(0x7363050E), UINT32_C(0xC05C4381), UINT32_C(0xC3B9A1B8),
12050           UINT32_C(0xB8ACD9AC), UINT32_C(0x29727635)},
12051          {UINT32_C(0x2ED54E6C), UINT32_C(0xDD416AE9), UINT32_C(0x0B48A87C),
12052           UINT32_C(0x54608435), UINT32_C(0x97093D22), UINT32_C(0x2C8DEEA4),
12053           UINT32_C(0x0D716BAF), UINT32_C(0x87D2924C)}},
12054         {{UINT32_C(0x619206D6), UINT32_C(0x43281D30), UINT32_C(0x68744E44),
12055           UINT32_C(0x4A8FFC87), UINT32_C(0x708208D5), UINT32_C(0xB1011A3D),
12056           UINT32_C(0xA035B0B9), UINT32_C(0x2FE86E7B)},
12057          {UINT32_C(0xA3762860), UINT32_C(0x82F43088), UINT32_C(0xB33595D4),
12058           UINT32_C(0x67B5A303), UINT32_C(0xB477BECD), UINT32_C(0x262F16EB),
12059           UINT32_C(0x23E2816A), UINT32_C(0x1D38D4A7)}},
12060         {{UINT32_C(0xAD83C032), UINT32_C(0x91BBA3C0), UINT32_C(0x234F2FF3),
12061           UINT32_C(0x7DBC2EB6), UINT32_C(0x6D18A737), UINT32_C(0xE2C00C15),
12062           UINT32_C(0xCCF6DC2D), UINT32_C(0x71D1AE8B)},
12063          {UINT32_C(0x2DB77239), UINT32_C(0x6183816A), UINT32_C(0x0E228C41),
12064           UINT32_C(0xC545A512), UINT32_C(0x0F49A679), UINT32_C(0x3B96D6BC),
12065           UINT32_C(0xE49E39C2), UINT32_C(0x9831D683)}},
12066         {{UINT32_C(0x20DA13D9), UINT32_C(0xEEAA17A9), UINT32_C(0x8ABECADE),
12067           UINT32_C(0xEE3130FB), UINT32_C(0xA6E3D089), UINT32_C(0xBFB2CE6A),
12068           UINT32_C(0xE627A07C), UINT32_C(0x22BCDCEE)},
12069          {UINT32_C(0x955A1D9E), UINT32_C(0x86D7A50C), UINT32_C(0xE4E00B9E),
12070           UINT32_C(0xCD60A425), UINT32_C(0x615B9E91), UINT32_C(0x5407A6F8),
12071           UINT32_C(0x4F1CA93D), UINT32_C(0x7F17B171)}},
12072         {{UINT32_C(0x0DB59F2C), UINT32_C(0xBC351DE0), UINT32_C(0x9CDAF8AF),
12073           UINT32_C(0x1470E6A1), UINT32_C(0x60D3B27A), UINT32_C(0x461ED289),
12074           UINT32_C(0x49C7F789), UINT32_C(0x122C8F4B)},
12075          {UINT32_C(0x069FC8CE), UINT32_C(0xAB56E614), UINT32_C(0xC34E487C),
12076           UINT32_C(0x9836B010), UINT32_C(0x3FE009EB), UINT32_C(0x9EE06703),
12077           UINT32_C(0xAA019563), UINT32_C(0x88C8DC64)}},
12078         {{UINT32_C(0x63DDBB1F), UINT32_C(0xD0B4A996), UINT32_C(0x1D154696),
12079           UINT32_C(0x483286E5), UINT32_C(0x9F0D6F4E), UINT32_C(0xF0586DB8),
12080           UINT32_C(0x980446C8), UINT32_C(0x38167987)},
12081          {UINT32_C(0xE4166B55), UINT32_C(0x86A2ABAC), UINT32_C(0xA8366C64),
12082           UINT32_C(0x4E7B4F96), UINT32_C(0xED997D8E), UINT32_C(0x20CF2108),
12083           UINT32_C(0x1D01C009), UINT32_C(0x20EA9844)}},
12084         {{UINT32_C(0xB89CE05A), UINT32_C(0x028B520E), UINT32_C(0x4FAAD420),
12085           UINT32_C(0xEF41147D), UINT32_C(0x121A2A0A), UINT32_C(0xB280CCD3),
12086           UINT32_C(0x86E8F591), UINT32_C(0x4C677C83)},
12087          {UINT32_C(0xA390AA99), UINT32_C(0xB42F67B2), UINT32_C(0x19F8A01A),
12088           UINT32_C(0xC4EF553B), UINT32_C(0x6979027F), UINT32_C(0x86761139),
12089           UINT32_C(0x82C202BE), UINT32_C(0x6F177663)}},
12090         {{UINT32_C(0x27C5C7CC), UINT32_C(0xBEF6B996), UINT32_C(0x10799DB8),
12091           UINT32_C(0xB2D34F8B), UINT32_C(0x48AD9B1E), UINT32_C(0x132E1A3D),
12092           UINT32_C(0xE68B9907), UINT32_C(0x2971BFED)},
12093          {UINT32_C(0xC6B743B5), UINT32_C(0x312F6D31), UINT32_C(0xA718E0A8),
12094           UINT32_C(0xCF123317), UINT32_C(0xFD58637C), UINT32_C(0xCF1E5266),
12095           UINT32_C(0xE046167C), UINT32_C(0x56BA8362)}},
12096         {{UINT32_C(0x0E910D7F), UINT32_C(0xD680969D), UINT32_C(0x8A4689F9),
12097           UINT32_C(0x634FB3C2), UINT32_C(0x09FDD299), UINT32_C(0xA79A56DF),
12098           UINT32_C(0x89411C3D), UINT32_C(0x9065269E)},
12099          {UINT32_C(0x82C6076C), UINT32_C(0x5D22254E), UINT32_C(0x81FEA171),
12100           UINT32_C(0xDE7D78F0), UINT32_C(0x10BCDA87), UINT32_C(0xE1366964),
12101           UINT32_C(0x97638B85), UINT32_C(0x98B58F5A)}},
12102         {{UINT32_C(0xFB5EDF3F), UINT32_C(0xA532DED4), UINT32_C(0x833A7E2F),
12103           UINT32_C(0x604E5631), UINT32_C(0x3A09C74E), UINT32_C(0x7C4051D3),
12104           UINT32_C(0xEDFBEB4B), UINT32_C(0x51D1108A)},
12105          {UINT32_C(0x4DF1AB4D), UINT32_C(0x9AE61F9E), UINT32_C(0x163DB1A5),
12106           UINT32_C(0xFD4966F3), UINT32_C(0x7075AD6D), UINT32_C(0xF6C44E55),
12107           UINT32_C(0x4AF24611), UINT32_C(0x670D0D6F)}},
12108         {{UINT32_C(0xD369D301), UINT32_C(0xD99925FF), UINT32_C(0x7665BCF4),
12109           UINT32_C(0xC17E9767), UINT32_C(0xCB5A2128), UINT32_C(0xB5A908F1),
12110           UINT32_C(0x9C726C9F), UINT32_C(0x1981791D)},
12111          {UINT32_C(0xE0861F4E), UINT32_C(0xC4249418), UINT32_C(0xEE045D5E),
12112           UINT32_C(0x2A63399F), UINT32_C(0xA1B974FF), UINT32_C(0x246958FD),
12113           UINT32_C(0x0FC6F7A0), UINT32_C(0x668016A2)}},
12114         {{UINT32_C(0xEDE07C08), UINT32_C(0xEB7018AD), UINT32_C(0x2E33D1D9),
12115           UINT32_C(0xDF3C1259), UINT32_C(0xDC24E3DE), UINT32_C(0xEE0913DA),
12116           UINT32_C(0x35EB6B0D), UINT32_C(0x1C632D5B)},
12117          {UINT32_C(0x2C56E1B2), UINT32_C(0xC69396DD), UINT32_C(0xA837CE8F),
12118           UINT32_C(0x01F0B034), UINT32_C(0xB6882E32), UINT32_C(0x7842B98D),
12119           UINT32_C(0x9E61FCA6), UINT32_C(0x8FAC9230)}},
12120         {{UINT32_C(0x8A782CFE), UINT32_C(0x1DBB7D99), UINT32_C(0xC9322BE7),
12121           UINT32_C(0xEB945B49), UINT32_C(0xE208123B), UINT32_C(0xDCCB4E6E),
12122           UINT32_C(0xFC024524), UINT32_C(0x1C7C265C)},
12123          {UINT32_C(0x6102BC63), UINT32_C(0xAD000D8A), UINT32_C(0x82575943),
12124           UINT32_C(0x7D7F3C7B), UINT32_C(0x0D547A95), UINT32_C(0x8D2F0881),
12125           UINT32_C(0xD94FFA6D), UINT32_C(0x7012377A)}},
12126     },
12127     {
12128         {{UINT32_C(0x1EB6CBF7), UINT32_C(0xE3F78DE5), UINT32_C(0x72FA65DB),
12129           UINT32_C(0xF4E08A61), UINT32_C(0x502A247E), UINT32_C(0x670B0E06),
12130           UINT32_C(0x9877E492), UINT32_C(0x7A45D73E)},
12131          {UINT32_C(0x3DD0CDBC), UINT32_C(0x5FD754AD), UINT32_C(0x0125AB1F),
12132           UINT32_C(0xA5C2B15E), UINT32_C(0xE614B7A9), UINT32_C(0xC503836F),
12133           UINT32_C(0x2C50DCFE), UINT32_C(0x5548C424)}},
12134         {{UINT32_C(0xB9B38743), UINT32_C(0xCEE7BE65), UINT32_C(0x94BE028E),
12135           UINT32_C(0xD5E41715), UINT32_C(0xB5C45F7D), UINT32_C(0x08EC3CA3),
12136           UINT32_C(0xFB51261A), UINT32_C(0x1ACFAC17)},
12137          {UINT32_C(0xA9C04381), UINT32_C(0x45098D93), UINT32_C(0xA5B45DC8),
12138           UINT32_C(0x717FC0DC), UINT32_C(0xEABEE4E5), UINT32_C(0xF352A9C2),
12139           UINT32_C(0xF311B457), UINT32_C(0x1964AF20)}},
12140         {{UINT32_C(0x0802A755), UINT32_C(0x8C229808), UINT32_C(0x6140CDA7),
12141           UINT32_C(0x46F0A7CA), UINT32_C(0xBC62603B), UINT32_C(0xF0EEB7AE),
12142           UINT32_C(0x4BF4B451), UINT32_C(0x8432E152)},
12143          {UINT32_C(0x63967F94), UINT32_C(0x3C319825), UINT32_C(0xA042AE13),
12144           UINT32_C(0xF04EACB6), UINT32_C(0x650A6ADB), UINT32_C(0xD7CB2DBC),
12145           UINT32_C(0x78C9E166), UINT32_C(0x38A36EE3)}},
12146         {{UINT32_C(0xD3EE8657), UINT32_C(0x3527A5C5), UINT32_C(0x101645F9),
12147           UINT32_C(0xBAA0DE97), UINT32_C(0xCE9D6A48), UINT32_C(0xC59C9803),
12148           UINT32_C(0xF8F39FDF), UINT32_C(0x43D12449)},
12149          {UINT32_C(0x8DF7A72B), UINT32_C(0x65B3AB98), UINT32_C(0xAFDA9048),
12150           UINT32_C(0xD225AF8E), UINT32_C(0x338A3694), UINT32_C(0x88C368B8),
12151           UINT32_C(0xFBC813F1), UINT32_C(0x4A5A3C24)}},
12152         {{UINT32_C(0x9E2118B5), UINT32_C(0xCBCB725A), UINT32_C(0xCAA54794),
12153           UINT32_C(0x113F36C5), UINT32_C(0x4A0A2267), UINT32_C(0x5900990E),
12154           UINT32_C(0x0A9C1F11), UINT32_C(0x4E329EB1)},
12155          {UINT32_C(0xCD8918A7), UINT32_C(0xF47F4077), UINT32_C(0x3877B404),
12156           UINT32_C(0x18A3C071), UINT32_C(0xEFEB2B6B), UINT32_C(0xCDEF4FE3),
12157           UINT32_C(0xDE4D0540), UINT32_C(0x360982DB)}},
12158         {{UINT32_C(0xD5F8DACA), UINT32_C(0x42AB64F2), UINT32_C(0xEE88523D),
12159           UINT32_C(0x604A9676), UINT32_C(0xAEFD1283), UINT32_C(0xD430CCAB),
12160           UINT32_C(0x54465F7C), UINT32_C(0x3DA9D0E5)},
12161          {UINT32_C(0x41A4216B), UINT32_C(0x5EC145DF), UINT32_C(0xF7E7FBD9),
12162           UINT32_C(0x7C8F2C51), UINT32_C(0xBD483D26), UINT32_C(0xA2E58A23),
12163           UINT32_C(0xE4A908C8), UINT32_C(0x4739F7F9)}},
12164         {{UINT32_C(0x79370382), UINT32_C(0x37DDF872), UINT32_C(0x12C8E90E),
12165           UINT32_C(0x9D26A55F), UINT32_C(0xE8EB0CA4), UINT32_C(0xFC1FA6CD),
12166           UINT32_C(0xC29DC4F9), UINT32_C(0x826A29E5)},
12167          {UINT32_C(0xAA29F814), UINT32_C(0x15ECB621), UINT32_C(0x9DF1DFF7),
12168           UINT32_C(0x4C8A8128), UINT32_C(0x66B549BB), UINT32_C(0xBB223019),
12169           UINT32_C(0xB81A2863), UINT32_C(0x6CB21ACB)}},
12170         {{UINT32_C(0x11DA6928), UINT32_C(0xDD31ACC2), UINT32_C(0xA903D58F),
12171           UINT32_C(0xF98867B0), UINT32_C(0xD3679348), UINT32_C(0xAD283697),
12172           UINT32_C(0x301C3571), UINT32_C(0x67BFEFF9)},
12173          {UINT32_C(0x780BBBCE), UINT32_C(0xB745CAE6), UINT32_C(0x62F2EC5D),
12174           UINT32_C(0x1A9C6618), UINT32_C(0xA1475BEB), UINT32_C(0xF9895684),
12175           UINT32_C(0x4731A11D), UINT32_C(0x93E5ACE6)}},
12176         {{UINT32_C(0x7539483E), UINT32_C(0x0F6E9460), UINT32_C(0x9EF4EF16),
12177           UINT32_C(0x5728E6DD), UINT32_C(0x062E946E), UINT32_C(0xE1DA86E1),
12178           UINT32_C(0xF2E07759), UINT32_C(0x272EBC47)},
12179          {UINT32_C(0x909A578F), UINT32_C(0xE5E688E3), UINT32_C(0x7CFD1B7D),
12180           UINT32_C(0x9F25D6D1), UINT32_C(0xADE1E2A4), UINT32_C(0xC582260F),
12181           UINT32_C(0xA050071E), UINT32_C(0x2F50F74E)}},
12182         {{UINT32_C(0x2DF4D40D), UINT32_C(0xE0A8FE3F), UINT32_C(0x07791F88),
12183           UINT32_C(0xB126E4EF), UINT32_C(0x2A88D242), UINT32_C(0x69759DB4),
12184           UINT32_C(0xC9C1981C), UINT32_C(0x52592A3B)},
12185          {UINT32_C(0x72F649A1), UINT32_C(0xD0F41728), UINT32_C(0x0750EBAB),
12186           UINT32_C(0x9FF19B2B), UINT32_C(0xE0D7D222), UINT32_C(0xEFC047F9),
12187           UINT32_C(0x2E8140AF), UINT32_C(0x81491CA1)}},
12188         {{UINT32_C(0x675F821B), UINT32_C(0x2DA40FF1), UINT32_C(0x9E2E0502),
12189           UINT32_C(0x2C91A287), UINT32_C(0x077D81FE), UINT32_C(0x993ECFF4),
12190           UINT32_C(0x71CC3DAE), UINT32_C(0x3ABA2F2C)},
12191          {UINT32_C(0x168413DB), UINT32_C(0xED007670), UINT32_C(0xAFBD4E82),
12192           UINT32_C(0xC07D61B5), UINT32_C(0x6BBADA24), UINT32_C(0xF078262E),
12193           UINT32_C(0x9E6413CC), UINT32_C(0x0E0EDC62)}},
12194         {{UINT32_C(0xB7D099F9), UINT32_C(0x6CD0451D), UINT32_C(0xF8B12C83),
12195           UINT32_C(0x8FB218E6), UINT32_C(0xE55EE1E4), UINT32_C(0x4D8C3B26),
12196           UINT32_C(0x4A6FCD90), UINT32_C(0x94964906)},
12197          {UINT32_C(0x4BEACA48), UINT32_C(0x9ABB9685), UINT32_C(0x868EFEC7),
12198           UINT32_C(0x6A749487), UINT32_C(0xC8D2932C), UINT32_C(0x46BB9B42),
12199           UINT32_C(0xDE007BAC), UINT32_C(0x82384321)}},
12200         {{UINT32_C(0xA942DB71), UINT32_C(0xDBECB743), UINT32_C(0x21A6BC46),
12201           UINT32_C(0x21B52115), UINT32_C(0x24C17D78), UINT32_C(0xE49B6894),
12202           UINT32_C(0x89A08E17), UINT32_C(0x737FD3F1)},
12203          {UINT32_C(0xC36E4E57), UINT32_C(0xF833E404), UINT32_C(0x01E17CE6),
12204           UINT32_C(0x512C114A), UINT32_C(0x50D75050), UINT32_C(0x65A23D73),
12205           UINT32_C(0xF2F2D438), UINT32_C(0x838CA746)}},
12206         {{UINT32_C(0xA20632B7), UINT32_C(0x28F9220C), UINT32_C(0x642358D6),
12207           UINT32_C(0x72D8C347), UINT32_C(0xE89CAA6F), UINT32_C(0xAB15FE1B),
12208           UINT32_C(0x6E16374A), UINT32_C(0x2A09B143)},
12209          {UINT32_C(0xB983CFE8), UINT32_C(0x4CED0986), UINT32_C(0x97B84E88),
12210           UINT32_C(0xD9B067B6), UINT32_C(0xC2350F8F), UINT32_C(0x926FC5F5),
12211           UINT32_C(0x84E2078F), UINT32_C(0x31D77358)}},
12212         {{UINT32_C(0x7FF17BA1), UINT32_C(0xA7815CE7), UINT32_C(0xA26BBA1B),
12213           UINT32_C(0xBE80BB6C), UINT32_C(0xF86DF104), UINT32_C(0x66DAE535),
12214           UINT32_C(0xAB1B9C09), UINT32_C(0x72739199)},
12215          {UINT32_C(0x54056E67), UINT32_C(0x8E93F3C8), UINT32_C(0xEBF23595),
12216           UINT32_C(0xDC5E3855), UINT32_C(0x78123000), UINT32_C(0x70D1033C),
12217           UINT32_C(0xF22DD2BD), UINT32_C(0x50874350)}},
12218         {{UINT32_C(0xC2700468), UINT32_C(0x533F213B), UINT32_C(0x11BEA732),
12219           UINT32_C(0x31E6AA9C), UINT32_C(0x4491DC82), UINT32_C(0xCB5E184E),
12220           UINT32_C(0x5BD63975), UINT32_C(0x8A68049A)},
12221          {UINT32_C(0xF86A41D1), UINT32_C(0x1724AC47), UINT32_C(0xECA0DA11),
12222           UINT32_C(0xDF9A0CA3), UINT32_C(0x71F0EA19), UINT32_C(0xE5E1489C),
12223           UINT32_C(0xC9DC7BF2), UINT32_C(0x0E20661A)}},
12224     },
12225     {
12226         {{UINT32_C(0xF86D9DA8), UINT32_C(0x5EB4E319), UINT32_C(0xE0A46703),
12227           UINT32_C(0x3CBF130E), UINT32_C(0x00A4AB17), UINT32_C(0x166D52DA),
12228           UINT32_C(0xB7030861), UINT32_C(0x27A80547)},
12229          {UINT32_C(0x399C32BA), UINT32_C(0xA7601086), UINT32_C(0xC2F0A5E5),
12230           UINT32_C(0x571E4E4B), UINT32_C(0x39BED44D), UINT32_C(0x72D12F6B),
12231           UINT32_C(0x1AF8F25F), UINT32_C(0x8FDCCE3D)}},
12232         {{UINT32_C(0x7DFEB40D), UINT32_C(0x281F7AF9), UINT32_C(0xD7F767D5),
12233           UINT32_C(0x0CCE33B9), UINT32_C(0x8818C1E6), UINT32_C(0x3E8BF3F4),
12234           UINT32_C(0x4BA4647A), UINT32_C(0x6D909D0D)},
12235          {UINT32_C(0xFAC574D1), UINT32_C(0x91D77BA0), UINT32_C(0x68CA7FEC),
12236           UINT32_C(0xD2592661), UINT32_C(0x281F269C), UINT32_C(0xC4C7D6B5),
12237           UINT32_C(0xDA42CDDD), UINT32_C(0x7A41CD78)}},
12238         {{UINT32_C(0xA3B8F255), UINT32_C(0xBC8E0D27), UINT32_C(0x1C3E5190),
12239           UINT32_C(0xF5E2A8B1), UINT32_C(0xD609F668), UINT32_C(0x8C38862B),
12240           UINT32_C(0x0631D50F), UINT32_C(0x4E31C18E)},
12241          {UINT32_C(0xF13E0CCD), UINT32_C(0x9013EDDB), UINT32_C(0x41EFDAF7),
12242           UINT32_C(0x83B04E68), UINT32_C(0xDC82597F), UINT32_C(0x15EC4BB8),
12243           UINT32_C(0x56117705), UINT32_C(0x50595150)}},
12244         {{UINT32_C(0x1E0E0161), UINT32_C(0xD25F244D), UINT32_C(0x1A437FBA),
12245           UINT32_C(0x6C975D7B), UINT32_C(0x95F2AD8C), UINT32_C(0x305DB2DF),
12246           UINT32_C(0x3B9CC742), UINT32_C(0x17D6E005)},
12247          {UINT32_C(0xE60BC3C3), UINT32_C(0x6A849F76), UINT32_C(0xBF8C3790),
12248           UINT32_C(0x35523E08), UINT32_C(0x239140E2), UINT32_C(0xF18B5335),
12249           UINT32_C(0x7CA5FF40), UINT32_C(0x5E857055)}},
12250         {{UINT32_C(0xA4250E95), UINT32_C(0xB48F07A4), UINT32_C(0xC7F17667),
12251           UINT32_C(0x068735AE), UINT32_C(0x94771B24), UINT32_C(0x30F8D313),
12252           UINT32_C(0xA495A064), UINT32_C(0x598EA397)},
12253          {UINT32_C(0x68B76855), UINT32_C(0xBF192529), UINT32_C(0xC7C0D2D6),
12254           UINT32_C(0x897E3CC6), UINT32_C(0x64EC9649), UINT32_C(0xA2A4948F),
12255           UINT32_C(0xAE7C8598), UINT32_C(0x1027891A)}},
12256         {{UINT32_C(0x04585685), UINT32_C(0x0442E6CB), UINT32_C(0x82A2D258),
12257           UINT32_C(0x09BA61DA), UINT32_C(0x0AE5466D), UINT32_C(0x7C5400B1),
12258           UINT32_C(0xC2133893), UINT32_C(0x0A0B71B0)},
12259          {UINT32_C(0xD5EF6E93), UINT32_C(0x04E3D98A), UINT32_C(0xF332BDF2),
12260           UINT32_C(0x177EA5F8), UINT32_C(0xC3FAE583), UINT32_C(0xE7CF3F71),
12261           UINT32_C(0x8AE0CFD7), UINT32_C(0x40C45133)}},
12262         {{UINT32_C(0x9B82E738), UINT32_C(0x6BE94FC3), UINT32_C(0x8BC262E2),
12263           UINT32_C(0x212FB804), UINT32_C(0xB22E21FF), UINT32_C(0xE17F6A7A),
12264           UINT32_C(0x15E960BB), UINT32_C(0x22B7BDAB)},
12265          {UINT32_C(0x771350C2), UINT32_C(0xE154C945), UINT32_C(0x882DB07B),
12266           UINT32_C(0x6505B8EB), UINT32_C(0xC7E3ABD3), UINT32_C(0x149A0A16),
12267           UINT32_C(0x81C30AAE), UINT32_C(0x78F78ABF)}},
12268         {{UINT32_C(0xC954BC0A), UINT32_C(0x6ED81415), UINT32_C(0x70E55349),
12269           UINT32_C(0x316E8012), UINT32_C(0x50399C09), UINT32_C(0xEC02323B),
12270           UINT32_C(0x8559C3A9), UINT32_C(0x963BA97B)},
12271          {UINT32_C(0x037EC345), UINT32_C(0x39FCE50E), UINT32_C(0xD5BF03FB),
12272           UINT32_C(0x422A082D), UINT32_C(0x18DCC77E), UINT32_C(0x59ED39E4),
12273           UINT32_C(0xA40AA978), UINT32_C(0x4CFC3F11)}},
12274         {{UINT32_C(0x55D7C9B6), UINT32_C(0x85A56922), UINT32_C(0xB451111B),
12275           UINT32_C(0x5BC590E2), UINT32_C(0x8782C71B), UINT32_C(0x3BCB2315),
12276           UINT32_C(0x632246A9), UINT32_C(0x1F3456C4)},
12277          {UINT32_C(0x9CFBBE19), UINT32_C(0xEA577AD9), UINT32_C(0x35CCE939),
12278           UINT32_C(0x051BEE40), UINT32_C(0x1A0C589C), UINT32_C(0xDC300899),
12279           UINT32_C(0xD2095619), UINT32_C(0x14877ECE)}},
12280         {{UINT32_C(0x95024C5E), UINT32_C(0xB64D0EC6), UINT32_C(0xB94CDF74),
12281           UINT32_C(0xB0597195), UINT32_C(0x16844010), UINT32_C(0x3B97B513),
12282           UINT32_C(0xCCBABC63), UINT32_C(0x48799881)},
12283          {UINT32_C(0xD9819075), UINT32_C(0x0E3119AE), UINT32_C(0xEB0299FD),
12284           UINT32_C(0xA5DCA9C1), UINT32_C(0x4A404D13), UINT32_C(0x8063D788),
12285           UINT32_C(0x8044EBE2), UINT32_C(0x974D2A1A)}},
12286         {{UINT32_C(0xB8E14640), UINT32_C(0xB6589045), UINT32_C(0x5507B9BE),
12287           UINT32_C(0xFAD60A43), UINT32_C(0x56FF32BC), UINT32_C(0x9D540C1C),
12288           UINT32_C(0x74265A69), UINT32_C(0x47ECC24F)},
12289          {UINT32_C(0xDB3E64C9), UINT32_C(0x0C829F18), UINT32_C(0x72E87B2B),
12290           UINT32_C(0xF7C0C6D7), UINT32_C(0x16B616CE), UINT32_C(0xCB3FC512),
12291           UINT32_C(0xB94F69B1), UINT32_C(0x549B9227)}},
12292         {{UINT32_C(0xDB235273), UINT32_C(0xB151DEE9), UINT32_C(0x6D65606C),
12293           UINT32_C(0x2FD9496F), UINT32_C(0xD62B5B0D), UINT32_C(0x6A5E172D),
12294           UINT32_C(0xEA0AE249), UINT32_C(0x181E605D)},
12295          {UINT32_C(0x8911490A), UINT32_C(0x66D7EB09), UINT32_C(0x2E70DEF2),
12296           UINT32_C(0x85E174A3), UINT32_C(0x4EF8CFA9), UINT32_C(0x2DA13354),
12297           UINT32_C(0x3E69BD22), UINT32_C(0x1B87FE62)}},
12298         {{UINT32_C(0x2BB09564), UINT32_C(0x2DF420CA), UINT32_C(0x7ACEE4D4),
12299           UINT32_C(0x1AC26F76), UINT32_C(0x2BC7EF7A), UINT32_C(0x50C68E6F),
12300           UINT32_C(0xB445B2FE), UINT32_C(0x4730D654)},
12301          {UINT32_C(0x8B57D38D), UINT32_C(0x90C040D9), UINT32_C(0x33CA2C77),
12302           UINT32_C(0x28793DB5), UINT32_C(0xAC6A4BE8), UINT32_C(0x22D2B573),
12303           UINT32_C(0xB72E7E01), UINT32_C(0x68C0DBDD)}},
12304         {{UINT32_C(0x09E2D3FF), UINT32_C(0xDF70BCDC), UINT32_C(0x9F20F624),
12305           UINT32_C(0xB6E59970), UINT32_C(0x6DE3119E), UINT32_C(0x5E04FDE7),
12306           UINT32_C(0xD5705A5D), UINT32_C(0x1C9B43FF)},
12307          {UINT32_C(0x681270B0), UINT32_C(0x7C23A517), UINT32_C(0x9303BF40),
12308           UINT32_C(0xDD7FC833), UINT32_C(0x458EE80A), UINT32_C(0x3028E496),
12309           UINT32_C(0x52590EEF), UINT32_C(0x0C720063)}},
12310         {{UINT32_C(0x2850A5AE), UINT32_C(0x27B29710), UINT32_C(0xAA3E0397),
12311           UINT32_C(0xD1E6FBBA), UINT32_C(0xDF8FCBD6), UINT32_C(0xCFB44044),
12312           UINT32_C(0xC52B90FD), UINT32_C(0x7CD86272)},
12313          {UINT32_C(0xEBA52025), UINT32_C(0xB0E7FA93), UINT32_C(0x04084EF3),
12314           UINT32_C(0x64166303), UINT32_C(0x43840178), UINT32_C(0xD7C7DCBE),
12315           UINT32_C(0x22FB81A2), UINT32_C(0x8BC7FF77)}},
12316         {{UINT32_C(0xDAFCE699), UINT32_C(0xABDC5206), UINT32_C(0x83C5F3A3),
12317           UINT32_C(0x522A9137), UINT32_C(0x0E666E5C), UINT32_C(0xBAA93637),
12318           UINT32_C(0xD2D33B62), UINT32_C(0x0FD813DA)},
12319          {UINT32_C(0x5D417354), UINT32_C(0x83391908), UINT32_C(0xA6B9B447),
12320           UINT32_C(0xE5AADE1D), UINT32_C(0xD68321B1), UINT32_C(0xBDE90A3C),
12321           UINT32_C(0x0411531B), UINT32_C(0x43FF9514)}},
12322     },
12323     {
12324         {{UINT32_C(0x39648345), UINT32_C(0xD61DEE64), UINT32_C(0x7FCB5B5E),
12325           UINT32_C(0xF8B3FA1C), UINT32_C(0x24C29C71), UINT32_C(0xDD531CE1),
12326           UINT32_C(0xFFB825FE), UINT32_C(0x7A23608B)},
12327          {UINT32_C(0xF0DE896D), UINT32_C(0x8D607B82), UINT32_C(0x06EDDAFE),
12328           UINT32_C(0x6E497330), UINT32_C(0xC935E754), UINT32_C(0x8B49EFF0),
12329           UINT32_C(0xEE08BDBF), UINT32_C(0x90D54646)}},
12330         {{UINT32_C(0x9044FD39), UINT32_C(0xF44FBB16), UINT32_C(0xDFB38141),
12331           UINT32_C(0xA72128C4), UINT32_C(0x01954CC0), UINT32_C(0x8467F688),
12332           UINT32_C(0xB560B5C5), UINT32_C(0x741C23EE)},
12333          {UINT32_C(0x9765CF34), UINT32_C(0xA7F42201), UINT32_C(0x8A2AB61A),
12334           UINT32_C(0xB26C97BF), UINT32_C(0xCBD45AF3), UINT32_C(0xAA948763),
12335           UINT32_C(0xE21479F5), UINT32_C(0x74C993C2)}},
12336         {{UINT32_C(0xBFA717A5), UINT32_C(0xD968CE1A), UINT32_C(0x48E92615),
12337           UINT32_C(0x45C1103D), UINT32_C(0xDD98207D), UINT32_C(0x4CCEBE85),
12338           UINT32_C(0xE65E5FE6), UINT32_C(0x8A75DF6E)},
12339          {UINT32_C(0x418C47C5), UINT32_C(0x9E582C40), UINT32_C(0xA450009B),
12340           UINT32_C(0x2E9EE003), UINT32_C(0xDD60D3D2), UINT32_C(0x7C079613),
12341           UINT32_C(0x9935D8CA), UINT32_C(0x80A78C4A)}},
12342         {{UINT32_C(0xD3C9B903), UINT32_C(0xF6CDED58), UINT32_C(0xEF455E7A),
12343           UINT32_C(0x4F27927D), UINT32_C(0x833BB3C1), UINT32_C(0xF9DBBB9E),
12344           UINT32_C(0x6BA3770A), UINT32_C(0x4107CFBF)},
12345          {UINT32_C(0x520FCB57), UINT32_C(0x61871175), UINT32_C(0x47A12C8E),
12346           UINT32_C(0xEA3A307B), UINT32_C(0xC24E9E75), UINT32_C(0x940DDEE8),
12347           UINT32_C(0xF33541BB), UINT32_C(0x8AE8F22C)}},
12348         {{UINT32_C(0x3973DC0B), UINT32_C(0xE4C89870), UINT32_C(0x55DFAAF0),
12349           UINT32_C(0xCC3DD1AC), UINT32_C(0x27372EFE), UINT32_C(0xB63D596B),
12350           UINT32_C(0x45A33718), UINT32_C(0x1B92A192)},
12351          {UINT32_C(0x00607319), UINT32_C(0x0EABEBEE), UINT32_C(0x7C3E35EE),
12352           UINT32_C(0x69B7355E), UINT32_C(0x2233C454), UINT32_C(0xF7354E35),
12353           UINT32_C(0x1E722C0A), UINT32_C(0x1E2BAADA)}},
12354         {{UINT32_C(0x3B9FE86D), UINT32_C(0xD0E47FE2), UINT32_C(0xDAA1C7BC),
12355           UINT32_C(0x878F403F), UINT32_C(0x90F5DED7), UINT32_C(0x5447AD54),
12356           UINT32_C(0x1E58B03B), UINT32_C(0x4E8A997B)},
12357          {UINT32_C(0x2E926FA8), UINT32_C(0x9AD0E481), UINT32_C(0x8D0EF3AA),
12358           UINT32_C(0x871EFB9E), UINT32_C(0x7E714DF6), UINT32_C(0xADD7DD14),
12359           UINT32_C(0x2308EE02), UINT32_C(0x9A30245A)}},
12360         {{UINT32_C(0x904F0D11), UINT32_C(0x44838B15), UINT32_C(0x2A2A70FF),
12361           UINT32_C(0x6177587A), UINT32_C(0x2C2F7943), UINT32_C(0x40293850),
12362           UINT32_C(0x67581701), UINT32_C(0x8F851191)},
12363          {UINT32_C(0x842E6434), UINT32_C(0x564383D1), UINT32_C(0xAF2C0078),
12364           UINT32_C(0x251AF59D), UINT32_C(0x3354A264), UINT32_C(0x8A81772D),
12365           UINT32_C(0xDFD2D0EA), UINT32_C(0x9AAFA350)}},
12366         {{UINT32_C(0x35461CAD), UINT32_C(0x47397932), UINT32_C(0x62C5BFFA),
12367           UINT32_C(0x0F86BD43), UINT32_C(0x7785490D), UINT32_C(0x5F166BC0),
12368           UINT32_C(0x2BD61B3E), UINT32_C(0x7DCCC988)},
12369          {UINT32_C(0x9394375B), UINT32_C(0x44C3299A), UINT32_C(0x405A34BD),
12370           UINT32_C(0x0C5F2803), UINT32_C(0x4237E728), UINT32_C(0x3AD60F1D),
12371           UINT32_C(0x72EC2562), UINT32_C(0x6E7E06D0)}},
12372         {{UINT32_C(0x3C5840A6), UINT32_C(0x44AD8471), UINT32_C(0x4752BC62),
12373           UINT32_C(0x40C3CE2B), UINT32_C(0xEC3FD75F), UINT32_C(0x94B14C21),
12374           UINT32_C(0x2629C0C0), UINT32_C(0x65E0E6AF)},
12375          {UINT32_C(0x55936454), UINT32_C(0xA3FE2F55), UINT32_C(0x780E25E5),
12376           UINT32_C(0x252AD743), UINT32_C(0xFF4E107A), UINT32_C(0x22F9951B),
12377           UINT32_C(0x554CEA49), UINT32_C(0x1B8A7DDE)}},
12378         {{UINT32_C(0x89F1C6FA), UINT32_C(0xBBDCC2C0), UINT32_C(0xC360A51D),
12379           UINT32_C(0x548FEF29), UINT32_C(0x1290EC92), UINT32_C(0x094DAD45),
12380           UINT32_C(0xAF55BF30), UINT32_C(0x792F6FB9)},
12381          {UINT32_C(0x707FBF4E), UINT32_C(0x37EF4ABE), UINT32_C(0xFC4B6BD0),
12382           UINT32_C(0x0F43AB0D), UINT32_C(0x2D6EE5D9), UINT32_C(0x850015B7),
12383           UINT32_C(0x35C1FD65), UINT32_C(0x09273F35)}},
12384         {{UINT32_C(0xA6C3209B), UINT32_C(0xCECF1B90), UINT32_C(0xABD433C0),
12385           UINT32_C(0xFB4BC864), UINT32_C(0x3EEEF8BA), UINT32_C(0x38246AAA),
12386           UINT32_C(0x9ED13F88), UINT32_C(0x4BC7904E)},
12387          {UINT32_C(0x8E783066), UINT32_C(0xA61C369A), UINT32_C(0x4D1C832C),
12388           UINT32_C(0x496FB831), UINT32_C(0x03AD64D5), UINT32_C(0x1907687A),
12389           UINT32_C(0x83425766), UINT32_C(0x49516EA5)}},
12390         {{UINT32_C(0xB1714E53), UINT32_C(0x8108B704), UINT32_C(0x82E39BE7),
12391           UINT32_C(0xB458CB4B), UINT32_C(0x097049DE), UINT32_C(0xFCBD51CC),
12392           UINT32_C(0x722E8CBA), UINT32_C(0x415F4079)},
12393          {UINT32_C(0x342DF9C6), UINT32_C(0xCDB06F5E), UINT32_C(0x1281AC74),
12394           UINT32_C(0x64885CD1), UINT32_C(0x5366673D), UINT32_C(0x932A05E4),
12395           UINT32_C(0xE83AD23D), UINT32_C(0x7333520B)}},
12396         {{UINT32_C(0xC54B523C), UINT32_C(0xDAA0A1EF), UINT32_C(0xB3C261C8),
12397           UINT32_C(0xA3E80053), UINT32_C(0x558FCFA5), UINT32_C(0x352CC612),
12398           UINT32_C(0x85852B14), UINT32_C(0x1B9B755D)},
12399          {UINT32_C(0xA1B541FF), UINT32_C(0x19EE2CB6), UINT32_C(0xD5786B4F),
12400           UINT32_C(0x2B531CE2), UINT32_C(0x08C3E15B), UINT32_C(0xEF5EA6DF),
12401           UINT32_C(0x87111129), UINT32_C(0x82161B04)}},
12402         {{UINT32_C(0xFCEABAED), UINT32_C(0x5AB533A5), UINT32_C(0x4A4D8E44),
12403           UINT32_C(0x4C2147A5), UINT32_C(0xDA02D43D), UINT32_C(0xD8EEE795),
12404           UINT32_C(0xA15C1CD0), UINT32_C(0x8CB648DF)},
12405          {UINT32_C(0xA788DDDE), UINT32_C(0x4869FB6C), UINT32_C(0x77C03759),
12406           UINT32_C(0xF9554D14), UINT32_C(0x96187DB9), UINT32_C(0x4D25B41A),
12407           UINT32_C(0x3FE0B3F3), UINT32_C(0x662FBAB3)}},
12408         {{UINT32_C(0xA58A5B2E), UINT32_C(0xD3AF4D09), UINT32_C(0x5CE88DBE),
12409           UINT32_C(0x3C5DD298), UINT32_C(0x7426C2A4), UINT32_C(0x89DDA42E),
12410           UINT32_C(0x49095424), UINT32_C(0x2D832B07)},
12411          {UINT32_C(0x62AA84CF), UINT32_C(0x24EFCC03), UINT32_C(0xE86923D7),
12412           UINT32_C(0x348C19DE), UINT32_C(0x35DB5CB1), UINT32_C(0x453E9286),
12413           UINT32_C(0x8DB21CF3), UINT32_C(0x03F48EEB)}},
12414         {{UINT32_C(0xF4035856), UINT32_C(0xBCF9600F), UINT32_C(0xAF820E18),
12415           UINT32_C(0xE77CEC83), UINT32_C(0x7F2FBCC1), UINT32_C(0xC87D43C1),
12416           UINT32_C(0x6290B18D), UINT32_C(0x574C4CAE)},
12417          {UINT32_C(0xE56E1EFE), UINT32_C(0x8BD8AE45), UINT32_C(0x75D6FCC9),
12418           UINT32_C(0xB1EFD684), UINT32_C(0xA361E753), UINT32_C(0x9829F227),
12419           UINT32_C(0x5211B784), UINT32_C(0x9A50B425)}},
12420     },
12421     {
12422         {{UINT32_C(0x36396F78), UINT32_C(0x26F19590), UINT32_C(0x9AD1982C),
12423           UINT32_C(0x350D1A76), UINT32_C(0x947F352E), UINT32_C(0x33BDB4AB),
12424           UINT32_C(0xFFE1E1E1), UINT32_C(0x6CA38B05)},
12425          {UINT32_C(0x6F2A8CA0), UINT32_C(0x055364C2), UINT32_C(0x2969CA7E),
12426           UINT32_C(0xAF15075D), UINT32_C(0xC3B9CB70), UINT32_C(0x2916D58F),
12427           UINT32_C(0xD7325693), UINT32_C(0x18D94A8B)}},
12428         {{UINT32_C(0xF36EB789), UINT32_C(0x87C41809), UINT32_C(0xA7436F54),
12429           UINT32_C(0x8C3517F9), UINT32_C(0x3D785160), UINT32_C(0xE7C02E1D),
12430           UINT32_C(0x418C7ABF), UINT32_C(0x5BAFE72E)},
12431          {UINT32_C(0xCD9B27C2), UINT32_C(0xA00A8E76), UINT32_C(0x7DA06823),
12432           UINT32_C(0x66791808), UINT32_C(0x20EC00B4), UINT32_C(0x342A03D9),
12433           UINT32_C(0x6122589A), UINT32_C(0x44502A7E)}},
12434         {{UINT32_C(0x5BDAE972), UINT32_C(0x3A492F73), UINT32_C(0x126A07DE),
12435           UINT32_C(0x5184D076), UINT32_C(0xB56A38F0), UINT32_C(0xAE49313C),
12436           UINT32_C(0x9EC47E0A), UINT32_C(0x66CCC24E)},
12437          {UINT32_C(0xC03CF3E1), UINT32_C(0xAE84941B), UINT32_C(0x5A73440B),
12438           UINT32_C(0x771AFC57), UINT32_C(0xC433E43C), UINT32_C(0xABF93DC8),
12439           UINT32_C(0x243C6828), UINT32_C(0x974EE822)}},
12440         {{UINT32_C(0xA7A5F66C), UINT32_C(0x468D7FDB), UINT32_C(0xB18DEFCC),
12441           UINT32_C(0xBBB2C482), UINT32_C(0xFA2E7DEA), UINT32_C(0x188B8CAC),
12442           UINT32_C(0xBE0200B9), UINT32_C(0x7894BC93)},
12443          {UINT32_C(0x6B84750E), UINT32_C(0xA3181338), UINT32_C(0x37356096),
12444           UINT32_C(0x8B14BDB2), UINT32_C(0xD62F4813), UINT32_C(0xA9200FE7),
12445           UINT32_C(0x6F7627CE), UINT32_C(0x8DF664A3)}},
12446         {{UINT32_C(0xDD996CF1), UINT32_C(0x39BF14DD), UINT32_C(0xF7F42D26),
12447           UINT32_C(0xD00B3BF5), UINT32_C(0x017718A3), UINT32_C(0xF1AF5A20),
12448           UINT32_C(0xABCAE05D), UINT32_C(0x34A1E94B)},
12449          {UINT32_C(0xC635D333), UINT32_C(0xAD75D1B5), UINT32_C(0x87210A5A),
12450           UINT32_C(0x97E5BD39), UINT32_C(0xA0327BF4), UINT32_C(0x11684CA6),
12451           UINT32_C(0x9B8F0A46), UINT32_C(0x25C51117)}},
12452         {{UINT32_C(0xA935A9B9), UINT32_C(0x7E5CD79F), UINT32_C(0xA22DCD16),
12453           UINT32_C(0x15DC70C2), UINT32_C(0x78A420F4), UINT32_C(0x5CDA47E6),
12454           UINT32_C(0xEA631104), UINT32_C(0x37E0364E)},
12455          {UINT32_C(0x5E47B630), UINT32_C(0xE7C46956), UINT32_C(0xE42C4DCB),
12456           UINT32_C(0x7BD4C4A7), UINT32_C(0x1C91117E), UINT32_C(0xA76B87A7),
12457           UINT32_C(0xADA4B5E1), UINT32_C(0x2AA043DD)}},
12458         {{UINT32_C(0x875DED57), UINT32_C(0x6BB06B5A), UINT32_C(0xFEAD7B14),
12459           UINT32_C(0x89452B3B), UINT32_C(0xA6E39E1F), UINT32_C(0x0CBD5CA8),
12460           UINT32_C(0x3BFA7A3D), UINT32_C(0x2DC5917C)},
12461          {UINT32_C(0xF840B6E8), UINT32_C(0x6395D5B8), UINT32_C(0xED8589EE),
12462           UINT32_C(0xAEC9342F), UINT32_C(0x77979E67), UINT32_C(0x8332A1B8),
12463           UINT32_C(0xC59F97DB), UINT32_C(0x29B55822)}},
12464         {{UINT32_C(0x7D65A8F4), UINT32_C(0xFD145FF7), UINT32_C(0x119C9AFC),
12465           UINT32_C(0x8FFF7EE0), UINT32_C(0xAFCD6214), UINT32_C(0x0100D0E9),
12466           UINT32_C(0xA3B988B3), UINT32_C(0x98DE55E5)},
12467          {UINT32_C(0x00151BF2), UINT32_C(0x0BACCB2E), UINT32_C(0x66091583),
12468           UINT32_C(0x2B422D09), UINT32_C(0x93C66A3B), UINT32_C(0xC4D15E16),
12469           UINT32_C(0x727DE9E6), UINT32_C(0x1C107559)}},
12470         {{UINT32_C(0x3CB76EDF), UINT32_C(0xC019C7D7), UINT32_C(0x151F5E14),
12471           UINT32_C(0x6456DD91), UINT32_C(0x57CC7078), UINT32_C(0x29E95B66),
12472           UINT32_C(0xE9BDBCEC), UINT32_C(0x9193F4D9)},
12473          {UINT32_C(0x4806F8CB), UINT32_C(0x375837B0), UINT32_C(0xAA954620),
12474           UINT32_C(0x52D5528A), UINT32_C(0x1B9D6D34), UINT32_C(0xE71F9F60),
12475           UINT32_C(0xDF95759C), UINT32_C(0x910E4FA1)}},
12476         {{UINT32_C(0xFCADB5EA), UINT32_C(0x8D31B2EE), UINT32_C(0xA63C7498),
12477           UINT32_C(0x0814FF77), UINT32_C(0x5E3D927E), UINT32_C(0x236569C0),
12478           UINT32_C(0x95BBB9D9), UINT32_C(0x7F669DAD)},
12479          {UINT32_C(0x305B0347), UINT32_C(0x29158C9A), UINT32_C(0x52D468EB),
12480           UINT32_C(0x99B9B7E7), UINT32_C(0xB4342443), UINT32_C(0x6C4CABC3),
12481           UINT32_C(0x0A803ED4), UINT32_C(0x125AFBEA)}},
12482         {{UINT32_C(0x101FAA4E), UINT32_C(0x850A150B), UINT32_C(0x11ECDABC),
12483           UINT32_C(0xB586BCDA), UINT32_C(0x4DAD2264), UINT32_C(0x9692EF83),
12484           UINT32_C(0xD2B67F5E), UINT32_C(0x0951716E)},
12485          {UINT32_C(0x924DD16D), UINT32_C(0xA2295F20), UINT32_C(0xD0CE88CD),
12486           UINT32_C(0xD8327275), UINT32_C(0xC683ADA3), UINT32_C(0x45F8DD0C),
12487           UINT32_C(0x88C26024), UINT32_C(0x4A798B33)}},
12488         {{UINT32_C(0xCAF71198), UINT32_C(0x225395CF), UINT32_C(0xCA3F67CF),
12489           UINT32_C(0xEE223712), UINT32_C(0x81280061), UINT32_C(0x972B0199),
12490           UINT32_C(0x280ECC12), UINT32_C(0x0CB20E7A)},
12491          {UINT32_C(0x70F54717), UINT32_C(0x06F04DA8), UINT32_C(0x410B9712),
12492           UINT32_C(0x5288425E), UINT32_C(0x74CEFB4A), UINT32_C(0x6C29A514),
12493           UINT32_C(0x849E2FD6), UINT32_C(0x4218ECCA)}},
12494         {{UINT32_C(0xB33574B6), UINT32_C(0xD85663A3), UINT32_C(0xFAF7D3A2),
12495           UINT32_C(0x7469CFB1), UINT32_C(0x3CFA8876), UINT32_C(0x9C587EC4),
12496           UINT32_C(0xDB24ED63), UINT32_C(0x5DAE46AE)},
12497          {UINT32_C(0xC413E494), UINT32_C(0x66C8DA33), UINT32_C(0x65942568),
12498           UINT32_C(0xB8B256B6), UINT32_C(0xA7A4CAAD), UINT32_C(0x0F09178E),
12499           UINT32_C(0xAFEBC90B), UINT32_C(0x577D4ADC)}},
12500         {{UINT32_C(0x92D6C3B4), UINT32_C(0x49009BA6), UINT32_C(0xB884FAAC),
12501           UINT32_C(0xE9CF4915), UINT32_C(0x6F3DBE23), UINT32_C(0xC12377D3),
12502           UINT32_C(0xEA6B680C), UINT32_C(0x2F6E0E86)},
12503          {UINT32_C(0xE6C5E24D), UINT32_C(0x5DF2CD5A), UINT32_C(0xEE608DD3),
12504           UINT32_C(0xAAE7E145), UINT32_C(0x8A7ED956), UINT32_C(0x5357CFF2),
12505           UINT32_C(0x3912DBA4), UINT32_C(0x8377126C)}},
12506         {{UINT32_C(0xF83BC3F6), UINT32_C(0x6E83A6C6), UINT32_C(0xC0CC09C6),
12507           UINT32_C(0x3633E1E4), UINT32_C(0xBC4B73A5), UINT32_C(0x0C2A268B),
12508           UINT32_C(0x125688EB), UINT32_C(0x688369D3)},
12509          {UINT32_C(0x73E75809), UINT32_C(0x64EE03E1), UINT32_C(0x8E110C46),
12510           UINT32_C(0x21773EE9), UINT32_C(0xA6A648B1), UINT32_C(0xF0BC6BE9),
12511           UINT32_C(0x7E0041E7), UINT32_C(0x39912183)}},
12512         {{UINT32_C(0x26F5716E), UINT32_C(0xCC09774A), UINT32_C(0xFDFB59E9),
12513           UINT32_C(0x01CB17F9), UINT32_C(0xAE8938B4), UINT32_C(0xA88D1269),
12514           UINT32_C(0xD13047C9), UINT32_C(0x99A40D17)},
12515          {UINT32_C(0x6FC672A3), UINT32_C(0xE469C984), UINT32_C(0x5638B928),
12516           UINT32_C(0xDA6534B6), UINT32_C(0xCDE40C83), UINT32_C(0xC56EAB20),
12517           UINT32_C(0xBD93AF10), UINT32_C(0x2C1582B1)}},
12518     },
12519     {
12520         {{UINT32_C(0xA3F45C37), UINT32_C(0xE4C19851), UINT32_C(0xC7D78FE9),
12521           UINT32_C(0xCA0FEFF2), UINT32_C(0x9A7E444B), UINT32_C(0x027B41D8),
12522           UINT32_C(0x15D38CBB), UINT32_C(0x1F1B242F)},
12523          {UINT32_C(0xF1F50AB9), UINT32_C(0x1C6C132C), UINT32_C(0x5DFE7530),
12524           UINT32_C(0x2A02A3A4), UINT32_C(0x6E29159F), UINT32_C(0x2B1EB8E2),
12525           UINT32_C(0x2EEDE876), UINT32_C(0x5F3F4AB7)}},
12526         {{UINT32_C(0x0F2DF95C), UINT32_C(0x362CE013), UINT32_C(0x26480BFA),
12527           UINT32_C(0x82E4E192), UINT32_C(0x6BEFF080), UINT32_C(0x9AAC9A96),
12528           UINT32_C(0x8EE2B59C), UINT32_C(0x5A1636F6)},
12529          {UINT32_C(0xFA049CCB), UINT32_C(0x600E0339), UINT32_C(0xF2F57163),
12530           UINT32_C(0x56680F80), UINT32_C(0x7B4240A7), UINT32_C(0x2C395CC1),
12531           UINT32_C(0x9C86BB64), UINT32_C(0x32EDFE4A)}},
12532         {{UINT32_C(0x711AEF69), UINT32_C(0x8D9842AB), UINT32_C(0x890831F0),
12533           UINT32_C(0x7A1C2429), UINT32_C(0x54CDA99A), UINT32_C(0x924478DF),
12534           UINT32_C(0xE25A02E2), UINT32_C(0x791A1D45)},
12535          {UINT32_C(0x170F4C21), UINT32_C(0x1433F569), UINT32_C(0xCA5F8BD8),
12536           UINT32_C(0x9F42C8C1), UINT32_C(0x067B3201), UINT32_C(0x377740F7),
12537           UINT32_C(0x2ECE5D81), UINT32_C(0x75145FFF)}},
12538         {{UINT32_C(0x39638F43), UINT32_C(0xCBFE782A), UINT32_C(0xE07553D2),
12539           UINT32_C(0xB0C0EC09), UINT32_C(0x115C673A), UINT32_C(0x8D1C41F7),
12540           UINT32_C(0xEB39E385), UINT32_C(0x8510551A)},
12541          {UINT32_C(0xBA275803), UINT32_C(0x92000181), UINT32_C(0x27B9A42A),
12542           UINT32_C(0x8AF63F4A), UINT32_C(0x52297029), UINT32_C(0xD50ECF0F),
12543           UINT32_C(0x66883C56), UINT32_C(0x1DCA33A5)}},
12544         {{UINT32_C(0xC51DF9D9), UINT32_C(0xB2C44933), UINT32_C(0xE66D80AE),
12545           UINT32_C(0xCA6F9FB0), UINT32_C(0x82839BA4), UINT32_C(0x78CD2EEB),
12546           UINT32_C(0xF7AFBCF3), UINT32_C(0x8FF8BCC8)},
12547          {UINT32_C(0x4164959B), UINT32_C(0x5AD00C70), UINT32_C(0xE83ED8D5),
12548           UINT32_C(0xAD901C71), UINT32_C(0x2B52650D), UINT32_C(0x56FFC0A9),
12549           UINT32_C(0x780126A8), UINT32_C(0x0689B171)}},
12550         {{UINT32_C(0x5EAC1DD8), UINT32_C(0x2E902A39), UINT32_C(0x7CAC283F),
12551           UINT32_C(0x7681EABA), UINT32_C(0x78525B7C), UINT32_C(0x03608CD8),
12552           UINT32_C(0x5EB95540), UINT32_C(0x09665B80)},
12553          {UINT32_C(0x306EE831), UINT32_C(0xF09F9805), UINT32_C(0xE41D453A),
12554           UINT32_C(0xFB00B1C6), UINT32_C(0x7C93E727), UINT32_C(0xD8BB9559),
12555           UINT32_C(0x2CE63FD8), UINT32_C(0x3B74FEE7)}},
12556         {{UINT32_C(0x0A22DABA), UINT32_C(0x73F48B33), UINT32_C(0xC8FC3E20),
12557           UINT32_C(0x797DE0FB), UINT32_C(0x9E79222D), UINT32_C(0x69C1BEE2),
12558           UINT32_C(0x1DF4C549), UINT32_C(0x3052F67A)},
12559          {UINT32_C(0xED78B6FB), UINT32_C(0xFE9128A9), UINT32_C(0x29CCF94F),
12560           UINT32_C(0xD9460CFF), UINT32_C(0xC1FD1DAA), UINT32_C(0x53737484),
12561           UINT32_C(0x1EDAEEB2), UINT32_C(0x83ADCD01)}},
12562         {{UINT32_C(0x2BA4195A), UINT32_C(0x189EC9AA), UINT32_C(0xC522BE92),
12563           UINT32_C(0x61345757), UINT32_C(0x39EFB05D), UINT32_C(0x35BAB72A),
12564           UINT32_C(0xAE0AC461), UINT32_C(0x82B27322)},
12565          {UINT32_C(0xC07F4382), UINT32_C(0xFEBF0F8C), UINT32_C(0xDAD2ED8E),
12566           UINT32_C(0x1CA2B3D7), UINT32_C(0x0A27F89C), UINT32_C(0x4800A037),
12567           UINT32_C(0x9815D971), UINT32_C(0x77D1B2FC)}},
12568         {{UINT32_C(0xCA0FC66A), UINT32_C(0xF9F46089), UINT32_C(0x8C23E4E1),
12569           UINT32_C(0x5BC406DE), UINT32_C(0x8DBF6DD5), UINT32_C(0x1D7F3BA9),
12570           UINT32_C(0x679D5587), UINT32_C(0x685B9111)},
12571          {UINT32_C(0xB85BE0D0), UINT32_C(0x93554084), UINT32_C(0x7B9EB16C),
12572           UINT32_C(0xB081E9CA), UINT32_C(0x60F0D0B0), UINT32_C(0x58C428DC),
12573           UINT32_C(0x30B3C6D9), UINT32_C(0x12442C1A)}},
12574         {{UINT32_C(0x567226BE), UINT32_C(0x147B843C), UINT32_C(0x429A8FFA),
12575           UINT32_C(0x2B2BFFAB), UINT32_C(0xCD435C2F), UINT32_C(0x7A4678EB),
12576           UINT32_C(0x3C0B887A), UINT32_C(0x200E8513)},
12577          {UINT32_C(0x90605CDD), UINT32_C(0x9D457AAD), UINT32_C(0x157F29A5),
12578           UINT32_C(0x6736A242), UINT32_C(0x549FCA4D), UINT32_C(0x779B0D25),
12579           UINT32_C(0x17FDB4D9), UINT32_C(0x57477EE9)}},
12580         {{UINT32_C(0xECF06CDD), UINT32_C(0xD9B15FD1), UINT32_C(0xC1CC2CFC),
12581           UINT32_C(0xECF75FC0), UINT32_C(0xA56B39E5), UINT32_C(0x273867C3),
12582           UINT32_C(0x79340B7D), UINT32_C(0x72F3ED45)},
12583          {UINT32_C(0x55B6C9B9), UINT32_C(0xF31C9E4C), UINT32_C(0x0448FE57),
12584           UINT32_C(0xED96826E), UINT32_C(0x8BB7A02F), UINT32_C(0xE2DF54AD),
12585           UINT32_C(0xD79D71CC), UINT32_C(0x945E7B6B)}},
12586         {{UINT32_C(0x9270E878), UINT32_C(0x32B6CE42), UINT32_C(0xD6EEBEB9),
12587           UINT32_C(0x980C8F6E), UINT32_C(0x55808237), UINT32_C(0xC5717C85),
12588           UINT32_C(0xCCA3F298), UINT32_C(0x4469D0A0)},
12589          {UINT32_C(0x1A18C0E8), UINT32_C(0x2B9DD7E9), UINT32_C(0x6A0EC412),
12590           UINT32_C(0xE9D12401), UINT32_C(0x31F44B32), UINT32_C(0xF889DE98),
12591           UINT32_C(0x78854A7F), UINT32_C(0x692EE1E6)}},
12592         {{UINT32_C(0xADEECA22), UINT32_C(0xF2360597), UINT32_C(0x99A4C198),
12593           UINT32_C(0x94623EBC), UINT32_C(0xE4169D20), UINT32_C(0x5A0D49C4),
12594           UINT32_C(0xBF0384F0), UINT32_C(0x7BE2C5BB)},
12595          {UINT32_C(0x8C537851), UINT32_C(0x42DB0D40), UINT32_C(0x65C50782),
12596           UINT32_C(0x198A09A4), UINT32_C(0x45AD7EE0), UINT32_C(0x72F80BB7),
12597           UINT32_C(0x11FCED06), UINT32_C(0x4F83164B)}},
12598         {{UINT32_C(0x95712AF0), UINT32_C(0x54E5B07C), UINT32_C(0x1E893387),
12599           UINT32_C(0x95E7F5D9), UINT32_C(0xC61D7766), UINT32_C(0x383BC5AE),
12600           UINT32_C(0x681C28DD), UINT32_C(0x09F626ED)},
12601          {UINT32_C(0xDF97E3C9), UINT32_C(0x0D32B726), UINT32_C(0x7C7C4786),
12602           UINT32_C(0x2AC62238), UINT32_C(0xD3F5AD40), UINT32_C(0xECEA0C6A),
12603           UINT32_C(0xA870A132), UINT32_C(0x0D26633E)}},
12604         {{UINT32_C(0xC3D42D26), UINT32_C(0x40A05A14), UINT32_C(0xF3BDE0E3),
12605           UINT32_C(0x06577CA1), UINT32_C(0x418B73FB), UINT32_C(0x03DAA258),
12606           UINT32_C(0x0EFDEB86), UINT32_C(0x205E02E6)},
12607          {UINT32_C(0x99F90D56), UINT32_C(0xF5479E4D), UINT32_C(0x368CB6E3),
12608           UINT32_C(0x4E699BF3), UINT32_C(0x62E4A879), UINT32_C(0x534F6743),
12609           UINT32_C(0xA9D78191), UINT32_C(0x18473603)}},
12610         {{UINT32_C(0x5C1ED4F9), UINT32_C(0xA23D79CF), UINT32_C(0xF2248B01),
12611           UINT32_C(0xFADE1CF5), UINT32_C(0x6F4D2164), UINT32_C(0xA3D52827),
12612           UINT32_C(0x10B731E5), UINT32_C(0x1F211C03)},
12613          {UINT32_C(0xD97229E2), UINT32_C(0x0B415884), UINT32_C(0x80FCC283),
12614           UINT32_C(0xCABB7D89), UINT32_C(0x98EF388A), UINT32_C(0xDB9BC752),
12615           UINT32_C(0x93E80262), UINT32_C(0x50AF2A4A)}},
12616     },
12617     {
12618         {{UINT32_C(0xD57DD821), UINT32_C(0xD11E80F1), UINT32_C(0xDDA2AB29),
12619           UINT32_C(0x11CAE463), UINT32_C(0xE628F315), UINT32_C(0x21CAFD16),
12620           UINT32_C(0x7DF70CD4), UINT32_C(0x296A84E9)},
12621          {UINT32_C(0x6E9EF995), UINT32_C(0x9ECF7513), UINT32_C(0x06E28855),
12622           UINT32_C(0xAE875257), UINT32_C(0x5DED383C), UINT32_C(0x78E1B7E9),
12623           UINT32_C(0x5E940F7F), UINT32_C(0x6C5D8ECC)}},
12624         {{UINT32_C(0x998EE9A3), UINT32_C(0xCBD3ACB9), UINT32_C(0xD0DCF584),
12625           UINT32_C(0x990CDFF6), UINT32_C(0xC7CE5DDA), UINT32_C(0x0FB4346C),
12626           UINT32_C(0x355E268F), UINT32_C(0x5EDEEF9B)},
12627          {UINT32_C(0xC215036D), UINT32_C(0xACD8B4A2), UINT32_C(0x91C7486B),
12628           UINT32_C(0x70D36995), UINT32_C(0x52C6694B), UINT32_C(0x72D5243D),
12629           UINT32_C(0xE5F8B99C), UINT32_C(0x54163B48)}},
12630         {{UINT32_C(0x1D76A94A), UINT32_C(0xD2AEA2FF), UINT32_C(0x379F780B),
12631           UINT32_C(0xC5B4FBF1), UINT32_C(0xB33AC708), UINT32_C(0x700042F7),
12632           UINT32_C(0x8183E0CA), UINT32_C(0x7DA790BF)},
12633          {UINT32_C(0xEBA72FA8), UINT32_C(0x95681FE6), UINT32_C(0xE22E254E),
12634           UINT32_C(0x1F0A390E), UINT32_C(0xBF07A8A5), UINT32_C(0x465A58F8),
12635           UINT32_C(0xFB1FCE40), UINT32_C(0x840EA2E7)}},
12636         {{UINT32_C(0x44048484), UINT32_C(0xD955C5B5), UINT32_C(0x6935C5E4),
12637           UINT32_C(0x7107D595), UINT32_C(0x8A0FCE44), UINT32_C(0xFC657444),
12638           UINT32_C(0x2800E517), UINT32_C(0x97DF2B4D)},
12639          {UINT32_C(0x2C482414), UINT32_C(0x0B1BB328), UINT32_C(0x4E48CDBE),
12640           UINT32_C(0x152614CC), UINT32_C(0x42EDE4E0), UINT32_C(0x48051FB6),
12641           UINT32_C(0x3DBFFE52), UINT32_C(0x91125B93)}},
12642         {{UINT32_C(0xCF898F54), UINT32_C(0xA2F526C7), UINT32_C(0x83080857),
12643           UINT32_C(0x8788CA12), UINT32_C(0x4562F7B0), UINT32_C(0x2F442723),
12644           UINT32_C(0xC044560C), UINT32_C(0x837772AB)},
12645          {UINT32_C(0x31BCB2EA), UINT32_C(0x51AD2F71), UINT32_C(0xAFC5C03D),
12646           UINT32_C(0x0F1D33FC), UINT32_C(0x7BD352A4), UINT32_C(0xDBFE541F),
12647           UINT32_C(0x64B8343D), UINT32_C(0x8B441399)}},
12648         {{UINT32_C(0x44DCD145), UINT32_C(0xFEB96B8C), UINT32_C(0xEFF22D0D),
12649           UINT32_C(0xEEB3007C), UINT32_C(0x252A8C8F), UINT32_C(0xAF64DFC1),
12650           UINT32_C(0xD131E0C5), UINT32_C(0x5D9B0A05)},
12651          {UINT32_C(0xABFED144), UINT32_C(0x28C943EF), UINT32_C(0xB6A2273D),
12652           UINT32_C(0xDFBF730C), UINT32_C(0xE2A1BFBD), UINT32_C(0x6CC5BE44),
12653           UINT32_C(0x09030FCD), UINT32_C(0x55FAC033)}},
12654         {{UINT32_C(0x728F39EC), UINT32_C(0xFAA58543), UINT32_C(0x40B37B15),
12655           UINT32_C(0x9B2F10BA), UINT32_C(0x7254A419), UINT32_C(0x96505C7F),
12656           UINT32_C(0x879C7FF9), UINT32_C(0x04F4ACE5)},
12657          {UINT32_C(0xBC5FDA53), UINT32_C(0xC0B4B576), UINT32_C(0xF7ABCD3C),
12658           UINT32_C(0x12549929), UINT32_C(0x313FEC34), UINT32_C(0x00F5631E),
12659           UINT32_C(0x798C7CFB), UINT32_C(0x89EA4459)}},
12660         {{UINT32_C(0x0E2020C1), UINT32_C(0x671137B5), UINT32_C(0xA4DC66C3),
12661           UINT32_C(0x77727861), UINT32_C(0x81492A26), UINT32_C(0x8CE05ED1),
12662           UINT32_C(0xA0C3F612), UINT32_C(0x42BEA541)},
12663          {UINT32_C(0xB0E461EB), UINT32_C(0x6D39E3D1), UINT32_C(0x09FA806F),
12664           UINT32_C(0x459A8E13), UINT32_C(0x466CB93B), UINT32_C(0xE2A185C1),
12665           UINT32_C(0xE21ECB34), UINT32_C(0x17D131CE)}},
12666         {{UINT32_C(0x387A15BF), UINT32_C(0x2141E262), UINT32_C(0x6BE61C42),
12667           UINT32_C(0x675B5E7C), UINT32_C(0xF1CF93EF), UINT32_C(0xEEC1BDD4),
12668           UINT32_C(0x23BAB1F9), UINT32_C(0x6ACF3838)},
12669          {UINT32_C(0xB0B39C86), UINT32_C(0xA2F84E23), UINT32_C(0xE244E0E3),
12670           UINT32_C(0xE955DBBC), UINT32_C(0xB7A8102A), UINT32_C(0xE0155980),
12671           UINT32_C(0xB23012FA), UINT32_C(0x1E117DC8)}},
12672         {{UINT32_C(0x6EB36280), UINT32_C(0xC92A36AA), UINT32_C(0x5E906D78),
12673           UINT32_C(0x5AED3A1D), UINT32_C(0xAE4E430A), UINT32_C(0x8D336221),
12674           UINT32_C(0xD3AA50AD), UINT32_C(0x3F184F1D)},
12675          {UINT32_C(0x916D9741), UINT32_C(0xD14810EC), UINT32_C(0x3322D9B3),
12676           UINT32_C(0x2900169F), UINT32_C(0x04728254), UINT32_C(0xAFF1A060),
12677           UINT32_C(0x26F60B5F), UINT32_C(0x89C4C673)}},
12678         {{UINT32_C(0xB7F0D157), UINT32_C(0x5216E0AE), UINT32_C(0xC9F38AAD),
12679           UINT32_C(0x3B8D2226), UINT32_C(0xBB34AA79), UINT32_C(0x283E3E3F),
12680           UINT32_C(0x565CAB83), UINT32_C(0x94DA80FA)},
12681          {UINT32_C(0xE6ED4A46), UINT32_C(0xDDB51943), UINT32_C(0x7CDD5FE6),
12682           UINT32_C(0xF3AFFA9A), UINT32_C(0xB648A84F), UINT32_C(0x0AB493CC),
12683           UINT32_C(0xF15EE45F), UINT32_C(0x128356B6)}},
12684         {{UINT32_C(0xBD0F02C4), UINT32_C(0xD2AD34F4), UINT32_C(0x719BCF1E),
12685           UINT32_C(0x3DC9B6D1), UINT32_C(0x12EB5AE8), UINT32_C(0x11EDB8F1),
12686           UINT32_C(0x71180F90), UINT32_C(0x33AC71D8)},
12687          {UINT32_C(0xB59621D7), UINT32_C(0x0AE988FE), UINT32_C(0x8F348211),
12688           UINT32_C(0x32042B52), UINT32_C(0xEB0CEBD3), UINT32_C(0x7E6787C4),
12689           UINT32_C(0x26B8A526), UINT32_C(0x8C4D2549)}},
12690         {{UINT32_C(0x4D40ED72), UINT32_C(0xA3B46154), UINT32_C(0xF6CF3972),
12691           UINT32_C(0x3A096546), UINT32_C(0xB3E46D8C), UINT32_C(0x9C7BC931),
12692           UINT32_C(0x90486C75), UINT32_C(0x85B77BAD)},
12693          {UINT32_C(0x6EBD35E0), UINT32_C(0x95B706E5), UINT32_C(0x101E098E),
12694           UINT32_C(0xC1E18243), UINT32_C(0xF01C17E1), UINT32_C(0xF17C23FF),
12695           UINT32_C(0x85EC224E), UINT32_C(0x32235272)}},
12696         {{UINT32_C(0xFD24FA16), UINT32_C(0xE816235D), UINT32_C(0x0B3AEBD7),
12697           UINT32_C(0x5306CBC3), UINT32_C(0x8BE25CB7), UINT32_C(0xDEF60A9A),
12698           UINT32_C(0x512999C2), UINT32_C(0x4B889A0F)},
12699          {UINT32_C(0x67B29FD9), UINT32_C(0xAB86A7F8), UINT32_C(0xB5461BCB),
12700           UINT32_C(0xB81C532D), UINT32_C(0xD34D9819), UINT32_C(0x810E9A0C),
12701           UINT32_C(0x3092515D), UINT32_C(0x1E353009)}},
12702         {{UINT32_C(0x21FB0BD9), UINT32_C(0x46826339), UINT32_C(0x003BAE50),
12703           UINT32_C(0x9CCE9A43), UINT32_C(0x2EB45B4A), UINT32_C(0xCD2216C3),
12704           UINT32_C(0xC7E0F2C3), UINT32_C(0x13598548)},
12705          {UINT32_C(0x54611984), UINT32_C(0x8B0BFD72), UINT32_C(0x89C0B05A),
12706           UINT32_C(0x705CB525), UINT32_C(0xCE880DD8), UINT32_C(0xD9073D87),
12707           UINT32_C(0x003DCAEB), UINT32_C(0x1EA534CD)}},
12708         {{UINT32_C(0xC58B4413), UINT32_C(0xC7AAC256), UINT32_C(0xE8054F96),
12709           UINT32_C(0x301109D6), UINT32_C(0x9C7E7860), UINT32_C(0x0A1F44D2),
12710           UINT32_C(0x96F15424), UINT32_C(0x55D122BB)},
12711          {UINT32_C(0x1C14A8A9), UINT32_C(0x9A63098F), UINT32_C(0x4221CDFB),
12712           UINT32_C(0x8E01A9DC), UINT32_C(0x357B360A), UINT32_C(0x11C91FCF),
12713           UINT32_C(0x036A3CF4), UINT32_C(0x70C47AEA)}},
12714     },
12715     {
12716         {{UINT32_C(0x036A843D), UINT32_C(0xC0457C4F), UINT32_C(0xF1F593CB),
12717           UINT32_C(0x6E3E0801), UINT32_C(0x8C53873B), UINT32_C(0x1AADF2D8),
12718           UINT32_C(0x0D140C8D), UINT32_C(0x5CEC5C7B)},
12719          {UINT32_C(0x328002E4), UINT32_C(0x4341A9AB), UINT32_C(0xC410D034),
12720           UINT32_C(0x11F22331), UINT32_C(0x5DB6A39D), UINT32_C(0x0FCF69EF),
12721           UINT32_C(0xB84FDA1F), UINT32_C(0x3DD32A53)}},
12722         {{UINT32_C(0xAF8C811A), UINT32_C(0x19E52339), UINT32_C(0x92D46C4F),
12723           UINT32_C(0xC8B83800), UINT32_C(0xCA8463A3), UINT32_C(0x891C4185),
12724           UINT32_C(0x98F3FF1B), UINT32_C(0x5B51651F)},
12725          {UINT32_C(0x0FB39DCA), UINT32_C(0x3D149607), UINT32_C(0xB1051394),
12726           UINT32_C(0x39ECCDE2), UINT32_C(0x1A14522B), UINT32_C(0x3633DE27),
12727           UINT32_C(0x7C59A9A5), UINT32_C(0x5FE55114)}},
12728         {{UINT32_C(0x2F0B507F), UINT32_C(0x68C8E0C6), UINT32_C(0x05B62C5E),
12729           UINT32_C(0xDABC8EEF), UINT32_C(0xE6165C1E), UINT32_C(0x297C943A),
12730           UINT32_C(0x7D7CA6D6), UINT32_C(0x337C6B94)},
12731          {UINT32_C(0xD6066191), UINT32_C(0x66F98FE4), UINT32_C(0x58945DA9),
12732           UINT32_C(0x745BFEBA), UINT32_C(0x3B29A546), UINT32_C(0x60044787),
12733           UINT32_C(0xE2D4EDF2), UINT32_C(0x2815651E)}},
12734         {{UINT32_C(0x63661218), UINT32_C(0x54A3BE74), UINT32_C(0x15E79415),
12735           UINT32_C(0x89C56364), UINT32_C(0x405E4932), UINT32_C(0xE03C6963),
12736           UINT32_C(0x9A619956), UINT32_C(0x86E101EA)},
12737          {UINT32_C(0x400DC92B), UINT32_C(0x47BAF2F3), UINT32_C(0x291E4059),
12738           UINT32_C(0x5C44512C), UINT32_C(0xEC6D7BF9), UINT32_C(0xD7F84B8E),
12739           UINT32_C(0x25AB8D79), UINT32_C(0x6CF42540)}},
12740         {{UINT32_C(0xB885DAFC), UINT32_C(0xD6E1B75D), UINT32_C(0x6128014E),
12741           UINT32_C(0x7A33CE4B), UINT32_C(0xEA9FF260), UINT32_C(0x80DF9948),
12742           UINT32_C(0xD2B5872B), UINT32_C(0x99E0A11C)},
12743          {UINT32_C(0xE2435510), UINT32_C(0x960BDC3D), UINT32_C(0x14F7A99C),
12744           UINT32_C(0x4B0ECC53), UINT32_C(0x5AC6170B), UINT32_C(0xE815DB8B),
12745           UINT32_C(0x17D5F2DD), UINT32_C(0x30956156)}},
12746         {{UINT32_C(0x57166FCE), UINT32_C(0xA035E3CE), UINT32_C(0x40A75B80),
12747           UINT32_C(0x71AD4095), UINT32_C(0xDB7D0BFB), UINT32_C(0x639C4EA7),
12748           UINT32_C(0xB12DBE6B), UINT32_C(0x7A90BE97)},
12749          {UINT32_C(0x75F86A60), UINT32_C(0x091AA30F), UINT32_C(0x509AEEFC),
12750           UINT32_C(0x67C0F795), UINT32_C(0x331629C5), UINT32_C(0xF028C12A),
12751           UINT32_C(0x8A1F7478), UINT32_C(0x90D26B1C)}},
12752         {{UINT32_C(0xB6AC2AD5), UINT32_C(0x6F01554E), UINT32_C(0xBC9A48D6),
12753           UINT32_C(0x9DD0576E), UINT32_C(0x97AE2605), UINT32_C(0xAB372013),
12754           UINT32_C(0xBB83852B), UINT32_C(0x1525D8B5)},
12755          {UINT32_C(0xE46E4C61), UINT32_C(0xD50680C3), UINT32_C(0xECB8F06F),
12756           UINT32_C(0x29FBBA5C), UINT32_C(0xB16637A3), UINT32_C(0x60A48AB4),
12757           UINT32_C(0xCD1490D3), UINT32_C(0x8BB47967)}},
12758         {{UINT32_C(0x4B7C7EA6), UINT32_C(0xA35A0187), UINT32_C(0xB4D6409A),
12759           UINT32_C(0xFE01521A), UINT32_C(0x8FDE1E30), UINT32_C(0x57CECE62),
12760           UINT32_C(0xF4F51D55), UINT32_C(0x1A9A9B2D)},
12761          {UINT32_C(0xE221AC58), UINT32_C(0x0D33556B), UINT32_C(0x152508AD),
12762           UINT32_C(0x0A4A1A34), UINT32_C(0x0144AA33), UINT32_C(0x1FD61DA1),
12763           UINT32_C(0xEDC7C5F8), UINT32_C(0x4804BE6A)}},
12764         {{UINT32_C(0x5B363A84), UINT32_C(0x071EC815), UINT32_C(0xFE11ED05),
12765           UINT32_C(0x359C2A9F), UINT32_C(0xB8BBF9BD), UINT32_C(0x0FDF80C9),
12766           UINT32_C(0x103ACCBE), UINT32_C(0x928E51A4)},
12767          {UINT32_C(0xD5E8A222), UINT32_C(0xD152B6E7), UINT32_C(0xCBE022C9),
12768           UINT32_C(0x6368E3A8), UINT32_C(0x3128B659), UINT32_C(0x2E5055DE),
12769           UINT32_C(0xD21F1062), UINT32_C(0x51E23651)}},
12770         {{UINT32_C(0x34834BF7), UINT32_C(0x5CE999D7), UINT32_C(0x3DC831E9),
12771           UINT32_C(0xE386394C), UINT32_C(0x7FE48564), UINT32_C(0x6DBD5ECA),
12772           UINT32_C(0x556841A5), UINT32_C(0x804BC07F)},
12773          {UINT32_C(0x229A9175), UINT32_C(0x2A8B616C), UINT32_C(0xA1B3EF97),
12774           UINT32_C(0xAEEB533A), UINT32_C(0x6F145037), UINT32_C(0x9D858F9D),
12775           UINT32_C(0x7F6A8EBB), UINT32_C(0x247FFAB0)}},
12776         {{UINT32_C(0x099EB4F3), UINT32_C(0xE616E779), UINT32_C(0xF1B1926C),
12777           UINT32_C(0x4F360D2E), UINT32_C(0x17055397), UINT32_C(0x28EE1F91),
12778           UINT32_C(0x844AFCF3), UINT32_C(0x9994D7FF)},
12779          {UINT32_C(0x12CBD801), UINT32_C(0x8824A949), UINT32_C(0x6A4484DD),
12780           UINT32_C(0xA3AFED4D), UINT32_C(0x3B5E36A5), UINT32_C(0xCB16CD67),
12781           UINT32_C(0xBC3BBEA9), UINT32_C(0x5490C30D)}},
12782         {{UINT32_C(0xD7601122), UINT32_C(0xEA43CA5A), UINT32_C(0xD248EB72),
12783           UINT32_C(0x9CF2A15B), UINT32_C(0xB71D18D0), UINT32_C(0x4CE8AB75),
12784           UINT32_C(0x041A19A5), UINT32_C(0x2576C5B1)},
12785          {UINT32_C(0x8CC1496E), UINT32_C(0xDE20FD02), UINT32_C(0x0BE51831),
12786           UINT32_C(0xC9FE5B0C), UINT32_C(0x3A53ABBC), UINT32_C(0x9DC17E32),
12787           UINT32_C(0xF4C806FA), UINT32_C(0x94E24DD9)}},
12788         {{UINT32_C(0x0DF1A4B3), UINT32_C(0x2A9CF5F1), UINT32_C(0x15063C08),
12789           UINT32_C(0xE0196754), UINT32_C(0xCCF88F77), UINT32_C(0xCE9CF2C6),
12790           UINT32_C(0xEFE91C6C), UINT32_C(0x51ACC7B5)},
12791          {UINT32_C(0xA799FE2E), UINT32_C(0x0C2302EF), UINT32_C(0x69C0D117),
12792           UINT32_C(0x5EE756A4), UINT32_C(0xF4EAB1A1), UINT32_C(0x7E907EC2),
12793           UINT32_C(0xD98022DD), UINT32_C(0x19EEF95B)}},
12794         {{UINT32_C(0xA8E7FFA5), UINT32_C(0xB170D483), UINT32_C(0x39180FAC),
12795           UINT32_C(0x2052600A), UINT32_C(0xA68AF290), UINT32_C(0x8EAD52D4),
12796           UINT32_C(0xFF9E3641), UINT32_C(0x01B88CFE)},
12797          {UINT32_C(0x65BC2D0C), UINT32_C(0x3D9077F7), UINT32_C(0x3ABCDB1C),
12798           UINT32_C(0x2AF9CF67), UINT32_C(0x7295DADA), UINT32_C(0xEA104E74),
12799           UINT32_C(0xEB1E5D6E), UINT32_C(0x7DF23470)}},
12800         {{UINT32_C(0x8E53F40B), UINT32_C(0x0F54D98D), UINT32_C(0xAF360481),
12801           UINT32_C(0xBFC22E9B), UINT32_C(0xE132666B), UINT32_C(0x309973B6),
12802           UINT32_C(0x25E783E0), UINT32_C(0x1F40D11F)},
12803          {UINT32_C(0xF00AC3EB), UINT32_C(0x8EEBC9D7), UINT32_C(0x2F9ADCC7),
12804           UINT32_C(0xBD725D82), UINT32_C(0x66EFDDCC), UINT32_C(0x47767810),
12805           UINT32_C(0x4ECCAF67), UINT32_C(0x60B0B100)}},
12806         {{UINT32_C(0xB98C7E96), UINT32_C(0x498E2074), UINT32_C(0x08BF31A9),
12807           UINT32_C(0xBEBF5183), UINT32_C(0x3894DBE7), UINT32_C(0x00DD4AAD),
12808           UINT32_C(0x429878F6), UINT32_C(0x66C047A4)},
12809          {UINT32_C(0x6D0F1AB1), UINT32_C(0x16F2CB33), UINT32_C(0x58669ACB),
12810           UINT32_C(0x5FA2F181), UINT32_C(0x486F1BE7), UINT32_C(0xFA4B2F49),
12811           UINT32_C(0x5698F41B), UINT32_C(0x1ECAAF6B)}},
12812     },
12813     {
12814         {{UINT32_C(0x4DCC455E), UINT32_C(0x2999C212), UINT32_C(0xBEF617B8),
12815           UINT32_C(0x83897E49), UINT32_C(0x5A218E0F), UINT32_C(0x6B49CE26),
12816           UINT32_C(0x88EF7EA7), UINT32_C(0x49A5C9EB)},
12817          {UINT32_C(0xF63EC82C), UINT32_C(0xF0EDA5FF), UINT32_C(0xEAD471CD),
12818           UINT32_C(0x736D933D), UINT32_C(0xDF8071C4), UINT32_C(0x10E4431D),
12819           UINT32_C(0x38E1523C), UINT32_C(0x8C59C107)}},
12820         {{UINT32_C(0x5A54A4AB), UINT32_C(0x569FB74E), UINT32_C(0xF3384C14),
12821           UINT32_C(0x72788868), UINT32_C(0x107B417F), UINT32_C(0xBC840717),
12822           UINT32_C(0x7E13210C), UINT32_C(0x6682C107)},
12823          {UINT32_C(0x77B20150), UINT32_C(0xB3359FC2), UINT32_C(0xA9E03222),
12824           UINT32_C(0xEB923E66), UINT32_C(0xA10CF332), UINT32_C(0x490C39FC),
12825           UINT32_C(0x49BA035D), UINT32_C(0x69099C2D)}},
12826         {{UINT32_C(0x03CB2C6E), UINT32_C(0x64986720), UINT32_C(0x328B22BA),
12827           UINT32_C(0x994054A1), UINT32_C(0x6F0542DA), UINT32_C(0x4155C6B9),
12828           UINT32_C(0xA3B93FFB), UINT32_C(0x216CF760)},
12829          {UINT32_C(0x5C2AD753), UINT32_C(0x74486184), UINT32_C(0xA0CD3660),
12830           UINT32_C(0xE517984E), UINT32_C(0x3D7DA8A1), UINT32_C(0x6530BC86),
12831           UINT32_C(0x2E46CA79), UINT32_C(0x04328CF9)}},
12832         {{UINT32_C(0x4798CD35), UINT32_C(0x4100ADED), UINT32_C(0x635BAECD),
12833           UINT32_C(0xC832796D), UINT32_C(0x5B80E18C), UINT32_C(0x7EF1EA95),
12834           UINT32_C(0x426B1AA9), UINT32_C(0x6889A91B)},
12835          {UINT32_C(0x0927C6F8), UINT32_C(0xC40A0A87), UINT32_C(0x2B86ED45),
12836           UINT32_C(0xD60CFD1C), UINT32_C(0xD57350A1), UINT32_C(0x98731DFF),
12837           UINT32_C(0x1DE4341F), UINT32_C(0x1C52EAE9)}},
12838         {{UINT32_C(0x23A40FAA), UINT32_C(0xC287E33B), UINT32_C(0x7A633BDC),
12839           UINT32_C(0xB96D9F51), UINT32_C(0xE6D0F326), UINT32_C(0xF6A5B779),
12840           UINT32_C(0xF619DE4B), UINT32_C(0x10203FE1)},
12841          {UINT32_C(0xC4F18BF8), UINT32_C(0x011FB53E), UINT32_C(0xBCA32CA0),
12842           UINT32_C(0xAEBB82F6), UINT32_C(0xF881818D), UINT32_C(0x06BF8ED5),
12843           UINT32_C(0x18247E6A), UINT32_C(0x3A6A3E35)}},
12844         {{UINT32_C(0x00625DC1), UINT32_C(0x3BF2E96E), UINT32_C(0x5A288F80),
12845           UINT32_C(0xD81AD156), UINT32_C(0xB7CE9B13), UINT32_C(0x04C3269E),
12846           UINT32_C(0x2F9E2713), UINT32_C(0x3E18EAFC)},
12847          {UINT32_C(0x9D0BC74A), UINT32_C(0x20F0E05D), UINT32_C(0xD8140790),
12848           UINT32_C(0xACDB4B75), UINT32_C(0xF1B5B265), UINT32_C(0x12918A7E),
12849           UINT32_C(0x6896342E), UINT32_C(0x22A70AF9)}},
12850         {{UINT32_C(0x9C4B6B08), UINT32_C(0x326A28A2), UINT32_C(0xA17D3D57),
12851           UINT32_C(0x21302F37), UINT32_C(0xCE36F438), UINT32_C(0x181378E7),
12852           UINT32_C(0xFED12DE1), UINT32_C(0x42B07EBA)},
12853          {UINT32_C(0x0468AD4C), UINT32_C(0x081DDD20), UINT32_C(0x64DF34AE),
12854           UINT32_C(0x32822EC3), UINT32_C(0x04B2192D), UINT32_C(0xE9F8D7C2),
12855           UINT32_C(0x918666F8), UINT32_C(0x6ABC7220)}},
12856         {{UINT32_C(0x04AF3956), UINT32_C(0x93330701), UINT32_C(0x872BD30D),
12857           UINT32_C(0xEEB7AA8E), UINT32_C(0xD0E67494), UINT32_C(0xFC96D106),
12858           UINT32_C(0x3A918DFB), UINT32_C(0x516028CF)},
12859          {UINT32_C(0xFB27B6EC), UINT32_C(0xFAF0B6F7), UINT32_C(0x515DA78D),
12860           UINT32_C(0x0FAD73AD), UINT32_C(0xD8CF1934), UINT32_C(0x5F136068),
12861           UINT32_C(0xB6052802), UINT32_C(0x0A526E04)}},
12862         {{UINT32_C(0xE4685212), UINT32_C(0x20DF0DEB), UINT32_C(0xA41B293F),
12863           UINT32_C(0x71D4BAC1), UINT32_C(0x2FA8BBAC), UINT32_C(0xBCC32A2F),
12864           UINT32_C(0xF30CC343), UINT32_C(0x32A8723A)},
12865          {UINT32_C(0xEF95ACFE), UINT32_C(0x71E6DAAF), UINT32_C(0x9F445394),
12866           UINT32_C(0x27D158F6), UINT32_C(0xE186B246), UINT32_C(0x2140F78D),
12867           UINT32_C(0xCB1C83AD), UINT32_C(0x4CAF98C3)}},
12868         {{UINT32_C(0xB6F63AA9), UINT32_C(0x94E264FC), UINT32_C(0x4D0FE485),
12869           UINT32_C(0xF4637B02), UINT32_C(0x069CCB4E), UINT32_C(0xA4BC0A03),
12870           UINT32_C(0x9E25E817), UINT32_C(0x99A81E37)},
12871          {UINT32_C(0x8F4D37BB), UINT32_C(0xE3B804A7), UINT32_C(0xE38E654C),
12872           UINT32_C(0x57F272A5), UINT32_C(0x05928F65), UINT32_C(0x00D1852C),
12873           UINT32_C(0x4345DD06), UINT32_C(0x3031B713)}},
12874         {{UINT32_C(0x57536140), UINT32_C(0x6E42AF11), UINT32_C(0x005A403F),
12875           UINT32_C(0xDC5B7CDC), UINT32_C(0x26527417), UINT32_C(0xE6EE185E),
12876           UINT32_C(0x7C685BCF), UINT32_C(0x1003D013)},
12877          {UINT32_C(0x192979E6), UINT32_C(0xC2206BF6), UINT32_C(0x6FE38214),
12878           UINT32_C(0xD1C370DB), UINT32_C(0x92F3C044), UINT32_C(0x78D105B7),
12879           UINT32_C(0xBFDF8DFA), UINT32_C(0x2F0DF6B8)}},
12880         {{UINT32_C(0x44D04C4A), UINT32_C(0xB02FCA38), UINT32_C(0xA44566C6),
12881           UINT32_C(0x956A2F7C), UINT32_C(0x9F1F09C6), UINT32_C(0x60672DF3),
12882           UINT32_C(0x2160C362), UINT32_C(0x6459A949)},
12883          {UINT32_C(0x08714451), UINT32_C(0xDAE54341), UINT32_C(0xBFFD7CF6),
12884           UINT32_C(0x48B77A0D), UINT32_C(0x3EDBC8D4), UINT32_C(0x615ADBFE),
12885           UINT32_C(0x35B67D2F), UINT32_C(0x3338E557)}},
12886         {{UINT32_C(0xDD24A0F0), UINT32_C(0x601D49D1), UINT32_C(0x48EF27B9),
12887           UINT32_C(0x60A48DB7), UINT32_C(0x97A8BAC6), UINT32_C(0x97F2212C),
12888           UINT32_C(0x155AB524), UINT32_C(0x376B0292)},
12889          {UINT32_C(0x62E2A961), UINT32_C(0xA25881BA), UINT32_C(0x2B8C56F7),
12890           UINT32_C(0xEB74CC80), UINT32_C(0xDA57C41A), UINT32_C(0xBE5C5DD4),
12891           UINT32_C(0x2D16AFA0), UINT32_C(0x53D0D037)}},
12892         {{UINT32_C(0xCA291206), UINT32_C(0xE47C9EAB), UINT32_C(0x42D5C667),
12893           UINT32_C(0x25DADB64), UINT32_C(0xD886993E), UINT32_C(0x8C154CB6),
12894           UINT32_C(0x806B932F), UINT32_C(0x11DEC39C)},
12895          {UINT32_C(0x13D4B4E5), UINT32_C(0x51A4DCF3), UINT32_C(0x9D1D822A),
12896           UINT32_C(0xAA1DAD6D), UINT32_C(0xCEEF2E29), UINT32_C(0x2BB2E14D),
12897           UINT32_C(0xB2343BE3), UINT32_C(0x429C13C7)}},
12898         {{UINT32_C(0x297F709D), UINT32_C(0x4E8E953F), UINT32_C(0x262D862A),
12899           UINT32_C(0x23183A3D), UINT32_C(0xEA12D93F), UINT32_C(0xE164A10D),
12900           UINT32_C(0xFE703920), UINT32_C(0x386C2873)},
12901          {UINT32_C(0xE5C51C7E), UINT32_C(0xD59E1582), UINT32_C(0x020F6A2E),
12902           UINT32_C(0xA8C93B5B), UINT32_C(0x160CD058), UINT32_C(0x51518BD0),
12903           UINT32_C(0xB1D38AC7), UINT32_C(0x3337801A)}},
12904         {{UINT32_C(0x2F5D9E25), UINT32_C(0x6E251533), UINT32_C(0xB0D6B0DB),
12905           UINT32_C(0x88E76135), UINT32_C(0x9E6762D1), UINT32_C(0x5C197832),
12906           UINT32_C(0x84E620AC), UINT32_C(0x12326773)},
12907          {UINT32_C(0x0E2694DD), UINT32_C(0x3B88DF27), UINT32_C(0x30A23CAA),
12908           UINT32_C(0x30FED9E3), UINT32_C(0xA23DF142), UINT32_C(0xE12DD93E),
12909           UINT32_C(0x2EA77C07), UINT32_C(0x06778F51)}},
12910     },
12911     {
12912         {{UINT32_C(0x49E5F6B4), UINT32_C(0x5D5BE00E), UINT32_C(0x721EF9DC),
12913           UINT32_C(0x2F47E7C7), UINT32_C(0x7EAFC098), UINT32_C(0x338F7B00),
12914           UINT32_C(0xAF8C2475), UINT32_C(0x0F5F06E3)},
12915          {UINT32_C(0x63122B22), UINT32_C(0x2A4B845C), UINT32_C(0x89A4CE9A),
12916           UINT32_C(0xED440060), UINT32_C(0x9A86D9BC), UINT32_C(0xC9EEB640),
12917           UINT32_C(0x2F39B439), UINT32_C(0x12C3E0F3)}},
12918         {{UINT32_C(0x17766F6C), UINT32_C(0xB444B88B), UINT32_C(0xA41FD692),
12919           UINT32_C(0xF9B100E6), UINT32_C(0x5C149B30), UINT32_C(0x81EAFCD1),
12920           UINT32_C(0x1D521A1E), UINT32_C(0x37DD6F6E)},
12921          {UINT32_C(0x389DCD6E), UINT32_C(0x14DBE8C3), UINT32_C(0x0DCBC7FC),
12922           UINT32_C(0xCD24D655), UINT32_C(0xE00F9102), UINT32_C(0x05F8D48E),
12923           UINT32_C(0x509D18D4), UINT32_C(0x403954E6)}},
12924         {{UINT32_C(0xE4FE16EC), UINT32_C(0xA04FDDDF), UINT32_C(0x90E15C0C),
12925           UINT32_C(0xB9E7FA73), UINT32_C(0xC77FAB6B), UINT32_C(0x7D6A7206),
12926           UINT32_C(0x3E221F12), UINT32_C(0x3FFDCCD1)},
12927          {UINT32_C(0x47B5BB7F), UINT32_C(0x120C05B1), UINT32_C(0x5B7E2B96),
12928           UINT32_C(0xFA3614C0), UINT32_C(0x4A6AC6E0), UINT32_C(0xF3A4F07F),
12929           UINT32_C(0xC8AD4F23), UINT32_C(0x0324BF48)}},
12930         {{UINT32_C(0x55DF2F18), UINT32_C(0x508A0370), UINT32_C(0xB872F209),
12931           UINT32_C(0x1C6C91EA), UINT32_C(0x8E12F437), UINT32_C(0xDC3F6C5A),
12932           UINT32_C(0xC91AFD75), UINT32_C(0x65F5058F)},
12933          {UINT32_C(0x5A859A1D), UINT32_C(0x0C43613D), UINT32_C(0x5BF96A6B),
12934           UINT32_C(0x83A2610E), UINT32_C(0x1496AEAD), UINT32_C(0x1A98AA4C),
12935           UINT32_C(0xE6CAA901), UINT32_C(0x3AB1CE5E)}},
12936         {{UINT32_C(0xFFB3E411), UINT32_C(0x9420ABFE), UINT32_C(0x31404E74),
12937           UINT32_C(0xCE609760), UINT32_C(0x02C49837), UINT32_C(0x3D4C23C5),
12938           UINT32_C(0xD0868A3C), UINT32_C(0x6B79FB14)},
12939          {UINT32_C(0x6B5861EA), UINT32_C(0xB4EEE8DB), UINT32_C(0x9D948195),
12940           UINT32_C(0x495E2B46), UINT32_C(0x1CE15EC9), UINT32_C(0x2BB0BD94),
12941           UINT32_C(0xDED25955), UINT32_C(0x6CE79F80)}},
12942         {{UINT32_C(0x5820DF65), UINT32_C(0xA6B98C1D), UINT32_C(0x909356B5),
12943           UINT32_C(0xE8284737), UINT32_C(0x091340E1), UINT32_C(0x38E8609A),
12944           UINT32_C(0x10666012), UINT32_C(0x98EC077B)},
12945          {UINT32_C(0xBF075DAE), UINT32_C(0xFB243B1E), UINT32_C(0xA270FE31),
12946           UINT32_C(0x32312BAC), UINT32_C(0x0CAA5F8E), UINT32_C(0x21451120),
12947           UINT32_C(0x2A515015), UINT32_C(0x8F60118F)}},
12948         {{UINT32_C(0xCBDEB88E), UINT32_C(0x4F211C9E), UINT32_C(0xB6D680FD),
12949           UINT32_C(0xF6D3CC3A), UINT32_C(0x8BF4B4A7), UINT32_C(0xE193829D),
12950           UINT32_C(0x2D620371), UINT32_C(0x3223EF4E)},
12951          {UINT32_C(0xC0E5245A), UINT32_C(0xC3E35420), UINT32_C(0xB4ADE2EA),
12952           UINT32_C(0xD3F4F894), UINT32_C(0xF2CE985E), UINT32_C(0x464FCB6C),
12953           UINT32_C(0x7B987FA7), UINT32_C(0x79CF596D)}},
12954         {{UINT32_C(0x0C0016FF), UINT32_C(0x0730748C), UINT32_C(0xA2949069),
12955           UINT32_C(0xD02115C5), UINT32_C(0x40E9C7F9), UINT32_C(0xAA6F794D),
12956           UINT32_C(0x79149C37), UINT32_C(0x9514FA7B)},
12957          {UINT32_C(0x5A46BCE0), UINT32_C(0x6E2F2778), UINT32_C(0x0837ACD5),
12958           UINT32_C(0xF55D46C6), UINT32_C(0x1E4223E6), UINT32_C(0xF965C468),
12959           UINT32_C(0x85D90A07), UINT32_C(0x0BFF0A91)}},
12960         {{UINT32_C(0x1923C8AF), UINT32_C(0x9ED90358), UINT32_C(0xA470AE00),
12961           UINT32_C(0xC425B633), UINT32_C(0x1C50FDAD), UINT32_C(0xF9F4B162),
12962           UINT32_C(0xA8CA2BD5), UINT32_C(0x0999D072)},
12963          {UINT32_C(0xAF74D4C3), UINT32_C(0xCB122FBD), UINT32_C(0x2C283752),
12964           UINT32_C(0x372C13F0), UINT32_C(0x82138B19), UINT32_C(0x9F42A903),
12965           UINT32_C(0x3EB8CB95), UINT32_C(0x573A2CEE)}},
12966         {{UINT32_C(0x3AC2E191), UINT32_C(0x6C3A6BE3), UINT32_C(0x1B222DB2),
12967           UINT32_C(0x4149E0EB), UINT32_C(0xA4AACC55), UINT32_C(0x5BA91005),
12968           UINT32_C(0x1BFADBD0), UINT32_C(0x176BD33D)},
12969          {UINT32_C(0xA8DA0FEA), UINT32_C(0x4AEAF14E), UINT32_C(0xA7FF8E1C),
12970           UINT32_C(0xB12401F9), UINT32_C(0x0F192414), UINT32_C(0xF1EF39AE),
12971           UINT32_C(0x416743C1), UINT32_C(0x95D433D3)}},
12972         {{UINT32_C(0x9AA0C238), UINT32_C(0x29ECF54D), UINT32_C(0x8FCA6419),
12973           UINT32_C(0x3762F1D7), UINT32_C(0x64D3AAA9), UINT32_C(0x761D786A),
12974           UINT32_C(0xDAEC7BF4), UINT32_C(0x7A8A677D)},
12975          {UINT32_C(0x324676F4), UINT32_C(0xC2829EAD), UINT32_C(0x4D0B291E),
12976           UINT32_C(0x4E504A47), UINT32_C(0xF8C4F384), UINT32_C(0x360CE7FE),
12977           UINT32_C(0x78CDA37D), UINT32_C(0x33A577B5)}},
12978         {{UINT32_C(0x333103FD), UINT32_C(0x1BBFC128), UINT32_C(0xE45C9DBE),
12979           UINT32_C(0x3D36045C), UINT32_C(0x15C9013D), UINT32_C(0xA8D53F5A),
12980           UINT32_C(0xA33FDCFD), UINT32_C(0x99D62F8A)},
12981          {UINT32_C(0x0A81F581), UINT32_C(0x73E53961), UINT32_C(0xD00BC0D9),
12982           UINT32_C(0xD01AD20E), UINT32_C(0x1F6D9B73), UINT32_C(0x59701F4D),
12983           UINT32_C(0xE098E536), UINT32_C(0x0F4EBFBC)}},
12984         {{UINT32_C(0x91E3C062), UINT32_C(0xBDB9368A), UINT32_C(0x9B17AAE5),
12985           UINT32_C(0xCD66A0B1), UINT32_C(0xB4537E05), UINT32_C(0xB6636DD7),
12986           UINT32_C(0x73B119CE), UINT32_C(0x37D94B8E)},
12987          {UINT32_C(0xC7428FF9), UINT32_C(0xA5F8E90F), UINT32_C(0xF8EA9F03),
12988           UINT32_C(0xE7E5B2B7), UINT32_C(0x5B3506DA), UINT32_C(0xB7F20FB8),
12989           UINT32_C(0xE494FFDA), UINT32_C(0x0F4AB6D5)}},
12990         {{UINT32_C(0x85365933), UINT32_C(0x3ACEE3BD), UINT32_C(0xBF510114),
12991           UINT32_C(0x9D5223D3), UINT32_C(0xA08D01B0), UINT32_C(0xE0D7D9A7),
12992           UINT32_C(0xB2F1F61F), UINT32_C(0x28FD329A)},
12993          {UINT32_C(0xA5909DD3), UINT32_C(0x3E16A2E2), UINT32_C(0xB4FECB35),
12994           UINT32_C(0x284A8708), UINT32_C(0x73D5BFBA), UINT32_C(0x190F7B3A),
12995           UINT32_C(0x92EE4BBE), UINT32_C(0x7E07982E)}},
12996         {{UINT32_C(0x44945687), UINT32_C(0xA30A4C22), UINT32_C(0xD688A301),
12997           UINT32_C(0x657C0F2E), UINT32_C(0xBBB3E65A), UINT32_C(0x9B558D4A),
12998           UINT32_C(0xA6E57844), UINT32_C(0x8044D57E)},
12999          {UINT32_C(0xE3957E21), UINT32_C(0xF202E50E), UINT32_C(0xCE62FCC9),
13000           UINT32_C(0x4957E651), UINT32_C(0xC4ECE0B8), UINT32_C(0xF7B9EBA4),
13001           UINT32_C(0x61167229), UINT32_C(0x29532CEC)}},
13002         {{UINT32_C(0x3EEF3D71), UINT32_C(0xE9DC8EA6), UINT32_C(0x3E8EC117),
13003           UINT32_C(0xEBF76BD4), UINT32_C(0x2EA072B9), UINT32_C(0x48CEB78D),
13004           UINT32_C(0x73EFC32D), UINT32_C(0x82ECDFC4)},
13005          {UINT32_C(0xE2C89E7D), UINT32_C(0x51B02CB3), UINT32_C(0xF4D9100F),
13006           UINT32_C(0xE9D0740C), UINT32_C(0x8A5E3F48), UINT32_C(0xBB556EFE),
13007           UINT32_C(0x1D01B44E), UINT32_C(0x864E52DA)}},
13008     },
13009     {
13010         {{UINT32_C(0x14EA6DC5), UINT32_C(0x5A75E0BD), UINT32_C(0x532EFED7),
13011           UINT32_C(0x09F2AA76), UINT32_C(0x83CE5A18), UINT32_C(0xE6DAE0A9),
13012           UINT32_C(0xCEB4E78D), UINT32_C(0x00F9BCB7)},
13013          {UINT32_C(0x71F79BF3), UINT32_C(0x128FB51C), UINT32_C(0x80D5DBC3),
13014           UINT32_C(0x78C79788), UINT32_C(0x9B816B9E), UINT32_C(0x2752F02C),
13015           UINT32_C(0xEB7622E2), UINT32_C(0x88CFBA0C)}},
13016         {{UINT32_C(0x268432A3), UINT32_C(0x845AB940), UINT32_C(0x2F94F6D3),
13017           UINT32_C(0xA8D0231B), UINT32_C(0xFEC02130), UINT32_C(0xBDFB3F91),
13018           UINT32_C(0x5F62419F), UINT32_C(0x07A61AE4)},
13019          {UINT32_C(0x192EBF1A), UINT32_C(0xD1C951DF), UINT32_C(0xFA232E34),
13020           UINT32_C(0x22CDCFF5), UINT32_C(0x3A7581DD), UINT32_C(0xDFDF121B),
13021           UINT32_C(0x710403A5), UINT32_C(0x9865ECA2)}},
13022         {{UINT32_C(0xF8180BAB), UINT32_C(0x609F4527), UINT32_C(0x50A6D914),
13023           UINT32_C(0x93AB1072), UINT32_C(0xE2EEE3BD), UINT32_C(0x299D5013),
13024           UINT32_C(0x42959C14), UINT32_C(0x36EFCE5B)},
13025          {UINT32_C(0x1045FFCB), UINT32_C(0x49CDA60D), UINT32_C(0x45723371),
13026           UINT32_C(0xA8B2492E), UINT32_C(0xF243FDBB), UINT32_C(0xCB75789B),
13027           UINT32_C(0x871D500D), UINT32_C(0x8E1079D7)}},
13028         {{UINT32_C(0xDB14298E), UINT32_C(0x69852694), UINT32_C(0x41A56B6D),
13029           UINT32_C(0xBAA92A95), UINT32_C(0x3DBFDBA4), UINT32_C(0xC7371848),
13030           UINT32_C(0x947747F8), UINT32_C(0x94B3155C)},
13031          {UINT32_C(0x7552426B), UINT32_C(0x97BCDD19), UINT32_C(0x32682121),
13032           UINT32_C(0x4FB3E76D), UINT32_C(0x8BC15FCA), UINT32_C(0x875AA0F7),
13033           UINT32_C(0xF1FD2315), UINT32_C(0x4065BCDF)}},
13034         {{UINT32_C(0xB7F1ED04), UINT32_C(0x2D1C0519), UINT32_C(0xEA2535E1),
13035           UINT32_C(0xED9A1BB7), UINT32_C(0xABAE813E), UINT32_C(0xE4728CD6),
13036           UINT32_C(0x21A771D0), UINT32_C(0x2CD7D447)},
13037          {UINT32_C(0x59B9E964), UINT32_C(0x88E2A785), UINT32_C(0x6F9B5374),
13038           UINT32_C(0x2677FBD7), UINT32_C(0x2645B626), UINT32_C(0x3967D6C5),
13039           UINT32_C(0x5A1C315B), UINT32_C(0x8843F7DF)}},
13040         {{UINT32_C(0xC7055A4E), UINT32_C(0x673CD273), UINT32_C(0xEE827873),
13041           UINT32_C(0x052AC45C), UINT32_C(0xCE1981F3), UINT32_C(0xC26B9214),
13042           UINT32_C(0x2B8EEF59), UINT32_C(0x3C39C13C)},
13043          {UINT32_C(0x0B276D47), UINT32_C(0xDD9E1B9B), UINT32_C(0x7287F9A1),
13044           UINT32_C(0x6729A534), UINT32_C(0x061DAD53), UINT32_C(0x43E1471C),
13045           UINT32_C(0x118B56C8), UINT32_C(0x6082FAD9)}},
13046         {{UINT32_C(0xF99186D6), UINT32_C(0x9C3872AA), UINT32_C(0x75AC99BF),
13047           UINT32_C(0x1D9E8DB6), UINT32_C(0xE338DBD3), UINT32_C(0x6FA7A0FF),
13048           UINT32_C(0xD1FEF2F9), UINT32_C(0x1EDF44EC)},
13049          {UINT32_C(0x1F9114BF), UINT32_C(0xBAF9D33A), UINT32_C(0x3007B6A5),
13050           UINT32_C(0x89AF08E5), UINT32_C(0x8436D917), UINT32_C(0xAA04B169),
13051           UINT32_C(0x6AFCF5E0), UINT32_C(0x8381E76A)}},
13052         {{UINT32_C(0xC1D799BA), UINT32_C(0xC51848A4), UINT32_C(0x7F40B34B),
13053           UINT32_C(0x6C3D43A9), UINT32_C(0xA5CB7B95), UINT32_C(0xE8DAE074),
13054           UINT32_C(0xBB5F8AEC), UINT32_C(0x5375B1EE)},
13055          {UINT32_C(0x507099E6), UINT32_C(0x461290EE), UINT32_C(0x3BAD89AD),
13056           UINT32_C(0xB95934AA), UINT32_C(0x701A4D9C), UINT32_C(0x9A6E5C22),
13057           UINT32_C(0x5E1389F6), UINT32_C(0x2CA79144)}},
13058         {{UINT32_C(0x0E5108FC), UINT32_C(0xBF82F786), UINT32_C(0x644D06DE),
13059           UINT32_C(0x3620CCC4), UINT32_C(0x8E5C4753), UINT32_C(0xB65DE853),
13060           UINT32_C(0x9FEDFD16), UINT32_C(0x6DAB7241)},
13061          {UINT32_C(0x546DCBA4), UINT32_C(0x4CECAC87), UINT32_C(0x3E2D0684),
13062           UINT32_C(0xA7BBE65D), UINT32_C(0xDA1E4FFA), UINT32_C(0x092AA490),
13063           UINT32_C(0x41AD32AF), UINT32_C(0x78F448BE)}},
13064         {{UINT32_C(0x4A33F071), UINT32_C(0x321580FE), UINT32_C(0x5EE5E685),
13065           UINT32_C(0xBEA845D1), UINT32_C(0x47AC8ACF), UINT32_C(0xC73CAECE),
13066           UINT32_C(0xA9F65F05), UINT32_C(0x0E15E55D)},
13067          {UINT32_C(0xA59506E7), UINT32_C(0x5FC47420), UINT32_C(0x01DBD2DD),
13068           UINT32_C(0x501417FF), UINT32_C(0xFB1205A6), UINT32_C(0x8EF23280),
13069           UINT32_C(0xE0F43AE8), UINT32_C(0x1AA26168)}},
13070         {{UINT32_C(0x8149EB2A), UINT32_C(0xD41F73B1), UINT32_C(0xAD95D531),
13071           UINT32_C(0xC297AF04), UINT32_C(0x749E415D), UINT32_C(0x2017176F),
13072           UINT32_C(0x8357CE9A), UINT32_C(0x5AF89C73)},
13073          {UINT32_C(0x08A0FF9C), UINT32_C(0x301F7C79), UINT32_C(0x98695C57),
13074           UINT32_C(0x0C2999B5), UINT32_C(0x6E4D8FF5), UINT32_C(0x85679957),
13075           UINT32_C(0x6F493B1C), UINT32_C(0x2CC0FF3E)}},
13076         {{UINT32_C(0x4AF481F5), UINT32_C(0xFE90F904), UINT32_C(0x31BC4919),
13077           UINT32_C(0x0562C78B), UINT32_C(0x70E4F140), UINT32_C(0xAA44AA56),
13078           UINT32_C(0xA175159A), UINT32_C(0x1B61DEB4)},
13079          {UINT32_C(0xA7A7E648), UINT32_C(0x85315DE1), UINT32_C(0x6C012B33),
13080           UINT32_C(0x4BC1F51D), UINT32_C(0x060CDEE6), UINT32_C(0x40CB5DE3),
13081           UINT32_C(0x32A1E138), UINT32_C(0x969F9196)}},
13082         {{UINT32_C(0xE05F23B5), UINT32_C(0x3B317508), UINT32_C(0x512D1156),
13083           UINT32_C(0x7B1A93AE), UINT32_C(0xCB58EC19), UINT32_C(0x3A283415),
13084           UINT32_C(0x8E27CAD9), UINT32_C(0x193A53A1)},
13085          {UINT32_C(0x03DE1BA8), UINT32_C(0xCF6BBEBA), UINT32_C(0x47A02393),
13086           UINT32_C(0xFA5544CA), UINT32_C(0x8627F5EB), UINT32_C(0x8B3AAC1A),
13087           UINT32_C(0x62EAF195), UINT32_C(0x02FAD2EC)}},
13088         {{UINT32_C(0x259CCF0F), UINT32_C(0x4F8D8ADA), UINT32_C(0x562991D7),
13089           UINT32_C(0xE4E6786B), UINT32_C(0x597C3FD3), UINT32_C(0xA1C63473),
13090           UINT32_C(0xACAB6F16), UINT32_C(0x1F5B9017)},
13091          {UINT32_C(0x592D437A), UINT32_C(0x95B201BD), UINT32_C(0xED14F859),
13092           UINT32_C(0x54432A75), UINT32_C(0x0B551AC1), UINT32_C(0x67EF73FB),
13093           UINT32_C(0x7F1AB9CA), UINT32_C(0x0A48F043)}},
13094         {{UINT32_C(0x4A35445C), UINT32_C(0xECEE508E), UINT32_C(0xB3EA6F9B),
13095           UINT32_C(0x80BE9F07), UINT32_C(0x87E4B78E), UINT32_C(0xD914B256),
13096           UINT32_C(0xF89B8E4B), UINT32_C(0x97F79CC9)},
13097          {UINT32_C(0xC359FB12), UINT32_C(0x6A5B4F2B), UINT32_C(0x99CF6FFA),
13098           UINT32_C(0x54E6E37A), UINT32_C(0xF7C66CA8), UINT32_C(0x1133C4B2),
13099           UINT32_C(0x0345866B), UINT32_C(0x6F679B28)}},
13100         {{UINT32_C(0x44E77CDF), UINT32_C(0x0006F7A1), UINT32_C(0x42033333),
13101           UINT32_C(0xD8077F9F), UINT32_C(0x21EAF35F), UINT32_C(0x0414ECE5),
13102           UINT32_C(0x5623803C), UINT32_C(0x1211576B)},
13103          {UINT32_C(0x140309A7), UINT32_C(0xEDADD215), UINT32_C(0x5EBAE3BB),
13104           UINT32_C(0xC349C657), UINT32_C(0x821DE06B), UINT32_C(0xBD40427C),
13105           UINT32_C(0x3F5D2F97), UINT32_C(0x8949ACA3)}},
13106     },
13107     {
13108         {{UINT32_C(0x022E3D44), UINT32_C(0xAC1F87E6), UINT32_C(0xB39F6B10),
13109           UINT32_C(0xDFC17BED), UINT32_C(0x07119C4A), UINT32_C(0xEAAE4168),
13110           UINT32_C(0xDBD47D36), UINT32_C(0x8B3B40BC)},
13111          {UINT32_C(0x861B7B59), UINT32_C(0x6683A561), UINT32_C(0x13A6C76D),
13112           UINT32_C(0xF9BFFB17), UINT32_C(0xA30A05AC), UINT32_C(0xE4E72EA4),
13113           UINT32_C(0xBA0D2AD6), UINT32_C(0x77C219E8)}},
13114         {{UINT32_C(0x66BE6944), UINT32_C(0x5019824E), UINT32_C(0x7B131070),
13115           UINT32_C(0x811ACEBE), UINT32_C(0x3BA34677), UINT32_C(0x9730DCF0),
13116           UINT32_C(0x7BC9CFC8), UINT32_C(0x5B9C5CF5)},
13117          {UINT32_C(0xB283C8CC), UINT32_C(0x1CBD950F), UINT32_C(0x3973A325),
13118           UINT32_C(0xF66DBDDA), UINT32_C(0x6FA60257), UINT32_C(0x4EC5EBC2),
13119           UINT32_C(0x36FF26B3), UINT32_C(0x0C01D577)}},
13120         {{UINT32_C(0x7CE2BE74), UINT32_C(0xBB221954), UINT32_C(0x841E6C0C),
13121           UINT32_C(0x23E44E0E), UINT32_C(0x77C3824E), UINT32_C(0xE760D33D),
13122           UINT32_C(0x7EB3CE34), UINT32_C(0x5B656FBE)},
13123          {UINT32_C(0xC5F3D66E), UINT32_C(0xEC50E509), UINT32_C(0x496EF8BA),
13124           UINT32_C(0x5326C2B8), UINT32_C(0x3D4B20D4), UINT32_C(0x3F9485F6),
13125           UINT32_C(0x51C21B0E), UINT32_C(0x11B74A85)}},
13126         {{UINT32_C(0x25E30336), UINT32_C(0xC3EAEB04), UINT32_C(0xA6E3637F),
13127           UINT32_C(0xA9D6C70F), UINT32_C(0x86F77F68), UINT32_C(0xF818C37E),
13128           UINT32_C(0xC60DF35A), UINT32_C(0x786ED3C2)},
13129          {UINT32_C(0xD56D705A), UINT32_C(0xACA70EA0), UINT32_C(0x7BF4EF10),
13130           UINT32_C(0xCE61608C), UINT32_C(0x1722C179), UINT32_C(0x49AD1CD8),
13131           UINT32_C(0x687F3222), UINT32_C(0x1B84FBE9)}},
13132         {{UINT32_C(0x35EE0BA9), UINT32_C(0x8A0F4BF1), UINT32_C(0x03952A08),
13133           UINT32_C(0x42AD2846), UINT32_C(0x3B60B4DD), UINT32_C(0x1E0E1E3B),
13134           UINT32_C(0xF5DCAD76), UINT32_C(0x0DC1A947)},
13135          {UINT32_C(0x1F496E03), UINT32_C(0x054BECA4), UINT32_C(0x3AE6E6F6),
13136           UINT32_C(0x8F02FDAB), UINT32_C(0x9B71C9F5), UINT32_C(0x8851CFF4),
13137           UINT32_C(0xA7441F87), UINT32_C(0x6BD7271C)}},
13138         {{UINT32_C(0x9EB6A2C3), UINT32_C(0xB019E346), UINT32_C(0x931E7550),
13139           UINT32_C(0x2B719034), UINT32_C(0x40698F1F), UINT32_C(0x2B2CBEBD),
13140           UINT32_C(0x4F1FC587), UINT32_C(0x375DB591)},
13141          {UINT32_C(0x676A79A4), UINT32_C(0x09843166), UINT32_C(0xB416D657),
13142           UINT32_C(0x91848967), UINT32_C(0x9FED6B27), UINT32_C(0xB49EA721),
13143           UINT32_C(0xD080C8AA), UINT32_C(0x1FAC5650)}},
13144         {{UINT32_C(0x58C4C2AA), UINT32_C(0x205CD588), UINT32_C(0x17F572EE),
13145           UINT32_C(0xBEEE26F8), UINT32_C(0x4CB4DE3A), UINT32_C(0xE744AB67),
13146           UINT32_C(0xCBE989BD), UINT32_C(0x37E34E18)},
13147          {UINT32_C(0x767D31B5), UINT32_C(0x95D9118B), UINT32_C(0x83E7C03E),
13148           UINT32_C(0x9A34DBEC), UINT32_C(0xB8F70DD3), UINT32_C(0xCAFDBD1A),
13149           UINT32_C(0x3909BB51), UINT32_C(0x1E68A681)}},
13150         {{UINT32_C(0x9FD96ABA), UINT32_C(0xFE0A5DFF), UINT32_C(0xD99B68DE),
13151           UINT32_C(0xBBFB1FDF), UINT32_C(0xE3F522BE), UINT32_C(0x5E232A4F),
13152           UINT32_C(0xA6428D33), UINT32_C(0x768C2C54)},
13153          {UINT32_C(0xDBF1A575), UINT32_C(0xE9CFEDF9), UINT32_C(0x4B83F9AB),
13154           UINT32_C(0x841721F2), UINT32_C(0x80A85361), UINT32_C(0xFAD9650A),
13155           UINT32_C(0x04979759), UINT32_C(0x31589211)}},
13156         {{UINT32_C(0xEFBF2099), UINT32_C(0x1CF9F4B8), UINT32_C(0xF571408B),
13157           UINT32_C(0x63D5499B), UINT32_C(0xEC3E74A6), UINT32_C(0x89C119FC),
13158           UINT32_C(0x698E4DCD), UINT32_C(0x0525DDDF)},
13159          {UINT32_C(0x7333A38C), UINT32_C(0x43FCDDE4), UINT32_C(0x80A912DE),
13160           UINT32_C(0x2150EAD4), UINT32_C(0x0A19CC55), UINT32_C(0x4B3BD223),
13161           UINT32_C(0x238AC64C), UINT32_C(0x3553EB4E)}},
13162         {{UINT32_C(0xFEC2371F), UINT32_C(0x3A259F52), UINT32_C(0x44863D3E),
13163           UINT32_C(0x8B03C505), UINT32_C(0x86BB6522), UINT32_C(0x1053E2D6),
13164           UINT32_C(0xF7086CBE), UINT32_C(0x400CE699)},
13165          {UINT32_C(0x03ED78DE), UINT32_C(0x695B1EA0), UINT32_C(0x16500E1B),
13166           UINT32_C(0x00AE6D09), UINT32_C(0x14B01815), UINT32_C(0x9F29B089),
13167           UINT32_C(0xC218D892), UINT32_C(0x269692B4)}},
13168         {{UINT32_C(0xF0D44E79), UINT32_C(0x8660280D), UINT32_C(0x37C0F38F),
13169           UINT32_C(0x69D29685), UINT32_C(0xB9E24AD8), UINT32_C(0x664B8146),
13170           UINT32_C(0x1E695452), UINT32_C(0x277CB4DD)},
13171          {UINT32_C(0xDFBF05EB), UINT32_C(0xB1A02D4E), UINT32_C(0x4A1426C7),
13172           UINT32_C(0x3B349308), UINT32_C(0x22204FE7), UINT32_C(0x13B79612),
13173           UINT32_C(0xBCB5CD9F), UINT32_C(0x04F80867)}},
13174         {{UINT32_C(0xE0852CBC), UINT32_C(0x37BDBCAE), UINT32_C(0xBE22764C),
13175           UINT32_C(0x2A6D7A23), UINT32_C(0x25AFD9FF), UINT32_C(0x4E0D43AC),
13176           UINT32_C(0xD16DD9EB), UINT32_C(0x1F6C9E14)},
13177          {UINT32_C(0xB4B0F47A), UINT32_C(0xE37E3AB3), UINT32_C(0x6C476C3A),
13178           UINT32_C(0x09E046FB), UINT32_C(0xB75FA2DC), UINT32_C(0xB8F649D9),
13179           UINT32_C(0xFAB1AC41), UINT32_C(0x7962A8C4)}},
13180         {{UINT32_C(0xF6A1314A), UINT32_C(0x00E41470), UINT32_C(0xE4388464),
13181           UINT32_C(0x176380C3), UINT32_C(0x9B8A2B4D), UINT32_C(0xDB3405CD),
13182           UINT32_C(0x7DE02ABC), UINT32_C(0x6299A1A6)},
13183          {UINT32_C(0x7BBE7BFA), UINT32_C(0x9F6B9DE7), UINT32_C(0x9D3098DD),
13184           UINT32_C(0x59F16F54), UINT32_C(0x3B5767FE), UINT32_C(0xFEC29C8D),
13185           UINT32_C(0x64955759), UINT32_C(0x67711BC0)}},
13186         {{UINT32_C(0xB1B07B5D), UINT32_C(0x34444EA3), UINT32_C(0x91FA2B4A),
13187           UINT32_C(0xB1D973B4), UINT32_C(0x83403A0E), UINT32_C(0xEBEBEFB1),
13188           UINT32_C(0x8E8A8EC6), UINT32_C(0x56D52098)},
13189          {UINT32_C(0xA7E82D55), UINT32_C(0x11C93529), UINT32_C(0xD525C399),
13190           UINT32_C(0x9230AE03), UINT32_C(0x8DB46C82), UINT32_C(0x74E1CBB2),
13191           UINT32_C(0x40BE5E15), UINT32_C(0x4C3383CC)}},
13192         {{UINT32_C(0xCDAD72F3), UINT32_C(0x33A52E73), UINT32_C(0xB9E77759),
13193           UINT32_C(0x1D2CCA33), UINT32_C(0x549406F5), UINT32_C(0x26717716),
13194           UINT32_C(0x5B3DB3E8), UINT32_C(0x70DED57F)},
13195          {UINT32_C(0x43C85A67), UINT32_C(0xBA38F813), UINT32_C(0x35422BB3),
13196           UINT32_C(0x956F2DD7), UINT32_C(0x07486F18), UINT32_C(0x52D9FA99),
13197           UINT32_C(0x75D1D2C4), UINT32_C(0x655791BF)}},
13198         {{UINT32_C(0x1FC9E0B3), UINT32_C(0xF434A960), UINT32_C(0xBEDE92AD),
13199           UINT32_C(0x42A7B891), UINT32_C(0xA55A8009), UINT32_C(0x05A182D8),
13200           UINT32_C(0x38531612), UINT32_C(0x3404E08D)},
13201          {UINT32_C(0xF07D76E3), UINT32_C(0x2B5B2766), UINT32_C(0x1D77B90C),
13202           UINT32_C(0x94B1A98D), UINT32_C(0x4B18BB9F), UINT32_C(0xA86C0EC8),
13203           UINT32_C(0x526A81E3), UINT32_C(0x6532770F)}},
13204     },
13205     {
13206         {{UINT32_C(0x61CFE04A), UINT32_C(0x4429A4E8), UINT32_C(0x2C9CA012),
13207           UINT32_C(0xEE867386), UINT32_C(0xC32D1969), UINT32_C(0x237A3040),
13208           UINT32_C(0x0AE2DFAE), UINT32_C(0x400AD599)},
13209          {UINT32_C(0x213C0A18), UINT32_C(0x1603D10A), UINT32_C(0x2B1E2A57),
13210           UINT32_C(0x6EB8042D), UINT32_C(0xC7CAF556), UINT32_C(0x4C9C1696),
13211           UINT32_C(0xE0C1A5A3), UINT32_C(0x79BE04A7)}},
13212         {{UINT32_C(0x3FCB8B14), UINT32_C(0x161781E3), UINT32_C(0xB1384C3C),
13213           UINT32_C(0x1383E3B8), UINT32_C(0xB566626C), UINT32_C(0x5129EA19),
13214           UINT32_C(0x551DE02A), UINT32_C(0x8A1F86E4)},
13215          {UINT32_C(0xAEDBE04C), UINT32_C(0x9C648CCE), UINT32_C(0xFB200132),
13216           UINT32_C(0x0D4278AC), UINT32_C(0xC1E2D4A3), UINT32_C(0x466D452A),
13217           UINT32_C(0xB21B6E38), UINT32_C(0x832B0E6E)}},
13218         {{UINT32_C(0xED1D76C7), UINT32_C(0x20101D7C), UINT32_C(0xC110D85E),
13219           UINT32_C(0xC3282661), UINT32_C(0xFFCA2DD7), UINT32_C(0xB8026CE4),
13220           UINT32_C(0x8BA48211), UINT32_C(0x73B4EBA5)},
13221          {UINT32_C(0xD8554E2C), UINT32_C(0xAB94FE21), UINT32_C(0x81B2A181),
13222           UINT32_C(0x319E2FD7), UINT32_C(0x37E8D3E2), UINT32_C(0x2C824DC5),
13223           UINT32_C(0x09FCA0AB), UINT32_C(0x97CD457A)}},
13224         {{UINT32_C(0xC50116CB), UINT32_C(0x8E4B5FBD), UINT32_C(0xCA631A93),
13225           UINT32_C(0x3D20CECE), UINT32_C(0x545575D8), UINT32_C(0x5F80606C),
13226           UINT32_C(0xF91C7908), UINT32_C(0x45ED55DE)},
13227          {UINT32_C(0x7CC1083C), UINT32_C(0x91870A92), UINT32_C(0xD360FF5C),
13228           UINT32_C(0xA3828E06), UINT32_C(0x84003D42), UINT32_C(0xFC9DFCDC),
13229           UINT32_C(0xFAC4667F), UINT32_C(0x0733C887)}},
13230         {{UINT32_C(0xCC2FC31B), UINT32_C(0x6F1F771A), UINT32_C(0x902E8176),
13231           UINT32_C(0xDA9351A1), UINT32_C(0xCE3FF045), UINT32_C(0xFB9395AF),
13232           UINT32_C(0x13820DAB), UINT32_C(0x17C28CA2)},
13233          {UINT32_C(0xA684E6FA), UINT32_C(0xA1F596BC), UINT32_C(0xDAD3995A),
13234           UINT32_C(0x89228CC7), UINT32_C(0xC02E458B), UINT32_C(0x5DBFD421),
13235           UINT32_C(0xA2122AFE), UINT32_C(0x58C25045)}},
13236         {{UINT32_C(0x018EADB0), UINT32_C(0x2906450F), UINT32_C(0x9030C84E),
13237           UINT32_C(0x88A7A236), UINT32_C(0x33308084), UINT32_C(0x492BA7A3),
13238           UINT32_C(0x5605F371), UINT32_C(0x321388B9)},
13239          {UINT32_C(0x626AE19A), UINT32_C(0x5F934C94), UINT32_C(0x01C7CCD9),
13240           UINT32_C(0xE2BD6C67), UINT32_C(0xEC0BBD52), UINT32_C(0xB07757B1),
13241           UINT32_C(0xF9EDD2AC), UINT32_C(0x1E980338)}},
13242         {{UINT32_C(0x8831457C), UINT32_C(0x5A537074), UINT32_C(0x47E7B9A9),
13243           UINT32_C(0x0E0E22FB), UINT32_C(0xA225A259), UINT32_C(0x7BE70594),
13244           UINT32_C(0x30946816), UINT32_C(0x433DB055)},
13245          {UINT32_C(0xE2F2C3CB), UINT32_C(0x852EA9F9), UINT32_C(0x2D243848),
13246           UINT32_C(0xDC4E8E3A), UINT32_C(0x1E887770), UINT32_C(0x10F34AB8),
13247           UINT32_C(0xC89FC71B), UINT32_C(0x29795D2C)}},
13248         {{UINT32_C(0xCFEC2C6F), UINT32_C(0xE046B04B), UINT32_C(0x2CA8256E),
13249           UINT32_C(0xA1D3B5A0), UINT32_C(0xE87F767F), UINT32_C(0x93F7FDFA),
13250           UINT32_C(0x35FA3837), UINT32_C(0x2DF5693E)},
13251          {UINT32_C(0x97884587), UINT32_C(0x71D9638C), UINT32_C(0x39E115EC),
13252           UINT32_C(0x175EA91F), UINT32_C(0xF41A27FC), UINT32_C(0x14E16C31),
13253           UINT32_C(0xEB2F5913), UINT32_C(0x8B2682EA)}},
13254         {{UINT32_C(0x798C7F28), UINT32_C(0x2BCC6853), UINT32_C(0xDD7D3615),
13255           UINT32_C(0x2F985A59), UINT32_C(0x41D2257A), UINT32_C(0xA66519E1),
13256           UINT32_C(0x021F719B), UINT32_C(0x18731D74)},
13257          {UINT32_C(0x360E9C20), UINT32_C(0x7210472C), UINT32_C(0x329A9B35),
13258           UINT32_C(0x4FB48411), UINT32_C(0x87D62CA5), UINT32_C(0xB33B6CB5),
13259           UINT32_C(0xFD0D7703), UINT32_C(0x86226D9E)}},
13260         {{UINT32_C(0xF67CB77C), UINT32_C(0xDD133F8B), UINT32_C(0xF6ABEE80),
13261           UINT32_C(0x381E4D62), UINT32_C(0x7DF85AE5), UINT32_C(0x3236F005),
13262           UINT32_C(0x4610BB0E), UINT32_C(0x88EBB386)},
13263          {UINT32_C(0x8DB908D8), UINT32_C(0x895AA539), UINT32_C(0x104C4633),
13264           UINT32_C(0x848142E6), UINT32_C(0xB8012B2E), UINT32_C(0x467EE770),
13265           UINT32_C(0x1B9210EE), UINT32_C(0x193CBAED)}},
13266         {{UINT32_C(0xC1F44FC1), UINT32_C(0x737CD32B), UINT32_C(0x522B6209),
13267           UINT32_C(0xCDF82B1C), UINT32_C(0xE0017F2A), UINT32_C(0x08F4BB70),
13268           UINT32_C(0x64738F26), UINT32_C(0x1565BCEF)},
13269          {UINT32_C(0x684DCF67), UINT32_C(0x0D2910B9), UINT32_C(0xC6F3EB81),
13270           UINT32_C(0x4ED1734B), UINT32_C(0xDA1D6BC8), UINT32_C(0xCBEA79B6),
13271           UINT32_C(0xEE6A41D6), UINT32_C(0x0470CE36)}},
13272         {{UINT32_C(0xBA05AF3C), UINT32_C(0xECFD5C66), UINT32_C(0xEB9BFAA8),
13273           UINT32_C(0x421D5540), UINT32_C(0x526CFF85), UINT32_C(0xFC0E5AF2),
13274           UINT32_C(0x53DC49A6), UINT32_C(0x7E17F1E6)},
13275          {UINT32_C(0x1FAEB0A2), UINT32_C(0x69BB1DFB), UINT32_C(0xB3785ED4),
13276           UINT32_C(0xDC95661A), UINT32_C(0x676D7CD0), UINT32_C(0x1F1D7395),
13277           UINT32_C(0x89C6412F), UINT32_C(0x2C16BB96)}},
13278         {{UINT32_C(0xEE414CA6), UINT32_C(0x2335F20E), UINT32_C(0xFEF5E042),
13279           UINT32_C(0x56E0DDB2), UINT32_C(0xD9DE2966), UINT32_C(0x942D4E35),
13280           UINT32_C(0xCF63D583), UINT32_C(0x80E92B8C)},
13281          {UINT32_C(0x5D492C76), UINT32_C(0x158BE1B6), UINT32_C(0xC4F822D9),
13282           UINT32_C(0xFF096960), UINT32_C(0x5AF79379), UINT32_C(0xC00FC730),
13283           UINT32_C(0x50D34E12), UINT32_C(0x07C49B03)}},
13284         {{UINT32_C(0xC34836C8), UINT32_C(0x64678B2E), UINT32_C(0x615FF066),
13285           UINT32_C(0xCC280DCB), UINT32_C(0x9131EC98), UINT32_C(0x86C3C747),
13286           UINT32_C(0x2D151FAD), UINT32_C(0x35B008CC)},
13287          {UINT32_C(0xF8133FDC), UINT32_C(0x22C18852), UINT32_C(0x2FE8809D),
13288           UINT32_C(0x183BE4DC), UINT32_C(0xCF98D56D), UINT32_C(0x86589814),
13289           UINT32_C(0x2F6E0DE4), UINT32_C(0x52D8074D)}},
13290         {{UINT32_C(0xC9274AA6), UINT32_C(0x33FF9F41), UINT32_C(0xCA854AF1),
13291           UINT32_C(0xAC30ACB4), UINT32_C(0xFBC994B7), UINT32_C(0x87A7BE53),
13292           UINT32_C(0xDBCD717B), UINT32_C(0x6E7E8B2A)},
13293          {UINT32_C(0xCD494AB6), UINT32_C(0x3065A732), UINT32_C(0x60FD7F57),
13294           UINT32_C(0x6F977B87), UINT32_C(0xB74BAD54), UINT32_C(0x4C216EB4),
13295           UINT32_C(0xF6061F7A), UINT32_C(0x674F00F5)}},
13296         {{UINT32_C(0x3164AFBB), UINT32_C(0xA8C22481), UINT32_C(0x72A7AC55),
13297           UINT32_C(0x4C9E2F1D), UINT32_C(0x79DEFE94), UINT32_C(0xE3DAC3E3),
13298           UINT32_C(0xBB9D953F), UINT32_C(0x193A1E0B)},
13299          {UINT32_C(0x7E0957EE), UINT32_C(0x8852020C), UINT32_C(0xB62F8EF7),
13300           UINT32_C(0xF7FD181E), UINT32_C(0xE26B8860), UINT32_C(0x0DE7EDDE),
13301           UINT32_C(0xFD1B00DE), UINT32_C(0x53A05575)}},
13302     },
13303     {
13304         {{UINT32_C(0x63E0C8FC), UINT32_C(0xE5D63E1B), UINT32_C(0xC684016A),
13305           UINT32_C(0x6849B530), UINT32_C(0x009318AD), UINT32_C(0x4E89CB43),
13306           UINT32_C(0xEF571911), UINT32_C(0x1CDC5918)},
13307          {UINT32_C(0xF389EAF3), UINT32_C(0xA6596C03), UINT32_C(0xE88975F9),
13308           UINT32_C(0x9282C1B3), UINT32_C(0x0D53D3F2), UINT32_C(0xD07A2AEF),
13309           UINT32_C(0x2B3B602C), UINT32_C(0x3DA515D5)}},
13310         {{UINT32_C(0x8A5436EA), UINT32_C(0xE4285781), UINT32_C(0x36D65626),
13311           UINT32_C(0x047E3056), UINT32_C(0xE16489A0), UINT32_C(0x0016B568),
13312           UINT32_C(0x75A0209C), UINT32_C(0x44603196)},
13313          {UINT32_C(0xBCC19754), UINT32_C(0x2BE99A51), UINT32_C(0x5ACFCDEF),
13314           UINT32_C(0xE02EAFD0), UINT32_C(0xAECACABB), UINT32_C(0xB0A1E300),
13315           UINT32_C(0xAC1860D9), UINT32_C(0x0F39CBDE)}},
13316         {{UINT32_C(0x2099F08E), UINT32_C(0x50DA5372), UINT32_C(0xCA4817B1),
13317           UINT32_C(0xAA6AAAD1), UINT32_C(0x57D73192), UINT32_C(0xA4DDC5FF),
13318           UINT32_C(0x7682D453), UINT32_C(0x046043AC)},
13319          {UINT32_C(0x28CF3F48), UINT32_C(0xC8EB1788), UINT32_C(0xDCA184D4),
13320           UINT32_C(0x3967A02F), UINT32_C(0x86221941), UINT32_C(0x0CE68B79),
13321           UINT32_C(0xFD3A197A), UINT32_C(0x27BDCA48)}},
13322         {{UINT32_C(0x563D7A91), UINT32_C(0xD774E33C), UINT32_C(0x07AE1C92),
13323           UINT32_C(0x1C309DAE), UINT32_C(0x57DBE6A8), UINT32_C(0xDABA89B4),
13324           UINT32_C(0xE5820FA4), UINT32_C(0x90C62517)},
13325          {UINT32_C(0x11371109), UINT32_C(0x23C64605), UINT32_C(0x15605666),
13326           UINT32_C(0x1176AE7E), UINT32_C(0xDF040DCB), UINT32_C(0xD71E9755),
13327           UINT32_C(0x62ED515C), UINT32_C(0x5312A5B3)}},
13328         {{UINT32_C(0x7A5FB9E0), UINT32_C(0xB7AA3A11), UINT32_C(0x18E2CB32),
13329           UINT32_C(0xA769BC72), UINT32_C(0x6B73E050), UINT32_C(0x9D551B9B),
13330           UINT32_C(0xDB067CBC), UINT32_C(0x0CE51DF0)},
13331          {UINT32_C(0x4A0E06BE), UINT32_C(0x00BF90D5), UINT32_C(0x7EE820E7),
13332           UINT32_C(0xFEC6E7B3), UINT32_C(0x3334937A), UINT32_C(0xDFBAC083),
13333           UINT32_C(0xCE14CF46), UINT32_C(0x46884935)}},
13334         {{UINT32_C(0x902EF3A9), UINT32_C(0xC3F31EAF), UINT32_C(0x5CCDF002),
13335           UINT32_C(0xF3B6E6FA), UINT32_C(0x88CDDE0F), UINT32_C(0x5A9B5321),
13336           UINT32_C(0xE8691FED), UINT32_C(0x00D99E43)},
13337          {UINT32_C(0xCFE02C8B), UINT32_C(0x8E786F52), UINT32_C(0x4DD36F8E),
13338           UINT32_C(0x587AA537), UINT32_C(0x425CC228), UINT32_C(0xBCA91CAC),
13339           UINT32_C(0xBFA9C36B), UINT32_C(0x80AA8AA9)}},
13340         {{UINT32_C(0x9B20505A), UINT32_C(0xAD4A2AD0), UINT32_C(0x16739066),
13341           UINT32_C(0x6D708029), UINT32_C(0x89F73B52), UINT32_C(0x729001F3),
13342           UINT32_C(0x8073A428), UINT32_C(0x77480347)},
13343          {UINT32_C(0xE84DB3B4), UINT32_C(0x1AB38F07), UINT32_C(0xA6655769),
13344           UINT32_C(0xE643D756), UINT32_C(0x46C19856), UINT32_C(0x5631359B),
13345           UINT32_C(0x01C3DCD1), UINT32_C(0x82530A32)}},
13346         {{UINT32_C(0x2DDDB968), UINT32_C(0x9250EC26), UINT32_C(0x8D82A03E),
13347           UINT32_C(0x63D99CBF), UINT32_C(0x41349B60), UINT32_C(0x4FBFE784),
13348           UINT32_C(0xA15BF2B7), UINT32_C(0x6977DD07)},
13349          {UINT32_C(0x68513C32), UINT32_C(0x771917C6), UINT32_C(0x8F0064F7),
13350           UINT32_C(0x02603518), UINT32_C(0x51D78637), UINT32_C(0x45A57429),
13351           UINT32_C(0x87293790), UINT32_C(0x56BF57CC)}},
13352         {{UINT32_C(0x032E6426), UINT32_C(0xBAC94E24), UINT32_C(0xC2531B26),
13353           UINT32_C(0x7D54AE34), UINT32_C(0xCD688082), UINT32_C(0x4D6EF608),
13354           UINT32_C(0xF5AA4BEE), UINT32_C(0x736E7ACF)},
13355          {UINT32_C(0x6AFB84E2), UINT32_C(0x41D5BF6C), UINT32_C(0x6E976E09),
13356           UINT32_C(0x40E12DA5), UINT32_C(0x2235F7B9), UINT32_C(0xCBF32FCB),
13357           UINT32_C(0xA21BC0E0), UINT32_C(0x285DDF46)}},
13358         {{UINT32_C(0xCE751632), UINT32_C(0x66C6A76E), UINT32_C(0x32A61A1D),
13359           UINT32_C(0xBD457D0E), UINT32_C(0x78191C57), UINT32_C(0xFA12A7C8),
13360           UINT32_C(0x06611B5E), UINT32_C(0x030ED98B)},
13361          {UINT32_C(0xF4972FFD), UINT32_C(0x199F7756), UINT32_C(0x9C8AAB09),
13362           UINT32_C(0x298D98E6), UINT32_C(0xC5B02158), UINT32_C(0x2186054C),
13363           UINT32_C(0xB9B1147A), UINT32_C(0x0736CE4C)}},
13364         {{UINT32_C(0x19BFA57D), UINT32_C(0x33E4A4CA), UINT32_C(0xAA70C35D),
13365           UINT32_C(0xF02F6D32), UINT32_C(0x3CC082FD), UINT32_C(0x9EA10B63),
13366           UINT32_C(0xD00E82A8), UINT32_C(0x86104E8E)},
13367          {UINT32_C(0x87797E25), UINT32_C(0xACBA5E73), UINT32_C(0xEB85A796),
13368           UINT32_C(0x24DD98A8), UINT32_C(0xC58AC480), UINT32_C(0x02748827),
13369           UINT32_C(0x6A932D80), UINT32_C(0x5B4480C7)}},
13370         {{UINT32_C(0x1992B174), UINT32_C(0xF9E210FB), UINT32_C(0xBE22636E),
13371           UINT32_C(0x3CFA6EF1), UINT32_C(0x3BDFA2BD), UINT32_C(0xA46F202B),
13372           UINT32_C(0x441B96D2), UINT32_C(0x8C83B3DA)},
13373          {UINT32_C(0x8AA39AB4), UINT32_C(0x3BB2ED8B), UINT32_C(0x9CE53FB2),
13374           UINT32_C(0x4DB63B23), UINT32_C(0x46DC2104), UINT32_C(0x24AC8A98),
13375           UINT32_C(0x68E20D1B), UINT32_C(0x997BC4A7)}},
13376         {{UINT32_C(0xD1C0D629), UINT32_C(0x4CDF8757), UINT32_C(0xA64B6058),
13377           UINT32_C(0xBA155719), UINT32_C(0xBE3FB0B1), UINT32_C(0x82FD0DA3),
13378           UINT32_C(0x03E34CB1), UINT32_C(0x12F50694)},
13379          {UINT32_C(0x02E7DFEB), UINT32_C(0x8993EE38), UINT32_C(0x3D7A758E),
13380           UINT32_C(0x2FC240C6), UINT32_C(0xAFF7CC7B), UINT32_C(0x75CB6F62),
13381           UINT32_C(0x71B02A5B), UINT32_C(0x2D73F74D)}},
13382         {{UINT32_C(0x550ADA69), UINT32_C(0x0B7B920A), UINT32_C(0xD2F1D5C2),
13383           UINT32_C(0x87D29F08), UINT32_C(0xEEA99A38), UINT32_C(0x6E36EF9C),
13384           UINT32_C(0x79D7626A), UINT32_C(0x624874C1)},
13385          {UINT32_C(0x17F026E0), UINT32_C(0x9FCA1B2E), UINT32_C(0xA3A79C2E),
13386           UINT32_C(0xBDBE18E5), UINT32_C(0x6E1B0C6D), UINT32_C(0x1506DE6A),
13387           UINT32_C(0xAD2A2C5F), UINT32_C(0x860CCD71)}},
13388         {{UINT32_C(0x28715EF9), UINT32_C(0x00A15CB0), UINT32_C(0xB1C0ED6D),
13389           UINT32_C(0x71F337D8), UINT32_C(0xF998251E), UINT32_C(0xBD7E6892),
13390           UINT32_C(0x08E0A4E9), UINT32_C(0x4C5AB311)},
13391          {UINT32_C(0x567342FB), UINT32_C(0xDFD51293), UINT32_C(0x5AE3193B),
13392           UINT32_C(0xF202FCD1), UINT32_C(0xAF59A5A2), UINT32_C(0xE317C933),
13393           UINT32_C(0x5055DE2A), UINT32_C(0x300FE083)}},
13394         {{UINT32_C(0xC58E7AE9), UINT32_C(0x279A071A), UINT32_C(0x4C718A8B),
13395           UINT32_C(0xCED1F2F4), UINT32_C(0x5FE7F6E5), UINT32_C(0x3A8C0D1A),
13396           UINT32_C(0xBB40DA93), UINT32_C(0x789C9B04)},
13397          {UINT32_C(0xBF2A0B9B), UINT32_C(0xBB7EA922), UINT32_C(0x3A484413),
13398           UINT32_C(0x5DD7A04A), UINT32_C(0xC5912F93), UINT32_C(0x3E1F49FB),
13399           UINT32_C(0x61ECAB05), UINT32_C(0x4D8C07A5)}},
13400     },
13401     {
13402         {{UINT32_C(0x9706D4CF), UINT32_C(0x7D351007), UINT32_C(0xB9BABB1F),
13403           UINT32_C(0x3E2B3D2E), UINT32_C(0xA2E423EA), UINT32_C(0xC73745BF),
13404           UINT32_C(0xF59601A0), UINT32_C(0x0AB3940A)},
13405          {UINT32_C(0x2A895C4F), UINT32_C(0x8881507A), UINT32_C(0x68652263),
13406           UINT32_C(0xF27F6F40), UINT32_C(0x88A416BE), UINT32_C(0xCFD91814),
13407           UINT32_C(0x1B4F51F6), UINT32_C(0x13459BC3)}},
13408         {{UINT32_C(0x01C7C38A), UINT32_C(0x6D830E0C), UINT32_C(0xE27DA48A),
13409           UINT32_C(0xBA912BD4), UINT32_C(0x4AB8B5A6), UINT32_C(0x3828F433),
13410           UINT32_C(0xE35E88DA), UINT32_C(0x3F858E6C)},
13411          {UINT32_C(0x6E1C033C), UINT32_C(0x137F2E3A), UINT32_C(0x7E670398),
13412           UINT32_C(0xFC7C8953), UINT32_C(0xF5C3D4DB), UINT32_C(0x6FF761CE),
13413           UINT32_C(0xEED1029B), UINT32_C(0x53A02906)}},
13414         {{UINT32_C(0x56779C20), UINT32_C(0x5C597BA6), UINT32_C(0x43A87346),
13415           UINT32_C(0x366688CC), UINT32_C(0xA55ACF91), UINT32_C(0x19F6DA4A),
13416           UINT32_C(0x182DEC58), UINT32_C(0x280ED592)},
13417          {UINT32_C(0xA1D3EBDD), UINT32_C(0x0A1F3A7A), UINT32_C(0x0C9F474A),
13418           UINT32_C(0xD92B6078), UINT32_C(0x19AE00DD), UINT32_C(0x38D0335E),
13419           UINT32_C(0xA97F33F7), UINT32_C(0x094A5772)}},
13420         {{UINT32_C(0x312D2694), UINT32_C(0x026A9029), UINT32_C(0xAB5B34B8),
13421           UINT32_C(0x95408516), UINT32_C(0xDED270EA), UINT32_C(0x9FFA9AB1),
13422           UINT32_C(0x493E5935), UINT32_C(0x1F9DDC52)},
13423          {UINT32_C(0x17244394), UINT32_C(0xAC7F94C1), UINT32_C(0x0F28C9DF),
13424           UINT32_C(0x18FC29C4), UINT32_C(0xBD817BD9), UINT32_C(0xEDE29238),
13425           UINT32_C(0x8E2A7E40), UINT32_C(0x20DBF9AF)}},
13426         {{UINT32_C(0x7648CA5C), UINT32_C(0x009365D9), UINT32_C(0x2BF27488),
13427           UINT32_C(0xB168191E), UINT32_C(0xE3B91112), UINT32_C(0x2481BFAA),
13428           UINT32_C(0x3D6DB830), UINT32_C(0x744C505B)},
13429          {UINT32_C(0x3C464704), UINT32_C(0x21426D8F), UINT32_C(0xDAF85A61),
13430           UINT32_C(0x283F59EF), UINT32_C(0xF2716102), UINT32_C(0x278B5F8E),
13431           UINT32_C(0x0FE7E7EC), UINT32_C(0x95B80D82)}},
13432         {{UINT32_C(0xF327664D), UINT32_C(0xD15ADA08), UINT32_C(0xFE904AF8),
13433           UINT32_C(0xF26E3232), UINT32_C(0xF99471C6), UINT32_C(0x2763DBA6),
13434           UINT32_C(0x15F30827), UINT32_C(0x4BC97139)},
13435          {UINT32_C(0x5F154BF9), UINT32_C(0x8523812E), UINT32_C(0xDE17F8F9),
13436           UINT32_C(0x0839059F), UINT32_C(0xBC16678D), UINT32_C(0xEA151382),
13437           UINT32_C(0x7890C4EF), UINT32_C(0x68D01E62)}},
13438         {{UINT32_C(0x9487556B), UINT32_C(0x37FAC9FA), UINT32_C(0xFB4DC83D),
13439           UINT32_C(0xB4DF5C53), UINT32_C(0x92969151), UINT32_C(0x1EF42D8C),
13440           UINT32_C(0x8B0ED349), UINT32_C(0x6C0A9D18)},
13441          {UINT32_C(0x946F31ED), UINT32_C(0x63E91049), UINT32_C(0x653F600B),
13442           UINT32_C(0x51E91DC6), UINT32_C(0x53A29196), UINT32_C(0xD7A582B1),
13443           UINT32_C(0x31E1D843), UINT32_C(0x0452F4AD)}},
13444         {{UINT32_C(0x0DE8E344), UINT32_C(0x1224169D), UINT32_C(0xF329D30F),
13445           UINT32_C(0x0F4AB4E7), UINT32_C(0xB525B6A4), UINT32_C(0x12662965),
13446           UINT32_C(0x255F14B8), UINT32_C(0x3142B612)},
13447          {UINT32_C(0xBBF468A1), UINT32_C(0xEF6148B9), UINT32_C(0x144F8DFF),
13448           UINT32_C(0x3FC413B4), UINT32_C(0x9BF55B34), UINT32_C(0xA453D075),
13449           UINT32_C(0x86EBA319), UINT32_C(0x857EC763)}},
13450         {{UINT32_C(0xC16C1002), UINT32_C(0x7FC22E26), UINT32_C(0xB0B186C3),
13451           UINT32_C(0x2E34975E), UINT32_C(0x2FC79F85), UINT32_C(0xE11E3642),
13452           UINT32_C(0x9F981B5F), UINT32_C(0x30FE5C0E)},
13453          {UINT32_C(0x31816247), UINT32_C(0x73BD0FA6), UINT32_C(0x6906AF0A),
13454           UINT32_C(0x40FE1661), UINT32_C(0x787BC7EE), UINT32_C(0x8D7109A3),
13455           UINT32_C(0x6FB9A590), UINT32_C(0x29452054)}},
13456         {{UINT32_C(0x4DFAAF93), UINT32_C(0x24654B9B), UINT32_C(0x9A450D29),
13457           UINT32_C(0x91CDEA8B), UINT32_C(0xE4874748), UINT32_C(0xEE55420B),
13458           UINT32_C(0x6D03064C), UINT32_C(0x01FAC14C)},
13459          {UINT32_C(0xD93BD5BE), UINT32_C(0x8A4EBDE2), UINT32_C(0x49EF18A9),
13460           UINT32_C(0xCB2DF307), UINT32_C(0x1A7B7F36), UINT32_C(0x36E6AC64),
13461           UINT32_C(0x4AC1CB8D), UINT32_C(0x30195423)}},
13462         {{UINT32_C(0x34F5B3FF), UINT32_C(0xD9970B1E), UINT32_C(0x587A9C5C),
13463           UINT32_C(0x3CFEFC50), UINT32_C(0x7CCE631E), UINT32_C(0x8EC1C5DE),
13464           UINT32_C(0x52465AB8), UINT32_C(0x92C93E2B)},
13465          {UINT32_C(0x257017CA), UINT32_C(0x0104DF30), UINT32_C(0x8D8DB4CE),
13466           UINT32_C(0xF4E5E779), UINT32_C(0xFDC267F0), UINT32_C(0xE12A39DD),
13467           UINT32_C(0x27C73FDA), UINT32_C(0x683DEAFE)}},
13468         {{UINT32_C(0xBBC70623), UINT32_C(0xD0840E81), UINT32_C(0x4D23568E),
13469           UINT32_C(0x03A93C16), UINT32_C(0x11A71BFF), UINT32_C(0xC52FF3D6),
13470           UINT32_C(0x0875248E), UINT32_C(0x03C11FCE)},
13471          {UINT32_C(0x6C4AE445), UINT32_C(0xBC6F184B), UINT32_C(0x7698EE98),
13472           UINT32_C(0xF52CC71F), UINT32_C(0xEEA25223), UINT32_C(0x4663193E),
13473           UINT32_C(0x031C68DC), UINT32_C(0x86CD1AB3)}},
13474         {{UINT32_C(0x21E04C02), UINT32_C(0x221C94EB), UINT32_C(0x7B980F70),
13475           UINT32_C(0xE96BB7B3), UINT32_C(0x24DC2BD1), UINT32_C(0x60A72897),
13476           UINT32_C(0x5621F475), UINT32_C(0x8C8E019F)},
13477          {UINT32_C(0x5CFA457A), UINT32_C(0xAE47B2F7), UINT32_C(0xF395C533),
13478           UINT32_C(0x31B2F9E1), UINT32_C(0x82E75849), UINT32_C(0x7EEB5DDC),
13479           UINT32_C(0x2A241E52), UINT32_C(0x4863A6A3)}},
13480         {{UINT32_C(0x914976EF), UINT32_C(0x806AC7F4), UINT32_C(0xCA42B875),
13481           UINT32_C(0x5019261E), UINT32_C(0x6EF2D82F), UINT32_C(0x44F5C03D),
13482           UINT32_C(0x690F2ACA), UINT32_C(0x24959F00)},
13483          {UINT32_C(0x81F0BBB6), UINT32_C(0x4BDE2115), UINT32_C(0x1F701A2D),
13484           UINT32_C(0x01EB2C00), UINT32_C(0x274FB05C), UINT32_C(0x039F8910),
13485           UINT32_C(0xC625EBCD), UINT32_C(0x57068F24)}},
13486         {{UINT32_C(0x67FF2575), UINT32_C(0xB21B8C93), UINT32_C(0x0C60B449),
13487           UINT32_C(0xC7826C60), UINT32_C(0xA98671BB), UINT32_C(0xD4D69A9F),
13488           UINT32_C(0xF5A2AB0C), UINT32_C(0x95249276)},
13489          {UINT32_C(0x2D1976DA), UINT32_C(0x8F7007F0), UINT32_C(0xC011D54C),
13490           UINT32_C(0x846F2A92), UINT32_C(0xFA2076B1), UINT32_C(0xFDBF81DF),
13491           UINT32_C(0x5583B46C), UINT32_C(0x3349224F)}},
13492         {{UINT32_C(0x7C854B4A), UINT32_C(0x62496746), UINT32_C(0x798B1395),
13493           UINT32_C(0xF92BAE1D), UINT32_C(0xD2F65638), UINT32_C(0x2EBE18E3),
13494           UINT32_C(0x8A068F49), UINT32_C(0x472FF6E5)},
13495          {UINT32_C(0xDA2030C2), UINT32_C(0x64BB0F33), UINT32_C(0x66F6C000),
13496           UINT32_C(0x72C0D0C9), UINT32_C(0x3194615E), UINT32_C(0xEA837EE5),
13497           UINT32_C(0xFA9A7903), UINT32_C(0x1B7B4849)}},
13498     },
13499     {
13500         {{UINT32_C(0xCF9A0727), UINT32_C(0x27AB780C), UINT32_C(0x9D7486CB),
13501           UINT32_C(0xD457A7BC), UINT32_C(0xFE9F1A59), UINT32_C(0xFC57C335),
13502           UINT32_C(0xD1D9F161), UINT32_C(0x269D8959)},
13503          {UINT32_C(0xB81605D5), UINT32_C(0x06A32331), UINT32_C(0x6F050BE0),
13504           UINT32_C(0x23696353), UINT32_C(0x413E1C0D), UINT32_C(0xF9350879),
13505           UINT32_C(0x5761A8DF), UINT32_C(0x17019548)}},
13506         {{UINT32_C(0x6765C6A2), UINT32_C(0x583D3D3F), UINT32_C(0xBE9DF3AF),
13507           UINT32_C(0x68BBA6F9), UINT32_C(0x85358B53), UINT32_C(0x7011E594),
13508           UINT32_C(0x53A08874), UINT32_C(0x3B2142E3)},
13509          {UINT32_C(0x6F5C8641), UINT32_C(0x4AB6137E), UINT32_C(0x4FE9BCEB),
13510           UINT32_C(0x4955890E), UINT32_C(0x4D14DA01), UINT32_C(0xE2F732BA),
13511           UINT32_C(0xBEBD63D4), UINT32_C(0x8CB285FC)}},
13512         {{UINT32_C(0x6C74A0AA), UINT32_C(0x5099551B), UINT32_C(0xBC2C8A61),
13513           UINT32_C(0xF04EB8F8), UINT32_C(0x85983435), UINT32_C(0xE169F492),
13514           UINT32_C(0x5B808C9E), UINT32_C(0x764062A1)},
13515          {UINT32_C(0x65B994FB), UINT32_C(0x8C59A43F), UINT32_C(0x6068E685),
13516           UINT32_C(0x2FB148B7), UINT32_C(0x54108A9F), UINT32_C(0x899D4FC5),
13517           UINT32_C(0x5B4D40FE), UINT32_C(0x0469EA3E)}},
13518         {{UINT32_C(0x62A76AA8), UINT32_C(0x15B613EA), UINT32_C(0x2FE2F179),
13519           UINT32_C(0x7E8E7D56), UINT32_C(0xBE98EDC2), UINT32_C(0x53160F65),
13520           UINT32_C(0x9810DC27), UINT32_C(0x258DA04E)},
13521          {UINT32_C(0x030D9C31), UINT32_C(0x4FEE19D0), UINT32_C(0xC29E300F),
13522           UINT32_C(0xFC2C57F8), UINT32_C(0xC44458AE), UINT32_C(0x00071F97),
13523           UINT32_C(0x709727E1), UINT32_C(0x0AA2B911)}},
13524         {{UINT32_C(0xA61166F8), UINT32_C(0x443F8B23), UINT32_C(0xD685FCF1),
13525           UINT32_C(0x3E8F6278), UINT32_C(0x447433C6), UINT32_C(0xC930C1D1),
13526           UINT32_C(0xAED7D6EB), UINT32_C(0x1245A867)},
13527          {UINT32_C(0xFA89945A), UINT32_C(0xC35986DD), UINT32_C(0x26B0AFEE),
13528           UINT32_C(0x89CE1109), UINT32_C(0x17103D18), UINT32_C(0x9C6A87CD),
13529           UINT32_C(0xCE338978), UINT32_C(0x811B2242)}},
13530         {{UINT32_C(0x0C293255), UINT32_C(0xC074AF66), UINT32_C(0x5AEAC2E1),
13531           UINT32_C(0x982C23A9), UINT32_C(0xD39AC56C), UINT32_C(0xDB14DE0C),
13532           UINT32_C(0x47EBB839), UINT32_C(0x20263F3F)},
13533          {UINT32_C(0xD10588DF), UINT32_C(0x183EA578), UINT32_C(0x1EB69C36),
13534           UINT32_C(0xB4D88EFB), UINT32_C(0xDBF3BEE7), UINT32_C(0xA79A1B4D),
13535           UINT32_C(0xE8159E0D), UINT32_C(0x650FC466)}},
13536         {{UINT32_C(0xF80D5744), UINT32_C(0x9E6EE797), UINT32_C(0x825949BD),
13537           UINT32_C(0xDFC3EBF5), UINT32_C(0x7EC9BD65), UINT32_C(0x1083EC79),
13538           UINT32_C(0xB753499C), UINT32_C(0x62A45C5E)},
13539          {UINT32_C(0x2B6F42CF), UINT32_C(0x9C135F80), UINT32_C(0xC4B49041),
13540           UINT32_C(0xE39B0BA5), UINT32_C(0x8D3B2D06), UINT32_C(0x4D838513),
13541           UINT32_C(0xD070754B), UINT32_C(0x696034DC)}},
13542         {{UINT32_C(0xB8E3BDD1), UINT32_C(0x06313D73), UINT32_C(0xE6968872),
13543           UINT32_C(0xC7BEC420), UINT32_C(0x3A04B7F0), UINT32_C(0x740DD6D3),
13544           UINT32_C(0x2465BED2), UINT32_C(0x98F2D0B7)},
13545          {UINT32_C(0x4043DBAD), UINT32_C(0x9F298460), UINT32_C(0x01B5961F),
13546           UINT32_C(0x82D6991A), UINT32_C(0x54DFAB8A), UINT32_C(0xAAE7DF9D),
13547           UINT32_C(0x1A07DD22), UINT32_C(0x5701E335)}},
13548         {{UINT32_C(0xFCA398A2), UINT32_C(0x5695A08E), UINT32_C(0x0D76E8CF),
13549           UINT32_C(0xD29EBC1F), UINT32_C(0x24004EDB), UINT32_C(0x5AB17ABF),
13550           UINT32_C(0x0CC7A144), UINT32_C(0x20C7761B)},
13551          {UINT32_C(0x285EA93C), UINT32_C(0x6CAEE036), UINT32_C(0xF2B8BF23),
13552           UINT32_C(0xF9756E89), UINT32_C(0xB1AB91B7), UINT32_C(0x3CEA1C76),
13553           UINT32_C(0x3FB4F3B8), UINT32_C(0x5D86860E)}},
13554         {{UINT32_C(0xFDC7DBC5), UINT32_C(0x835B023B), UINT32_C(0xEEEDFD73),
13555           UINT32_C(0xF05C0676), UINT32_C(0xE52BFB27), UINT32_C(0xF8325D64),
13556           UINT32_C(0xB5032CFF), UINT32_C(0x919D008D)},
13557          {UINT32_C(0x4B130537), UINT32_C(0xEF27862C), UINT32_C(0x5CE404DC),
13558           UINT32_C(0x616DF154), UINT32_C(0x451ED033), UINT32_C(0x182BA57E),
13559           UINT32_C(0xBD01F864), UINT32_C(0x2EFEC0C7)}},
13560         {{UINT32_C(0x45F3AF3C), UINT32_C(0xDC846845), UINT32_C(0x92A47B31),
13561           UINT32_C(0x2D2BA0CD), UINT32_C(0xE1AFE6EE), UINT32_C(0x9C806C7D),
13562           UINT32_C(0x4C6A4FEA), UINT32_C(0x28FE43FF)},
13563          {UINT32_C(0x6C76C0F4), UINT32_C(0x2E028CD1), UINT32_C(0x2AEFBDDA),
13564           UINT32_C(0xC6FA5AD1), UINT32_C(0xF63F1A35), UINT32_C(0xC8B5339B),
13565           UINT32_C(0x04523F02), UINT32_C(0x30C780A7)}},
13566         {{UINT32_C(0xD7E4F0CE), UINT32_C(0x3D2DCA55), UINT32_C(0x26616811),
13567           UINT32_C(0x8EEF9189), UINT32_C(0x3C0E5892), UINT32_C(0xB106642F),
13568           UINT32_C(0x89DB033E), UINT32_C(0x4A965385)},
13569          {UINT32_C(0xB3C2DD37), UINT32_C(0x5A1CBEB6), UINT32_C(0x156EAC75),
13570           UINT32_C(0x5290C737), UINT32_C(0xE32E40C7), UINT32_C(0x57AFD98A),
13571           UINT32_C(0xB3571868), UINT32_C(0x04A16164)}},
13572         {{UINT32_C(0x1A673E1B), UINT32_C(0x9AB8A3E9), UINT32_C(0x0FC23483),
13573           UINT32_C(0xC707ABBA), UINT32_C(0x9E0EA0BD), UINT32_C(0x936C1783),
13574           UINT32_C(0xF71F6F1D), UINT32_C(0x1E4C2E7C)},
13575          {UINT32_C(0x6FB0926C), UINT32_C(0x37904F63), UINT32_C(0xC51FEEA5),
13576           UINT32_C(0x9EC76DF7), UINT32_C(0x4D103DAC), UINT32_C(0x2C60F7D6),
13577           UINT32_C(0xF9DC2CC6), UINT32_C(0x7B451E0B)}},
13578         {{UINT32_C(0xB2A5F07F), UINT32_C(0xD4F8526C), UINT32_C(0xB0F4AE09),
13579           UINT32_C(0x41303D42), UINT32_C(0x0C182FDC), UINT32_C(0xAC79523F),
13580           UINT32_C(0xAA0C5D6D), UINT32_C(0x8D6A75C8)},
13581          {UINT32_C(0x3CDCE3F0), UINT32_C(0x4DD7FC95), UINT32_C(0x5BE6DA0F),
13582           UINT32_C(0x4DDB3910), UINT32_C(0x16F7E27D), UINT32_C(0xE34961F9),
13583           UINT32_C(0x5B3544EB), UINT32_C(0x0C5CB76F)}},
13584         {{UINT32_C(0x252C354C), UINT32_C(0x324C95B5), UINT32_C(0x8CC2C3BC),
13585           UINT32_C(0x4648D87E), UINT32_C(0x82BC8C80), UINT32_C(0x6DDFDECD),
13586           UINT32_C(0xC069996E), UINT32_C(0x8C64CADE)},
13587          {UINT32_C(0x40ED44AB), UINT32_C(0x4E282E96), UINT32_C(0x79334507),
13588           UINT32_C(0x70A12067), UINT32_C(0x5AB8902B), UINT32_C(0x65CE5D38),
13589           UINT32_C(0x7C949D96), UINT32_C(0x56FE68F2)}},
13590         {{UINT32_C(0xCF9530AE), UINT32_C(0x1D55C87E), UINT32_C(0xC147C2D5),
13591           UINT32_C(0xD1CF73FF), UINT32_C(0xC1F44403), UINT32_C(0x826031CD),
13592           UINT32_C(0x5EEF5BFB), UINT32_C(0x3A06528F)},
13593          {UINT32_C(0x5F84A7B1), UINT32_C(0xF220EAF3), UINT32_C(0x350EBADE),
13594           UINT32_C(0xBC99C905), UINT32_C(0x810A101C), UINT32_C(0x686A706E),
13595           UINT32_C(0x1D92EAEA), UINT32_C(0x95E52713)}},
13596     },
13597     {
13598         {{UINT32_C(0x514D47C2), UINT32_C(0xAAC634B3), UINT32_C(0x58B83B33),
13599           UINT32_C(0xD0C189B8), UINT32_C(0x58CA9A2F), UINT32_C(0x633D59E3),
13600           UINT32_C(0x838ACC80), UINT32_C(0x65965CE0)},
13601          {UINT32_C(0x9B512F6E), UINT32_C(0xBB03F7EA), UINT32_C(0x9EF17A82),
13602           UINT32_C(0xB2F38B84), UINT32_C(0xE16A7A95), UINT32_C(0xE8382E37),
13603           UINT32_C(0x4D9EF607), UINT32_C(0x28644EFE)}},
13604         {{UINT32_C(0x040A515B), UINT32_C(0x46F9115E), UINT32_C(0xFA59CD3E),
13605           UINT32_C(0x4C7DBCFF), UINT32_C(0x71BB543E), UINT32_C(0xB4CE22B8),
13606           UINT32_C(0x948F80BA), UINT32_C(0x58D935D8)},
13607          {UINT32_C(0x03683C8B), UINT32_C(0x33DC1D5B), UINT32_C(0x2D071D87),
13608           UINT32_C(0x25E6113A), UINT32_C(0xA7D59351), UINT32_C(0x44F962F8),
13609           UINT32_C(0xBCF66B43), UINT32_C(0x6B818DDB)}},
13610         {{UINT32_C(0x378C1098), UINT32_C(0x363A63C7), UINT32_C(0xAC5C0C9E),
13611           UINT32_C(0xBEB2A7B6), UINT32_C(0x4361C8D4), UINT32_C(0x3F620D3F),
13612           UINT32_C(0x4E3D9686), UINT32_C(0x68EAD01A)},
13613          {UINT32_C(0x45DB7208), UINT32_C(0x43613085), UINT32_C(0x13B35D33),
13614           UINT32_C(0x865A6DDE), UINT32_C(0x68DF09F5), UINT32_C(0x4EAA1663),
13615           UINT32_C(0xBF02AA12), UINT32_C(0x5FDCA83F)}},
13616         {{UINT32_C(0xBFEFB3CB), UINT32_C(0xC240FEAA), UINT32_C(0x0EC6694F),
13617           UINT32_C(0x78E757D2), UINT32_C(0x2413D6A2), UINT32_C(0xA11A82DF),
13618           UINT32_C(0xDBB7A220), UINT32_C(0x7BD656EE)},
13619          {UINT32_C(0x6EB899A4), UINT32_C(0x68C60873), UINT32_C(0x318C72E8),
13620           UINT32_C(0xAFFB9F1C), UINT32_C(0x9FB7619D), UINT32_C(0xF16A443C),
13621           UINT32_C(0x42C6E4D6), UINT32_C(0x2FC317E3)}},
13622         {{UINT32_C(0x73F57A93), UINT32_C(0xAB56A873), UINT32_C(0x308F5224),
13623           UINT32_C(0xE9BA24E2), UINT32_C(0x11992077), UINT32_C(0x010281B9),
13624           UINT32_C(0x593EAD1A), UINT32_C(0x2CBCA7FE)},
13625          {UINT32_C(0x2A1D8318), UINT32_C(0xB400388A), UINT32_C(0x3C61A0AF),
13626           UINT32_C(0xD470ABDA), UINT32_C(0x94BD2FAC), UINT32_C(0xF9102721),
13627           UINT32_C(0x0FAC703C), UINT32_C(0x222365D1)}},
13628         {{UINT32_C(0x9C2D1B2B), UINT32_C(0x5C9021C4), UINT32_C(0xCAF0B562),
13629           UINT32_C(0xB349DB18), UINT32_C(0x91412CC3), UINT32_C(0x6DAF7412),
13630           UINT32_C(0xCF6584D3), UINT32_C(0x44E5E3E5)},
13631          {UINT32_C(0xE4C17B19), UINT32_C(0x1D1F4244), UINT32_C(0x3787A38A),
13632           UINT32_C(0x4C663EE6), UINT32_C(0x313A8581), UINT32_C(0xA3261E22),
13633           UINT32_C(0x7A82C05A), UINT32_C(0x3AE1E1DB)}},
13634         {{UINT32_C(0x3CD6A155), UINT32_C(0x31AA2B29), UINT32_C(0x3D078B12),
13635           UINT32_C(0x0EB9527E), UINT32_C(0x214FF1E2), UINT32_C(0x6785ABA2),
13636           UINT32_C(0xF111D572), UINT32_C(0x74974F84)},
13637          {UINT32_C(0x078C684B), UINT32_C(0x2199A753), UINT32_C(0x4B13A004),
13638           UINT32_C(0xA0F1DE23), UINT32_C(0x75BEBCBC), UINT32_C(0x3965AE19),
13639           UINT32_C(0x24562AA7), UINT32_C(0x22A8D7EE)}},
13640         {{UINT32_C(0xBF268ADE), UINT32_C(0x0591965F), UINT32_C(0x9EE48F0E),
13641           UINT32_C(0xF621B364), UINT32_C(0x5A3A3848), UINT32_C(0x0AD981A9),
13642           UINT32_C(0x9ECD72B7), UINT32_C(0x1316675C)},
13643          {UINT32_C(0xF37C87E0), UINT32_C(0x21A5CEB7), UINT32_C(0x68D1AAFB),
13644           UINT32_C(0xEF864CF3), UINT32_C(0xD3C9A54F), UINT32_C(0x5F340413),
13645           UINT32_C(0xE00FD564), UINT32_C(0x0C5DE1E6)}},
13646         {{UINT32_C(0xB415D72C), UINT32_C(0x439B2C0C), UINT32_C(0x63442E62),
13647           UINT32_C(0x106AE2E0), UINT32_C(0x4A79E93B), UINT32_C(0x8A9428C6),
13648           UINT32_C(0xCC2DF510), UINT32_C(0x67FE6D6E)},
13649          {UINT32_C(0x655013B3), UINT32_C(0x407158BC), UINT32_C(0x2BC7E7CC),
13650           UINT32_C(0x3AAEAC1C), UINT32_C(0xEE8EC1F4), UINT32_C(0x399DB6EF),
13651           UINT32_C(0xECFF6657), UINT32_C(0x1F7D0D17)}},
13652         {{UINT32_C(0xCB86639E), UINT32_C(0x03039D18), UINT32_C(0x9CDC3408),
13653           UINT32_C(0x58603909), UINT32_C(0xF1804B9E), UINT32_C(0x52421109),
13654           UINT32_C(0xED126B9F), UINT32_C(0x95502857)},
13655          {UINT32_C(0x451B0539), UINT32_C(0xC91842D9), UINT32_C(0xE60AAE3B),
13656           UINT32_C(0x2B5B11EB), UINT32_C(0x44CB5A14), UINT32_C(0xDB50F9EA),
13657           UINT32_C(0x89E80A6E), UINT32_C(0x4B5C9824)}},
13658         {{UINT32_C(0x69FC9F1A), UINT32_C(0x8EF3A1E5), UINT32_C(0x7CCA576A),
13659           UINT32_C(0xA4EAB6F4), UINT32_C(0xFBF1CD65), UINT32_C(0x955E1C89),
13660           UINT32_C(0xF8CE13DB), UINT32_C(0x3E3ACF6E)},
13661          {UINT32_C(0x58F31FC9), UINT32_C(0x1FDB6190), UINT32_C(0x93B0D0D5),
13662           UINT32_C(0x10DB71B3), UINT32_C(0x9154B285), UINT32_C(0x90096143),
13663           UINT32_C(0x1C49EFF3), UINT32_C(0x37EEE178)}},
13664         {{UINT32_C(0xBC198066), UINT32_C(0x609DE502), UINT32_C(0x40722EF6),
13665           UINT32_C(0x075C8631), UINT32_C(0xFF0FA57D), UINT32_C(0x121ACC9F),
13666           UINT32_C(0xEC7DB1A0), UINT32_C(0x31E79AC5)},
13667          {UINT32_C(0xF16FAE79), UINT32_C(0x736EB95D), UINT32_C(0x815A14CB),
13668           UINT32_C(0xFF963917), UINT32_C(0x23AF0BC3), UINT32_C(0xC6003E5D),
13669           UINT32_C(0x99AFCAAA), UINT32_C(0x0D1B0350)}},
13670         {{UINT32_C(0x1F0DF59D), UINT32_C(0x8A1B6C97), UINT32_C(0x59C9CA8D),
13671           UINT32_C(0x7DF81A72), UINT32_C(0x9602E8BE), UINT32_C(0x74257F8E),
13672           UINT32_C(0xA441657A), UINT32_C(0x2FFBAD39)},
13673          {UINT32_C(0x048050A6), UINT32_C(0xB1B090DB), UINT32_C(0x741E7392),
13674           UINT32_C(0xD6144221), UINT32_C(0xECA1E2D6), UINT32_C(0x63826973),
13675           UINT32_C(0xD287DE2F), UINT32_C(0x28EE60B8)}},
13676         {{UINT32_C(0x5DEE86CE), UINT32_C(0x81504295), UINT32_C(0x73C03937),
13677           UINT32_C(0xFACCB61D), UINT32_C(0x299B96AF), UINT32_C(0x9898F773),
13678           UINT32_C(0x488F95CD), UINT32_C(0x51552297)},
13679          {UINT32_C(0x54F5E182), UINT32_C(0x6170618C), UINT32_C(0xC2798401),
13680           UINT32_C(0x9C11D666), UINT32_C(0x3EAF3DDE), UINT32_C(0x88225F4B),
13681           UINT32_C(0x087F1185), UINT32_C(0x20841538)}},
13682         {{UINT32_C(0x14FA59EC), UINT32_C(0x42BCEFFE), UINT32_C(0x7D023F1E),
13683           UINT32_C(0xC41CFCDA), UINT32_C(0x7163E802), UINT32_C(0xD7E4FDE7),
13684           UINT32_C(0x2E145BCE), UINT32_C(0x54F4C798)},
13685          {UINT32_C(0xF9162235), UINT32_C(0xE4EA68C9), UINT32_C(0x458DEC24),
13686           UINT32_C(0x4F7EAC6F), UINT32_C(0x845C6AD1), UINT32_C(0x70100D2D),
13687           UINT32_C(0xF1EA21B2), UINT32_C(0x67AC34CF)}},
13688         {{UINT32_C(0xAC21C728), UINT32_C(0x2BD49BDF), UINT32_C(0xEDA966DF),
13689           UINT32_C(0x2D009B45), UINT32_C(0x4A9B9167), UINT32_C(0x0D4476BE),
13690           UINT32_C(0x95D2ACD2), UINT32_C(0x340BD3BE)},
13691          {UINT32_C(0xB040FF50), UINT32_C(0xF8BACA2D), UINT32_C(0xB91D47C1),
13692           UINT32_C(0x307BEA0D), UINT32_C(0xB6B3A1E4), UINT32_C(0x2EFDC81B),
13693           UINT32_C(0x1595D6E2), UINT32_C(0x3B2CD7D9)}},
13694     },
13695     {
13696         {{UINT32_C(0x32A5A002), UINT32_C(0x56254AE7), UINT32_C(0x448B0A9F),
13697           UINT32_C(0xE48A475C), UINT32_C(0x14EDBBA9), UINT32_C(0x3B2DF6DF),
13698           UINT32_C(0xF5E4CC81), UINT32_C(0x911BE369)},
13699          {UINT32_C(0x77CBB387), UINT32_C(0x57D065C6), UINT32_C(0x527575FD),
13700           UINT32_C(0x7C1E0142), UINT32_C(0x243B5C33), UINT32_C(0x2CA91EEF),
13701           UINT32_C(0x5C4700CC), UINT32_C(0x7E54AF42)}},
13702         {{UINT32_C(0x5EEDF97F), UINT32_C(0xEF5ECAE5), UINT32_C(0xC0D821AC),
13703           UINT32_C(0x2D79312A), UINT32_C(0xA9EDBE8F), UINT32_C(0xD3817042),
13704           UINT32_C(0xAD924B1D), UINT32_C(0x7A3D537E)},
13705          {UINT32_C(0xB26FFC3B), UINT32_C(0xD9923A20), UINT32_C(0x5B81EC12),
13706           UINT32_C(0x651D2201), UINT32_C(0x54C37FF0), UINT32_C(0xBDF7205A),
13707           UINT32_C(0x8C0D2E79), UINT32_C(0x5562D258)}},
13708         {{UINT32_C(0xFB4842F8), UINT32_C(0xE5BC2E1C), UINT32_C(0x25B464C8),
13709           UINT32_C(0xCFE97824), UINT32_C(0x2FEA9ED3), UINT32_C(0xD902A11A),
13710           UINT32_C(0x8D3DD0A4), UINT32_C(0x2FC360ED)},
13711          {UINT32_C(0x9E5F7AE1), UINT32_C(0xEC4E57FC), UINT32_C(0x79B8AF6C),
13712           UINT32_C(0xF0F1FD9F), UINT32_C(0xA9A283D0), UINT32_C(0x803F3ED6),
13713           UINT32_C(0xADEEA78E), UINT32_C(0x5F13000F)}},
13714         {{UINT32_C(0x1838B470), UINT32_C(0x3EBBBD16), UINT32_C(0xB2781680),
13715           UINT32_C(0x934BA22A), UINT32_C(0xC7210CD4), UINT32_C(0xC9ED04FC),
13716           UINT32_C(0x4615F186), UINT32_C(0x716004A1)},
13717          {UINT32_C(0xE894BBC3), UINT32_C(0xE7B36C21), UINT32_C(0x570AA9A8),
13718           UINT32_C(0x3F739857), UINT32_C(0x3063902B), UINT32_C(0x1707FBEE),
13719           UINT32_C(0x155C9824), UINT32_C(0x44FCB774)}},
13720         {{UINT32_C(0xCDD8CEDB), UINT32_C(0x30ECD772), UINT32_C(0xCA09BCD3),
13721           UINT32_C(0x67BB36FD), UINT32_C(0x9BC43B7B), UINT32_C(0xD5AD0FAA),
13722           UINT32_C(0x6A130895), UINT32_C(0x3962E556)},
13723          {UINT32_C(0x7F7A565A), UINT32_C(0x57928253), UINT32_C(0x55B911EE),
13724           UINT32_C(0xDE9D7792), UINT32_C(0x6984F326), UINT32_C(0xD5DBFDDE),
13725           UINT32_C(0x9FB51246), UINT32_C(0x7CDF5E15)}},
13726         {{UINT32_C(0x89D24763), UINT32_C(0xD7FC427A), UINT32_C(0xAD874362),
13727           UINT32_C(0x50E627C9), UINT32_C(0x2069873A), UINT32_C(0x17A8F83B),
13728           UINT32_C(0xDB698BD1), UINT32_C(0x186952D7)},
13729          {UINT32_C(0x38A2822C), UINT32_C(0x6C007EED), UINT32_C(0x0C207073),
13730           UINT32_C(0x5F187091), UINT32_C(0x08D245D2), UINT32_C(0xD0023B63),
13731           UINT32_C(0x34544316), UINT32_C(0x7A32C2A1)}},
13732         {{UINT32_C(0x8C2635EC), UINT32_C(0x8B99183A), UINT32_C(0x6F12B137),
13733           UINT32_C(0xA00A9476), UINT32_C(0x823DA313), UINT32_C(0x9B5E2F57),
13734           UINT32_C(0x47B3CEB1), UINT32_C(0x0F7CB4AF)},
13735          {UINT32_C(0x67266D24), UINT32_C(0xC993AF7E), UINT32_C(0xEBA985B8),
13736           UINT32_C(0x8B60295E), UINT32_C(0xE41A6F69), UINT32_C(0x9AA596CB),
13737           UINT32_C(0x4B68507A), UINT32_C(0x4D6CF5DF)}},
13738         {{UINT32_C(0x6921DEFE), UINT32_C(0x3B8A3CBC), UINT32_C(0x0ED7B717),
13739           UINT32_C(0xB96D5390), UINT32_C(0x7DE65E54), UINT32_C(0x6761E86A),
13740           UINT32_C(0x701CC1E4), UINT32_C(0x964460D6)},
13741          {UINT32_C(0x26C82309), UINT32_C(0x5C0A2213), UINT32_C(0x20328C60),
13742           UINT32_C(0xF95F5472), UINT32_C(0xFB49E3B5), UINT32_C(0xB519B476),
13743           UINT32_C(0xEE373756), UINT32_C(0x089D0AB6)}},
13744         {{UINT32_C(0xDC952768), UINT32_C(0x947DFCF0), UINT32_C(0x3AB613AA),
13745           UINT32_C(0xD8B5C61C), UINT32_C(0x9A457DA4), UINT32_C(0x146E8325),
13746           UINT32_C(0xF476945E), UINT32_C(0x37E2F6D3)},
13747          {UINT32_C(0x3851A6F6), UINT32_C(0x5702A441), UINT32_C(0x8D67EF9C),
13748           UINT32_C(0xB476560E), UINT32_C(0xF9D2AD96), UINT32_C(0xABA23F67),
13749           UINT32_C(0xDFBBB806), UINT32_C(0x3CE30A4E)}},
13750         {{UINT32_C(0xE5BAA662), UINT32_C(0x64695640), UINT32_C(0x0AAF3988),
13751           UINT32_C(0x2A18979A), UINT32_C(0xDE0ED212), UINT32_C(0x605578FF),
13752           UINT32_C(0x30F2C13C), UINT32_C(0x52E604D5)},
13753          {UINT32_C(0x894AB3B9), UINT32_C(0x2E9E2D83), UINT32_C(0x4BC33041),
13754           UINT32_C(0x098B1FAA), UINT32_C(0x0863AA3C), UINT32_C(0x01CF6606),
13755           UINT32_C(0xD2951A60), UINT32_C(0x7334879B)}},
13756         {{UINT32_C(0xC51704F1), UINT32_C(0xB080105C), UINT32_C(0xEAEE29C4),
13757           UINT32_C(0x1A5869B8), UINT32_C(0x5FDD2FD3), UINT32_C(0xAD6AEF33),
13758           UINT32_C(0x49C2B183), UINT32_C(0x83E677C4)},
13759          {UINT32_C(0xDFA8B8F4), UINT32_C(0x757A4EFD), UINT32_C(0xE42F2C87),
13760           UINT32_C(0xFC8E7650), UINT32_C(0x9C963D98), UINT32_C(0xD4A61A3E),
13761           UINT32_C(0x45BC9044), UINT32_C(0x3750289A)}},
13762         {{UINT32_C(0x40B1C72C), UINT32_C(0x40A0620E), UINT32_C(0xB2E44573),
13763           UINT32_C(0xAEE56EC7), UINT32_C(0x60532553), UINT32_C(0xE4E6EA3D),
13764           UINT32_C(0xA0EB6014), UINT32_C(0x5BA50E80)},
13765          {UINT32_C(0x4378CC2F), UINT32_C(0x84642978), UINT32_C(0x2A1C5FB4),
13766           UINT32_C(0xE322D169), UINT32_C(0x6B91F82D), UINT32_C(0x5000C9B1),
13767           UINT32_C(0x7AA49F2D), UINT32_C(0x32380CB8)}},
13768         {{UINT32_C(0xE18C4BD2), UINT32_C(0x0A2F936A), UINT32_C(0xC3DB9AA5),
13769           UINT32_C(0x7AEA56AA), UINT32_C(0x5DDF30CB), UINT32_C(0x3A984E93),
13770           UINT32_C(0x904181C6), UINT32_C(0x36133D20)},
13771          {UINT32_C(0xF62DFBF5), UINT32_C(0xA9A65593), UINT32_C(0x6808B883),
13772           UINT32_C(0xB4AC06FD), UINT32_C(0x7A2FEDBB), UINT32_C(0x98679704),
13773           UINT32_C(0x97880A72), UINT32_C(0x20E9E8E1)}},
13774         {{UINT32_C(0xCEB26FAE), UINT32_C(0x403A1ED1), UINT32_C(0x3CD622C9),
13775           UINT32_C(0xAD13CD87), UINT32_C(0xCF45C32D), UINT32_C(0xC1E03929),
13776           UINT32_C(0xC3BE1A53), UINT32_C(0x4B50E4A9)},
13777          {UINT32_C(0xD0D7AFE3), UINT32_C(0xCF10F3AF), UINT32_C(0x1494A9B4),
13778           UINT32_C(0x6A29B173), UINT32_C(0xD13B0495), UINT32_C(0xB9DC9849),
13779           UINT32_C(0x9C05B110), UINT32_C(0x4C50794E)}},
13780         {{UINT32_C(0x1427F71D), UINT32_C(0xC3C97DED), UINT32_C(0x966ECF33),
13781           UINT32_C(0xC3CFB754), UINT32_C(0x1FBF30CD), UINT32_C(0x48E30FE1),
13782           UINT32_C(0x1E4B0998), UINT32_C(0x71C96E1C)},
13783          {UINT32_C(0xB92C4BF7), UINT32_C(0x878D6305), UINT32_C(0xCCB5E4A1),
13784           UINT32_C(0x14477130), UINT32_C(0xE3C00A19), UINT32_C(0x7C210767),
13785           UINT32_C(0xAB3CDBF0), UINT32_C(0x5546DBD5)}},
13786         {{UINT32_C(0x70857571), UINT32_C(0xADEC8758), UINT32_C(0xE70D07EC),
13787           UINT32_C(0x0A52587C), UINT32_C(0xC731B9BC), UINT32_C(0xE6CEAF9E),
13788           UINT32_C(0x47143479), UINT32_C(0x1D0FDE3F)},
13789          {UINT32_C(0xC5B410CB), UINT32_C(0x2F3BE2CF), UINT32_C(0x4E64FD9B),
13790           UINT32_C(0x576004BE), UINT32_C(0x7629820C), UINT32_C(0x03F33951),
13791           UINT32_C(0x46A450E2), UINT32_C(0x7BD32964)}},
13792     },
13793     {
13794         {{UINT32_C(0x46CED42D), UINT32_C(0xD492D6B7), UINT32_C(0x1F0092E3),
13795           UINT32_C(0xC068D02D), UINT32_C(0x8D8A822A), UINT32_C(0x008ECBAD),
13796           UINT32_C(0x71045647), UINT32_C(0x6B326869)},
13797          {UINT32_C(0x523CBA58), UINT32_C(0xFEE3237F), UINT32_C(0x9C29059F),
13798           UINT32_C(0x077B7F50), UINT32_C(0xE72FBE6F), UINT32_C(0x42C308B3),
13799           UINT32_C(0x8E34148B), UINT32_C(0x3DD79D83)}},
13800         {{UINT32_C(0xCAC24455), UINT32_C(0x3ED9DF47), UINT32_C(0xD8546306),
13801           UINT32_C(0x7C8A7B31), UINT32_C(0x2AA02202), UINT32_C(0x4CC43295),
13802           UINT32_C(0x8598E028), UINT32_C(0x5E8B4EA3)},
13803          {UINT32_C(0x812B8070), UINT32_C(0x8A882F3F), UINT32_C(0x1DD374C0),
13804           UINT32_C(0x984BE588), UINT32_C(0x16E133CF), UINT32_C(0x6FDA8159),
13805           UINT32_C(0x899920D0), UINT32_C(0x34FB92FA)}},
13806         {{UINT32_C(0xDA0B8D0E), UINT32_C(0x3BE0416F), UINT32_C(0x88C053D0),
13807           UINT32_C(0x2CC846DB), UINT32_C(0xB1A3A621), UINT32_C(0xC04C3A42),
13808           UINT32_C(0x8A9D9115), UINT32_C(0x35BC5550)},
13809          {UINT32_C(0x7FA72AFE), UINT32_C(0x7F8C9FE3), UINT32_C(0xD1E914FD),
13810           UINT32_C(0x488FA0B4), UINT32_C(0x84F79359), UINT32_C(0x8F5C2D63),
13811           UINT32_C(0xFBC94785), UINT32_C(0x2BE80429)}},
13812         {{UINT32_C(0x6F67799A), UINT32_C(0x391794E0), UINT32_C(0x0677A067),
13813           UINT32_C(0xD9BF08AE), UINT32_C(0xDF61563C), UINT32_C(0x716D5062),
13814           UINT32_C(0xF590F3A3), UINT32_C(0x0ECB234A)},
13815          {UINT32_C(0xFEA22392), UINT32_C(0xA5B91448), UINT32_C(0x7E76FB8B),
13816           UINT32_C(0xFAA29487), UINT32_C(0x4B6CB375), UINT32_C(0x3CC3A02A),
13817           UINT32_C(0x9022167A), UINT32_C(0x5C0B3B63)}},
13818         {{UINT32_C(0x4C576430), UINT32_C(0xC5689CF3), UINT32_C(0xC585F5A5),
13819           UINT32_C(0xF7B7B230), UINT32_C(0xE4BFCEE7), UINT32_C(0xB8DAADFB),
13820           UINT32_C(0x9CF4242F), UINT32_C(0x7B7D8A95)},
13821          {UINT32_C(0x398FEEF6), UINT32_C(0xC1755F9B), UINT32_C(0x5CC5C36E),
13822           UINT32_C(0x9B31CD4D), UINT32_C(0xF4C6B793), UINT32_C(0x4D87AB9C),
13823           UINT32_C(0xF595EFA8), UINT32_C(0x673FD5B2)}},
13824         {{UINT32_C(0xE05E6B19), UINT32_C(0xA3836484), UINT32_C(0xFCA7E6FB),
13825           UINT32_C(0x090C14CF), UINT32_C(0xFC717DBC), UINT32_C(0xB7A27042),
13826           UINT32_C(0x38647882), UINT32_C(0x56CD4AF1)},
13827          {UINT32_C(0xA43C453E), UINT32_C(0xC2B56B50), UINT32_C(0x982E7AED),
13828           UINT32_C(0x0CD5E768), UINT32_C(0x58474A8B), UINT32_C(0xD5ABADF7),
13829           UINT32_C(0x99F500AC), UINT32_C(0x68188A38)}},
13830         {{UINT32_C(0x83B1F7BA), UINT32_C(0x0683AC3E), UINT32_C(0x680568E9),
13831           UINT32_C(0x6A4FC30C), UINT32_C(0x7F6256CF), UINT32_C(0x735F5E48),
13832           UINT32_C(0x048DB831), UINT32_C(0x1240752D)},
13833          {UINT32_C(0x868B8AD7), UINT32_C(0x98B78A67), UINT32_C(0x822EBA7D),
13834           UINT32_C(0x9E32F2C1), UINT32_C(0x8F37580F), UINT32_C(0xEAE28B1E),
13835           UINT32_C(0xC72EDA86), UINT32_C(0x0D204CE0)}},
13836         {{UINT32_C(0x77E8C68C), UINT32_C(0x5E4EAA1C), UINT32_C(0x859A127B),
13837           UINT32_C(0x282ADFE9), UINT32_C(0x14904910), UINT32_C(0x0C75AB7C),
13838           UINT32_C(0x6E751062), UINT32_C(0x1794516A)},
13839          {UINT32_C(0x3DE4A32A), UINT32_C(0x8D99D891), UINT32_C(0x54EF2BF0),
13840           UINT32_C(0x957AA807), UINT32_C(0x0B109ECD), UINT32_C(0xBF20A9E0),
13841           UINT32_C(0xA72268D3), UINT32_C(0x7732F2B3)}},
13842         {{UINT32_C(0x48752F76), UINT32_C(0xADB52E43), UINT32_C(0xD6F7CCE8),
13843           UINT32_C(0x01E9F4B1), UINT32_C(0x2E4BD9B5), UINT32_C(0x22702DA0),
13844           UINT32_C(0xB40BF9AB), UINT32_C(0x1BCC9C60)},
13845          {UINT32_C(0x9F53B2B1), UINT32_C(0xAB774637), UINT32_C(0x8CB316D0),
13846           UINT32_C(0x9C574151), UINT32_C(0xBECBEBED), UINT32_C(0x231D5C45),
13847           UINT32_C(0xF0458638), UINT32_C(0x0BD2D5E7)}},
13848         {{UINT32_C(0x4B946132), UINT32_C(0xD2F5E0B5), UINT32_C(0x155AA2C8),
13849           UINT32_C(0x200A8A30), UINT32_C(0x56A62CE7), UINT32_C(0x15473FD4),
13850           UINT32_C(0xB6689367), UINT32_C(0x030EA71B)},
13851          {UINT32_C(0x0E315F29), UINT32_C(0xD561432B), UINT32_C(0x149E3A9E),
13852           UINT32_C(0x4155022E), UINT32_C(0x15841273), UINT32_C(0xC77EF7E1),
13853           UINT32_C(0x52BA265A), UINT32_C(0x890D9C8D)}},
13854         {{UINT32_C(0x5E62451A), UINT32_C(0xB72B5A6A), UINT32_C(0x5C61A183),
13855           UINT32_C(0xFDA85C17), UINT32_C(0xB7F36EB3), UINT32_C(0xA4275361),
13856           UINT32_C(0x94F4148D), UINT32_C(0x53ADFAF3)},
13857          {UINT32_C(0x6A8467AE), UINT32_C(0x281D47F9), UINT32_C(0x8474D3AD),
13858           UINT32_C(0x416A64B5), UINT32_C(0xEC99480E), UINT32_C(0x710D0E7A),
13859           UINT32_C(0x819253FF), UINT32_C(0x2693A878)}},
13860         {{UINT32_C(0x1A2FE406), UINT32_C(0x4BE76904), UINT32_C(0x343F5B10),
13861           UINT32_C(0xB6FEED1D), UINT32_C(0xD705E35C), UINT32_C(0x36695C52),
13862           UINT32_C(0x6BD3859F), UINT32_C(0x7DF6FA41)},
13863          {UINT32_C(0xC00E77EA), UINT32_C(0x7B9B11F5), UINT32_C(0xCA80F838),
13864           UINT32_C(0xC90411B8), UINT32_C(0x2908C694), UINT32_C(0x8A9FAEF0),
13865           UINT32_C(0xFF5B39B0), UINT32_C(0x05F65AAA)}},
13866         {{UINT32_C(0xD7F59CC5), UINT32_C(0x823A0776), UINT32_C(0xC410DFD1),
13867           UINT32_C(0xB9EBE15E), UINT32_C(0x10A7FA3F), UINT32_C(0xC2374B58),
13868           UINT32_C(0x311660F2), UINT32_C(0x1B912C84)},
13869          {UINT32_C(0xD5A175E6), UINT32_C(0x486A2607), UINT32_C(0x72B74EB7),
13870           UINT32_C(0x9B17D14D), UINT32_C(0x1039CA77), UINT32_C(0x1069D5C4),
13871           UINT32_C(0x3FEE08BB), UINT32_C(0x214605B3)}},
13872         {{UINT32_C(0xF9D14E8D), UINT32_C(0xC25A7379), UINT32_C(0x577D330E),
13873           UINT32_C(0x9D5FAFDA), UINT32_C(0xA4A9CEF0), UINT32_C(0xB9A0217D),
13874           UINT32_C(0x08252731), UINT32_C(0x95AFC7F7)},
13875          {UINT32_C(0x8FC51680), UINT32_C(0x14E53E9E), UINT32_C(0xA8AC4E21),
13876           UINT32_C(0x0AEA2428), UINT32_C(0x11CB2361), UINT32_C(0x6BC5E42C),
13877           UINT32_C(0xDCB52215), UINT32_C(0x3B205E45)}},
13878         {{UINT32_C(0xC916CDE4), UINT32_C(0x8EDD4718), UINT32_C(0xD70D7130),
13879           UINT32_C(0xBB08F27A), UINT32_C(0xED9162CB), UINT32_C(0x289A33C0),
13880           UINT32_C(0xFB69185B), UINT32_C(0x97CEFA45)},
13881          {UINT32_C(0x8B7797EE), UINT32_C(0x44DA2578), UINT32_C(0x148E9A75),
13882           UINT32_C(0x579B17F7), UINT32_C(0x913C09AE), UINT32_C(0x73EC1C23),
13883           UINT32_C(0x0BAAA67D), UINT32_C(0x3FAB86A4)}},
13884         {{UINT32_C(0x2DF7BE6D), UINT32_C(0x28E76C23), UINT32_C(0x500A844D),
13885           UINT32_C(0x00526844), UINT32_C(0x3CC748C2), UINT32_C(0xB86FBB14),
13886           UINT32_C(0xEB5F6AC5), UINT32_C(0x6D89BB8A)},
13887          {UINT32_C(0x2327808C), UINT32_C(0xF66159DF), UINT32_C(0x29C5006C),
13888           UINT32_C(0x606F0553), UINT32_C(0x844B6CA4), UINT32_C(0xDAA1107F),
13889           UINT32_C(0x63A8946C), UINT32_C(0x95D7686C)}},
13890     },
13891     {
13892         {{UINT32_C(0x07F7DCF5), UINT32_C(0x71438CEA), UINT32_C(0x0A1CCD55),
13893           UINT32_C(0xB3F59AFA), UINT32_C(0x0E0071B4), UINT32_C(0x5A439627),
13894           UINT32_C(0xE93D5B8E), UINT32_C(0x8694E3FA)},
13895          {UINT32_C(0x7D6550B0), UINT32_C(0x21713A38), UINT32_C(0x06CFCD5B),
13896           UINT32_C(0x893BD9F7), UINT32_C(0xE7513FCE), UINT32_C(0xC3D2679C),
13897           UINT32_C(0x2C451EF3), UINT32_C(0x418AE7C8)}},
13898         {{UINT32_C(0x0B85E2A9), UINT32_C(0xADFAFF38), UINT32_C(0x2E244653),
13899           UINT32_C(0x6124E627), UINT32_C(0x375D1EE7), UINT32_C(0xF2C465AF),
13900           UINT32_C(0x76E58455), UINT32_C(0x5B2302D6)},
13901          {UINT32_C(0x7479F387), UINT32_C(0x32938A0D), UINT32_C(0xAAAB22A5),
13902           UINT32_C(0xF9A16A0D), UINT32_C(0x2AD65CAE), UINT32_C(0x65AF0E25),
13903           UINT32_C(0x8431EA40), UINT32_C(0x2B566866)}},
13904         {{UINT32_C(0xDBCDAFAB), UINT32_C(0xCA3ACC11), UINT32_C(0xBB7F218B),
13905           UINT32_C(0x0BBB5DBF), UINT32_C(0xDB0ABBE2), UINT32_C(0xD69E091A),
13906           UINT32_C(0x0B0B7B09), UINT32_C(0x8AFFCE95)},
13907          {UINT32_C(0xC7EC52C7), UINT32_C(0x0A5E6C81), UINT32_C(0x896707CD),
13908           UINT32_C(0xABD60595), UINT32_C(0x101E0F80), UINT32_C(0x4CE86506),
13909           UINT32_C(0x4ED01B2E), UINT32_C(0x9629A6C0)}},
13910         {{UINT32_C(0xE15D82F4), UINT32_C(0x1D740EAC), UINT32_C(0x90A5D149),
13911           UINT32_C(0x42F98018), UINT32_C(0x903D6D28), UINT32_C(0x1B8C8DC0),
13912           UINT32_C(0x05BBDFF7), UINT32_C(0x7BE2B916)},
13913          {UINT32_C(0xD8E41D96), UINT32_C(0xFBACF878), UINT32_C(0xBE26EB56),
13914           UINT32_C(0x42E98BFB), UINT32_C(0xF6DE1EB1), UINT32_C(0x9EA73555),
13915           UINT32_C(0xCF79A9EE), UINT32_C(0x5325DDDE)}},
13916         {{UINT32_C(0x48E6A22F), UINT32_C(0x44BE62C3), UINT32_C(0x8DB35276),
13917           UINT32_C(0xD0A3C0AD), UINT32_C(0x136FE9BA), UINT32_C(0xB4C99306),
13918           UINT32_C(0xA44E491F), UINT32_C(0x0F2987D7)},
13919          {UINT32_C(0xCCC77C2B), UINT32_C(0xA0965F74), UINT32_C(0xFE110072),
13920           UINT32_C(0xE01AD644), UINT32_C(0xC16B5E1E), UINT32_C(0x79528B9C),
13921           UINT32_C(0xF929BE4D), UINT32_C(0x45AEEFF3)}},
13922         {{UINT32_C(0x7F4DA458), UINT32_C(0x46E95DF6), UINT32_C(0xA7AD579B),
13923           UINT32_C(0x554C50C1), UINT32_C(0x4316DBA1), UINT32_C(0xF64F00A1),
13924           UINT32_C(0x46D487BD), UINT32_C(0x16C98513)},
13925          {UINT32_C(0x2C048A1B), UINT32_C(0xECB19761), UINT32_C(0x5373E5E6),
13926           UINT32_C(0x997AF398), UINT32_C(0xFDF23B20), UINT32_C(0x50E832D2),
13927           UINT32_C(0x7EF7E097), UINT32_C(0x1B358E0F)}},
13928         {{UINT32_C(0xACBC759C), UINT32_C(0x7C6728AE), UINT32_C(0xA156A466),
13929           UINT32_C(0x187588FB), UINT32_C(0x928F97BD), UINT32_C(0xC2E550ED),
13930           UINT32_C(0xAAE1C05A), UINT32_C(0x8B595A3A)},
13931          {UINT32_C(0xD77C1125), UINT32_C(0xE36871E1), UINT32_C(0x0DBBD882),
13932           UINT32_C(0x11E12978), UINT32_C(0x5E77FB7E), UINT32_C(0x3EF8268A),
13933           UINT32_C(0x6B33C00C), UINT32_C(0x7BAEA9BA)}},
13934         {{UINT32_C(0x5925E5FE), UINT32_C(0x7C851236), UINT32_C(0xD8E1597B),
13935           UINT32_C(0xCED70AE5), UINT32_C(0x6DCD112F), UINT32_C(0x7A28BE1A),
13936           UINT32_C(0x3B8EAF6F), UINT32_C(0x1EB19268)},
13937          {UINT32_C(0x8AA902B9), UINT32_C(0x7E6F1CF2), UINT32_C(0xA5A761D9),
13938           UINT32_C(0x3DD9D59C), UINT32_C(0x48D9F52E), UINT32_C(0x8EF70BB4),
13939           UINT32_C(0xCDEE9658), UINT32_C(0x96629C1A)}},
13940         {{UINT32_C(0xB367C5B3), UINT32_C(0xCA215EAC), UINT32_C(0xA796338A),
13941           UINT32_C(0x36B22774), UINT32_C(0x26EBCDFE), UINT32_C(0x71F9A61A),
13942           UINT32_C(0x35119BD3), UINT32_C(0x1B40580A)},
13943          {UINT32_C(0x431C78BD), UINT32_C(0x77169EF1), UINT32_C(0x337022D5),
13944           UINT32_C(0x8197975E), UINT32_C(0x1D9A4742), UINT32_C(0x45112799),
13945           UINT32_C(0x19B6DB07), UINT32_C(0x382750D6)}},
13946         {{UINT32_C(0x9786AE0B), UINT32_C(0x740405EE), UINT32_C(0x3ABA0481),
13947           UINT32_C(0xF7F37C0F), UINT32_C(0x51892307), UINT32_C(0x904FC60C),
13948           UINT32_C(0xE891D639), UINT32_C(0x8405DF2A)},
13949          {UINT32_C(0xD9B432F8), UINT32_C(0x53D19AC5), UINT32_C(0x066CD97C),
13950           UINT32_C(0xE8F1730F), UINT32_C(0x0E95804B), UINT32_C(0xC8740FEF),
13951           UINT32_C(0xEC242811), UINT32_C(0x12EE433C)}},
13952         {{UINT32_C(0x6153F4D4), UINT32_C(0x6AF4B9B1), UINT32_C(0xF84F0145),
13953           UINT32_C(0x9CD8CD0C), UINT32_C(0xDCEB0F06), UINT32_C(0x6CABD4FC),
13954           UINT32_C(0x0D134DCE), UINT32_C(0x036BF146)},
13955          {UINT32_C(0x7EFFACAB), UINT32_C(0xCDEB1818), UINT32_C(0x52C987E7),
13956           UINT32_C(0xB57A4162), UINT32_C(0xC647E82F), UINT32_C(0xDD5104EB),
13957           UINT32_C(0xF51B5270), UINT32_C(0x389AA556)}},
13958         {{UINT32_C(0x60108876), UINT32_C(0xC450CAEA), UINT32_C(0xF48601A1),
13959           UINT32_C(0xF36B5B6A), UINT32_C(0x09128863), UINT32_C(0x257950D1),
13960           UINT32_C(0xA9F6A1B9), UINT32_C(0x7A592427)},
13961          {UINT32_C(0xED12DE33), UINT32_C(0xBF1FF2B0), UINT32_C(0xE2141101),
13962           UINT32_C(0x4D542AC8), UINT32_C(0xE170F9CF), UINT32_C(0x998523C4),
13963           UINT32_C(0xFCEC0E2F), UINT32_C(0x629385CE)}},
13964         {{UINT32_C(0xB2677C49), UINT32_C(0x951494ED), UINT32_C(0xF9B648E8),
13965           UINT32_C(0xF1AE7138), UINT32_C(0x63CFF359), UINT32_C(0x28B8749E),
13966           UINT32_C(0x9A73272F), UINT32_C(0x5AC4EC4C)},
13967          {UINT32_C(0x21723271), UINT32_C(0xC25ABB87), UINT32_C(0x8B441AFD),
13968           UINT32_C(0x488EC910), UINT32_C(0x1B1DF775), UINT32_C(0x07518348),
13969           UINT32_C(0xF1EB2FB4), UINT32_C(0x4662BBDA)}},
13970         {{UINT32_C(0x6DF9F64A), UINT32_C(0xAE836F74), UINT32_C(0xA185ABE6),
13971           UINT32_C(0xF3CD6C9D), UINT32_C(0xC29A1C1A), UINT32_C(0xAFA897A8),
13972           UINT32_C(0x11B2D6AC), UINT32_C(0x4BAFBB69)},
13973          {UINT32_C(0xB6D971C7), UINT32_C(0x8040F9A3), UINT32_C(0x00763EAF),
13974           UINT32_C(0x3B8920B7), UINT32_C(0x52E848B7), UINT32_C(0x7A1655DA),
13975           UINT32_C(0x703FA84D), UINT32_C(0x03BC8B55)}},
13976         {{UINT32_C(0x1F934416), UINT32_C(0xE6348C65), UINT32_C(0xF82BBC4A),
13977           UINT32_C(0xDBE59C03), UINT32_C(0xEAD60547), UINT32_C(0x51AEAD09),
13978           UINT32_C(0x4F20111E), UINT32_C(0x043A35C3)},
13979          {UINT32_C(0xEC574F0A), UINT32_C(0x0AA18326), UINT32_C(0xFCADF79D),
13980           UINT32_C(0x07E90D70), UINT32_C(0x201CD68B), UINT32_C(0x3979D4CE),
13981           UINT32_C(0x2C2734B1), UINT32_C(0x7FBF2C63)}},
13982         {{UINT32_C(0x2656AF49), UINT32_C(0x2E451373), UINT32_C(0xA432DE06),
13983           UINT32_C(0xCA86207D), UINT32_C(0x12F20637), UINT32_C(0xC5F9262D),
13984           UINT32_C(0x26C0C745), UINT32_C(0x7DD9CCDC)},
13985          {UINT32_C(0xA785ED89), UINT32_C(0x99276BDC), UINT32_C(0x374CFBE2),
13986           UINT32_C(0x34B307A7), UINT32_C(0x1E8EE0C5), UINT32_C(0x916E9B06),
13987           UINT32_C(0x88A85C6A), UINT32_C(0x4E8EB3C7)}},
13988     },
13989     {
13990         {{UINT32_C(0x107F1CE0), UINT32_C(0x6F2433EF), UINT32_C(0x46D23AEF),
13991           UINT32_C(0x121DE131), UINT32_C(0x20DB44DE), UINT32_C(0x7AC50BE8),
13992           UINT32_C(0xF6F41A1C), UINT32_C(0x1E500A2B)},
13993          {UINT32_C(0x27B0004C), UINT32_C(0x8E5BAFCC), UINT32_C(0xDB555C04),
13994           UINT32_C(0x8538A5ED), UINT32_C(0xCE4ED544), UINT32_C(0x00AEC8A7),
13995           UINT32_C(0x73B2DA91), UINT32_C(0x7C7301CC)}},
13996         {{UINT32_C(0x63284E3A), UINT32_C(0x3E7E1E5C), UINT32_C(0x1422D8EA),
13997           UINT32_C(0x14581400), UINT32_C(0x7AAABD1D), UINT32_C(0x5FE151BF),
13998           UINT32_C(0x1533B371), UINT32_C(0x6716691F)},
13999          {UINT32_C(0x22A8B7DF), UINT32_C(0xA592D53E), UINT32_C(0x51C97935),
14000           UINT32_C(0x66991AFF), UINT32_C(0xDE5429B6), UINT32_C(0x8B10603D),
14001           UINT32_C(0x551F146B), UINT32_C(0x0002F6C6)}},
14002         {{UINT32_C(0x777A334C), UINT32_C(0xF641CBCB), UINT32_C(0xEEFBCA44),
14003           UINT32_C(0xB45B21E1), UINT32_C(0x32F6E263), UINT32_C(0x7C2FCD65),
14004           UINT32_C(0xFEED8901), UINT32_C(0x05A21D80)},
14005          {UINT32_C(0x5506CF47), UINT32_C(0x2471B486), UINT32_C(0x7C9E62DE),
14006           UINT32_C(0x0FFAC1F7), UINT32_C(0x869D3BDC), UINT32_C(0xC4D321DF),
14007           UINT32_C(0x9512D0CA), UINT32_C(0x9AC03509)}},
14008         {{UINT32_C(0x352E0353), UINT32_C(0x5A26E8F5), UINT32_C(0xBF6ABBAC),
14009           UINT32_C(0x965CF602), UINT32_C(0xE911C628), UINT32_C(0xDD8C4818),
14010           UINT32_C(0xDC2D04A0), UINT32_C(0x132CA2D8)},
14011          {UINT32_C(0x6C865C91), UINT32_C(0x7641CFCE), UINT32_C(0x8E9965EF),
14012           UINT32_C(0xDB5AB8F3), UINT32_C(0xDE0B7E90), UINT32_C(0x30030BCD),
14013           UINT32_C(0x2320D3F1), UINT32_C(0x7BF44453)}},
14014         {{UINT32_C(0xD8A99DAD), UINT32_C(0xC006FA6D), UINT32_C(0xB45E64A1),
14015           UINT32_C(0xC042F163), UINT32_C(0x74F4DBB1), UINT32_C(0xB91C9CA4),
14016           UINT32_C(0xBE221E4E), UINT32_C(0x23BD5A29)},
14017          {UINT32_C(0x3D1ECF78), UINT32_C(0x6B0591D7), UINT32_C(0xAA5B771C),
14018           UINT32_C(0x9E0ACF38), UINT32_C(0x796D4AA3), UINT32_C(0xC970F263),
14019           UINT32_C(0x7B5DD349), UINT32_C(0x37037502)}},
14020         {{UINT32_C(0xFBC52541), UINT32_C(0xE11DECDA), UINT32_C(0xE7FE53A5),
14021           UINT32_C(0xA49B8D39), UINT32_C(0x104A1F6E), UINT32_C(0x3A08E9BB),
14022           UINT32_C(0xE0192BFB), UINT32_C(0x95444A15)},
14023          {UINT32_C(0x1A97B875), UINT32_C(0xEF75B062), UINT32_C(0xEA5FC457),
14024           UINT32_C(0x9FC8AE5E), UINT32_C(0x47F73089), UINT32_C(0x3A09FD1B),
14025           UINT32_C(0xE24516AB), UINT32_C(0x096750EC)}},
14026         {{UINT32_C(0x4A350C95), UINT32_C(0xAA180046), UINT32_C(0x58EA4195),
14027           UINT32_C(0xA72F2B67), UINT32_C(0xFD9A4F25), UINT32_C(0xE0647945),
14028           UINT32_C(0x22737E2D), UINT32_C(0x4CF4136D)},
14029          {UINT32_C(0xEFB2A96D), UINT32_C(0xEE2532CE), UINT32_C(0x6C2F1471),
14030           UINT32_C(0xB39DB117), UINT32_C(0x19935BDB), UINT32_C(0xF7C6242B),
14031           UINT32_C(0x7A820092), UINT32_C(0x98CA48D4)}},
14032         {{UINT32_C(0xC3C938B0), UINT32_C(0xE9C1AD0A), UINT32_C(0xCCDF3BC6),
14033           UINT32_C(0xF7CC05C4), UINT32_C(0x363A9CC6), UINT32_C(0x3C21752B),
14034           UINT32_C(0x5916BD59), UINT32_C(0x47996B87)},
14035          {UINT32_C(0x98D17468), UINT32_C(0x01EF895D), UINT32_C(0x5818F5D8),
14036           UINT32_C(0x9182F882), UINT32_C(0xE35E4BE7), UINT32_C(0xCBD212A3),
14037           UINT32_C(0x5EA16E55), UINT32_C(0x894E7F39)}},
14038         {{UINT32_C(0x7C8FDD7E), UINT32_C(0xAC674AEE), UINT32_C(0xEDB0FE30),
14039           UINT32_C(0xA23FA827), UINT32_C(0x745B3230), UINT32_C(0x642BE06F),
14040           UINT32_C(0xCB40941C), UINT32_C(0x7654C79B)},
14041          {UINT32_C(0xD6A9E988), UINT32_C(0x4640C0C5), UINT32_C(0x11A4EECB),
14042           UINT32_C(0xA98AF661), UINT32_C(0x325D730E), UINT32_C(0xE1E827E3),
14043           UINT32_C(0x7D8A02DE), UINT32_C(0x2342D880)}},
14044         {{UINT32_C(0x715DB87E), UINT32_C(0xE4101595), UINT32_C(0x3C44A43A),
14045           UINT32_C(0x462718AB), UINT32_C(0xEFCBC0F7), UINT32_C(0xF414CBC7),
14046           UINT32_C(0xE5999AB3), UINT32_C(0x2A64DB21)},
14047          {UINT32_C(0x9DA91E84), UINT32_C(0xDAD841E1), UINT32_C(0x5F5C1CDD),
14048           UINT32_C(0x5A28F649), UINT32_C(0xB8B41BDA), UINT32_C(0x2F8C9DCA),
14049           UINT32_C(0x029C3697), UINT32_C(0x259DC791)}},
14050         {{UINT32_C(0x5296BA38), UINT32_C(0xD56F4EF4), UINT32_C(0x02EC3100),
14051           UINT32_C(0x4A853BA1), UINT32_C(0xC8AE4C47), UINT32_C(0xB0ED5F21),
14052           UINT32_C(0x61DF268E), UINT32_C(0x53D0DA0C)},
14053          {UINT32_C(0x6DC06EB6), UINT32_C(0xB6771DCB), UINT32_C(0xBB0C457F),
14054           UINT32_C(0x30B07595), UINT32_C(0xF174690D), UINT32_C(0xC2FD08F3),
14055           UINT32_C(0x87A5DC8E), UINT32_C(0x77000D6A)}},
14056         {{UINT32_C(0x6E1369AD), UINT32_C(0x90DDAA61), UINT32_C(0xB6A5F225),
14057           UINT32_C(0x3DD15EE7), UINT32_C(0x27AEB0DC), UINT32_C(0x051AA9C4),
14058           UINT32_C(0xE5372729), UINT32_C(0x18712DBB)},
14059          {UINT32_C(0xA23AFF5A), UINT32_C(0x13B3F9DF), UINT32_C(0x703FBFF9),
14060           UINT32_C(0x34388CED), UINT32_C(0x17D60129), UINT32_C(0x0F390D67),
14061           UINT32_C(0x4DAE9863), UINT32_C(0x3F0CA25E)}},
14062         {{UINT32_C(0x903385DC), UINT32_C(0x6E0F5594), UINT32_C(0xF8A815A9),
14063           UINT32_C(0x47483889), UINT32_C(0x23B70B1C), UINT32_C(0x42AF320C),
14064           UINT32_C(0x1A1AEA03), UINT32_C(0x4A27CA27)},
14065          {UINT32_C(0x66AF6F9D), UINT32_C(0xFAAC21C8), UINT32_C(0xC9FBFD3E),
14066           UINT32_C(0x20849D90), UINT32_C(0xEE0A541C), UINT32_C(0x793F889F),
14067           UINT32_C(0xADA5D18F), UINT32_C(0x2555FC32)}},
14068         {{UINT32_C(0xBA2BD509), UINT32_C(0x3F38F58C), UINT32_C(0x048F864B),
14069           UINT32_C(0x319A5F0D), UINT32_C(0xD5900B1E), UINT32_C(0xC4632F37),
14070           UINT32_C(0xF8519441), UINT32_C(0x3FAF2615)},
14071          {UINT32_C(0xFE194D77), UINT32_C(0x6A4AA25D), UINT32_C(0xD681409B),
14072           UINT32_C(0xB5A6464A), UINT32_C(0xB957523A), UINT32_C(0x1A9326ED),
14073           UINT32_C(0x27098B5B), UINT32_C(0x7690EA4F)}},
14074         {{UINT32_C(0x10F3FDE3), UINT32_C(0x5530E911), UINT32_C(0x810E7853),
14075           UINT32_C(0x9A40101F), UINT32_C(0x8F011C4E), UINT32_C(0x152704FC),
14076           UINT32_C(0x129B455F), UINT32_C(0x5B1702E4)},
14077          {UINT32_C(0xE60F4D30), UINT32_C(0x46A130BA), UINT32_C(0x62BBE8B5),
14078           UINT32_C(0xA3D57414), UINT32_C(0x3CFAEFE3), UINT32_C(0xA26238DA),
14079           UINT32_C(0x3175078E), UINT32_C(0x4E614113)}},
14080         {{UINT32_C(0x992EE109), UINT32_C(0x27BCCDFF), UINT32_C(0xFB45C6C3),
14081           UINT32_C(0x79F88647), UINT32_C(0xC73F2829), UINT32_C(0x7FD5D73A),
14082           UINT32_C(0x65A44CF1), UINT32_C(0x7EBE8E4E)},
14083          {UINT32_C(0x37414B2C), UINT32_C(0xB9EC0B94), UINT32_C(0x36DED49D),
14084           UINT32_C(0x846AD1D1), UINT32_C(0x62F2FE87), UINT32_C(0x72AE1060),
14085           UINT32_C(0xC032EEDD), UINT32_C(0x7F5AF329)}},
14086     },
14087     {
14088         {{UINT32_C(0xC7A645A5), UINT32_C(0x6C80B058), UINT32_C(0x729066AC),
14089           UINT32_C(0xF86341D2), UINT32_C(0x33FB5CE8), UINT32_C(0xE4F366BD),
14090           UINT32_C(0xC23A4751), UINT32_C(0x6B79D63F)},
14091          {UINT32_C(0xEC3F8686), UINT32_C(0xFAA0F994), UINT32_C(0xA9BA8F5E),
14092           UINT32_C(0x156A6E8E), UINT32_C(0x9F2FAE57), UINT32_C(0xA46CA7D5),
14093           UINT32_C(0x6EFE66F2), UINT32_C(0x84CB2196)}},
14094         {{UINT32_C(0xED25185C), UINT32_C(0xF9C1DECB), UINT32_C(0xB1FCFC82),
14095           UINT32_C(0x6DC43F21), UINT32_C(0xA954087B), UINT32_C(0x4A840262),
14096           UINT32_C(0x0A38F667), UINT32_C(0x60230809)},
14097          {UINT32_C(0x1D9672B5), UINT32_C(0xBD345006), UINT32_C(0xF83361EF),
14098           UINT32_C(0xE0FF804B), UINT32_C(0xEF8E1598), UINT32_C(0x9DDC6CE1),
14099           UINT32_C(0xFBD9BD0E), UINT32_C(0x4419F705)}},
14100         {{UINT32_C(0x3426122A), UINT32_C(0xF171EDE4), UINT32_C(0x20A3963E),
14101           UINT32_C(0xEF6A1AE2), UINT32_C(0x031647D0), UINT32_C(0xD25AB7A2),
14102           UINT32_C(0xCB4CA4E3), UINT32_C(0x0FD7EC20)},
14103          {UINT32_C(0xB7D3A295), UINT32_C(0xC103969C), UINT32_C(0x34DBABA8),
14104           UINT32_C(0x4957509E), UINT32_C(0x60BC0760), UINT32_C(0x8456DF63),
14105           UINT32_C(0xD63B49A9), UINT32_C(0x02AF2033)}},
14106         {{UINT32_C(0x0378E444), UINT32_C(0x271966A0), UINT32_C(0x5D15A0B7),
14107           UINT32_C(0x673F057D), UINT32_C(0xA0EFE59E), UINT32_C(0xA55C44F9),
14108           UINT32_C(0x376119A6), UINT32_C(0x2F602F87)},
14109          {UINT32_C(0x28981502), UINT32_C(0x0A149074), UINT32_C(0x8741D4F2),
14110           UINT32_C(0xDA006774), UINT32_C(0x133F8479), UINT32_C(0x8F982C81),
14111           UINT32_C(0xF944319A), UINT32_C(0x1ECAF17A)}},
14112         {{UINT32_C(0xA37F4FC2), UINT32_C(0x281A234E), UINT32_C(0xFD34FC11),
14113           UINT32_C(0xAFD847B2), UINT32_C(0x4683E11A), UINT32_C(0x02CC0839),
14114           UINT32_C(0x3F65B844), UINT32_C(0x71215DA9)},
14115          {UINT32_C(0xEFE32AC9), UINT32_C(0xF9F41383), UINT32_C(0x1361FE53),
14116           UINT32_C(0x4AC3D91D), UINT32_C(0x1CC2E948), UINT32_C(0x03C9FBAB),
14117           UINT32_C(0x43379A4F), UINT32_C(0x9A9A4B91)}},
14118         {{UINT32_C(0x51BED5AC), UINT32_C(0x8D37A108), UINT32_C(0x998E1C19),
14119           UINT32_C(0x75D91890), UINT32_C(0x5D244730), UINT32_C(0xE6C76B09),
14120           UINT32_C(0x4CD555FF), UINT32_C(0x12714716)},
14121          {UINT32_C(0x29DDC669), UINT32_C(0xF2DCE85A), UINT32_C(0x8D622348),
14122           UINT32_C(0x8914D13A), UINT32_C(0xDAE035E8), UINT32_C(0x9FE6B578),
14123           UINT32_C(0xF41EEF19), UINT32_C(0x21ECB251)}},
14124         {{UINT32_C(0x7999064D), UINT32_C(0xEAFF3862), UINT32_C(0x96383204),
14125           UINT32_C(0xB72BABEF), UINT32_C(0x6BCCCB43), UINT32_C(0x8E6C9E67),
14126           UINT32_C(0x7FD71298), UINT32_C(0x320A7D78)},
14127          {UINT32_C(0xB438A302), UINT32_C(0x4081E38A), UINT32_C(0x120E132D),
14128           UINT32_C(0x0A15CBA7), UINT32_C(0xEC2E0939), UINT32_C(0x6D9123E1),
14129           UINT32_C(0xE0D6FEC5), UINT32_C(0x692D699C)}},
14130         {{UINT32_C(0xC8D5D361), UINT32_C(0xB639ADAE), UINT32_C(0xC60A078D),
14131           UINT32_C(0xA8F742CC), UINT32_C(0x9D740F0F), UINT32_C(0xE8D2CF92),
14132           UINT32_C(0x4DCE6A87), UINT32_C(0x6E8EEEF9)},
14133          {UINT32_C(0x6A2E5164), UINT32_C(0x54E19488), UINT32_C(0x2430E4B9),
14134           UINT32_C(0x4372C6CF), UINT32_C(0x1C5B13B3), UINT32_C(0xD58EA91B),
14135           UINT32_C(0xBB9F2911), UINT32_C(0x796DCC45)}},
14136         {{UINT32_C(0xCBB267F9), UINT32_C(0xD8D4FAF0), UINT32_C(0x703F4011),
14137           UINT32_C(0xC2770DBE), UINT32_C(0x0D651402), UINT32_C(0x13739F02),
14138           UINT32_C(0x72D2B3F1), UINT32_C(0x7DE4E51E)},
14139          {UINT32_C(0x1FE00C7E), UINT32_C(0xB10F966E), UINT32_C(0x8F42B5F8),
14140           UINT32_C(0x5E9A1501), UINT32_C(0xD00437A3), UINT32_C(0x6AFB1AD0),
14141           UINT32_C(0x1473D5AE), UINT32_C(0x267D1536)}},
14142         {{UINT32_C(0x4CAE118F), UINT32_C(0x1173B5DB), UINT32_C(0xCA749EE6),
14143           UINT32_C(0xC3A2EAFD), UINT32_C(0x4ED4FFF4), UINT32_C(0x64F738E6),
14144           UINT32_C(0xB07860B6), UINT32_C(0x47DDECB6)},
14145          {UINT32_C(0xBD47A901), UINT32_C(0xF5D627FC), UINT32_C(0x856C6903),
14146           UINT32_C(0x6493BC28), UINT32_C(0xEA63B675), UINT32_C(0x90280E4B),
14147           UINT32_C(0xC4148666), UINT32_C(0x211C04A2)}},
14148         {{UINT32_C(0x6524BC38), UINT32_C(0x0A5F0C27), UINT32_C(0xBB3CBDB9),
14149           UINT32_C(0x4B9D95FB), UINT32_C(0x20507C82), UINT32_C(0x5394ADC2),
14150           UINT32_C(0xB4DBE448), UINT32_C(0x4C0C9167)},
14151          {UINT32_C(0x303A5B11), UINT32_C(0xAC3E87CE), UINT32_C(0x3251F4DF),
14152           UINT32_C(0xD31FB9C5), UINT32_C(0xE43CE799), UINT32_C(0x86C281DF),
14153           UINT32_C(0x29FE09E4), UINT32_C(0x84E644D7)}},
14154         {{UINT32_C(0x43166C20), UINT32_C(0x6D7B61DC), UINT32_C(0xBD34F981),
14155           UINT32_C(0x54D6C035), UINT32_C(0xC991096D), UINT32_C(0xB166769D),
14156           UINT32_C(0x3A4CF05C), UINT32_C(0x51A47E3A)},
14157          {UINT32_C(0x14F5E7F1), UINT32_C(0x57CF9EFF), UINT32_C(0xE39FDA0D),
14158           UINT32_C(0xED3D4E9D), UINT32_C(0xBAA7E93B), UINT32_C(0xDF0176EC),
14159           UINT32_C(0x70935B9F), UINT32_C(0x6B2FEA14)}},
14160         {{UINT32_C(0x709B70AE), UINT32_C(0x19F9D59E), UINT32_C(0x70472149),
14161           UINT32_C(0xD850CA32), UINT32_C(0x29EE6104), UINT32_C(0x292CADD9),
14162           UINT32_C(0x8FD499F2), UINT32_C(0x870F7C99)},
14163          {UINT32_C(0x415C6FFD), UINT32_C(0x200ECB1C), UINT32_C(0x35CB841B),
14164           UINT32_C(0xEEA6107D), UINT32_C(0xF95DD333), UINT32_C(0x1CB06F8A),
14165           UINT32_C(0xE498AA7B), UINT32_C(0x245712FD)}},
14166         {{UINT32_C(0xED4FBD78), UINT32_C(0x101665EA), UINT32_C(0x0E32D1B4),
14167           UINT32_C(0xC6DDE1BB), UINT32_C(0x40150A9C), UINT32_C(0x3E79185E),
14168           UINT32_C(0x7DEF3607), UINT32_C(0x49E2AE6B)},
14169          {UINT32_C(0x308B7F59), UINT32_C(0xCCC9B0F6), UINT32_C(0xCE922087),
14170           UINT32_C(0xB267008F), UINT32_C(0xCF2AABA6), UINT32_C(0x46CF7F07),
14171           UINT32_C(0x9954091F), UINT32_C(0x5A74C8A0)}},
14172         {{UINT32_C(0x5240B5A0), UINT32_C(0x8F287195), UINT32_C(0x1845373D),
14173           UINT32_C(0x7AC7720F), UINT32_C(0x4E592274), UINT32_C(0xCF276B59),
14174           UINT32_C(0x694C30B8), UINT32_C(0x6BEBC284)},
14175          {UINT32_C(0x677B16CD), UINT32_C(0xDA0113D6), UINT32_C(0x45C9FA76),
14176           UINT32_C(0xA2213446), UINT32_C(0x66964ADB), UINT32_C(0x2DEAF2ED),
14177           UINT32_C(0xBC062240), UINT32_C(0x1977A8B3)}},
14178         {{UINT32_C(0x80303DFD), UINT32_C(0xEEA29126), UINT32_C(0xE95BF6A1),
14179           UINT32_C(0x3E4A33AC), UINT32_C(0x15DE0457), UINT32_C(0x6BFE2D5D),
14180           UINT32_C(0xAD0976D1), UINT32_C(0x407BF7E3)},
14181          {UINT32_C(0x306B415B), UINT32_C(0x04C1F61F), UINT32_C(0x5F790D5F),
14182           UINT32_C(0xC86A75D2), UINT32_C(0xB7EAE07B), UINT32_C(0x7B799EDE),
14183           UINT32_C(0xB4A66839), UINT32_C(0x9155A9A0)}},
14184     },
14185     {
14186         {{UINT32_C(0x0DCE586B), UINT32_C(0x9745C6BB), UINT32_C(0xBE77B502),
14187           UINT32_C(0x554C8313), UINT32_C(0xA93962CF), UINT32_C(0xF0F842A9),
14188           UINT32_C(0xAAA141BC), UINT32_C(0x40862273)},
14189          {UINT32_C(0xBD62237B), UINT32_C(0x926FFA4A), UINT32_C(0x7B942F48),
14190           UINT32_C(0xD4F1E4A1), UINT32_C(0x075684FD), UINT32_C(0x3A841EB7),
14191           UINT32_C(0xDD1807E1), UINT32_C(0x21F6EB39)}},
14192         {{UINT32_C(0xBEDA4365), UINT32_C(0x155DFD66), UINT32_C(0x27F33BF9),
14193           UINT32_C(0xDD575C83), UINT32_C(0x3DFF83A1), UINT32_C(0x5907B08D),
14194           UINT32_C(0xD6788D63), UINT32_C(0x7E325357)},
14195          {UINT32_C(0xBAC74ED7), UINT32_C(0xF90BF447), UINT32_C(0xEDA226CD),
14196           UINT32_C(0x2DE6C957), UINT32_C(0x1CA44607), UINT32_C(0x67832302),
14197           UINT32_C(0x56011C38), UINT32_C(0x22ECBC1F)}},
14198         {{UINT32_C(0xB663A46C), UINT32_C(0xF01279A9), UINT32_C(0x7E3AAB83),
14199           UINT32_C(0x07D74C5F), UINT32_C(0x8C0DA43E), UINT32_C(0xF20940B6),
14200           UINT32_C(0x368AD991), UINT32_C(0x57C6A735)},
14201          {UINT32_C(0x5007E059), UINT32_C(0x01E9B366), UINT32_C(0x9614D480),
14202           UINT32_C(0xFC38FC99), UINT32_C(0xFF7DA757), UINT32_C(0x4A3AAA18),
14203           UINT32_C(0xB0CE1B03), UINT32_C(0x4481B669)}},
14204         {{UINT32_C(0xB4A807FF), UINT32_C(0x9CAA37A0), UINT32_C(0xF9B269F3),
14205           UINT32_C(0xBDEDEB49), UINT32_C(0xCB607AC3), UINT32_C(0xC5B76E57),
14206           UINT32_C(0x9A322F48), UINT32_C(0x08AEFE66)},
14207          {UINT32_C(0xD9261469), UINT32_C(0x6919E40D), UINT32_C(0x849718FA),
14208           UINT32_C(0x1F0ADA81), UINT32_C(0x9D81628E), UINT32_C(0xCD251B54),
14209           UINT32_C(0x5505F9E1), UINT32_C(0x6519C3C6)}},
14210         {{UINT32_C(0x2F81C037), UINT32_C(0x277591DC), UINT32_C(0x76E0D41E),
14211           UINT32_C(0xD63AD35A), UINT32_C(0x6EC063D3), UINT32_C(0x682662B5),
14212           UINT32_C(0x6762A0DB), UINT32_C(0x8210978B)},
14213          {UINT32_C(0xFE164B90), UINT32_C(0x05085F68), UINT32_C(0x3D6FD0D1),
14214           UINT32_C(0x50026ADC), UINT32_C(0xB01A3791), UINT32_C(0x38CC9FA7),
14215           UINT32_C(0xB376F83E), UINT32_C(0x1E286652)}},
14216         {{UINT32_C(0x09759892), UINT32_C(0x8DFFDA16), UINT32_C(0x9AC2CE5D),
14217           UINT32_C(0xE011DDDB), UINT32_C(0xBD71426B), UINT32_C(0xDDC7670F),
14218           UINT32_C(0x19742F7C), UINT32_C(0x9722A23B)},
14219          {UINT32_C(0xDC4767D3), UINT32_C(0x2EA99893), UINT32_C(0x11125BAE),
14220           UINT32_C(0xCB68D6C2), UINT32_C(0x307ED3B9), UINT32_C(0xAC76953E),
14221           UINT32_C(0xC366E9A2), UINT32_C(0x0EDD0C17)}},
14222         {{UINT32_C(0x484B5272), UINT32_C(0x88B3DEC9), UINT32_C(0x90380294),
14223           UINT32_C(0x0C848EA1), UINT32_C(0xA01AC92C), UINT32_C(0xDE187E83),
14224           UINT32_C(0x7A5D4D65), UINT32_C(0x2A880182)},
14225          {UINT32_C(0xB3C3C7BB), UINT32_C(0xD3C22C2B), UINT32_C(0xDE7ECE33),
14226           UINT32_C(0xC485CE02), UINT32_C(0xA437071A), UINT32_C(0xF22138C4),
14227           UINT32_C(0x0716DA53), UINT32_C(0x23A55C89)}},
14228         {{UINT32_C(0xF6FE058E), UINT32_C(0x9533C4A3), UINT32_C(0x748E4A4F),
14229           UINT32_C(0x28753F87), UINT32_C(0xEA404C70), UINT32_C(0x7814C50A),
14230           UINT32_C(0xE91B5EF3), UINT32_C(0x908D1C81)},
14231          {UINT32_C(0x04094766), UINT32_C(0xD827D3CE), UINT32_C(0x0CE5C727),
14232           UINT32_C(0x7AE2FD26), UINT32_C(0xCDAD2BDD), UINT32_C(0x016AC86F),
14233           UINT32_C(0x7A77C252), UINT32_C(0x37C088B0)}},
14234         {{UINT32_C(0x18A35CD3), UINT32_C(0xABF4C1EF), UINT32_C(0x698A5A01),
14235           UINT32_C(0x1F721491), UINT32_C(0x1A9E9A1F), UINT32_C(0x79284A12),
14236           UINT32_C(0x4D50DF40), UINT32_C(0x0457FF70)},
14237          {UINT32_C(0xEC46ED07), UINT32_C(0x1D235814), UINT32_C(0xAE5E97C8),
14238           UINT32_C(0xBD013752), UINT32_C(0xD9B100D4), UINT32_C(0x0E085C88),
14239           UINT32_C(0x8858F9F3), UINT32_C(0x8AFA070A)}},
14240         {{UINT32_C(0x698D6A59), UINT32_C(0x0F548BE3), UINT32_C(0xBF2D0D94),
14241           UINT32_C(0x5D7818A5), UINT32_C(0xD80E620D), UINT32_C(0x8E150DF1),
14242           UINT32_C(0xF857F167), UINT32_C(0x4C3A5E64)},
14243          {UINT32_C(0x61BD9152), UINT32_C(0x837D9A98), UINT32_C(0x8D10687F),
14244           UINT32_C(0x242CE589), UINT32_C(0xB6B52BB7), UINT32_C(0x9863EA4C),
14245           UINT32_C(0xB7DD35FF), UINT32_C(0x23665B46)}},
14246         {{UINT32_C(0x73942AAF), UINT32_C(0x3AA5432A), UINT32_C(0x0CEE83A9),
14247           UINT32_C(0xB0185DB4), UINT32_C(0xA83B907B), UINT32_C(0x145372EE),
14248           UINT32_C(0xBB6D341A), UINT32_C(0x609F1AD9)},
14249          {UINT32_C(0x864C92EE), UINT32_C(0x28C2B37A), UINT32_C(0xD4CC1158),
14250           UINT32_C(0xDD847239), UINT32_C(0x8F2EAF0A), UINT32_C(0xE5BD4FD2),
14251           UINT32_C(0xD24950AB), UINT32_C(0x04F43BC0)}},
14252         {{UINT32_C(0x88DA3F20), UINT32_C(0x11DEFCED), UINT32_C(0xA407C4A2),
14253           UINT32_C(0xCA4CE370), UINT32_C(0x2F8C5CFC), UINT32_C(0xEA70BEDF),
14254           UINT32_C(0x8214B7F7), UINT32_C(0x08AC147D)},
14255          {UINT32_C(0xE260AA96), UINT32_C(0xECAD0F77), UINT32_C(0xB56C30F7),
14256           UINT32_C(0xA868AC63), UINT32_C(0x396F4815), UINT32_C(0xF0ACDE5A),
14257           UINT32_C(0xACDE6CD8), UINT32_C(0x302F75B9)}},
14258         {{UINT32_C(0xC5D14866), UINT32_C(0x2125D07D), UINT32_C(0x4AE3212D),
14259           UINT32_C(0xFE563DE4), UINT32_C(0xEE9CAA2B), UINT32_C(0x0FE787CB),
14260           UINT32_C(0x53802482), UINT32_C(0x7D9B56A2)},
14261          {UINT32_C(0x8040D1A7), UINT32_C(0x128B4D37), UINT32_C(0x30ACA2F4),
14262           UINT32_C(0x57371299), UINT32_C(0x7623D14A), UINT32_C(0x5C443E35),
14263           UINT32_C(0x5FDB6310), UINT32_C(0x6436D328)}},
14264         {{UINT32_C(0xA8557B64), UINT32_C(0x531486A4), UINT32_C(0x9C5DE310),
14265           UINT32_C(0x3FAB4F21), UINT32_C(0x260468D0), UINT32_C(0xD872282E),
14266           UINT32_C(0x2542CBA4), UINT32_C(0x04CD4568)},
14267          {UINT32_C(0x555B6E0C), UINT32_C(0xACA0975A), UINT32_C(0x8B85132F),
14268           UINT32_C(0xEE8C43B2), UINT32_C(0xB9DECE9D), UINT32_C(0xC768808B),
14269           UINT32_C(0x431AF98C), UINT32_C(0x59EDEC60)}},
14270         {{UINT32_C(0x31992E22), UINT32_C(0xC365E133), UINT32_C(0x0DC3A4C8),
14271           UINT32_C(0xB96C5FA0), UINT32_C(0xA65761B0), UINT32_C(0xDEB1C1DA),
14272           UINT32_C(0xF4ACAB4C), UINT32_C(0x457676EE)},
14273          {UINT32_C(0xE674FFAF), UINT32_C(0xA0F95894), UINT32_C(0xD65CDAB7),
14274           UINT32_C(0xFD099172), UINT32_C(0x54DA58A2), UINT32_C(0x9383C2F8),
14275           UINT32_C(0x0F24A07B), UINT32_C(0x0A4F4C11)}},
14276         {{UINT32_C(0xE380ABF3), UINT32_C(0x9D7A80B3), UINT32_C(0x9E469F9F),
14277           UINT32_C(0xF0C6AC5A), UINT32_C(0x6BD0A324), UINT32_C(0xC87D5727),
14278           UINT32_C(0x7692B063), UINT32_C(0x28138E37)},
14279          {UINT32_C(0xD67862CA), UINT32_C(0xE18C1F7D), UINT32_C(0x1E07F928),
14280           UINT32_C(0x4B6B723E), UINT32_C(0xBBCF4125), UINT32_C(0xAAFE3FB0),
14281           UINT32_C(0x3B3AE714), UINT32_C(0x25400322)}},
14282     },
14283     {
14284         {{UINT32_C(0x63C295D8), UINT32_C(0xB89A2DCA), UINT32_C(0x85041AA1),
14285           UINT32_C(0x5CC03C65), UINT32_C(0xC6514781), UINT32_C(0xFA9B4C5C),
14286           UINT32_C(0xD92388FF), UINT32_C(0x578031A0)},
14287          {UINT32_C(0xF92C2D77), UINT32_C(0xB0D5AE0A), UINT32_C(0x793D588A),
14288           UINT32_C(0x945A677E), UINT32_C(0x34A190E0), UINT32_C(0x3722DE44),
14289           UINT32_C(0x0C2B9975), UINT32_C(0x6EA90DB8)}},
14290         {{UINT32_C(0x84BA4F9B), UINT32_C(0xE987AA85), UINT32_C(0x0AB43BE6),
14291           UINT32_C(0xB2A77B9C), UINT32_C(0x474D8841), UINT32_C(0xC4AD2AF6),
14292           UINT32_C(0x5D4FA590), UINT32_C(0x4ED7A82B)},
14293          {UINT32_C(0x9977AC2B), UINT32_C(0x9F39335E), UINT32_C(0x52E87607),
14294           UINT32_C(0x3CCD406D), UINT32_C(0x71456060), UINT32_C(0x9D18CB3F),
14295           UINT32_C(0x6A45D7D0), UINT32_C(0x0FE4D888)}},
14296         {{UINT32_C(0xF42D501A), UINT32_C(0xAEA8A911), UINT32_C(0x88F66FBA),
14297           UINT32_C(0x303E25D5), UINT32_C(0x61740B85), UINT32_C(0x54213F29),
14298           UINT32_C(0xC0B4D835), UINT32_C(0x5BC13A30)},
14299          {UINT32_C(0x4758EA28), UINT32_C(0x569AB9B8), UINT32_C(0xB796A794),
14300           UINT32_C(0xE2E49B28), UINT32_C(0x320D54E2), UINT32_C(0x17787125),
14301           UINT32_C(0xC54B4465), UINT32_C(0x5A6A8EDE)}},
14302         {{UINT32_C(0x870619DD), UINT32_C(0xC76C73D9), UINT32_C(0x84FE1078),
14303           UINT32_C(0xF541440E), UINT32_C(0x3B26A3DC), UINT32_C(0x2082FE36),
14304           UINT32_C(0xCC329B14), UINT32_C(0x3B896B29)},
14305          {UINT32_C(0xCAFCDC20), UINT32_C(0xB45028A9), UINT32_C(0x9C56757E),
14306           UINT32_C(0xA1B77C6F), UINT32_C(0x84802E47), UINT32_C(0xDE50D865),
14307           UINT32_C(0xBA0892B0), UINT32_C(0x7DFBC0E8)}},
14308         {{UINT32_C(0x47E702BB), UINT32_C(0xEBC505A9), UINT32_C(0xDACFACFE),
14309           UINT32_C(0x2329A41C), UINT32_C(0x51DDCE2F), UINT32_C(0xEA115603),
14310           UINT32_C(0x2E9D855A), UINT32_C(0x95BBC807)},
14311          {UINT32_C(0xCFD33E9F), UINT32_C(0x454C6B88), UINT32_C(0x4FFBB24A),
14312           UINT32_C(0x993CF6DE), UINT32_C(0x9B2144CD), UINT32_C(0xA8E22FF8),
14313           UINT32_C(0x84943294), UINT32_C(0x741066EE)}},
14314         {{UINT32_C(0xF067E5B2), UINT32_C(0x2CEE0CFF), UINT32_C(0xCA95F1C5),
14315           UINT32_C(0x1C1FD5A3), UINT32_C(0xC07B97F1), UINT32_C(0xA0EB8E7D),
14316           UINT32_C(0x7457415E), UINT32_C(0x0F2A5D77)},
14317          {UINT32_C(0x45D06291), UINT32_C(0xDFF92C58), UINT32_C(0x48ABABE8),
14318           UINT32_C(0x709EA0AC), UINT32_C(0x2FDC92F0), UINT32_C(0xB3058FEB),
14319           UINT32_C(0x5E5B169E), UINT32_C(0x55E9F86E)}},
14320         {{UINT32_C(0xEBF6AF2B), UINT32_C(0xEE5DF132), UINT32_C(0xF642A206),
14321           UINT32_C(0xC30DC3F1), UINT32_C(0x02C60CB6), UINT32_C(0xD7D8EC3E),
14322           UINT32_C(0x3178F1BF), UINT32_C(0x7C98946B)},
14323          {UINT32_C(0xA68799EB), UINT32_C(0x816C2AA1), UINT32_C(0x2430F06B),
14324           UINT32_C(0x507FD5E9), UINT32_C(0xB9EBD4B7), UINT32_C(0x021FFF1C),
14325           UINT32_C(0x8AECFEA4), UINT32_C(0x044365E6)}},
14326         {{UINT32_C(0x21339693), UINT32_C(0xDC5F5EA6), UINT32_C(0x90A448AD),
14327           UINT32_C(0x5BFD2676), UINT32_C(0xA12A9D77), UINT32_C(0xF712BA95),
14328           UINT32_C(0xBD8A6B5B), UINT32_C(0x7104735A)},
14329          {UINT32_C(0xA763BB99), UINT32_C(0xD2ED8304), UINT32_C(0x11B91A05),
14330           UINT32_C(0x7AF040F0), UINT32_C(0xB61F3789), UINT32_C(0xC545E8AE),
14331           UINT32_C(0xBB386760), UINT32_C(0x582E9EED)}},
14332         {{UINT32_C(0xCC099185), UINT32_C(0x0FCE5877), UINT32_C(0xCD681E67),
14333           UINT32_C(0x0E148BB5), UINT32_C(0xECB24ECE), UINT32_C(0xE9F9013E),
14334           UINT32_C(0x2A386485), UINT32_C(0x0090654B)},
14335          {UINT32_C(0x0520BAE8), UINT32_C(0x11BA700B), UINT32_C(0xD8E53123),
14336           UINT32_C(0xFC93BE31), UINT32_C(0xE37948EE), UINT32_C(0x7DD7CB36),
14337           UINT32_C(0x3FC23444), UINT32_C(0x8689AE8F)}},
14338         {{UINT32_C(0xAAC6616B), UINT32_C(0x2060F7DE), UINT32_C(0xDEAB3CC7),
14339           UINT32_C(0x372952C5), UINT32_C(0xC2424ACD), UINT32_C(0x715C4D27),
14340           UINT32_C(0x0308A009), UINT32_C(0x05846856)},
14341          {UINT32_C(0x0B8B34E8), UINT32_C(0x887BBD55), UINT32_C(0xB688C987),
14342           UINT32_C(0x949ACBD1), UINT32_C(0x784C4C0E), UINT32_C(0x3E774D49),
14343           UINT32_C(0xB0F5F545), UINT32_C(0x7AEA2D11)}},
14344         {{UINT32_C(0xE831E509), UINT32_C(0x5335BA6B), UINT32_C(0x739F332E),
14345           UINT32_C(0x8FC4B4AF), UINT32_C(0x95993EAF), UINT32_C(0xB0502462),
14346           UINT32_C(0xA7CEB88B), UINT32_C(0x7DA49F36)},
14347          {UINT32_C(0x029D0C8F), UINT32_C(0x3BE0B74B), UINT32_C(0x55611A8B),
14348           UINT32_C(0xBC07F180), UINT32_C(0x6583F53F), UINT32_C(0xC168CF41),
14349           UINT32_C(0xC34ADBC1), UINT32_C(0x4256E8D2)}},
14350         {{UINT32_C(0xCE2FCD89), UINT32_C(0x313AFC75), UINT32_C(0xD3DA44F2),
14351           UINT32_C(0xEA27FDA4), UINT32_C(0x9063B0DC), UINT32_C(0x9FABEA79),
14352           UINT32_C(0xB3418884), UINT32_C(0x2DF7D966)},
14353          {UINT32_C(0x80AF2EBD), UINT32_C(0x4329FD24), UINT32_C(0x9F095D30),
14354           UINT32_C(0x36F27FF7), UINT32_C(0xCC84C068), UINT32_C(0x88FFB18F),
14355           UINT32_C(0x7B0A9906), UINT32_C(0x976427A8)}},
14356         {{UINT32_C(0xFAC21087), UINT32_C(0xCFF828CC), UINT32_C(0x56863CB5),
14357           UINT32_C(0x6B6D3484), UINT32_C(0xC30879F3), UINT32_C(0x14163A70),
14358           UINT32_C(0x8CA6FD5D), UINT32_C(0x30E2A633)},
14359          {UINT32_C(0x28A58783), UINT32_C(0xC7FCEAD6), UINT32_C(0xEEFA1EAA),
14360           UINT32_C(0x945F7B09), UINT32_C(0x5CC66267), UINT32_C(0x98A503DB),
14361           UINT32_C(0x3780061B), UINT32_C(0x83EE750E)}},
14362         {{UINT32_C(0xB8477D6B), UINT32_C(0x7061409A), UINT32_C(0x2B7B54FA),
14363           UINT32_C(0xE47C779D), UINT32_C(0xF293166C), UINT32_C(0x42F5EDF5),
14364           UINT32_C(0x115D830F), UINT32_C(0x73C3AC1B)},
14365          {UINT32_C(0x4DEE0980), UINT32_C(0xC30D346E), UINT32_C(0xA62F0D09),
14366           UINT32_C(0xEE0D9A29), UINT32_C(0xABCB7DAE), UINT32_C(0xBBE8DC9E),
14367           UINT32_C(0x68B78925), UINT32_C(0x4F0E78C0)}},
14368         {{UINT32_C(0xB4B14003), UINT32_C(0x25A0D4FF), UINT32_C(0xB8AB649C),
14369           UINT32_C(0xA4C3AC55), UINT32_C(0x27F9FDF5), UINT32_C(0x7D7EDE72),
14370           UINT32_C(0xBC2A46D4), UINT32_C(0x507EC83F)},
14371          {UINT32_C(0xFAAFC26F), UINT32_C(0x344577D9), UINT32_C(0x3EB30156),
14372           UINT32_C(0x77CBB783), UINT32_C(0x1D5C9367), UINT32_C(0x3A846FFD),
14373           UINT32_C(0x9DF9F7BE), UINT32_C(0x5F0D280C)}},
14374         {{UINT32_C(0x77DF7F9F), UINT32_C(0xCC8EAC0A), UINT32_C(0xF33A62D4),
14375           UINT32_C(0x195BC6FF), UINT32_C(0x524D78FE), UINT32_C(0x18A33FFA),
14376           UINT32_C(0x6603F9C0), UINT32_C(0x10E58974)},
14377          {UINT32_C(0x0CDA2C3F), UINT32_C(0x31AF4B46), UINT32_C(0xADE169C3),
14378           UINT32_C(0xDDBF00C8), UINT32_C(0x71A7BC38), UINT32_C(0xA169C3E3),
14379           UINT32_C(0xA64B342E), UINT32_C(0x3FC352FF)}},
14380     },
14381     {
14382         {{UINT32_C(0xEE73C673), UINT32_C(0x58848315), UINT32_C(0x8ADB897E),
14383           UINT32_C(0x67D2F7C0), UINT32_C(0xF0658115), UINT32_C(0xE8CD786D),
14384           UINT32_C(0xAC54D2AB), UINT32_C(0x023D515A)},
14385          {UINT32_C(0x67559911), UINT32_C(0x0EDE61D8), UINT32_C(0x3C2B78B5),
14386           UINT32_C(0xBC12B106), UINT32_C(0x9E4707D8), UINT32_C(0xB5661A28),
14387           UINT32_C(0xADC095A4), UINT32_C(0x93FB4096)}},
14388         {{UINT32_C(0x33D5FA08), UINT32_C(0xEEB3810F), UINT32_C(0x33F4CAAF),
14389           UINT32_C(0x8D8FC354), UINT32_C(0x29EB08A3), UINT32_C(0xED870516),
14390           UINT32_C(0xD1D31EBC), UINT32_C(0x89FD91CA)},
14391          {UINT32_C(0xEDE2494B), UINT32_C(0xD2F1F832), UINT32_C(0xFA8EEA95),
14392           UINT32_C(0xCFEE1D77), UINT32_C(0x3B0F005C), UINT32_C(0x13603C4A),
14393           UINT32_C(0xD9EF68F4), UINT32_C(0x6DF97F85)}},
14394         {{UINT32_C(0x55410512), UINT32_C(0x578FBC0A), UINT32_C(0xDEC79EEE),
14395           UINT32_C(0x1FA404F2), UINT32_C(0x92B60820), UINT32_C(0x201FE215),
14396           UINT32_C(0x0A56193A), UINT32_C(0x9A9B3CE8)},
14397          {UINT32_C(0x10B49800), UINT32_C(0x8A5ECCB9), UINT32_C(0xBFDB1D8E),
14398           UINT32_C(0xA7373AEB), UINT32_C(0x4944B5DF), UINT32_C(0x8996BEFA),
14399           UINT32_C(0x7B44246C), UINT32_C(0x3102D3C0)}},
14400         {{UINT32_C(0x449C09BE), UINT32_C(0xD4A853B7), UINT32_C(0x51DDB7FE),
14401           UINT32_C(0x1F7080A4), UINT32_C(0xE1C27FC1), UINT32_C(0x8A9DE52C),
14402           UINT32_C(0x0C58B99D), UINT32_C(0x6585B54F)},
14403          {UINT32_C(0xB5A4AB53), UINT32_C(0x8EEB0601), UINT32_C(0x48C73AC6),
14404           UINT32_C(0x977D658D), UINT32_C(0x3D9BD223), UINT32_C(0xD5DA0903),
14405           UINT32_C(0xBE115965), UINT32_C(0x881A5838)}},
14406         {{UINT32_C(0xEB3FC303), UINT32_C(0x8EB70B77), UINT32_C(0x98BDB841),
14407           UINT32_C(0xED1C4DEF), UINT32_C(0x997DE9E4), UINT32_C(0x13E6BE06),
14408           UINT32_C(0x9334D46D), UINT32_C(0x4A94C0A1)},
14409          {UINT32_C(0x0F867DAF), UINT32_C(0x184C17C8), UINT32_C(0x33A64148),
14410           UINT32_C(0x4A658026), UINT32_C(0x0AE3D4AA), UINT32_C(0xD177F009),
14411           UINT32_C(0x98ED12C0), UINT32_C(0x8134AC8F)}},
14412         {{UINT32_C(0x7A58DDEC), UINT32_C(0x7A308A00), UINT32_C(0xFDF92DF2),
14413           UINT32_C(0x74A15C5F), UINT32_C(0x21B4E345), UINT32_C(0x210D260E),
14414           UINT32_C(0xC651E31E), UINT32_C(0x6446715B)},
14415          {UINT32_C(0x10B905B6), UINT32_C(0xB1AF1F84), UINT32_C(0xA62D366F),
14416           UINT32_C(0xEF6CD0F2), UINT32_C(0xD1F6B7E3), UINT32_C(0x77E47B01),
14417           UINT32_C(0x2B95BD12), UINT32_C(0x0F38B280)}},
14418         {{UINT32_C(0x8CCCDAE6), UINT32_C(0x52DA30E1), UINT32_C(0xBD86A13A),
14419           UINT32_C(0x9F3D6636), UINT32_C(0xF4EA6151), UINT32_C(0xADFA00C5),
14420           UINT32_C(0x1EC37639), UINT32_C(0x6B93BFA0)},
14421          {UINT32_C(0xF8FE22FC), UINT32_C(0x443F0023), UINT32_C(0xA81FEACC),
14422           UINT32_C(0xCB7848A4), UINT32_C(0x517E9E61), UINT32_C(0xCE5E650A),
14423           UINT32_C(0xA1968E3D), UINT32_C(0x5842DB7D)}},
14424         {{UINT32_C(0x98C06F78), UINT32_C(0x61DDC694), UINT32_C(0x7985B1A2),
14425           UINT32_C(0x680FEDE9), UINT32_C(0xFB53A327), UINT32_C(0x214CD2B8),
14426           UINT32_C(0xE425132B), UINT32_C(0x98EAC0B3)},
14427          {UINT32_C(0x33E5766D), UINT32_C(0x5EEDD76D), UINT32_C(0x540000A3),
14428           UINT32_C(0x5B280618), UINT32_C(0x65C894AE), UINT32_C(0x915D55CB),
14429           UINT32_C(0xD20D9523), UINT32_C(0x7B088A36)}},
14430         {{UINT32_C(0xC28DA278), UINT32_C(0x51A47312), UINT32_C(0xEFE64521),
14431           UINT32_C(0xE315CBA4), UINT32_C(0x49D8D0FF), UINT32_C(0x3EF70A18),
14432           UINT32_C(0xCABD48C5), UINT32_C(0x0990CB92)},
14433          {UINT32_C(0xA7C2FC76), UINT32_C(0x22ED6302), UINT32_C(0x2CB98186),
14434           UINT32_C(0xB50370EA), UINT32_C(0xF3F2BA8B), UINT32_C(0xDEA88C65),
14435           UINT32_C(0x09FEDEEA), UINT32_C(0x09062451)}},
14436         {{UINT32_C(0xDAC0F222), UINT32_C(0x742F9A2E), UINT32_C(0x95C88A8E),
14437           UINT32_C(0xE2A8842B), UINT32_C(0x9D817B14), UINT32_C(0x80C05765),
14438           UINT32_C(0x982D49AE), UINT32_C(0x7ED0521A)},
14439          {UINT32_C(0x907B10F7), UINT32_C(0x047E49D4), UINT32_C(0xDE8AD4CD),
14440           UINT32_C(0x8A3E23A7), UINT32_C(0xEB5292B1), UINT32_C(0xEBE8C13F),
14441           UINT32_C(0xA7EB70BD), UINT32_C(0x048A6209)}},
14442         {{UINT32_C(0x9AA34851), UINT32_C(0xB51665A0), UINT32_C(0x7C4AFCEE),
14443           UINT32_C(0x4DD5AC1B), UINT32_C(0x25A21937), UINT32_C(0x00DEE7AB),
14444           UINT32_C(0x80FAF232), UINT32_C(0x88E2681E)},
14445          {UINT32_C(0xB5411EE2), UINT32_C(0x79ECD66A), UINT32_C(0xF370BF53),
14446           UINT32_C(0x06008CE3), UINT32_C(0xC9BBB64C), UINT32_C(0xCFB1850E),
14447           UINT32_C(0x7149B14E), UINT32_C(0x5FBACB27)}},
14448         {{UINT32_C(0x9938AA0C), UINT32_C(0xA1F0EE07), UINT32_C(0x74CCE9C4),
14449           UINT32_C(0x6945E2BA), UINT32_C(0x46A98BEA), UINT32_C(0x16689FCE),
14450           UINT32_C(0xCF67DF91), UINT32_C(0x8D71F405)},
14451          {UINT32_C(0x69621150), UINT32_C(0x71E4CAC8), UINT32_C(0x89B380D8),
14452           UINT32_C(0x518FA200), UINT32_C(0x53F9E660), UINT32_C(0x3B3B85F1),
14453           UINT32_C(0xC6D9B022), UINT32_C(0x02643303)}},
14454         {{UINT32_C(0x07660C3E), UINT32_C(0xE8C478EC), UINT32_C(0xEF41F1DA),
14455           UINT32_C(0xA906C3A1), UINT32_C(0x46699B71), UINT32_C(0xE918F160),
14456           UINT32_C(0xE5BE7B36), UINT32_C(0x2B8A0B0E)},
14457          {UINT32_C(0x889F50A0), UINT32_C(0xC663F0EC), UINT32_C(0xF9214F81),
14458           UINT32_C(0x7413264B), UINT32_C(0x421A9087), UINT32_C(0x2E9FA9A0),
14459           UINT32_C(0x83546DCD), UINT32_C(0x85C59B7C)}},
14460         {{UINT32_C(0x8D920A29), UINT32_C(0xB4A6CF39), UINT32_C(0x1B3956A1),
14461           UINT32_C(0xC857AF48), UINT32_C(0xDD794B23), UINT32_C(0x519C7371),
14462           UINT32_C(0x8EFBF8F9), UINT32_C(0x47846220)},
14463          {UINT32_C(0x617E4C6C), UINT32_C(0x184C25E5), UINT32_C(0xD2E51A5E),
14464           UINT32_C(0x218FCC23), UINT32_C(0x28FA0FFC), UINT32_C(0xB4219719),
14465           UINT32_C(0x781A61D9), UINT32_C(0x6C0BCD71)}},
14466         {{UINT32_C(0xDC7B5568), UINT32_C(0x440D6DDF), UINT32_C(0x0DBBEC7C),
14467           UINT32_C(0x64C7CC31), UINT32_C(0xA2DC0CBA), UINT32_C(0x63D16D4E),
14468           UINT32_C(0x4504BE2C), UINT32_C(0x7BD9E0CC)},
14469          {UINT32_C(0x2DE780A8), UINT32_C(0x9C882895), UINT32_C(0xEF2B2486),
14470           UINT32_C(0x7C6685C2), UINT32_C(0x957FA7D8), UINT32_C(0xF1FB09E9),
14471           UINT32_C(0x46A77A98), UINT32_C(0x20C6B5A5)}},
14472         {{UINT32_C(0x33C0F0C1), UINT32_C(0x60C77573), UINT32_C(0xCADDA5FE),
14473           UINT32_C(0x40C93227), UINT32_C(0x9DD41D5F), UINT32_C(0xA48EBAA2),
14474           UINT32_C(0xEA9FD5AD), UINT32_C(0x4AAFBF3C)},
14475          {UINT32_C(0xC5A287BA), UINT32_C(0x7EB61836), UINT32_C(0xB31BA25E),
14476           UINT32_C(0x1D6A1BA2), UINT32_C(0xAD186E52), UINT32_C(0x60507257),
14477           UINT32_C(0x2BAB7451), UINT32_C(0x7FEC8EB0)}},
14478     },
14479     {
14480         {{UINT32_C(0xB8DA5FFE), UINT32_C(0x500E2FDB), UINT32_C(0x8CDD1B39),
14481           UINT32_C(0x6AE2D4EA), UINT32_C(0x1A5840CD), UINT32_C(0x38D12025),
14482           UINT32_C(0xC214D26D), UINT32_C(0x8D3B20CB)},
14483          {UINT32_C(0xC041E874), UINT32_C(0xEF6BB36C), UINT32_C(0x450F2218),
14484           UINT32_C(0x67660393), UINT32_C(0xA892BDFD), UINT32_C(0x1E1B7782),
14485           UINT32_C(0x8D962E62), UINT32_C(0x2D69514C)}},
14486         {{UINT32_C(0x9631B095), UINT32_C(0x9EDF5F78), UINT32_C(0x45BF8F20),
14487           UINT32_C(0xAC7DD687), UINT32_C(0xE3262EBC), UINT32_C(0x257CCE28),
14488           UINT32_C(0xE0E480A6), UINT32_C(0x5D32EFCB)},
14489          {UINT32_C(0x6FBB99E8), UINT32_C(0xED48E34C), UINT32_C(0x23FDE9B7),
14490           UINT32_C(0x50B1D58C), UINT32_C(0x6B6927C8), UINT32_C(0xC5164C2A),
14491           UINT32_C(0x8906B705), UINT32_C(0x8A0BC606)}},
14492         {{UINT32_C(0x2F747DA8), UINT32_C(0x3FA3C7C9), UINT32_C(0x14938E08),
14493           UINT32_C(0x2E8D2C2E), UINT32_C(0xB6A1C720), UINT32_C(0x155A8A5B),
14494           UINT32_C(0xB3133FD0), UINT32_C(0x6B4D8C9E)},
14495          {UINT32_C(0xCE131C1D), UINT32_C(0x079AC7F1), UINT32_C(0x815B7D2B),
14496           UINT32_C(0x9CF419AF), UINT32_C(0xE60B6245), UINT32_C(0x569EB7BA),
14497           UINT32_C(0x9A3DD94E), UINT32_C(0x03C79E60)}},
14498         {{UINT32_C(0xB9CE9502), UINT32_C(0x328F5296), UINT32_C(0xE45C3576),
14499           UINT32_C(0xCA44ADBD), UINT32_C(0x6194AE2C), UINT32_C(0x66987952),
14500           UINT32_C(0xBF9B8C49), UINT32_C(0x5875F8EF)},
14501          {UINT32_C(0xDA51CAB8), UINT32_C(0x525A4D53), UINT32_C(0x9DC268B2),
14502           UINT32_C(0x91A592DD), UINT32_C(0xE1E3C168), UINT32_C(0xD7EA7958),
14503           UINT32_C(0xA999ED30), UINT32_C(0x0D1E20E0)}},
14504         {{UINT32_C(0xFE8AD270), UINT32_C(0x55DA34E5), UINT32_C(0x61EC55F6),
14505           UINT32_C(0xB0412895), UINT32_C(0x534569C9), UINT32_C(0x0D45670F),
14506           UINT32_C(0xE23F69FB), UINT32_C(0x5A7E6764)},
14507          {UINT32_C(0xA8B28676), UINT32_C(0xBB6BBEC9), UINT32_C(0x093B0D1D),
14508           UINT32_C(0x4F924558), UINT32_C(0x0C29D841), UINT32_C(0xD4E4BF12),
14509           UINT32_C(0x578A237A), UINT32_C(0x67D2B4C8)}},
14510         {{UINT32_C(0x63EF2D73), UINT32_C(0x0BDF32D6), UINT32_C(0x4AE4303C),
14511           UINT32_C(0x7248DD2D), UINT32_C(0x6CE1E92A), UINT32_C(0xBB61BAB5),
14512           UINT32_C(0x1D7B9A6C), UINT32_C(0x126166E9)},
14513          {UINT32_C(0x11CEBC3C), UINT32_C(0x4CE7086A), UINT32_C(0x1C71426F),
14514           UINT32_C(0xE7ACB25E), UINT32_C(0x432CC4AF), UINT32_C(0xBFB65EDC),
14515           UINT32_C(0xCB018CF7), UINT32_C(0x3BCA5202)}},
14516         {{UINT32_C(0x76430A87), UINT32_C(0xACF034F2), UINT32_C(0x534C42ED),
14517           UINT32_C(0xBFDF19B3), UINT32_C(0x7946CB1A), UINT32_C(0x05654FE6),
14518           UINT32_C(0x80F17880), UINT32_C(0x0DB07E79)},
14519          {UINT32_C(0xFDCF8BC9), UINT32_C(0xE6E93101), UINT32_C(0xF798A8CD),
14520           UINT32_C(0xF3198B87), UINT32_C(0xC9683420), UINT32_C(0xC05444EF),
14521           UINT32_C(0x915D1BF1), UINT32_C(0x56E9AA68)}},
14522         {{UINT32_C(0x34000B11), UINT32_C(0xF27B298B), UINT32_C(0xF4196E50),
14523           UINT32_C(0x70ED8C95), UINT32_C(0x233C8764), UINT32_C(0xF3E16608),
14524           UINT32_C(0x41881557), UINT32_C(0x5B97655A)},
14525          {UINT32_C(0x128C195B), UINT32_C(0x5BF11C1A), UINT32_C(0x372C286D),
14526           UINT32_C(0xFFB64333), UINT32_C(0x7C83BB31), UINT32_C(0x084D3EF7),
14527           UINT32_C(0x745B7D75), UINT32_C(0x8ECF6C01)}},
14528         {{UINT32_C(0xC6F4FF82), UINT32_C(0x3D6052B9), UINT32_C(0x6607892F),
14529           UINT32_C(0x9305FE45), UINT32_C(0x5879425F), UINT32_C(0x232FD87E),
14530           UINT32_C(0xD6F47350), UINT32_C(0x4CAEDF73)},
14531          {UINT32_C(0x032FC50D), UINT32_C(0x889243D2), UINT32_C(0x0C9C11AC),
14532           UINT32_C(0xA6AF69D7), UINT32_C(0x802E8E06), UINT32_C(0x43B5429D),
14533           UINT32_C(0xD70FC802), UINT32_C(0x38F1DEA8)}},
14534         {{UINT32_C(0xC9595C08), UINT32_C(0x54F24344), UINT32_C(0x0240AAB3),
14535           UINT32_C(0x95A2E8FB), UINT32_C(0xC3544985), UINT32_C(0x07A5109D),
14536           UINT32_C(0xB5D30899), UINT32_C(0x96F44213)},
14537          {UINT32_C(0xAA347497), UINT32_C(0x03FAB192), UINT32_C(0xC9CFC073),
14538           UINT32_C(0x47FFD3DE), UINT32_C(0xD2C1D57F), UINT32_C(0x283AD765),
14539           UINT32_C(0x62DC271A), UINT32_C(0x1FDFFBAC)}},
14540         {{UINT32_C(0x95F80CA6), UINT32_C(0x2355C629), UINT32_C(0xCD8D880A),
14541           UINT32_C(0x90AE1DBB), UINT32_C(0xC54117E0), UINT32_C(0x563CC122),
14542           UINT32_C(0x813D7481), UINT32_C(0x1EF4991B)},
14543          {UINT32_C(0xCCE9AEDE), UINT32_C(0x8A310D77), UINT32_C(0x9318642E),
14544           UINT32_C(0xA401FAEF), UINT32_C(0xCF9AFDCB), UINT32_C(0xC1712A67),
14545           UINT32_C(0xBE499DE5), UINT32_C(0x8D97374C)}},
14546         {{UINT32_C(0x55A0BC07), UINT32_C(0x7437AA3B), UINT32_C(0xF726DD81),
14547           UINT32_C(0x004946D0), UINT32_C(0x0F341860), UINT32_C(0x33D41D1B),
14548           UINT32_C(0x17840F0D), UINT32_C(0x2A009EB5)},
14549          {UINT32_C(0xAA0DCDCF), UINT32_C(0x158F59AE), UINT32_C(0xEAB42135),
14550           UINT32_C(0xF686EF2D), UINT32_C(0x7A80C670), UINT32_C(0xFF6B8E82),
14551           UINT32_C(0xA04DF944), UINT32_C(0x38646963)}},
14552         {{UINT32_C(0x4B987E90), UINT32_C(0x6BB2705E), UINT32_C(0xD3C36316),
14553           UINT32_C(0x2F5E2C4D), UINT32_C(0xE5A9ECEC), UINT32_C(0x41B38905),
14554           UINT32_C(0x55BF8D1A), UINT32_C(0x2C6BA681)},
14555          {UINT32_C(0x3C92B20B), UINT32_C(0x1121B3B2), UINT32_C(0x904305D5),
14556           UINT32_C(0x6DE41B12), UINT32_C(0xD569EAC4), UINT32_C(0xA0496CF4),
14557           UINT32_C(0x11E5CF90), UINT32_C(0x5C64A06C)}},
14558         {{UINT32_C(0xE28783DF), UINT32_C(0xA65F12AB), UINT32_C(0x37322285),
14559           UINT32_C(0x2A891B0F), UINT32_C(0x9811C4EB), UINT32_C(0xD6FF4604),
14560           UINT32_C(0xA8505AC0), UINT32_C(0x7C960ED5)},
14561          {UINT32_C(0x2FCA110D), UINT32_C(0xE8689377), UINT32_C(0x60FD893E),
14562           UINT32_C(0x71AAE292), UINT32_C(0x7505671D), UINT32_C(0x8ADE5317),
14563           UINT32_C(0x8C508791), UINT32_C(0x721A07A5)}},
14564         {{UINT32_C(0xE5ECCA8C), UINT32_C(0xC1AE9A50), UINT32_C(0x07EB4329),
14565           UINT32_C(0x7528AEF5), UINT32_C(0xD1297D88), UINT32_C(0x8F0D0E03),
14566           UINT32_C(0x244BBC0C), UINT32_C(0x27C7BF76)},
14567          {UINT32_C(0xC7E7E9BB), UINT32_C(0x96EEDA7C), UINT32_C(0xF96C99B3),
14568           UINT32_C(0xC9749BF7), UINT32_C(0x467B4D43), UINT32_C(0x44C852D2),
14569           UINT32_C(0x937FA21D), UINT32_C(0x1691D71D)}},
14570         {{UINT32_C(0xF8058A68), UINT32_C(0x8CAC092F), UINT32_C(0xDAE38445),
14571           UINT32_C(0x6B892BCF), UINT32_C(0x97D76059), UINT32_C(0x82CBECE5),
14572           UINT32_C(0x3518F9E2), UINT32_C(0x5AEB6646)},
14573          {UINT32_C(0x392080B4), UINT32_C(0xA39C710C), UINT32_C(0x1502DE54),
14574           UINT32_C(0x575DC5F4), UINT32_C(0x3A3D2B4D), UINT32_C(0xA465DD5E),
14575           UINT32_C(0x638EAF45), UINT32_C(0x281AAE47)}},
14576     },
14577     {
14578         {{UINT32_C(0xE955A145), UINT32_C(0xBE40C92B), UINT32_C(0x324234B5),
14579           UINT32_C(0xD464D6BC), UINT32_C(0xB09D4AF8), UINT32_C(0xE8084747),
14580           UINT32_C(0x5268D6C3), UINT32_C(0x939C70BF)},
14581          {UINT32_C(0xD1DDBB48), UINT32_C(0x9C9C9D25), UINT32_C(0x790B5B42),
14582           UINT32_C(0x30D9EA7F), UINT32_C(0x4E3914B4), UINT32_C(0x367FD79B),
14583           UINT32_C(0x826EE4D7), UINT32_C(0x27615F29)}},
14584         {{UINT32_C(0x50A41246), UINT32_C(0x09BB6F16), UINT32_C(0xE5459A13),
14585           UINT32_C(0xC72BFF7A), UINT32_C(0xFF09B2F7), UINT32_C(0x0FC15846),
14586           UINT32_C(0x09CB693A), UINT32_C(0x6D904062)},
14587          {UINT32_C(0xF40FC67D), UINT32_C(0x98A132F8), UINT32_C(0xDF37CBFA),
14588           UINT32_C(0xC8B6573B), UINT32_C(0x99D7FC36), UINT32_C(0xC9CF9948),
14589           UINT32_C(0xA7235DDB), UINT32_C(0x0DD66ABA)}},
14590         {{UINT32_C(0xF96048BD), UINT32_C(0x0180B525), UINT32_C(0x544F1E70),
14591           UINT32_C(0xEB566786), UINT32_C(0x8EF4373C), UINT32_C(0x8BABBF9B),
14592           UINT32_C(0xD9E49178), UINT32_C(0x509BA431)},
14593          {UINT32_C(0x65A4A201), UINT32_C(0xF961A6F5), UINT32_C(0x8D44ED2D),
14594           UINT32_C(0xB6621DF9), UINT32_C(0xD7B4D744), UINT32_C(0xEADD3C0C),
14595           UINT32_C(0x0EAAB110), UINT32_C(0x75D27E99)}},
14596         {{UINT32_C(0x85DF5695), UINT32_C(0xEAC7AC76), UINT32_C(0xDA7540A3),
14597           UINT32_C(0x02C26274), UINT32_C(0xC659B610), UINT32_C(0xDEC1BBC4),
14598           UINT32_C(0x3AC61EEB), UINT32_C(0x54483C1B)},
14599          {UINT32_C(0x217E0283), UINT32_C(0x8B91209A), UINT32_C(0x3A17DDFE),
14600           UINT32_C(0x939FBDAF), UINT32_C(0x5BF98726), UINT32_C(0xA82C66D6),
14601           UINT32_C(0x915AAC76), UINT32_C(0x2BA82FA0)}},
14602         {{UINT32_C(0xAF4542E8), UINT32_C(0x99B324C1), UINT32_C(0xC0F225E0),
14603           UINT32_C(0x16EBC66F), UINT32_C(0x27FEF57B), UINT32_C(0xEAE69563),
14604           UINT32_C(0x961B03FA), UINT32_C(0x2996FE3C)},
14605          {UINT32_C(0x4F967A68), UINT32_C(0x0835212E), UINT32_C(0xF44352DC),
14606           UINT32_C(0x0AAABD99), UINT32_C(0x4B3A6B8D), UINT32_C(0x1874255F),
14607           UINT32_C(0x6D10B369), UINT32_C(0x45F5D8B2)}},
14608         {{UINT32_C(0xF7B7644B), UINT32_C(0x603DD497), UINT32_C(0x2D1386AA),
14609           UINT32_C(0x369BE676), UINT32_C(0x14C9FA94), UINT32_C(0x08C1B763),
14610           UINT32_C(0x384AF696), UINT32_C(0x734921D9)},
14611          {UINT32_C(0xD76E8EEB), UINT32_C(0xA1B5AF5B), UINT32_C(0x42F990E8),
14612           UINT32_C(0xB0EAE7A3), UINT32_C(0x069ED81D), UINT32_C(0x59E7C515),
14613           UINT32_C(0xB5A50610), UINT32_C(0x2D1B5E62)}},
14614         {{UINT32_C(0x85995BD3), UINT32_C(0xDC322810), UINT32_C(0x873E7A09),
14615           UINT32_C(0x35A47B05), UINT32_C(0xA70DE932), UINT32_C(0x0CDFE9BB),
14616           UINT32_C(0xD62FBC89), UINT32_C(0x049B899D)},
14617          {UINT32_C(0x652291DB), UINT32_C(0xF6BAA860), UINT32_C(0x9AF7478F),
14618           UINT32_C(0x58123B25), UINT32_C(0x47B9F204), UINT32_C(0xA05CCBC2),
14619           UINT32_C(0x82D999A7), UINT32_C(0x8A0B479D)}},
14620         {{UINT32_C(0x2D0F619A), UINT32_C(0xA72B9B52), UINT32_C(0x5919C420),
14621           UINT32_C(0xE73B66F7), UINT32_C(0xD21CFEFE), UINT32_C(0x92319C86),
14622           UINT32_C(0xF1635F0E), UINT32_C(0x58EEFC71)},
14623          {UINT32_C(0xDA909290), UINT32_C(0xDC481783), UINT32_C(0x66316584),
14624           UINT32_C(0x144E7A98), UINT32_C(0x45E1E3C8), UINT32_C(0xBD7E657F),
14625           UINT32_C(0xBD93938C), UINT32_C(0x5C9FCD1C)}},
14626         {{UINT32_C(0x436C1AB3), UINT32_C(0x2339E2FA), UINT32_C(0xC26768AA),
14627           UINT32_C(0x69C22269), UINT32_C(0x40FCBD90), UINT32_C(0x94DFCAF4),
14628           UINT32_C(0xC41D4F61), UINT32_C(0x56235739)},
14629          {UINT32_C(0x718468D3), UINT32_C(0x6E50D4DB), UINT32_C(0xCADCEC6C),
14630           UINT32_C(0xDEA80730), UINT32_C(0x63DC3C43), UINT32_C(0x924FF97E),
14631           UINT32_C(0x6752EA6A), UINT32_C(0x1B652825)}},
14632         {{UINT32_C(0xF07BE4BB), UINT32_C(0xAC2BDCDD), UINT32_C(0x8DB0A32D),
14633           UINT32_C(0xB46D8E96), UINT32_C(0xB618488D), UINT32_C(0xDD661C68),
14634           UINT32_C(0x75E1E4BF), UINT32_C(0x8ED22D4B)},
14635          {UINT32_C(0x3C177D80), UINT32_C(0x5DD2E5DF), UINT32_C(0x82803711),
14636           UINT32_C(0x5049C012), UINT32_C(0x73E0BA27), UINT32_C(0xFB243B3F),
14637           UINT32_C(0x8C7810D5), UINT32_C(0x0C756BA0)}},
14638         {{UINT32_C(0x6F16FBCA), UINT32_C(0xFC58F0BD), UINT32_C(0xA5E33B36),
14639           UINT32_C(0xA855BB8C), UINT32_C(0x99D08247), UINT32_C(0xB9239EB4),
14640           UINT32_C(0x49CAF40D), UINT32_C(0x27ABC78D)},
14641          {UINT32_C(0xA1285278), UINT32_C(0x88BE1595), UINT32_C(0x60F16638),
14642           UINT32_C(0x9D5AEE5B), UINT32_C(0x1FCE4327), UINT32_C(0x3F381529),
14643           UINT32_C(0xF19CAA04), UINT32_C(0x17206899)}},
14644         {{UINT32_C(0x9E047F55), UINT32_C(0x58616348), UINT32_C(0xE991FC4C),
14645           UINT32_C(0x0D6098A5), UINT32_C(0x99A33914), UINT32_C(0x47760F98),
14646           UINT32_C(0x5608C80E), UINT32_C(0x70C8F5D4)},
14647          {UINT32_C(0x06036DBE), UINT32_C(0x405F1191), UINT32_C(0x80CC0A27),
14648           UINT32_C(0xBF625895), UINT32_C(0x389FA7BF), UINT32_C(0xFB8A0330),
14649           UINT32_C(0x1FA0CBB4), UINT32_C(0x22B0B946)}},
14650         {{UINT32_C(0x1B1E2ACD), UINT32_C(0x84AE1981), UINT32_C(0x63961891),
14651           UINT32_C(0xFA23C205), UINT32_C(0x742C1653), UINT32_C(0xCF4C685E),
14652           UINT32_C(0x4D303078), UINT32_C(0x55BFC744)},
14653          {UINT32_C(0xBA03AAE4), UINT32_C(0xEB131CBB), UINT32_C(0x2C5B9EAB),
14654           UINT32_C(0xF338C0DB), UINT32_C(0xB7495209), UINT32_C(0xC1006396),
14655           UINT32_C(0xF7E6A4E6), UINT32_C(0x0FD928CF)}},
14656         {{UINT32_C(0x8633AB84), UINT32_C(0xA6BAC994), UINT32_C(0x75364642),
14657           UINT32_C(0xC165BF5A), UINT32_C(0x8C57070D), UINT32_C(0xB70BEB47),
14658           UINT32_C(0xD416322E), UINT32_C(0x838158A0)},
14659          {UINT32_C(0xD4957751), UINT32_C(0x501D2BFD), UINT32_C(0xC23AA730),
14660           UINT32_C(0xF1CDDF32), UINT32_C(0x5458F1C6), UINT32_C(0xF64558A8),
14661           UINT32_C(0x06E1209C), UINT32_C(0x51B6DDE3)}},
14662         {{UINT32_C(0xCC31D6BE), UINT32_C(0x0712C186), UINT32_C(0x33CD1D3F),
14663           UINT32_C(0x91C4064A), UINT32_C(0xC7C91F53), UINT32_C(0xCADAE5B0),
14664           UINT32_C(0xDEB2A2EE), UINT32_C(0x52AA408F)},
14665          {UINT32_C(0x202719D5), UINT32_C(0x058675CC), UINT32_C(0x1D087D07),
14666           UINT32_C(0x444F99F5), UINT32_C(0x9D7A8AF4), UINT32_C(0x4DB587E8),
14667           UINT32_C(0xDA17095A), UINT32_C(0x389376F5)}},
14668         {{UINT32_C(0x48FED385), UINT32_C(0x8262D370), UINT32_C(0x1AE92689),
14669           UINT32_C(0x3B1FB466), UINT32_C(0x24242CF4), UINT32_C(0xDA6F570F),
14670           UINT32_C(0x0DEAC5E9), UINT32_C(0x0532FC9E)},
14671          {UINT32_C(0x20C5BD7B), UINT32_C(0x5E8FB740), UINT32_C(0x002624B3),
14672           UINT32_C(0x5AE99925), UINT32_C(0x7AFADC15), UINT32_C(0xAD44A4D5),
14673           UINT32_C(0xDF409330), UINT32_C(0x6AECBC80)}},
14674     }};
14675
14676 /*-
14677  * Q := 2P, both projective, Q and P same pointers OK
14678  * Autogenerated: op3/dbl_proj.op3
14679  * https://eprint.iacr.org/2015/1060 Alg 6
14680  * ASSERT: a = -3
14681  */
14682 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
14683     /* temporary variables */
14684     fe_t t0, t1, t2, t3, t4;
14685     /* constants */
14686     const limb_t *b = const_b;
14687     /* set pointers for legacy curve arith */
14688     const limb_t *X = P->X;
14689     const limb_t *Y = P->Y;
14690     const limb_t *Z = P->Z;
14691     limb_t *X3 = Q->X;
14692     limb_t *Y3 = Q->Y;
14693     limb_t *Z3 = Q->Z;
14694
14695     /* the curve arith formula */
14696     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t0, X);
14697     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t1, Y);
14698     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t2, Z);
14699     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, X, Y);
14700     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t3, t3);
14701     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y, Z);
14702     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, X, Z);
14703     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
14704     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, t2);
14705     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, Z3);
14706     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, Y3, Y3);
14707     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X3, Y3);
14708     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, t1, Y3);
14709     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
14710     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Y3);
14711     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, t3);
14712     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t2, t2);
14713     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t2, t3);
14714     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z3);
14715     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t2);
14716     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t0);
14717     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, Z3, Z3);
14718     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t3);
14719     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t0, t0);
14720     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t3, t0);
14721     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
14722     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, t0, Z3);
14723     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t0);
14724     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t4, t4);
14725     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, Z3);
14726     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, Z3);
14727     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, t1);
14728     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
14729     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
14730 }
14731
14732 /*-
14733  * R := Q + P where R and Q are projective, P affine.
14734  * R and Q same pointers OK
14735  * R and P same pointers not OK
14736  * Autogenerated: op3/add_mixed.op3
14737  * https://eprint.iacr.org/2015/1060 Alg 5
14738  * ASSERT: a = -3
14739  */
14740 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
14741     /* temporary variables */
14742     fe_t t0, t1, t2, t3, t4;
14743     /* constants */
14744     const limb_t *b = const_b;
14745     /* set pointers for legacy curve arith */
14746     const limb_t *X1 = Q->X;
14747     const limb_t *Y1 = Q->Y;
14748     const limb_t *Z1 = Q->Z;
14749     const limb_t *X2 = P->X;
14750     const limb_t *Y2 = P->Y;
14751     fe_t X3;
14752     fe_t Y3;
14753     fe_t Z3;
14754     limb_t nz;
14755
14756     /* check P for affine inf */
14757     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(&nz, P->Y);
14758
14759     /* the curve arith formula */
14760     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
14761     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
14762     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X2, Y2);
14763     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X1, Y1);
14764     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
14765     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
14766     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
14767     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y2, Z1);
14768     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t4, Y1);
14769     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X2, Z1);
14770     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, X1);
14771     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z1);
14772     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
14773     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
14774     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
14775     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
14776     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
14777     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
14778     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Z1, Z1);
14779     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, Z1);
14780     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
14781     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
14782     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
14783     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
14784     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
14785     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
14786     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
14787     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
14788     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
14789     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
14790     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
14791     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
14792     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
14793     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
14794     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
14795     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
14796
14797     /* if P is inf, throw all that away and take Q */
14798     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->X, nz, Q->X, X3);
14799     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Y, nz, Q->Y, Y3);
14800     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Z, nz, Q->Z, Z3);
14801 }
14802
14803 /*-
14804  * R := Q + P all projective.
14805  * R and Q same pointers OK
14806  * R and P same pointers not OK
14807  * Autogenerated: op3/add_proj.op3
14808  * https://eprint.iacr.org/2015/1060 Alg 4
14809  * ASSERT: a = -3
14810  */
14811 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
14812     /* temporary variables */
14813     fe_t t0, t1, t2, t3, t4, t5;
14814     /* constants */
14815     const limb_t *b = const_b;
14816     /* set pointers for legacy curve arith */
14817     const limb_t *X1 = Q->X;
14818     const limb_t *Y1 = Q->Y;
14819     const limb_t *Z1 = Q->Z;
14820     const limb_t *X2 = P->X;
14821     const limb_t *Y2 = P->Y;
14822     const limb_t *Z2 = P->Z;
14823     limb_t *X3 = R->X;
14824     limb_t *Y3 = R->Y;
14825     limb_t *Z3 = R->Z;
14826
14827     /* the curve arith formula */
14828     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
14829     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
14830     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, Z1, Z2);
14831     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X1, Y1);
14832     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X2, Y2);
14833     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
14834     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
14835     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
14836     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, Y1, Z1);
14837     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, Y2, Z2);
14838     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, t4, t5);
14839     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, t1, t2);
14840     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t4, t4, t5);
14841     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X1, Z1);
14842     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X2, Z2);
14843     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, Y3);
14844     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t0, t2);
14845     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, X3, Y3);
14846     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, t2);
14847     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
14848     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
14849     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
14850     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
14851     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
14852     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
14853     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t2, t2);
14854     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, t2);
14855     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
14856     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
14857     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
14858     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
14859     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
14860     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
14861     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
14862     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
14863     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
14864     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
14865     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
14866     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
14867     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
14868     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
14869     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
14870     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
14871 }
14872
14873 /* constants */
14874 #define RADIX 5
14875 #define DRADIX (1 << RADIX)
14876 #define DRADIX_WNAF ((DRADIX) << 1)
14877
14878 /*-
14879  * precomp for wnaf scalar multiplication:
14880  * precomp[0] = 1P
14881  * precomp[1] = 3P
14882  * precomp[2] = 5P
14883  * precomp[3] = 7P
14884  * precomp[4] = 9P
14885  * ...
14886  */
14887 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
14888     int i;
14889
14890     fe_copy(precomp[0].X, P->X);
14891     fe_copy(precomp[0].Y, P->Y);
14892     fe_copy(precomp[0].Z, const_one);
14893     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
14894
14895     for (i = 1; i < DRADIX / 2; i++)
14896         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
14897 }
14898
14899 /* fetch a scalar bit */
14900 static int scalar_get_bit(const unsigned char in[32], int idx) {
14901     int widx, rshift;
14902
14903     widx = idx >> 3;
14904     rshift = idx & 0x7;
14905
14906     if (idx < 0 || widx >= 32) return 0;
14907
14908     return (in[widx] >> rshift) & 0x1;
14909 }
14910
14911 /*-
14912  * Compute "regular" wnaf representation of a scalar.
14913  * See "Exponent Recoding and Regular Exponentiation Algorithms",
14914  * Tunstall et al., AfricaCrypt 2009, Alg 6.
14915  * It forces an odd scalar and outputs digits in
14916  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
14917  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
14918  */
14919 static void scalar_rwnaf(int8_t out[52], const unsigned char in[32]) {
14920     int i;
14921     int8_t window, d;
14922
14923     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
14924     for (i = 0; i < 51; i++) {
14925         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
14926         out[i] = d;
14927         window = (window - d) >> RADIX;
14928         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
14929         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
14930         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
14931         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
14932         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
14933     }
14934     out[i] = window;
14935 }
14936
14937 /*-
14938  * Compute "textbook" wnaf representation of a scalar.
14939  * NB: not constant time
14940  */
14941 static void scalar_wnaf(int8_t out[257], const unsigned char in[32]) {
14942     int i;
14943     int8_t window, d;
14944
14945     window = in[0] & (DRADIX_WNAF - 1);
14946     for (i = 0; i < 257; i++) {
14947         d = 0;
14948         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
14949             d -= DRADIX_WNAF;
14950         out[i] = d;
14951         window = (window - d) >> 1;
14952         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
14953     }
14954 }
14955
14956 /*-
14957  * Simulateous scalar multiplication: interleaved "textbook" wnaf.
14958  * NB: not constant time
14959  */
14960 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
14961                               const unsigned char b[32], const pt_aff_t *P) {
14962     int i, d, is_neg, is_inf = 1, flipped = 0;
14963     int8_t anaf[257] = {0};
14964     int8_t bnaf[257] = {0};
14965     pt_prj_t Q;
14966     pt_prj_t precomp[DRADIX / 2];
14967
14968     precomp_wnaf(precomp, P);
14969     scalar_wnaf(anaf, a);
14970     scalar_wnaf(bnaf, b);
14971
14972     for (i = 256; i >= 0; i--) {
14973         if (!is_inf) point_double(&Q, &Q);
14974         if ((d = bnaf[i])) {
14975             if ((is_neg = d < 0) != flipped) {
14976                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
14977                 flipped ^= 1;
14978             }
14979             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
14980             if (is_inf) {
14981                 /* initialize accumulator */
14982                 fe_copy(Q.X, &precomp[d].X);
14983                 fe_copy(Q.Y, &precomp[d].Y);
14984                 fe_copy(Q.Z, &precomp[d].Z);
14985                 is_inf = 0;
14986             } else
14987                 point_add_proj(&Q, &Q, &precomp[d]);
14988         }
14989         if ((d = anaf[i])) {
14990             if ((is_neg = d < 0) != flipped) {
14991                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
14992                 flipped ^= 1;
14993             }
14994             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
14995             if (is_inf) {
14996                 /* initialize accumulator */
14997                 fe_copy(Q.X, &lut_cmb[0][d].X);
14998                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
14999                 fe_copy(Q.Z, const_one);
15000                 is_inf = 0;
15001             } else
15002                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
15003         }
15004     }
15005
15006     if (is_inf) {
15007         /* initialize accumulator to inf: all-zero scalars */
15008         fe_set_zero(Q.X);
15009         fe_copy(Q.Y, const_one);
15010         fe_set_zero(Q.Z);
15011     }
15012
15013     if (flipped) {
15014         /* correct sign */
15015         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
15016     }
15017
15018     /* convert to affine -- NB depends on coordinate system */
15019     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
15020     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
15021     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
15022 }
15023
15024 /*-
15025  * Variable point scalar multiplication with "regular" wnaf.
15026  */
15027 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
15028                            const pt_aff_t *P) {
15029     int i, j, d, diff, is_neg;
15030     int8_t rnaf[52] = {0};
15031     pt_prj_t Q, lut;
15032     pt_prj_t precomp[DRADIX / 2];
15033
15034     precomp_wnaf(precomp, P);
15035     scalar_rwnaf(rnaf, scalar);
15036
15037 #if defined(_MSC_VER)
15038     /* result still unsigned: yes we know */
15039 #pragma warning(push)
15040 #pragma warning(disable : 4146)
15041 #endif
15042
15043     /* initialize accumulator to high digit */
15044     d = (rnaf[51] - 1) >> 1;
15045     for (j = 0; j < DRADIX / 2; j++) {
15046         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
15047         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, diff, Q.X,
15048                                                               precomp[j].X);
15049         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, diff, Q.Y,
15050                                                               precomp[j].Y);
15051         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, diff, Q.Z,
15052                                                               precomp[j].Z);
15053     }
15054
15055     for (i = 50; i >= 0; i--) {
15056         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
15057         d = rnaf[i];
15058         /* is_neg = (d < 0) ? 1 : 0 */
15059         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
15060         /* d = abs(d) */
15061         d = (d ^ -is_neg) + is_neg;
15062         d = (d - 1) >> 1;
15063         for (j = 0; j < DRADIX / 2; j++) {
15064             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
15065             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15066                 lut.X, diff, lut.X, precomp[j].X);
15067             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15068                 lut.Y, diff, lut.Y, precomp[j].Y);
15069             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15070                 lut.Z, diff, lut.Z, precomp[j].Z);
15071         }
15072         /* negate lut point if digit is negative */
15073         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
15074         fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(lut.Y, is_neg,
15075                                                               lut.Y, out->Y);
15076         point_add_proj(&Q, &Q, &lut);
15077     }
15078
15079 #if defined(_MSC_VER)
15080 #pragma warning(pop)
15081 #endif
15082
15083     /* conditionally subtract P if the scalar was even */
15084     fe_copy(lut.X, precomp[0].X);
15085     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, precomp[0].Y);
15086     fe_copy(lut.Z, precomp[0].Z);
15087     point_add_proj(&lut, &lut, &Q);
15088     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
15089                                                           lut.X, Q.X);
15090     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
15091                                                           lut.Y, Q.Y);
15092     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
15093                                                           lut.Z, Q.Z);
15094
15095     /* convert to affine -- NB depends on coordinate system */
15096     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
15097     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
15098     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
15099 }
15100
15101 /*-
15102  * Fixed scalar multiplication: comb with interleaving.
15103  */
15104 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
15105     int i, j, k, d, diff, is_neg = 0;
15106     int8_t rnaf[52] = {0};
15107     pt_prj_t Q, R;
15108     pt_aff_t lut;
15109
15110     scalar_rwnaf(rnaf, scalar);
15111
15112     /* initalize accumulator to inf */
15113     fe_set_zero(Q.X);
15114     fe_copy(Q.Y, const_one);
15115     fe_set_zero(Q.Z);
15116
15117 #if defined(_MSC_VER)
15118     /* result still unsigned: yes we know */
15119 #pragma warning(push)
15120 #pragma warning(disable : 4146)
15121 #endif
15122
15123     for (i = 1; i >= 0; i--) {
15124         for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
15125         for (j = 0; j < 27; j++) {
15126             if (j * 2 + i > 51) continue;
15127             d = rnaf[j * 2 + i];
15128             /* is_neg = (d < 0) ? 1 : 0 */
15129             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
15130             /* d = abs(d) */
15131             d = (d ^ -is_neg) + is_neg;
15132             d = (d - 1) >> 1;
15133             for (k = 0; k < DRADIX / 2; k++) {
15134                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
15135                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15136                     lut.X, diff, lut.X, lut_cmb[j][k].X);
15137                 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15138                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
15139             }
15140             /* negate lut point if digit is negative */
15141             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
15142             fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
15143                 lut.Y, is_neg, lut.Y, out->Y);
15144             point_add_mixed(&Q, &Q, &lut);
15145         }
15146     }
15147
15148 #if defined(_MSC_VER)
15149 #pragma warning(pop)
15150 #endif
15151
15152     /* conditionally subtract P if the scalar was even */
15153     fe_copy(lut.X, lut_cmb[0][0].X);
15154     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, lut_cmb[0][0].Y);
15155     point_add_mixed(&R, &Q, &lut);
15156     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
15157                                                           R.X, Q.X);
15158     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
15159                                                           R.Y, Q.Y);
15160     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
15161                                                           R.Z, Q.Z);
15162
15163     /* convert to affine -- NB depends on coordinate system */
15164     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
15165     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
15166     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
15167 }
15168
15169 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
15170                           const unsigned char a[32], const unsigned char b[32],
15171                           const unsigned char inx[32],
15172                           const unsigned char iny[32]) {
15173     pt_aff_t P;
15174
15175     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
15176     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
15177     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
15178     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
15179     /* simultaneous scalar multiplication */
15180     var_smul_wnaf_two(&P, a, b, &P);
15181
15182     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
15183     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
15184     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
15185     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
15186 }
15187
15188 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
15189                         const unsigned char scalar[32]) {
15190     pt_aff_t P;
15191
15192     /* fixed scmul function */
15193     fixed_smul_cmb(&P, scalar);
15194     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
15195     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
15196     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
15197     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
15198 }
15199
15200 static void point_mul(unsigned char outx[32], unsigned char outy[32],
15201                       const unsigned char scalar[32],
15202                       const unsigned char inx[32],
15203                       const unsigned char iny[32]) {
15204     pt_aff_t P;
15205
15206     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
15207     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
15208     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
15209     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
15210     /* var scmul function */
15211     var_smul_rwnaf(&P, scalar, &P);
15212     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
15213     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
15214     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
15215     fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
15216 }
15217
15218
15219 #include <openssl/ec.h>
15220
15221 static const unsigned char const_zb[32] = {0};
15222
15223     int
15224     point_mul_two_id_GostR3410_2001_CryptoPro_C_ParamSet(
15225         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
15226         const BIGNUM *m, BN_CTX *ctx) {
15227     int ret = 0;
15228     unsigned char b_x[32];
15229     unsigned char b_y[32];
15230     unsigned char b_n[32];
15231     unsigned char b_m[32];
15232     BIGNUM *x = NULL, *y = NULL;
15233
15234     BN_CTX_start(ctx);
15235     x = BN_CTX_get(ctx);
15236     if ((y = BN_CTX_get(ctx)) == NULL
15237         /* pull out coords as bytes */
15238         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
15239         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
15240         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
15241         goto err;
15242     /* do the simultaneous scalar multiplication */
15243     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
15244     /* check for infinity */
15245     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
15246         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
15247         if (!EC_POINT_set_to_infinity(group, r)) goto err;
15248     } else {
15249         /* otherwise, pack the bytes into the result */
15250         if (BN_lebin2bn(b_x, 32, x) == NULL ||
15251             BN_lebin2bn(b_y, 32, y) == NULL ||
15252             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
15253             goto err;
15254     }
15255     ret = 1;
15256 err:
15257     BN_CTX_end(ctx);
15258     return ret;
15259 }
15260
15261     int
15262     point_mul_id_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
15263                                                      EC_POINT *r,
15264                                                      const EC_POINT *q,
15265                                                      const BIGNUM *m,
15266                                                      BN_CTX *ctx) {
15267     int ret = 0;
15268     unsigned char b_x[32];
15269     unsigned char b_y[32];
15270     unsigned char b_m[32];
15271     BIGNUM *x = NULL, *y = NULL;
15272
15273     BN_CTX_start(ctx);
15274     x = BN_CTX_get(ctx);
15275     if ((y = BN_CTX_get(ctx)) == NULL
15276         /* pull out coords as bytes */
15277         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
15278         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
15279         BN_bn2lebinpad(m, b_m, 32) != 32)
15280         goto err;
15281     /* do the variable scalar multiplication */
15282     point_mul(b_x, b_y, b_m, b_x, b_y);
15283     /* check for infinity */
15284     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
15285         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
15286         if (!EC_POINT_set_to_infinity(group, r)) goto err;
15287     } else {
15288         /* otherwise, pack the bytes into the result */
15289         if (BN_lebin2bn(b_x, 32, x) == NULL ||
15290             BN_lebin2bn(b_y, 32, y) == NULL ||
15291             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
15292             goto err;
15293     }
15294     ret = 1;
15295 err:
15296     BN_CTX_end(ctx);
15297     return ret;
15298 }
15299
15300     int
15301     point_mul_g_id_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
15302                                                        EC_POINT *r,
15303                                                        const BIGNUM *n,
15304                                                        BN_CTX *ctx) {
15305     int ret = 0;
15306     unsigned char b_x[32];
15307     unsigned char b_y[32];
15308     unsigned char b_n[32];
15309     BIGNUM *x = NULL, *y = NULL;
15310
15311     BN_CTX_start(ctx);
15312     x = BN_CTX_get(ctx);
15313     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
15314         goto err;
15315     /* do the fixed scalar multiplication */
15316     point_mul_g(b_x, b_y, b_n);
15317     /* check for infinity */
15318     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
15319         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
15320         if (!EC_POINT_set_to_infinity(group, r)) goto err;
15321     } else {
15322         /* otherwise, pack the bytes into the result */
15323         if (BN_lebin2bn(b_x, 32, x) == NULL ||
15324             BN_lebin2bn(b_y, 32, y) == NULL ||
15325             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
15326             goto err;
15327     }
15328     ret = 1;
15329 err:
15330     BN_CTX_end(ctx);
15331     return ret;
15332 }
15333
15334
15335
15336 #endif /* __SIZEOF_INT128__ */