]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - ecp_id_tc26_gost_3410_2012_256_paramSetA.c
GOST EC armv7 aarch64 fixes
[openssl-gost/engine.git] / ecp_id_tc26_gost_3410_2012_256_paramSetA.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 5
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 #define fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(c, a, b) \
39     fiat_id_tc26_gost_3410_2012_256_paramSetA_add(c, a, b);          \
40     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(c, c)
41 #define fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(c, a, b) \
42     fiat_id_tc26_gost_3410_2012_256_paramSetA_sub(c, a, b);          \
43     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(c, c)
44
45 /* Projective points */
46 typedef struct {
47     fe_t X;
48     fe_t Y;
49     fe_t T;
50     fe_t Z;
51 } pt_prj_t;
52
53 /* Affine points */
54 typedef struct {
55     fe_t X;
56     fe_t Y;
57     fe_t T;
58 } pt_aff_t;
59
60 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
61 /*-
62  * MIT License
63  *
64  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
65  *
66  * Permission is hereby granted, free of charge, to any person obtaining a copy
67  * of this software and associated documentation files (the "Software"), to deal
68  * in the Software without restriction, including without limitation the rights
69  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
70  * copies of the Software, and to permit persons to whom the Software is
71  * furnished to do so, subject to the following conditions:
72  *
73  * The above copyright notice and this permission notice shall be included in
74  * all copies or substantial portions of the Software.
75  *
76  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
77  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
78  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
79  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
80  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
81  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
82  * SOFTWARE.
83  */
84
85 /* Autogenerated: unsaturated_solinas --static id_tc26_gost_3410_2012_256_paramSetA 64 5 '2^256 - 617' */
86 /* curve description: id_tc26_gost_3410_2012_256_paramSetA */
87 /* machine_wordsize = 64 (from "64") */
88 /* requested operations: (all) */
89 /* n = 5 (from "5") */
90 /* s-c = 2^256 - [(1, 617)] (from "2^256 - 617") */
91 /* tight_bounds_multiplier = 1.1 (from "") */
92 /*  */
93 /* Computed values: */
94 /* carry_chain = [0, 1, 2, 3, 4, 0, 1] */
95 /* eval z = z[0] + (z[1] << 52) + (z[2] << 103) + (z[3] << 154) + (z[4] << 205) */
96 /* 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) */
97
98 #include <stdint.h>
99 typedef unsigned char fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1;
100 typedef signed char fiat_id_tc26_gost_3410_2012_256_paramSetA_int1;
101 typedef signed __int128 fiat_id_tc26_gost_3410_2012_256_paramSetA_int128;
102 typedef unsigned __int128 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128;
103
104 #if (-1 & 3) != 3
105 #error "This code only works on a two's complement system"
106 #endif
107
108 /*
109  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u52 is an addition with carry.
110  * Postconditions:
111  *   out1 = (arg1 + arg2 + arg3) mod 2^52
112  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^52⌋
113  *
114  * Input Bounds:
115  *   arg1: [0x0 ~> 0x1]
116  *   arg2: [0x0 ~> 0xfffffffffffff]
117  *   arg3: [0x0 ~> 0xfffffffffffff]
118  * Output Bounds:
119  *   out1: [0x0 ~> 0xfffffffffffff]
120  *   out2: [0x0 ~> 0x1]
121  */
122 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u52(
123     uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
124     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint64_t arg2,
125     uint64_t arg3) {
126     uint64_t x1;
127     uint64_t x2;
128     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x3;
129     x1 = ((arg1 + arg2) + arg3);
130     x2 = (x1 & UINT64_C(0xfffffffffffff));
131     x3 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x1 >> 52);
132     *out1 = x2;
133     *out2 = x3;
134 }
135
136 /*
137  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u52 is a subtraction with borrow.
138  * Postconditions:
139  *   out1 = (-arg1 + arg2 + -arg3) mod 2^52
140  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^52⌋
141  *
142  * Input Bounds:
143  *   arg1: [0x0 ~> 0x1]
144  *   arg2: [0x0 ~> 0xfffffffffffff]
145  *   arg3: [0x0 ~> 0xfffffffffffff]
146  * Output Bounds:
147  *   out1: [0x0 ~> 0xfffffffffffff]
148  *   out2: [0x0 ~> 0x1]
149  */
150 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u52(
151     uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
152     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint64_t arg2,
153     uint64_t arg3) {
154     int64_t x1;
155     fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
156     uint64_t x3;
157     x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
158     x2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(x1 >> 52);
159     x3 = (x1 & UINT64_C(0xfffffffffffff));
160     *out1 = x3;
161     *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
162 }
163
164 /*
165  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51 is an addition with carry.
166  * Postconditions:
167  *   out1 = (arg1 + arg2 + arg3) mod 2^51
168  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^51⌋
169  *
170  * Input Bounds:
171  *   arg1: [0x0 ~> 0x1]
172  *   arg2: [0x0 ~> 0x7ffffffffffff]
173  *   arg3: [0x0 ~> 0x7ffffffffffff]
174  * Output Bounds:
175  *   out1: [0x0 ~> 0x7ffffffffffff]
176  *   out2: [0x0 ~> 0x1]
177  */
178 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
179     uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
180     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint64_t arg2,
181     uint64_t arg3) {
182     uint64_t x1;
183     uint64_t x2;
184     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x3;
185     x1 = ((arg1 + arg2) + arg3);
186     x2 = (x1 & UINT64_C(0x7ffffffffffff));
187     x3 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x1 >> 51);
188     *out1 = x2;
189     *out2 = x3;
190 }
191
192 /*
193  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51 is a subtraction with borrow.
194  * Postconditions:
195  *   out1 = (-arg1 + arg2 + -arg3) mod 2^51
196  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^51⌋
197  *
198  * Input Bounds:
199  *   arg1: [0x0 ~> 0x1]
200  *   arg2: [0x0 ~> 0x7ffffffffffff]
201  *   arg3: [0x0 ~> 0x7ffffffffffff]
202  * Output Bounds:
203  *   out1: [0x0 ~> 0x7ffffffffffff]
204  *   out2: [0x0 ~> 0x1]
205  */
206 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
207     uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
208     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint64_t arg2,
209     uint64_t arg3) {
210     int64_t x1;
211     fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
212     uint64_t x3;
213     x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
214     x2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(x1 >> 51);
215     x3 = (x1 & UINT64_C(0x7ffffffffffff));
216     *out1 = x3;
217     *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
218 }
219
220 /*
221  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64 is a single-word conditional move.
222  * Postconditions:
223  *   out1 = (if arg1 = 0 then arg2 else arg3)
224  *
225  * Input Bounds:
226  *   arg1: [0x0 ~> 0x1]
227  *   arg2: [0x0 ~> 0xffffffffffffffff]
228  *   arg3: [0x0 ~> 0xffffffffffffffff]
229  * Output Bounds:
230  *   out1: [0x0 ~> 0xffffffffffffffff]
231  */
232 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(
233     uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1,
234     uint64_t arg2, uint64_t arg3) {
235     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x1;
236     uint64_t x2;
237     uint64_t x3;
238     x1 = (!(!arg1));
239     x2 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(0x0 - x1) &
240           UINT64_C(0xffffffffffffffff));
241     x3 = ((x2 & arg3) | ((~x2) & arg2));
242     *out1 = x3;
243 }
244
245 /*
246  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul multiplies two field elements and reduces the result.
247  * Postconditions:
248  *   eval out1 mod m = (eval arg1 * eval arg2) mod m
249  *
250  * Input Bounds:
251  *   arg1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
252  *   arg2: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
253  * Output Bounds:
254  *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
255  */
256 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(
257     uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) {
258     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x1;
259     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x2;
260     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x3;
261     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x4;
262     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x5;
263     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x6;
264     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x7;
265     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x8;
266     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x9;
267     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x10;
268     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x11;
269     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x12;
270     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x13;
271     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x14;
272     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x15;
273     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x16;
274     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x17;
275     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x18;
276     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x19;
277     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x20;
278     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x21;
279     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x22;
280     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x23;
281     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x24;
282     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x25;
283     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x26;
284     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x27;
285     uint64_t x28;
286     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x29;
287     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x30;
288     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x31;
289     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x32;
290     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x33;
291     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x34;
292     uint64_t x35;
293     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x36;
294     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x37;
295     uint64_t x38;
296     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x39;
297     uint64_t x40;
298     uint64_t x41;
299     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x42;
300     uint64_t x43;
301     uint64_t x44;
302     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x45;
303     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x46;
304     uint64_t x47;
305     uint64_t x48;
306     uint64_t x49;
307     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x50;
308     uint64_t x51;
309     uint64_t x52;
310     x1 = (UINT16_C(0x269) *
311           ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
312            (arg2[4])));
313     x2 = (UINT16_C(0x269) *
314           ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
315            (arg2[3])));
316     x3 = (UINT16_C(0x269) *
317           ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
318            (arg2[2])));
319     x4 = (UINT16_C(0x269) *
320           (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
321             (arg2[1])) *
322            0x2));
323     x5 = (UINT16_C(0x269) *
324           ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
325            (arg2[4])));
326     x6 = (UINT16_C(0x269) *
327           ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
328            (arg2[3])));
329     x7 = (UINT16_C(0x269) *
330           (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
331             (arg2[2])) *
332            0x2));
333     x8 = (UINT16_C(0x269) *
334           ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
335            (arg2[4])));
336     x9 = (UINT16_C(0x269) *
337           (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
338             (arg2[3])) *
339            0x2));
340     x10 = (UINT16_C(0x269) *
341            (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
342              (arg2[4])) *
343             0x2));
344     x11 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
345            (arg2[0]));
346     x12 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
347            ((arg2[1]) * 0x2));
348     x13 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
349            (arg2[0]));
350     x14 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
351            ((arg2[2]) * 0x2));
352     x15 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
353            ((arg2[1]) * 0x2));
354     x16 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
355            (arg2[0]));
356     x17 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
357            ((arg2[3]) * 0x2));
358     x18 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
359            ((arg2[2]) * 0x2));
360     x19 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
361            ((arg2[1]) * 0x2));
362     x20 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
363            (arg2[0]));
364     x21 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
365            (arg2[4]));
366     x22 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
367            (arg2[3]));
368     x23 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
369            (arg2[2]));
370     x24 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
371            (arg2[1]));
372     x25 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
373            (arg2[0]));
374     x26 = (x25 + (x10 + (x9 + (x7 + x4))));
375     x27 = (x26 >> 52);
376     x28 = (uint64_t)(x26 & UINT64_C(0xfffffffffffff));
377     x29 = (x21 + (x17 + (x14 + (x12 + x11))));
378     x30 = (x22 + (x18 + (x15 + (x13 + x1))));
379     x31 = (x23 + (x19 + (x16 + (x5 + x2))));
380     x32 = (x24 + (x20 + (x8 + (x6 + x3))));
381     x33 = (x27 + x32);
382     x34 = (x33 >> 51);
383     x35 = (uint64_t)(x33 & UINT64_C(0x7ffffffffffff));
384     x36 = (x34 + x31);
385     x37 = (x36 >> 51);
386     x38 = (uint64_t)(x36 & UINT64_C(0x7ffffffffffff));
387     x39 = (x37 + x30);
388     x40 = (uint64_t)(x39 >> 51);
389     x41 = (uint64_t)(x39 & UINT64_C(0x7ffffffffffff));
390     x42 = (x40 + x29);
391     x43 = (uint64_t)(x42 >> 51);
392     x44 = (uint64_t)(x42 & UINT64_C(0x7ffffffffffff));
393     x45 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)UINT16_C(0x269) *
394            x43);
395     x46 = (x28 + x45);
396     x47 = (uint64_t)(x46 >> 52);
397     x48 = (uint64_t)(x46 & UINT64_C(0xfffffffffffff));
398     x49 = (x47 + x35);
399     x50 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x49 >> 51);
400     x51 = (x49 & UINT64_C(0x7ffffffffffff));
401     x52 = (x50 + x38);
402     out1[0] = x48;
403     out1[1] = x51;
404     out1[2] = x52;
405     out1[3] = x41;
406     out1[4] = x44;
407 }
408
409 /*
410  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square squares a field element and reduces the result.
411  * Postconditions:
412  *   eval out1 mod m = (eval arg1 * eval arg1) mod m
413  *
414  * Input Bounds:
415  *   arg1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
416  * Output Bounds:
417  *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
418  */
419 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(
420     uint64_t out1[5], const uint64_t arg1[5]) {
421     uint64_t x1;
422     uint64_t x2;
423     uint64_t x3;
424     uint64_t x4;
425     uint64_t x5;
426     uint64_t x6;
427     uint64_t x7;
428     uint64_t x8;
429     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x9;
430     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x10;
431     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x11;
432     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x12;
433     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x13;
434     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x14;
435     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x15;
436     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x16;
437     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x17;
438     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x18;
439     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x19;
440     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x20;
441     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x21;
442     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x22;
443     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x23;
444     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x24;
445     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x25;
446     uint64_t x26;
447     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x27;
448     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x28;
449     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x29;
450     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x30;
451     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x31;
452     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x32;
453     uint64_t x33;
454     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x34;
455     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x35;
456     uint64_t x36;
457     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x37;
458     uint64_t x38;
459     uint64_t x39;
460     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x40;
461     uint64_t x41;
462     uint64_t x42;
463     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x43;
464     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x44;
465     uint64_t x45;
466     uint64_t x46;
467     uint64_t x47;
468     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x48;
469     uint64_t x49;
470     uint64_t x50;
471     x1 = ((arg1[4]) * UINT16_C(0x269));
472     x2 = (x1 * 0x2);
473     x3 = ((arg1[4]) * 0x2);
474     x4 = ((arg1[3]) * UINT16_C(0x269));
475     x5 = (x4 * 0x2);
476     x6 = ((arg1[3]) * 0x2);
477     x7 = ((arg1[2]) * 0x2);
478     x8 = ((arg1[1]) * 0x2);
479     x9 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) * x1);
480     x10 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) * x2);
481     x11 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) * x4);
482     x12 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) * x2);
483     x13 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
484            (x5 * 0x2));
485     x14 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
486            ((arg1[2]) * 0x2));
487     x15 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
488            (x2 * 0x2));
489     x16 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
490            (x6 * 0x2));
491     x17 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
492            (x7 * 0x2));
493     x18 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
494            ((arg1[1]) * 0x2));
495     x19 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) * x3);
496     x20 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) * x6);
497     x21 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) * x7);
498     x22 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) * x8);
499     x23 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
500            (arg1[0]));
501     x24 = (x23 + (x15 + x13));
502     x25 = (x24 >> 52);
503     x26 = (uint64_t)(x24 & UINT64_C(0xfffffffffffff));
504     x27 = (x19 + (x16 + x14));
505     x28 = (x20 + (x17 + x9));
506     x29 = (x21 + (x18 + x10));
507     x30 = (x22 + (x12 + x11));
508     x31 = (x25 + x30);
509     x32 = (x31 >> 51);
510     x33 = (uint64_t)(x31 & UINT64_C(0x7ffffffffffff));
511     x34 = (x32 + x29);
512     x35 = (x34 >> 51);
513     x36 = (uint64_t)(x34 & UINT64_C(0x7ffffffffffff));
514     x37 = (x35 + x28);
515     x38 = (uint64_t)(x37 >> 51);
516     x39 = (uint64_t)(x37 & UINT64_C(0x7ffffffffffff));
517     x40 = (x38 + x27);
518     x41 = (uint64_t)(x40 >> 51);
519     x42 = (uint64_t)(x40 & UINT64_C(0x7ffffffffffff));
520     x43 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)UINT16_C(0x269) *
521            x41);
522     x44 = (x26 + x43);
523     x45 = (uint64_t)(x44 >> 52);
524     x46 = (uint64_t)(x44 & UINT64_C(0xfffffffffffff));
525     x47 = (x45 + x33);
526     x48 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x47 >> 51);
527     x49 = (x47 & UINT64_C(0x7ffffffffffff));
528     x50 = (x48 + x36);
529     out1[0] = x46;
530     out1[1] = x49;
531     out1[2] = x50;
532     out1[3] = x39;
533     out1[4] = x42;
534 }
535
536 /*
537  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry reduces a field element.
538  * Postconditions:
539  *   eval out1 mod m = eval arg1 mod m
540  *
541  * Input Bounds:
542  *   arg1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
543  * Output Bounds:
544  *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
545  */
546 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(
547     uint64_t out1[5], const uint64_t arg1[5]) {
548     uint64_t x1;
549     uint64_t x2;
550     uint64_t x3;
551     uint64_t x4;
552     uint64_t x5;
553     uint64_t x6;
554     uint64_t x7;
555     uint64_t x8;
556     uint64_t x9;
557     uint64_t x10;
558     uint64_t x11;
559     uint64_t x12;
560     x1 = (arg1[0]);
561     x2 = ((x1 >> 52) + (arg1[1]));
562     x3 = ((x2 >> 51) + (arg1[2]));
563     x4 = ((x3 >> 51) + (arg1[3]));
564     x5 = ((x4 >> 51) + (arg1[4]));
565     x6 = ((x1 & UINT64_C(0xfffffffffffff)) + (UINT16_C(0x269) * (x5 >> 51)));
566     x7 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x6 >> 52) +
567           (x2 & UINT64_C(0x7ffffffffffff)));
568     x8 = (x6 & UINT64_C(0xfffffffffffff));
569     x9 = (x7 & UINT64_C(0x7ffffffffffff));
570     x10 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x7 >> 51) +
571            (x3 & UINT64_C(0x7ffffffffffff)));
572     x11 = (x4 & UINT64_C(0x7ffffffffffff));
573     x12 = (x5 & UINT64_C(0x7ffffffffffff));
574     out1[0] = x8;
575     out1[1] = x9;
576     out1[2] = x10;
577     out1[3] = x11;
578     out1[4] = x12;
579 }
580
581 /*
582  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_add adds two field elements.
583  * Postconditions:
584  *   eval out1 mod m = (eval arg1 + eval arg2) mod m
585  *
586  * Input Bounds:
587  *   arg1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
588  *   arg2: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
589  * Output Bounds:
590  *   out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
591  */
592 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_add(
593     uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) {
594     uint64_t x1;
595     uint64_t x2;
596     uint64_t x3;
597     uint64_t x4;
598     uint64_t x5;
599     x1 = ((arg1[0]) + (arg2[0]));
600     x2 = ((arg1[1]) + (arg2[1]));
601     x3 = ((arg1[2]) + (arg2[2]));
602     x4 = ((arg1[3]) + (arg2[3]));
603     x5 = ((arg1[4]) + (arg2[4]));
604     out1[0] = x1;
605     out1[1] = x2;
606     out1[2] = x3;
607     out1[3] = x4;
608     out1[4] = x5;
609 }
610
611 /*
612  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_sub subtracts two field elements.
613  * Postconditions:
614  *   eval out1 mod m = (eval arg1 - eval arg2) mod m
615  *
616  * Input Bounds:
617  *   arg1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
618  *   arg2: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
619  * Output Bounds:
620  *   out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
621  */
622 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_sub(
623     uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) {
624     uint64_t x1;
625     uint64_t x2;
626     uint64_t x3;
627     uint64_t x4;
628     uint64_t x5;
629     x1 = ((UINT64_C(0x1ffffffffffb2e) + (arg1[0])) - (arg2[0]));
630     x2 = ((UINT64_C(0xffffffffffffe) + (arg1[1])) - (arg2[1]));
631     x3 = ((UINT64_C(0xffffffffffffe) + (arg1[2])) - (arg2[2]));
632     x4 = ((UINT64_C(0xffffffffffffe) + (arg1[3])) - (arg2[3]));
633     x5 = ((UINT64_C(0xffffffffffffe) + (arg1[4])) - (arg2[4]));
634     out1[0] = x1;
635     out1[1] = x2;
636     out1[2] = x3;
637     out1[3] = x4;
638     out1[4] = x5;
639 }
640
641 /*
642  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_opp negates a field element.
643  * Postconditions:
644  *   eval out1 mod m = -eval arg1 mod m
645  *
646  * Input Bounds:
647  *   arg1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
648  * Output Bounds:
649  *   out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
650  */
651 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(
652     uint64_t out1[5], const uint64_t arg1[5]) {
653     uint64_t x1;
654     uint64_t x2;
655     uint64_t x3;
656     uint64_t x4;
657     uint64_t x5;
658     x1 = (UINT64_C(0x1ffffffffffb2e) - (arg1[0]));
659     x2 = (UINT64_C(0xffffffffffffe) - (arg1[1]));
660     x3 = (UINT64_C(0xffffffffffffe) - (arg1[2]));
661     x4 = (UINT64_C(0xffffffffffffe) - (arg1[3]));
662     x5 = (UINT64_C(0xffffffffffffe) - (arg1[4]));
663     out1[0] = x1;
664     out1[1] = x2;
665     out1[2] = x3;
666     out1[3] = x4;
667     out1[4] = x5;
668 }
669
670 /*
671  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz is a multi-limb conditional select.
672  * Postconditions:
673  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
674  *
675  * Input Bounds:
676  *   arg1: [0x0 ~> 0x1]
677  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
678  *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
679  * Output Bounds:
680  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
681  */
682 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
683     uint64_t out1[5], fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1,
684     const uint64_t arg2[5], const uint64_t arg3[5]) {
685     uint64_t x1;
686     uint64_t x2;
687     uint64_t x3;
688     uint64_t x4;
689     uint64_t x5;
690     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x1, arg1, (arg2[0]),
691                                                           (arg3[0]));
692     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x2, arg1, (arg2[1]),
693                                                           (arg3[1]));
694     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x3, arg1, (arg2[2]),
695                                                           (arg3[2]));
696     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x4, arg1, (arg2[3]),
697                                                           (arg3[3]));
698     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x5, arg1, (arg2[4]),
699                                                           (arg3[4]));
700     out1[0] = x1;
701     out1[1] = x2;
702     out1[2] = x3;
703     out1[3] = x4;
704     out1[4] = x5;
705 }
706
707 /*
708  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes serializes a field element to bytes in little-endian order.
709  * Postconditions:
710  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
711  *
712  * Input Bounds:
713  *   arg1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
714  * Output Bounds:
715  *   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]]
716  */
717 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(
718     uint8_t out1[32], const uint64_t arg1[5]) {
719     uint64_t x1;
720     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x2;
721     uint64_t x3;
722     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x4;
723     uint64_t x5;
724     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x6;
725     uint64_t x7;
726     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x8;
727     uint64_t x9;
728     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x10;
729     uint64_t x11;
730     uint64_t x12;
731     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x13;
732     uint64_t x14;
733     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x15;
734     uint64_t x16;
735     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x17;
736     uint64_t x18;
737     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x19;
738     uint64_t x20;
739     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x21;
740     uint64_t x22;
741     uint64_t x23;
742     uint64_t x24;
743     uint64_t x25;
744     uint64_t x26;
745     uint8_t x27;
746     uint64_t x28;
747     uint8_t x29;
748     uint64_t x30;
749     uint8_t x31;
750     uint64_t x32;
751     uint8_t x33;
752     uint64_t x34;
753     uint8_t x35;
754     uint8_t x36;
755     uint8_t x37;
756     uint64_t x38;
757     uint64_t x39;
758     uint8_t x40;
759     uint64_t x41;
760     uint8_t x42;
761     uint64_t x43;
762     uint8_t x44;
763     uint64_t x45;
764     uint8_t x46;
765     uint64_t x47;
766     uint8_t x48;
767     uint8_t x49;
768     uint8_t x50;
769     uint64_t x51;
770     uint64_t x52;
771     uint8_t x53;
772     uint64_t x54;
773     uint8_t x55;
774     uint64_t x56;
775     uint8_t x57;
776     uint64_t x58;
777     uint8_t x59;
778     uint64_t x60;
779     uint8_t x61;
780     uint64_t x62;
781     uint8_t x63;
782     uint8_t x64;
783     uint8_t x65;
784     uint64_t x66;
785     uint64_t x67;
786     uint8_t x68;
787     uint64_t x69;
788     uint8_t x70;
789     uint64_t x71;
790     uint8_t x72;
791     uint64_t x73;
792     uint8_t x74;
793     uint64_t x75;
794     uint8_t x76;
795     uint8_t x77;
796     uint8_t x78;
797     uint64_t x79;
798     uint64_t x80;
799     uint8_t x81;
800     uint64_t x82;
801     uint8_t x83;
802     uint64_t x84;
803     uint8_t x85;
804     uint64_t x86;
805     uint8_t x87;
806     uint64_t x88;
807     uint8_t x89;
808     uint8_t x90;
809     uint8_t x91;
810     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u52(
811         &x1, &x2, 0x0, (arg1[0]), UINT64_C(0xffffffffffd97));
812     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
813         &x3, &x4, x2, (arg1[1]), UINT64_C(0x7ffffffffffff));
814     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
815         &x5, &x6, x4, (arg1[2]), UINT64_C(0x7ffffffffffff));
816     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
817         &x7, &x8, x6, (arg1[3]), UINT64_C(0x7ffffffffffff));
818     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
819         &x9, &x10, x8, (arg1[4]), UINT64_C(0x7ffffffffffff));
820     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(
821         &x11, x10, 0x0, UINT64_C(0xffffffffffffffff));
822     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u52(
823         &x12, &x13, 0x0, x1, (x11 & UINT64_C(0xffffffffffd97)));
824     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
825         &x14, &x15, x13, x3, (x11 & UINT64_C(0x7ffffffffffff)));
826     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
827         &x16, &x17, x15, x5, (x11 & UINT64_C(0x7ffffffffffff)));
828     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
829         &x18, &x19, x17, x7, (x11 & UINT64_C(0x7ffffffffffff)));
830     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
831         &x20, &x21, x19, x9, (x11 & UINT64_C(0x7ffffffffffff)));
832     x22 = (x20 << 5);
833     x23 = (x18 << 2);
834     x24 = (x16 << 7);
835     x25 = (x14 << 4);
836     x26 = (x12 >> 8);
837     x27 = (uint8_t)(x12 & UINT8_C(0xff));
838     x28 = (x26 >> 8);
839     x29 = (uint8_t)(x26 & UINT8_C(0xff));
840     x30 = (x28 >> 8);
841     x31 = (uint8_t)(x28 & UINT8_C(0xff));
842     x32 = (x30 >> 8);
843     x33 = (uint8_t)(x30 & UINT8_C(0xff));
844     x34 = (x32 >> 8);
845     x35 = (uint8_t)(x32 & UINT8_C(0xff));
846     x36 = (uint8_t)(x34 >> 8);
847     x37 = (uint8_t)(x34 & UINT8_C(0xff));
848     x38 = (x36 + x25);
849     x39 = (x38 >> 8);
850     x40 = (uint8_t)(x38 & UINT8_C(0xff));
851     x41 = (x39 >> 8);
852     x42 = (uint8_t)(x39 & UINT8_C(0xff));
853     x43 = (x41 >> 8);
854     x44 = (uint8_t)(x41 & UINT8_C(0xff));
855     x45 = (x43 >> 8);
856     x46 = (uint8_t)(x43 & UINT8_C(0xff));
857     x47 = (x45 >> 8);
858     x48 = (uint8_t)(x45 & UINT8_C(0xff));
859     x49 = (uint8_t)(x47 >> 8);
860     x50 = (uint8_t)(x47 & UINT8_C(0xff));
861     x51 = (x49 + x24);
862     x52 = (x51 >> 8);
863     x53 = (uint8_t)(x51 & UINT8_C(0xff));
864     x54 = (x52 >> 8);
865     x55 = (uint8_t)(x52 & UINT8_C(0xff));
866     x56 = (x54 >> 8);
867     x57 = (uint8_t)(x54 & UINT8_C(0xff));
868     x58 = (x56 >> 8);
869     x59 = (uint8_t)(x56 & UINT8_C(0xff));
870     x60 = (x58 >> 8);
871     x61 = (uint8_t)(x58 & UINT8_C(0xff));
872     x62 = (x60 >> 8);
873     x63 = (uint8_t)(x60 & UINT8_C(0xff));
874     x64 = (uint8_t)(x62 >> 8);
875     x65 = (uint8_t)(x62 & UINT8_C(0xff));
876     x66 = (x64 + x23);
877     x67 = (x66 >> 8);
878     x68 = (uint8_t)(x66 & UINT8_C(0xff));
879     x69 = (x67 >> 8);
880     x70 = (uint8_t)(x67 & UINT8_C(0xff));
881     x71 = (x69 >> 8);
882     x72 = (uint8_t)(x69 & UINT8_C(0xff));
883     x73 = (x71 >> 8);
884     x74 = (uint8_t)(x71 & UINT8_C(0xff));
885     x75 = (x73 >> 8);
886     x76 = (uint8_t)(x73 & UINT8_C(0xff));
887     x77 = (uint8_t)(x75 >> 8);
888     x78 = (uint8_t)(x75 & UINT8_C(0xff));
889     x79 = (x77 + x22);
890     x80 = (x79 >> 8);
891     x81 = (uint8_t)(x79 & UINT8_C(0xff));
892     x82 = (x80 >> 8);
893     x83 = (uint8_t)(x80 & UINT8_C(0xff));
894     x84 = (x82 >> 8);
895     x85 = (uint8_t)(x82 & UINT8_C(0xff));
896     x86 = (x84 >> 8);
897     x87 = (uint8_t)(x84 & UINT8_C(0xff));
898     x88 = (x86 >> 8);
899     x89 = (uint8_t)(x86 & UINT8_C(0xff));
900     x90 = (uint8_t)(x88 >> 8);
901     x91 = (uint8_t)(x88 & UINT8_C(0xff));
902     out1[0] = x27;
903     out1[1] = x29;
904     out1[2] = x31;
905     out1[3] = x33;
906     out1[4] = x35;
907     out1[5] = x37;
908     out1[6] = x40;
909     out1[7] = x42;
910     out1[8] = x44;
911     out1[9] = x46;
912     out1[10] = x48;
913     out1[11] = x50;
914     out1[12] = x53;
915     out1[13] = x55;
916     out1[14] = x57;
917     out1[15] = x59;
918     out1[16] = x61;
919     out1[17] = x63;
920     out1[18] = x65;
921     out1[19] = x68;
922     out1[20] = x70;
923     out1[21] = x72;
924     out1[22] = x74;
925     out1[23] = x76;
926     out1[24] = x78;
927     out1[25] = x81;
928     out1[26] = x83;
929     out1[27] = x85;
930     out1[28] = x87;
931     out1[29] = x89;
932     out1[30] = x91;
933     out1[31] = x90;
934 }
935
936 /*
937  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes deserializes a field element from bytes in little-endian order.
938  * Postconditions:
939  *   eval out1 mod m = bytes_eval arg1 mod m
940  *
941  * Input Bounds:
942  *   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]]
943  * Output Bounds:
944  *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
945  */
946 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(
947     uint64_t out1[5], const uint8_t arg1[32]) {
948     uint64_t x1;
949     uint64_t x2;
950     uint64_t x3;
951     uint64_t x4;
952     uint64_t x5;
953     uint64_t x6;
954     uint64_t x7;
955     uint64_t x8;
956     uint64_t x9;
957     uint64_t x10;
958     uint64_t x11;
959     uint64_t x12;
960     uint64_t x13;
961     uint64_t x14;
962     uint64_t x15;
963     uint64_t x16;
964     uint64_t x17;
965     uint64_t x18;
966     uint64_t x19;
967     uint64_t x20;
968     uint64_t x21;
969     uint64_t x22;
970     uint64_t x23;
971     uint64_t x24;
972     uint64_t x25;
973     uint64_t x26;
974     uint64_t x27;
975     uint64_t x28;
976     uint64_t x29;
977     uint64_t x30;
978     uint64_t x31;
979     uint8_t x32;
980     uint64_t x33;
981     uint8_t x34;
982     uint64_t x35;
983     uint64_t x36;
984     uint64_t x37;
985     uint64_t x38;
986     uint64_t x39;
987     uint64_t x40;
988     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x41;
989     uint64_t x42;
990     uint64_t x43;
991     uint8_t x44;
992     uint64_t x45;
993     uint64_t x46;
994     uint8_t x47;
995     uint64_t x48;
996     uint64_t x49;
997     x1 = ((uint64_t)(arg1[31]) << 43);
998     x2 = ((uint64_t)(arg1[30]) << 35);
999     x3 = ((uint64_t)(arg1[29]) << 27);
1000     x4 = ((uint64_t)(arg1[28]) << 19);
1001     x5 = ((uint64_t)(arg1[27]) << 11);
1002     x6 = ((uint64_t)(arg1[26]) << 3);
1003     x7 = ((uint64_t)(arg1[25]) << 46);
1004     x8 = ((uint64_t)(arg1[24]) << 38);
1005     x9 = ((uint64_t)(arg1[23]) << 30);
1006     x10 = ((uint64_t)(arg1[22]) << 22);
1007     x11 = ((uint64_t)(arg1[21]) << 14);
1008     x12 = ((uint64_t)(arg1[20]) << 6);
1009     x13 = ((uint64_t)(arg1[19]) << 49);
1010     x14 = ((uint64_t)(arg1[18]) << 41);
1011     x15 = ((uint64_t)(arg1[17]) << 33);
1012     x16 = ((uint64_t)(arg1[16]) << 25);
1013     x17 = ((uint64_t)(arg1[15]) << 17);
1014     x18 = ((uint64_t)(arg1[14]) << 9);
1015     x19 = ((uint64_t)(arg1[13]) * 0x2);
1016     x20 = ((uint64_t)(arg1[12]) << 44);
1017     x21 = ((uint64_t)(arg1[11]) << 36);
1018     x22 = ((uint64_t)(arg1[10]) << 28);
1019     x23 = ((uint64_t)(arg1[9]) << 20);
1020     x24 = ((uint64_t)(arg1[8]) << 12);
1021     x25 = ((uint64_t)(arg1[7]) << 4);
1022     x26 = ((uint64_t)(arg1[6]) << 48);
1023     x27 = ((uint64_t)(arg1[5]) << 40);
1024     x28 = ((uint64_t)(arg1[4]) << 32);
1025     x29 = ((uint64_t)(arg1[3]) << 24);
1026     x30 = ((uint64_t)(arg1[2]) << 16);
1027     x31 = ((uint64_t)(arg1[1]) << 8);
1028     x32 = (arg1[0]);
1029     x33 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + x26))))));
1030     x34 = (uint8_t)(x33 >> 52);
1031     x35 = (x33 & UINT64_C(0xfffffffffffff));
1032     x36 = (x6 + (x5 + (x4 + (x3 + (x2 + x1)))));
1033     x37 = (x12 + (x11 + (x10 + (x9 + (x8 + x7)))));
1034     x38 = (x19 + (x18 + (x17 + (x16 + (x15 + (x14 + x13))))));
1035     x39 = (x25 + (x24 + (x23 + (x22 + (x21 + x20)))));
1036     x40 = (x34 + x39);
1037     x41 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x40 >> 51);
1038     x42 = (x40 & UINT64_C(0x7ffffffffffff));
1039     x43 = (x41 + x38);
1040     x44 = (uint8_t)(x43 >> 51);
1041     x45 = (x43 & UINT64_C(0x7ffffffffffff));
1042     x46 = (x44 + x37);
1043     x47 = (uint8_t)(x46 >> 51);
1044     x48 = (x46 & UINT64_C(0x7ffffffffffff));
1045     x49 = (x47 + x36);
1046     out1[0] = x35;
1047     out1[1] = x42;
1048     out1[2] = x45;
1049     out1[3] = x48;
1050     out1[4] = x49;
1051 }
1052
1053 /* END verbatim fiat code */
1054
1055 /*-
1056  * Finite field inversion via FLT.
1057  * NB: this is not a real Fiat function, just named that way for consistency.
1058  * Autogenerated: ecp/id_tc26_gost_3410_2012_256_paramSetA/fe_inv.op3
1059  * custom repunit addition chain
1060  */
1061 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(fe_t output,
1062                                                           const fe_t t1) {
1063     int i;
1064     /* temporary variables */
1065     fe_t acc, t16, t164, t2, t246, t32, t4, t64, t8, t80, t82;
1066
1067     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t1);
1068     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, acc, t1);
1069     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t2);
1070     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1071     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t4, acc, t2);
1072     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t4);
1073     for (i = 0; i < 3; i++)
1074         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1075     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t8, acc, t4);
1076     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t8);
1077     for (i = 0; i < 7; i++)
1078         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1079     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t16, acc, t8);
1080     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t16);
1081     for (i = 0; i < 15; i++)
1082         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1083     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t32, acc, t16);
1084     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t32);
1085     for (i = 0; i < 31; i++)
1086         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1087     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t64, acc, t32);
1088     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t64);
1089     for (i = 0; i < 15; i++)
1090         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1091     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t80, acc, t16);
1092     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t80);
1093     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1094     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t82, acc, t2);
1095     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t82);
1096     for (i = 0; i < 81; i++)
1097         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1098     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t164, acc, t82);
1099     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t164);
1100     for (i = 0; i < 81; i++)
1101         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1102     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t246, acc, t82);
1103     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t246);
1104     for (i = 0; i < 2; i++)
1105         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1106     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t2);
1107     for (i = 0; i < 3; i++)
1108         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1109     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t1);
1110     for (i = 0; i < 2; i++)
1111         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1112     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t1);
1113     for (i = 0; i < 2; i++)
1114         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1115     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(output, acc, t1);
1116 }
1117
1118 /* curve coefficient constants */
1119
1120 static const limb_t const_one[5] = {
1121     UINT64_C(0x0000000000000001), UINT64_C(0x0000000000000000),
1122     UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
1123     UINT64_C(0x0000000000000000)};
1124
1125 static const limb_t const_d[5] = {
1126     UINT64_C(0x0002C32D6DC7BFFB), UINT64_C(0x0002897009AF7E52),
1127     UINT64_C(0x0005AA3026573BEC), UINT64_C(0x0006A055E2F0E73E),
1128     UINT64_C(0x0000302FB5BE0C1F)};
1129
1130 static const limb_t const_S[5] = {
1131     UINT64_C(0x00074F34A48E0ECD), UINT64_C(0x00075DA3FD94206B),
1132     UINT64_C(0x00029573F66A3104), UINT64_C(0x000057EA8743C630),
1133     UINT64_C(0x0003F3F412907CF8)};
1134
1135 static const limb_t const_T[5] = {
1136     UINT64_C(0x000075DCE7A14AAA), UINT64_C(0x0005C192AC47EA63),
1137     UINT64_C(0x0000F1B2B10E89FC), UINT64_C(0x0007C563A5D2D135),
1138     UINT64_C(0x00000807F39FACAF)};
1139
1140 /* LUT for scalar multiplication by comb interleaving */
1141 static const pt_aff_t lut_cmb[14][16] = {
1142     {
1143         {{UINT64_C(0x000000000000000D), UINT64_C(0x0000000000000000),
1144           UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
1145           UINT64_C(0x0000000000000000)},
1146          {UINT64_C(0x000B2592DBA300E7), UINT64_C(0x0003E87F22E81F92),
1147           UINT64_C(0x00060EC939CFDF1B), UINT64_C(0x0006CD212230E3EA),
1148           UINT64_C(0x00030650F195523A)},
1149          {UINT64_C(0x0000E8752747155F), UINT64_C(0x0002CE74C5C99A73),
1150           UINT64_C(0x0006C037EF8E5465), UINT64_C(0x00006AAEBC7B92EB),
1151           UINT64_C(0x0007521C44952CFD)}},
1152         {{UINT64_C(0x000A63D93451134C), UINT64_C(0x0003F7A46C1C4CA7),
1153           UINT64_C(0x0002AF35693661CE), UINT64_C(0x0005313F13E9CC60),
1154           UINT64_C(0x00054E15958A5D97)},
1155          {UINT64_C(0x0004525DDCDB5791), UINT64_C(0x000736AACCCB7BC8),
1156           UINT64_C(0x000174F4885153CF), UINT64_C(0x0000CB27666A2367),
1157           UINT64_C(0x00016BDEBB39E143)},
1158          {UINT64_C(0x000C732788CBC030), UINT64_C(0x0005C721E676D06F),
1159           UINT64_C(0x00024101FDBBCCE2), UINT64_C(0x00059473AE8CD7CA),
1160           UINT64_C(0x000586898AC013B2)}},
1161         {{UINT64_C(0x000A894E457058AD), UINT64_C(0x00047D7F48E61013),
1162           UINT64_C(0x00035B4A672FE227), UINT64_C(0x0002A23302C060B2),
1163           UINT64_C(0x0000F011D09FB149)},
1164          {UINT64_C(0x000FB80EB0B22BCC), UINT64_C(0x000606DA3C1FAC0B),
1165           UINT64_C(0x00049BB0CE05B2EE), UINT64_C(0x000513F1BE099F41),
1166           UINT64_C(0x0002AEE30C375862)},
1167          {UINT64_C(0x0004ED5422831C0C), UINT64_C(0x0007ED2E735EF7E7),
1168           UINT64_C(0x0006F38521F75F30), UINT64_C(0x00040F086DBFA045),
1169           UINT64_C(0x0002BA6DCB264756)}},
1170         {{UINT64_C(0x000E66CD5DB0B356), UINT64_C(0x00068408F9A4857D),
1171           UINT64_C(0x0001F32E8FC1FD9F), UINT64_C(0x0006283C082BF3EE),
1172           UINT64_C(0x0007B28870E5B67C)},
1173          {UINT64_C(0x000FE1FDB8EFDCBE), UINT64_C(0x0003F21273425384),
1174           UINT64_C(0x0005870EEC15951B), UINT64_C(0x0006C844F52108D5),
1175           UINT64_C(0x0001CD6F3261AFA2)},
1176          {UINT64_C(0x000712D2BEAA7E64), UINT64_C(0x0006CA4E1492A890),
1177           UINT64_C(0x0001F6F63F92C63C), UINT64_C(0x0007E2FFA1F1C544),
1178           UINT64_C(0x0002725A45A8E238)}},
1179         {{UINT64_C(0x0003E27F874C6781), UINT64_C(0x000080BDDC3E44D5),
1180           UINT64_C(0x0005AFC7A11A0693), UINT64_C(0x0001B7278AA23AFD),
1181           UINT64_C(0x0004D7CF0D085A3B)},
1182          {UINT64_C(0x000D80090DD1AE96), UINT64_C(0x0002433971543626),
1183           UINT64_C(0x000276F2FB600A27), UINT64_C(0x0005E6BA3FC73B39),
1184           UINT64_C(0x0005F6DBA95D6230)},
1185          {UINT64_C(0x000E7885A2499A0E), UINT64_C(0x0004547B7F6C185E),
1186           UINT64_C(0x000003DCACBBA1C5), UINT64_C(0x000642667D8CF12B),
1187           UINT64_C(0x0002EA8E4237A0D7)}},
1188         {{UINT64_C(0x000FDE7B60226F30), UINT64_C(0x0006E61454CC4C1B),
1189           UINT64_C(0x000479C4C24E0377), UINT64_C(0x0000B58C33813041),
1190           UINT64_C(0x0002403059A551B8)},
1191          {UINT64_C(0x000F0EF2E06AE25F), UINT64_C(0x00065B351500FA13),
1192           UINT64_C(0x0004884D79149E34), UINT64_C(0x00020A52F78F4D69),
1193           UINT64_C(0x00052A46E43D1E6F)},
1194          {UINT64_C(0x000D0ECC557F4E9D), UINT64_C(0x0007D12B76DDBF72),
1195           UINT64_C(0x00001E35D93266D1), UINT64_C(0x00060EC982223C71),
1196           UINT64_C(0x0001388A4FBA5CC2)}},
1197         {{UINT64_C(0x000288DD0895A16C), UINT64_C(0x000602071D0EFE2E),
1198           UINT64_C(0x0007DEA3E3BA4068), UINT64_C(0x00049DB99EA55E0F),
1199           UINT64_C(0x00057C4FBA5BF59F)},
1200          {UINT64_C(0x00015BEBA4E2B732), UINT64_C(0x0001F7F8E714E8B3),
1201           UINT64_C(0x0000A952EF156C40), UINT64_C(0x00017371509C8E81),
1202           UINT64_C(0x000362B2B97378ED)},
1203          {UINT64_C(0x000A85D2D8D51136), UINT64_C(0x0005F222A81C7F67),
1204           UINT64_C(0x0007182E92B465DA), UINT64_C(0x00037F522C4E8E6D),
1205           UINT64_C(0x0004310842F64A2B)}},
1206         {{UINT64_C(0x0005A383213DC33C), UINT64_C(0x0007E9B816CD42C6),
1207           UINT64_C(0x0007FA8AE87087AA), UINT64_C(0x0004E55F40D4A3EE),
1208           UINT64_C(0x0004F6D263536B6D)},
1209          {UINT64_C(0x00020F67059F55A3), UINT64_C(0x00007763EEA276D3),
1210           UINT64_C(0x00019A17F705B71A), UINT64_C(0x0005944E63EB82FE),
1211           UINT64_C(0x0007650A0DC5D1CB)},
1212          {UINT64_C(0x000FCD65DD4C828B), UINT64_C(0x0004CA6637691EA4),
1213           UINT64_C(0x0003CCA5D1052701), UINT64_C(0x000712031F0647A6),
1214           UINT64_C(0x00021CFF42584B2A)}},
1215         {{UINT64_C(0x0006C8A92F922362), UINT64_C(0x00044311FB926B9A),
1216           UINT64_C(0x00024A255F064898), UINT64_C(0x0004502C0490E488),
1217           UINT64_C(0x000181B9C7BE07A7)},
1218          {UINT64_C(0x000AC7EB3F012FCF), UINT64_C(0x00066FE14D676159),
1219           UINT64_C(0x0000E913992C9940), UINT64_C(0x0005A66B28860B80),
1220           UINT64_C(0x0004FA013BB9A8C7)},
1221          {UINT64_C(0x0000AD18CD3393AB), UINT64_C(0x000615E7DB492BCF),
1222           UINT64_C(0x00065C59E4108193), UINT64_C(0x00001C03C21B9CD4),
1223           UINT64_C(0x00053FD4D84C40B2)}},
1224         {{UINT64_C(0x0003FC89A2C6B0CB), UINT64_C(0x0000F3FE6593C6B3),
1225           UINT64_C(0x00033E7B9EFD7774), UINT64_C(0x000202569ACD3FD6),
1226           UINT64_C(0x000304E71BD74A19)},
1227          {UINT64_C(0x00070B3E67C53736), UINT64_C(0x00062C9877C0935F),
1228           UINT64_C(0x00005596CE3DED78), UINT64_C(0x000065742F67B602),
1229           UINT64_C(0x0001F8FD1E49E6FF)},
1230          {UINT64_C(0x000C98D8B880CCBF), UINT64_C(0x0002C564715F7115),
1231           UINT64_C(0x0003131E65C288F0), UINT64_C(0x00032E11B2E67FC3),
1232           UINT64_C(0x000306235C4203E9)}},
1233         {{UINT64_C(0x0002EE57BC2F49E9), UINT64_C(0x00072B3E30AC4A02),
1234           UINT64_C(0x00007DB1E3840852), UINT64_C(0x0001DD33D665342A),
1235           UINT64_C(0x0001A7633225AEB5)},
1236          {UINT64_C(0x000B7F7B5B762A44), UINT64_C(0x000331A035435FA2),
1237           UINT64_C(0x00067E3DC1DDB9A7), UINT64_C(0x0004B831B6E64D06),
1238           UINT64_C(0x0006F2281134099E)},
1239          {UINT64_C(0x000B980EF7392E55), UINT64_C(0x0000B89E617A9CA2),
1240           UINT64_C(0x0007ABA1A8BE9857), UINT64_C(0x00039ACA46853BD7),
1241           UINT64_C(0x00075B4D3E20EED0)}},
1242         {{UINT64_C(0x000250EDAC297799), UINT64_C(0x0005F2C18C18BF27),
1243           UINT64_C(0x0001CA515336C8CA), UINT64_C(0x000559E66BDEB0DF),
1244           UINT64_C(0x0001DEEDAD609A8E)},
1245          {UINT64_C(0x000955E31C58DEDB), UINT64_C(0x000669D9C0842B27),
1246           UINT64_C(0x0006DEB790D54552), UINT64_C(0x0003F019C46019DA),
1247           UINT64_C(0x000471F509C91C79)},
1248          {UINT64_C(0x000732102C57B4C9), UINT64_C(0x0006A2A9C28278B1),
1249           UINT64_C(0x0002324651BB700F), UINT64_C(0x00035DAF397E77FD),
1250           UINT64_C(0x000663BBD174F83C)}},
1251         {{UINT64_C(0x000B929354FC042F), UINT64_C(0x00011C492ECCD647),
1252           UINT64_C(0x00009741F291BEF2), UINT64_C(0x0001B4C7302C0158),
1253           UINT64_C(0x00053AE1A0A0CF65)},
1254          {UINT64_C(0x0003EF8B2C9BC0FD), UINT64_C(0x00002CC7CA0F574C),
1255           UINT64_C(0x0006D4B65A91C0C0), UINT64_C(0x00037510A240479F),
1256           UINT64_C(0x0000C64FA252A385)},
1257          {UINT64_C(0x000A88BD59ED7C65), UINT64_C(0x0007ADDAE9CF1B08),
1258           UINT64_C(0x00019BA0F9C07F82), UINT64_C(0x000678DB16C95452),
1259           UINT64_C(0x000056623A2D43CD)}},
1260         {{UINT64_C(0x000B7E8A540D0BB7), UINT64_C(0x000584F51D57A3A5),
1261           UINT64_C(0x0001D8F204E79366), UINT64_C(0x00050AB42D36BB78),
1262           UINT64_C(0x0001F1939E53C5F0)},
1263          {UINT64_C(0x0006F36130EDF74C), UINT64_C(0x0004F887F8A3C1AE),
1264           UINT64_C(0x000287BA42F1A8B2), UINT64_C(0x00059F26236FEDC0),
1265           UINT64_C(0x0004E7E15665AB6B)},
1266          {UINT64_C(0x000BEF0A5861C3BC), UINT64_C(0x0001C09CD88554A1),
1267           UINT64_C(0x00061D92810426B4), UINT64_C(0x0000B7288E75D464),
1268           UINT64_C(0x0006309911A5EDED)}},
1269         {{UINT64_C(0x00085B811B64F095), UINT64_C(0x0005D8DFEF0DA78A),
1270           UINT64_C(0x0000FAC6BD61618C), UINT64_C(0x0004BAAA6C8B2729),
1271           UINT64_C(0x0004B56E9D2ABD89)},
1272          {UINT64_C(0x00043E639CD4D3BA), UINT64_C(0x00074DEABEABDB28),
1273           UINT64_C(0x0007E3FBA43ED6F6), UINT64_C(0x0003AEE8B7AFF1C3),
1274           UINT64_C(0x0003F53F79D2EE85)},
1275          {UINT64_C(0x000D24432D4F4AA5), UINT64_C(0x00078D7CF1ED698D),
1276           UINT64_C(0x0004FF1A468ED10E), UINT64_C(0x000401D16C0D8D9F),
1277           UINT64_C(0x0002F258FE117334)}},
1278         {{UINT64_C(0x000FB19D593A119F), UINT64_C(0x000573B9C8EF8EF8),
1279           UINT64_C(0x0003D940302F6503), UINT64_C(0x000182EF3D826EE0),
1280           UINT64_C(0x0003F7471C590F65)},
1281          {UINT64_C(0x000299B06DAA3C6C), UINT64_C(0x0007746E79EDD442),
1282           UINT64_C(0x0003AC79E8C5E3A4), UINT64_C(0x0007EEC70EB2D955),
1283           UINT64_C(0x000725068BB9E5F2)},
1284          {UINT64_C(0x0002BC325E5A930B), UINT64_C(0x000107F46E629456),
1285           UINT64_C(0x000640B07B73E5D1), UINT64_C(0x00001279DBE60561),
1286           UINT64_C(0x000225709C5657E7)}},
1287     },
1288     {
1289         {{UINT64_C(0x0000192B0CEABA3B), UINT64_C(0x0000C849471353C7),
1290           UINT64_C(0x0007933577181965), UINT64_C(0x000142C9EA69016E),
1291           UINT64_C(0x0004567E065866D3)},
1292          {UINT64_C(0x000B6B66959B52D6), UINT64_C(0x000430844ADC8F3E),
1293           UINT64_C(0x0006380BD764FFC3), UINT64_C(0x00016D901A803EAC),
1294           UINT64_C(0x000086B9A477DC01)},
1295          {UINT64_C(0x00023367321E8B93), UINT64_C(0x00032EA758921A81),
1296           UINT64_C(0x0004882218493C4B), UINT64_C(0x000363B5842D9A7D),
1297           UINT64_C(0x00015A99D8110971)}},
1298         {{UINT64_C(0x000300698CE29666), UINT64_C(0x0004EECA6154042B),
1299           UINT64_C(0x000166B994CFB4CC), UINT64_C(0x0004ACF422430E4C),
1300           UINT64_C(0x000025F72D8D2619)},
1301          {UINT64_C(0x000675E071BC36F8), UINT64_C(0x0004DFF904D1F8C7),
1302           UINT64_C(0x0003D505499703DF), UINT64_C(0x00020099265EDEB5),
1303           UINT64_C(0x0003CC88B51F7700)},
1304          {UINT64_C(0x0007D2FCAA25E5B3), UINT64_C(0x000265D6E2479291),
1305           UINT64_C(0x000011547C45B8FB), UINT64_C(0x0007BB46D4B019E2),
1306           UINT64_C(0x00056F6CD9966342)}},
1307         {{UINT64_C(0x000716456F1AF846), UINT64_C(0x0006EC66D0F766DB),
1308           UINT64_C(0x00046A2790A7CDEB), UINT64_C(0x0007D9FE58069E97),
1309           UINT64_C(0x0006F455E4C8BAF4)},
1310          {UINT64_C(0x0002DE3D52161A5B), UINT64_C(0x0001322EF1230B3D),
1311           UINT64_C(0x000064226A5D94E2), UINT64_C(0x0004F0C2721E80E3),
1312           UINT64_C(0x00055430C4FD1472)},
1313          {UINT64_C(0x000F3FE53622B34E), UINT64_C(0x000400E37E2F6B5E),
1314           UINT64_C(0x000786904CA5BE13), UINT64_C(0x000447C21E951630),
1315           UINT64_C(0x00030E6760567848)}},
1316         {{UINT64_C(0x000B726FC584B729), UINT64_C(0x000414D51BCE0A43),
1317           UINT64_C(0x000618F6813D930C), UINT64_C(0x00040A56D66C1756),
1318           UINT64_C(0x0003D984C56008C4)},
1319          {UINT64_C(0x000EB2683ACBED46), UINT64_C(0x000652CB350659D6),
1320           UINT64_C(0x00013634382FCA77), UINT64_C(0x0002F5D25E61B8FF),
1321           UINT64_C(0x0000B4620F79B12A)},
1322          {UINT64_C(0x0001E7A57930B5B8), UINT64_C(0x00073653EC2B76D1),
1323           UINT64_C(0x000613302FE0B30D), UINT64_C(0x0000A6C4E5761F63),
1324           UINT64_C(0x0006ADF86A72CC92)}},
1325         {{UINT64_C(0x00019186A824FDD7), UINT64_C(0x00011924F7F2750C),
1326           UINT64_C(0x00029AD4044367A7), UINT64_C(0x0007E9538B9DECCA),
1327           UINT64_C(0x000280D45D483E14)},
1328          {UINT64_C(0x000BB52AB225DCB5), UINT64_C(0x00028B165CB1E4DA),
1329           UINT64_C(0x0005BC09B05FCBE4), UINT64_C(0x000381D12C463328),
1330           UINT64_C(0x00076D0B0F76F027)},
1331          {UINT64_C(0x000FEDF306C25C01), UINT64_C(0x0003FECB41117000),
1332           UINT64_C(0x0002FD6A35E50E23), UINT64_C(0x000337ED65B03733),
1333           UINT64_C(0x0000574ECBAE7CDC)}},
1334         {{UINT64_C(0x0006DB58E6ED0D33), UINT64_C(0x0006B3191FF18B0A),
1335           UINT64_C(0x0003EA3B063F5E91), UINT64_C(0x00046C617AC41DAE),
1336           UINT64_C(0x00055B8985867163)},
1337          {UINT64_C(0x000FE332D0609F49), UINT64_C(0x00029E2B6C0590BB),
1338           UINT64_C(0x00027B083A8281E3), UINT64_C(0x00023F54A6691576),
1339           UINT64_C(0x0001F9B2324B7AF4)},
1340          {UINT64_C(0x000B28B2B17C7FE4), UINT64_C(0x0006080357FBA43E),
1341           UINT64_C(0x000615C5B81FBEF7), UINT64_C(0x0003954270A7909A),
1342           UINT64_C(0x0001A2F47D0A04EB)}},
1343         {{UINT64_C(0x000BA17581986197), UINT64_C(0x00034870F30008DA),
1344           UINT64_C(0x00013CA300CCA469), UINT64_C(0x0000B162692148B6),
1345           UINT64_C(0x0003F7CF95609F4D)},
1346          {UINT64_C(0x000BAE83E74F002F), UINT64_C(0x00069841112F14B8),
1347           UINT64_C(0x00078C4EFE35A991), UINT64_C(0x00060BCE9ED310B3),
1348           UINT64_C(0x000754449FD8083C)},
1349          {UINT64_C(0x000AF607F5B16E11), UINT64_C(0x000353A2B8ACC91E),
1350           UINT64_C(0x0000EF1D9E0EF391), UINT64_C(0x0004541CFF0EA8DF),
1351           UINT64_C(0x00016AEAE7B3F2F0)}},
1352         {{UINT64_C(0x0004D0C351D81066), UINT64_C(0x0000558E4F8F8B3B),
1353           UINT64_C(0x00016AB2E6954DA6), UINT64_C(0x0001322A57507762),
1354           UINT64_C(0x000048180B80AB80)},
1355          {UINT64_C(0x0008458BFFCB303A), UINT64_C(0x00022F59A0891BA3),
1356           UINT64_C(0x00015FD6CA3084EF), UINT64_C(0x000096545EB531A3),
1357           UINT64_C(0x0006E575563BC013)},
1358          {UINT64_C(0x00051F33B08869E8), UINT64_C(0x00026605DC18D15D),
1359           UINT64_C(0x00055CAC08CDE2C6), UINT64_C(0x000688FFA5C8BAE7),
1360           UINT64_C(0x0001B5E984904B9C)}},
1361         {{UINT64_C(0x0006B8B443814972), UINT64_C(0x00055FB9A76E0CC9),
1362           UINT64_C(0x00009CE2AAB60A30), UINT64_C(0x0003EF83A2F57151),
1363           UINT64_C(0x00054D67D9A4F513)},
1364          {UINT64_C(0x0007BECDA40A587F), UINT64_C(0x00066610E3756505),
1365           UINT64_C(0x000667AED7C671A5), UINT64_C(0x00045C3E37289FA8),
1366           UINT64_C(0x0003EE1DEB8BF15F)},
1367          {UINT64_C(0x00036DA9491A8276), UINT64_C(0x0007F3BA7F45D5F3),
1368           UINT64_C(0x0005491780986582), UINT64_C(0x00017D2A21BAB7FA),
1369           UINT64_C(0x00002173C231405F)}},
1370         {{UINT64_C(0x000F3DB9923407C2), UINT64_C(0x00034756D5DCF8D4),
1371           UINT64_C(0x00012004CC7C2A34), UINT64_C(0x000333FE8258F7D8),
1372           UINT64_C(0x00022BB7C7E2AFDF)},
1373          {UINT64_C(0x0000F405EE8CE31C), UINT64_C(0x0000EAD90D22334E),
1374           UINT64_C(0x00033D2A3C4C1541), UINT64_C(0x0000C208CD2F4BA6),
1375           UINT64_C(0x000531D1A514C9B5)},
1376          {UINT64_C(0x0009F9F19D9C76D2), UINT64_C(0x00050FDE66CC4397),
1377           UINT64_C(0x00007E0C2178203B), UINT64_C(0x0002A55E72D96E80),
1378           UINT64_C(0x0003C184A5AB3FAA)}},
1379         {{UINT64_C(0x0001563D94E10FCD), UINT64_C(0x0002F2A35D0DB543),
1380           UINT64_C(0x0006E7768E05CFD7), UINT64_C(0x000275C5FC14D586),
1381           UINT64_C(0x000433EC2F348324)},
1382          {UINT64_C(0x0004D3D54C94DA0B), UINT64_C(0x000794DDFDB2EE1E),
1383           UINT64_C(0x000682353D05BB00), UINT64_C(0x00062D8667C93A51),
1384           UINT64_C(0x0004DADCA5A8CE84)},
1385          {UINT64_C(0x0008950DCBA27A08), UINT64_C(0x00059BB3D4E3ABE9),
1386           UINT64_C(0x0003822C18A53312), UINT64_C(0x000244B26BFD9780),
1387           UINT64_C(0x00021363F385A671)}},
1388         {{UINT64_C(0x0008D4A03FC03231), UINT64_C(0x00023E2A19529871),
1389           UINT64_C(0x0007E6F5F8C1E22D), UINT64_C(0x0005603802B4085E),
1390           UINT64_C(0x0003FFA733F66BE0)},
1391          {UINT64_C(0x000CC0D81C2C08E7), UINT64_C(0x00018D23FC4F115C),
1392           UINT64_C(0x00003051462BF328), UINT64_C(0x0004DB5D451FA8EB),
1393           UINT64_C(0x00010ACD436DB7AA)},
1394          {UINT64_C(0x000316FC2858C718), UINT64_C(0x0001C94A21AE0F16),
1395           UINT64_C(0x0007FCCA25487FEF), UINT64_C(0x00075860E5CD985C),
1396           UINT64_C(0x0005097BC8151C25)}},
1397         {{UINT64_C(0x000DD0D0A35B9B1D), UINT64_C(0x00069BAAA4B56FF0),
1398           UINT64_C(0x0004C778899053BE), UINT64_C(0x00002FDC9FA10ADD),
1399           UINT64_C(0x0007A47AFD52F5E3)},
1400          {UINT64_C(0x000E3285C26BE9BF), UINT64_C(0x00033A7071D32E1A),
1401           UINT64_C(0x0005D4D66BCC2FAF), UINT64_C(0x00048588A74F8EA8),
1402           UINT64_C(0x00067F167FCDC66E)},
1403          {UINT64_C(0x0008784A422379C4), UINT64_C(0x0007470006E5302B),
1404           UINT64_C(0x000021E9843D3B99), UINT64_C(0x0003D41527492DDA),
1405           UINT64_C(0x0006326EC5940067)}},
1406         {{UINT64_C(0x000FF43284BB2391), UINT64_C(0x00053CD58E6D70AA),
1407           UINT64_C(0x0006AE6FA42E6DDF), UINT64_C(0x00028B006426C7D9),
1408           UINT64_C(0x00052B4EB53AA929)},
1409          {UINT64_C(0x0005CDDE09C1B9A5), UINT64_C(0x0000A96E981F65EC),
1410           UINT64_C(0x0001B2C7538B9E62), UINT64_C(0x000441A392439DEB),
1411           UINT64_C(0x0006A2B722DC6381)},
1412          {UINT64_C(0x000900CFD32A9792), UINT64_C(0x0001A7B4A6CF54D6),
1413           UINT64_C(0x0003CBAB4ADCD36D), UINT64_C(0x0007B9C1AA60B86D),
1414           UINT64_C(0x0000702520E53679)}},
1415         {{UINT64_C(0x000C9A305D7834CB), UINT64_C(0x0005B7B9FE0CCCE7),
1416           UINT64_C(0x000016A6095A241B), UINT64_C(0x0004B712FDF75B13),
1417           UINT64_C(0x0002C53655BBD91A)},
1418          {UINT64_C(0x0008A6ED2314DDC8), UINT64_C(0x0007DA70CDF279E7),
1419           UINT64_C(0x0006D2D0C3606E50), UINT64_C(0x0003283DAAA8966F),
1420           UINT64_C(0x0006EF64B4E41560)},
1421          {UINT64_C(0x00042A16ECAEB238), UINT64_C(0x0005A981B79EAFF2),
1422           UINT64_C(0x0005427BFC071A2B), UINT64_C(0x00049349A5AB5626),
1423           UINT64_C(0x00041BC86960BD2C)}},
1424         {{UINT64_C(0x000ABCDBE3A9E5D5), UINT64_C(0x000405363A4B3483),
1425           UINT64_C(0x000120CFBB24A873), UINT64_C(0x0005AAE474A462D0),
1426           UINT64_C(0x00035D540394697D)},
1427          {UINT64_C(0x000A64659EFE52C3), UINT64_C(0x0004DB773D047E7A),
1428           UINT64_C(0x0002162ABB1CFD3D), UINT64_C(0x00015B391C39D9D5),
1429           UINT64_C(0x00045B7D89DC266B)},
1430          {UINT64_C(0x000B2D1FBC9FC441), UINT64_C(0x00012722CD49F3E8),
1431           UINT64_C(0x0004A0CFFD68110C), UINT64_C(0x0001B6ECFF11A156),
1432           UINT64_C(0x0007D2F58CE5E926)}},
1433     },
1434     {
1435         {{UINT64_C(0x000E1788C8C3CC62), UINT64_C(0x00043FD128363765),
1436           UINT64_C(0x00069AE472062EAB), UINT64_C(0x00035D256FE91217),
1437           UINT64_C(0x00067910C5563600)},
1438          {UINT64_C(0x000F768B1233A3DB), UINT64_C(0x0007DF4C7CD2EA86),
1439           UINT64_C(0x0002CAE86EF8DA2A), UINT64_C(0x0002329535DE9283),
1440           UINT64_C(0x0005A07C9F89C3C4)},
1441          {UINT64_C(0x000054FF768F9CA3), UINT64_C(0x00043D9E4B66B860),
1442           UINT64_C(0x0007DF913CA8B203), UINT64_C(0x000719B3B558DDAA),
1443           UINT64_C(0x00049B2BB9B923F3)}},
1444         {{UINT64_C(0x000890BE7F18CD54), UINT64_C(0x00044AEBC732FC6C),
1445           UINT64_C(0x0000F98B4946A855), UINT64_C(0x00012B28B7A38B2D),
1446           UINT64_C(0x00030C9FAD322292)},
1447          {UINT64_C(0x0009D307A4D23D40), UINT64_C(0x00056FC224E7F4C7),
1448           UINT64_C(0x00054A676DE6F4D3), UINT64_C(0x0006E886B5E9AB59),
1449           UINT64_C(0x0005165D23A85BC8)},
1450          {UINT64_C(0x000ED25967873511), UINT64_C(0x0006C6A9C182B080),
1451           UINT64_C(0x0006978A72802608), UINT64_C(0x0006BF34B9518468),
1452           UINT64_C(0x0006871D973DF84B)}},
1453         {{UINT64_C(0x000F875D00421E67), UINT64_C(0x00042EDCCB1C82C1),
1454           UINT64_C(0x000048FC0A2E1BB9), UINT64_C(0x000733FCF9823770),
1455           UINT64_C(0x00049255AE9DEDFF)},
1456          {UINT64_C(0x000B76A27F806A6B), UINT64_C(0x0002C8618FECD22F),
1457           UINT64_C(0x0007CA416389DB51), UINT64_C(0x00072B231F4E3DF8),
1458           UINT64_C(0x00037E6C81D4C8A3)},
1459          {UINT64_C(0x000315AE714C164A), UINT64_C(0x0000651074CD146C),
1460           UINT64_C(0x00070A110B6FA83C), UINT64_C(0x000292BEB2445915),
1461           UINT64_C(0x0007BAE86E66340A)}},
1462         {{UINT64_C(0x0005A42303FA5032), UINT64_C(0x00079C0EED4C5482),
1463           UINT64_C(0x00070FAF28317AA9), UINT64_C(0x000252F900BCA786),
1464           UINT64_C(0x0004C6DF6AC32D72)},
1465          {UINT64_C(0x000899EF622C1092), UINT64_C(0x00024300EA163F80),
1466           UINT64_C(0x0005D78541F9C58D), UINT64_C(0x0000A82CF29A5335),
1467           UINT64_C(0x00057651841E4857)},
1468          {UINT64_C(0x0002DDAF4534E914), UINT64_C(0x0005C3F8E3CEDF3D),
1469           UINT64_C(0x0007E428DFE30ABB), UINT64_C(0x0000CFA8EF984856),
1470           UINT64_C(0x0007F54DE1239314)}},
1471         {{UINT64_C(0x0003E194BB770B21), UINT64_C(0x0005FE5004F0D44C),
1472           UINT64_C(0x00000E420E05B0CD), UINT64_C(0x0007F4C1EB04ADEA),
1473           UINT64_C(0x00042CF75F5849CB)},
1474          {UINT64_C(0x000DFBFF2F58474E), UINT64_C(0x000023E38CACC0A2),
1475           UINT64_C(0x0007940AAA1D2AEF), UINT64_C(0x00066B3671EF7D12),
1476           UINT64_C(0x0002262304E8FD69)},
1477          {UINT64_C(0x0008190A96FA31A5), UINT64_C(0x000342B2840B29B6),
1478           UINT64_C(0x000692023CF41B60), UINT64_C(0x000438CCB9AD9326),
1479           UINT64_C(0x0006A74AEEF91383)}},
1480         {{UINT64_C(0x00018FBC15EE9825), UINT64_C(0x000471ADE4E86042),
1481           UINT64_C(0x000460985BA9C276), UINT64_C(0x0000273A2CD2F02D),
1482           UINT64_C(0x0003D497885E0289)},
1483          {UINT64_C(0x000FB3F88C29D5D7), UINT64_C(0x00006A92797F73B7),
1484           UINT64_C(0x00040AF0BB921EC0), UINT64_C(0x00056F0E3B22C834),
1485           UINT64_C(0x0002624649A67166)},
1486          {UINT64_C(0x00027A77B2D5B395), UINT64_C(0x000485B55DD21EC2),
1487           UINT64_C(0x00018F0DD390533C), UINT64_C(0x0002C22DC574DCED),
1488           UINT64_C(0x0002023C88609399)}},
1489         {{UINT64_C(0x0000652B6A1715E4), UINT64_C(0x00010936CCCDBCBB),
1490           UINT64_C(0x00075D99584830CC), UINT64_C(0x00013967DE55AE9B),
1491           UINT64_C(0x000497B11ABB2BA5)},
1492          {UINT64_C(0x00029098D0D4B7BF), UINT64_C(0x000148C12832BF02),
1493           UINT64_C(0x0001ACF592227FC4), UINT64_C(0x000361B3459461F5),
1494           UINT64_C(0x00017789D92B4734)},
1495          {UINT64_C(0x00051C79B949CE9C), UINT64_C(0x0003A90D40F0533B),
1496           UINT64_C(0x0000FF1DE7855E3C), UINT64_C(0x00063C0B316F0292),
1497           UINT64_C(0x00079EE9916B16AB)}},
1498         {{UINT64_C(0x000BAF756382E001), UINT64_C(0x00074E66D14AA815),
1499           UINT64_C(0x0005B5DA0DFB4345), UINT64_C(0x0006A98DDBA8EDB0),
1500           UINT64_C(0x00036757B46A7CB2)},
1501          {UINT64_C(0x000D2030D203D167), UINT64_C(0x0003C138F45B97D2),
1502           UINT64_C(0x0000D68249398DBC), UINT64_C(0x00024992D9AC907A),
1503           UINT64_C(0x00054B2D81985107)},
1504          {UINT64_C(0x000C135EB42B443B), UINT64_C(0x000459E57D3F091F),
1505           UINT64_C(0x0007365731E3CB09), UINT64_C(0x00037913422A2661),
1506           UINT64_C(0x00022EB791C1E99D)}},
1507         {{UINT64_C(0x000DBBF41597ABD7), UINT64_C(0x00047A1841FA5CB7),
1508           UINT64_C(0x0005DFFB8D0489BA), UINT64_C(0x000207F59D5AFDD6),
1509           UINT64_C(0x0005862958391C33)},
1510          {UINT64_C(0x00023D6607BF974F), UINT64_C(0x000447A73195D140),
1511           UINT64_C(0x0001CEA4FE1AACB4), UINT64_C(0x00009432CE509804),
1512           UINT64_C(0x0002E2C660E2C2A9)},
1513          {UINT64_C(0x00076405764963F7), UINT64_C(0x0007B075E1B18E3F),
1514           UINT64_C(0x0003C86F3DB152BE), UINT64_C(0x000717D762BDBB19),
1515           UINT64_C(0x00009430702D8371)}},
1516         {{UINT64_C(0x000AF7F915E85486), UINT64_C(0x0000B0BBC2BBB069),
1517           UINT64_C(0x0004A8AC30D65B82), UINT64_C(0x0001A98BB8FFCCD1),
1518           UINT64_C(0x0000A60C0955A82C)},
1519          {UINT64_C(0x00028B7AA8D6E8B3), UINT64_C(0x000599AA3AFD1F06),
1520           UINT64_C(0x000495C8A53271EA), UINT64_C(0x00010D4AB4581526),
1521           UINT64_C(0x00005A91911011B4)},
1522          {UINT64_C(0x00091E63537A8EAF), UINT64_C(0x0004DDC52ABAE41E),
1523           UINT64_C(0x0003DD0926FDA797), UINT64_C(0x00053806DE4C5BB3),
1524           UINT64_C(0x0005E6F1B98E4E5F)}},
1525         {{UINT64_C(0x000ED0D0E611D440), UINT64_C(0x00028F43B4F900C1),
1526           UINT64_C(0x0004C3467D15A321), UINT64_C(0x0003FA40B92F63A1),
1527           UINT64_C(0x0004EB1D7C0F97C7)},
1528          {UINT64_C(0x000F31CB2B424218), UINT64_C(0x00028FC2CBD4B770),
1529           UINT64_C(0x000049E2E21B9426), UINT64_C(0x0004FBA6C0CA6B59),
1530           UINT64_C(0x0000910A8BCBADA6)},
1531          {UINT64_C(0x000062AA84E5A1E8), UINT64_C(0x00055785384B963C),
1532           UINT64_C(0x000718EE20099ACE), UINT64_C(0x0001AAE6F92CB06B),
1533           UINT64_C(0x0005C36213B6B09F)}},
1534         {{UINT64_C(0x00042CD518E7BB1F), UINT64_C(0x000621C5EDE20FF0),
1535           UINT64_C(0x000784AA45E52004), UINT64_C(0x0001EF5EE32943D1),
1536           UINT64_C(0x00020EB45F6DCE70)},
1537          {UINT64_C(0x0001A99725161F74), UINT64_C(0x0000C92D8DE52D6B),
1538           UINT64_C(0x0004943C545783B6), UINT64_C(0x0000F2A34F6C04CA),
1539           UINT64_C(0x0004BA95172EB757)},
1540          {UINT64_C(0x00058B38359EEF2E), UINT64_C(0x00072A003FEEF0E3),
1541           UINT64_C(0x0005A1A497C5B5E4), UINT64_C(0x0007346A30D5043D),
1542           UINT64_C(0x0004DCC170CE73B1)}},
1543         {{UINT64_C(0x0007FCA11D67A5F5), UINT64_C(0x00051F99020E8DA7),
1544           UINT64_C(0x00032448AD151580), UINT64_C(0x0002D682339FD143),
1545           UINT64_C(0x0005C59954328210)},
1546          {UINT64_C(0x000065B65920EA67), UINT64_C(0x00064F016ACC8DB2),
1547           UINT64_C(0x0002B54FD32DCADE), UINT64_C(0x0007514AC407F433),
1548           UINT64_C(0x0006FB8E73CDEC87)},
1549          {UINT64_C(0x0008D3F0CEB6FEF4), UINT64_C(0x000008CD1DAF58F2),
1550           UINT64_C(0x0005E29BD86720C8), UINT64_C(0x0001F89E2EA7D372),
1551           UINT64_C(0x0000F12D2FEBC32E)}},
1552         {{UINT64_C(0x00074C08FE9F6EBB), UINT64_C(0x00019BC5A03773E2),
1553           UINT64_C(0x0002DC6D42FDA236), UINT64_C(0x00026B76B5DD35AA),
1554           UINT64_C(0x0004AC140E7698BA)},
1555          {UINT64_C(0x00007B671BE5225C), UINT64_C(0x00075E4E1423B035),
1556           UINT64_C(0x0005C5078EE3FB12), UINT64_C(0x00018FE0631F18BA),
1557           UINT64_C(0x00049C97C216ADA7)},
1558          {UINT64_C(0x000288CA79DE3FDD), UINT64_C(0x0005F95B9694502C),
1559           UINT64_C(0x0007A90B27755E7B), UINT64_C(0x0000D6B962A5D7B4),
1560           UINT64_C(0x0002B73E8EABF5E7)}},
1561         {{UINT64_C(0x000CF4B90C4F175B), UINT64_C(0x00038B2E4ADFE275),
1562           UINT64_C(0x00051C55B83D6C95), UINT64_C(0x00055A2D1264C7D4),
1563           UINT64_C(0x00062E83FE154821)},
1564          {UINT64_C(0x0008971A5D058482), UINT64_C(0x0000037DDD623E19),
1565           UINT64_C(0x00032867F2B615A5), UINT64_C(0x000623016E6AEBA8),
1566           UINT64_C(0x00012A36AB822905)},
1567          {UINT64_C(0x000120EE148C51AE), UINT64_C(0x00040334FADAA4FB),
1568           UINT64_C(0x000334965ACA2453), UINT64_C(0x0006D3E8020844BE),
1569           UINT64_C(0x00067F6DE44BCF25)}},
1570         {{UINT64_C(0x000105D43C9E9178), UINT64_C(0x0004721A89809540),
1571           UINT64_C(0x0006FC38C213B1E4), UINT64_C(0x0002647D42F65B1A),
1572           UINT64_C(0x0000376348D66B34)},
1573          {UINT64_C(0x000C9949B00A3DA8), UINT64_C(0x0000A0919FC02F1D),
1574           UINT64_C(0x00028254055C25E6), UINT64_C(0x0001D9499A0AE6F5),
1575           UINT64_C(0x0001AACE22F92850)},
1576          {UINT64_C(0x0000AD0E76427572), UINT64_C(0x0004C84545B77E18),
1577           UINT64_C(0x000288F5B54FDDB7), UINT64_C(0x00038ED121222ABA),
1578           UINT64_C(0x0003A0976AA7E43F)}},
1579     },
1580     {
1581         {{UINT64_C(0x00081FCF9F18835D), UINT64_C(0x000431F4C3B0D6B0),
1582           UINT64_C(0x0004948FEC6A3648), UINT64_C(0x0004A9B64ED01851),
1583           UINT64_C(0x0005A8976BDBA97F)},
1584          {UINT64_C(0x000B16BF1437E1C3), UINT64_C(0x00037D028CF83551),
1585           UINT64_C(0x0001D4890BE8B6E0), UINT64_C(0x00014CEE0109B29D),
1586           UINT64_C(0x0001D11B49FC55FA)},
1587          {UINT64_C(0x000FF921373DC1C7), UINT64_C(0x00038DE820056599),
1588           UINT64_C(0x0000120CE481802B), UINT64_C(0x0006FFC1F2C088F4),
1589           UINT64_C(0x0001EE2D0C6B1DF4)}},
1590         {{UINT64_C(0x00000FF81329CB03), UINT64_C(0x00068780226033B3),
1591           UINT64_C(0x0006A2545BA20041), UINT64_C(0x0005B2BDDF462150),
1592           UINT64_C(0x0003958DB9028FB7)},
1593          {UINT64_C(0x000C6BC63284596C), UINT64_C(0x000348523D1DBF57),
1594           UINT64_C(0x00046E3F936916F1), UINT64_C(0x0005F78F7E010886),
1595           UINT64_C(0x0004BAEFBF32EDCF)},
1596          {UINT64_C(0x0006B10E2C0DA1C1), UINT64_C(0x000039C183458580),
1597           UINT64_C(0x00012DB6C7B007C5), UINT64_C(0x0003F3B7176CF39B),
1598           UINT64_C(0x0003C1F7265871AC)}},
1599         {{UINT64_C(0x00085B51F8BCFE19), UINT64_C(0x00014E262925BD43),
1600           UINT64_C(0x00012F59369D7DEC), UINT64_C(0x0005891E437C785D),
1601           UINT64_C(0x000079EFC6B4ADC9)},
1602          {UINT64_C(0x00057113F86AEFDE), UINT64_C(0x00031D2A3CBB809F),
1603           UINT64_C(0x00033DCF8AE19C6C), UINT64_C(0x00002213DF3BA392),
1604           UINT64_C(0x0002650EDFE84235)},
1605          {UINT64_C(0x0004FEF6E8E8730E), UINT64_C(0x0002E2C593B029F4),
1606           UINT64_C(0x0002D3E99D33A67F), UINT64_C(0x00014E290C55B9BF),
1607           UINT64_C(0x0004403429D2BE3D)}},
1608         {{UINT64_C(0x000409570F86A1D1), UINT64_C(0x00022B63BCCD0F01),
1609           UINT64_C(0x0004F7D7B94F1868), UINT64_C(0x0001450E62B7DF7C),
1610           UINT64_C(0x000694DAA72BBCAC)},
1611          {UINT64_C(0x000F24FC804E499A), UINT64_C(0x0001C5150B7A2ED2),
1612           UINT64_C(0x0004AA24EEC36D37), UINT64_C(0x0002132213761A03),
1613           UINT64_C(0x00075A13822D103C)},
1614          {UINT64_C(0x000067187C39EB19), UINT64_C(0x0007765373B31B66),
1615           UINT64_C(0x00029CEAE18E4D79), UINT64_C(0x0002C737CC0BD795),
1616           UINT64_C(0x0003193EDEEA0158)}},
1617         {{UINT64_C(0x0005B52C3101E326), UINT64_C(0x0007176502D653B5),
1618           UINT64_C(0x0001FD26BF9CB194), UINT64_C(0x0004FB67EADB3779),
1619           UINT64_C(0x0004D0C770A8ACCF)},
1620          {UINT64_C(0x00011F79B7B344FC), UINT64_C(0x00006663499E87A4),
1621           UINT64_C(0x000450DAEF594E13), UINT64_C(0x00078C2F195A18D1),
1622           UINT64_C(0x0007978E36566E63)},
1623          {UINT64_C(0x0002EB14A8C94333), UINT64_C(0x0001C2F764E483AE),
1624           UINT64_C(0x00031C462060C077), UINT64_C(0x0003EF30123095CE),
1625           UINT64_C(0x00021B6A8AF629FF)}},
1626         {{UINT64_C(0x0006C49C35F232E3), UINT64_C(0x0000B80EEFEC6616),
1627           UINT64_C(0x000680164DFC3701), UINT64_C(0x00072FF54666B634),
1628           UINT64_C(0x00068AB4AFC182CD)},
1629          {UINT64_C(0x000176EF0C655243), UINT64_C(0x00019A1EE66FD2EB),
1630           UINT64_C(0x0006AF04A498FFA9), UINT64_C(0x0002514F98E20D4A),
1631           UINT64_C(0x0001A0821E95F930)},
1632          {UINT64_C(0x000D58CC3800FE7F), UINT64_C(0x00050C9E092A5673),
1633           UINT64_C(0x00051CB3347178DD), UINT64_C(0x0002C9C1FB2FE677),
1634           UINT64_C(0x00015EE68A8526B0)}},
1635         {{UINT64_C(0x000CD72A8856201E), UINT64_C(0x00038E8C397ED335),
1636           UINT64_C(0x0000B8E2262FC710), UINT64_C(0x000027DC02E17AF3),
1637           UINT64_C(0x0006A5F450F30E8E)},
1638          {UINT64_C(0x000B680DE0C07AE0), UINT64_C(0x00054D907D909686),
1639           UINT64_C(0x000757C2922B0737), UINT64_C(0x000660842FC9A0BA),
1640           UINT64_C(0x0003FC7B58E7239A)},
1641          {UINT64_C(0x0004651B7E8AE200), UINT64_C(0x000484D3CB6C7A8E),
1642           UINT64_C(0x0002F474BA01A0C0), UINT64_C(0x00044AA7003C772D),
1643           UINT64_C(0x0000371F52FFC53B)}},
1644         {{UINT64_C(0x0005C3B547E0B571), UINT64_C(0x000209CCABD0AB4B),
1645           UINT64_C(0x0002D25C9DBF3DB1), UINT64_C(0x000032A6A6DE8522),
1646           UINT64_C(0x00017A0AD8ECF369)},
1647          {UINT64_C(0x0009010B6E71332D), UINT64_C(0x0007B69ECC73F71C),
1648           UINT64_C(0x0000FFC2CCAF6490), UINT64_C(0x00064FDB227E8E46),
1649           UINT64_C(0x00055085B8768622)},
1650          {UINT64_C(0x00039AD933E2C137), UINT64_C(0x000171F8E3C0681B),
1651           UINT64_C(0x0001BCC516668190), UINT64_C(0x00063314F511F47A),
1652           UINT64_C(0x0002FE194634EA7D)}},
1653         {{UINT64_C(0x000FE52986682B6C), UINT64_C(0x0007C7793C6CFA0B),
1654           UINT64_C(0x0002F120DB9FC778), UINT64_C(0x00056B1B5D1B696B),
1655           UINT64_C(0x0006F7B105C7285D)},
1656          {UINT64_C(0x000F08F3C79E5FA2), UINT64_C(0x0006714A9E5021DE),
1657           UINT64_C(0x000556DFCA302233), UINT64_C(0x00036A6272A322E0),
1658           UINT64_C(0x0007958876DF034E)},
1659          {UINT64_C(0x0001B28B59F70354), UINT64_C(0x0007AB27CE51E80D),
1660           UINT64_C(0x0000567BCD43D179), UINT64_C(0x00041EF880C69F63),
1661           UINT64_C(0x00057CCC9DA97DCC)}},
1662         {{UINT64_C(0x00006BDC7393E9B9), UINT64_C(0x00056D46935E2D25),
1663           UINT64_C(0x00040C99AE846E20), UINT64_C(0x000277C2A48B7D6B),
1664           UINT64_C(0x0006F9657DBA5EC0)},
1665          {UINT64_C(0x000E84FD78E1468C), UINT64_C(0x0001F647949AC006),
1666           UINT64_C(0x000373B20611C903), UINT64_C(0x00015E6FAFF6FA2A),
1667           UINT64_C(0x00053520AB3070E2)},
1668          {UINT64_C(0x000CC15CC69411F0), UINT64_C(0x000552FB8719E7D5),
1669           UINT64_C(0x0007C3B5010848F9), UINT64_C(0x0000E8AF5525076D),
1670           UINT64_C(0x00058459D1B894E4)}},
1671         {{UINT64_C(0x000B9009E3531F14), UINT64_C(0x0000237005679DB2),
1672           UINT64_C(0x0007BF223FD5732A), UINT64_C(0x0006429263F091F4),
1673           UINT64_C(0x0007493705D2ADC2)},
1674          {UINT64_C(0x000793C60C5EACBA), UINT64_C(0x000332F859C4D8EE),
1675           UINT64_C(0x0000D090DF892E4A), UINT64_C(0x00041A3040EC7085),
1676           UINT64_C(0x0001F585E3FC2C2A)},
1677          {UINT64_C(0x00084D3FD3FF468A), UINT64_C(0x00038C0475145DFA),
1678           UINT64_C(0x00056070E08A4838), UINT64_C(0x0002AC8E15465366),
1679           UINT64_C(0x0000F1485199EC2C)}},
1680         {{UINT64_C(0x000012693C9129E3), UINT64_C(0x00011009F59E7410),
1681           UINT64_C(0x0005E068432FB821), UINT64_C(0x000509F6A285BC64),
1682           UINT64_C(0x00064B88E6E8B8A6)},
1683          {UINT64_C(0x000739F7074FD4A7), UINT64_C(0x00032712493D3F9E),
1684           UINT64_C(0x0002E3550E33660D), UINT64_C(0x0006EE093485A6A5),
1685           UINT64_C(0x0004CAE5F8CDBF10)},
1686          {UINT64_C(0x000BB27495CF7ED3), UINT64_C(0x00001CEB73051EC2),
1687           UINT64_C(0x000686DC320D7C1D), UINT64_C(0x0007C5AD5EC9F58E),
1688           UINT64_C(0x0001B98ED417D210)}},
1689         {{UINT64_C(0x000BCF4C24A4C93E), UINT64_C(0x00002415C387FA3B),
1690           UINT64_C(0x0004B3C58228DDFC), UINT64_C(0x0002037F66598FCF),
1691           UINT64_C(0x000793FF104F8F35)},
1692          {UINT64_C(0x000F1F6A9319DCA8), UINT64_C(0x0007F0E26C6BFDCF),
1693           UINT64_C(0x00024F06F6521950), UINT64_C(0x0001BF65931AAD98),
1694           UINT64_C(0x0004DA8B59BE0CB7)},
1695          {UINT64_C(0x000C49B7018AF82E), UINT64_C(0x0000264DF5E55202),
1696           UINT64_C(0x00004C1B40891F09), UINT64_C(0x00037D39139B0395),
1697           UINT64_C(0x000545CEBFF22B6C)}},
1698         {{UINT64_C(0x0000535E19606923), UINT64_C(0x000389F3CEB25CB9),
1699           UINT64_C(0x000771A87A5F04FF), UINT64_C(0x000712E80B91B905),
1700           UINT64_C(0x00001F1EA4402629)},
1701          {UINT64_C(0x0003A2CFFE51751A), UINT64_C(0x0001780B59BF2F57),
1702           UINT64_C(0x00033B2134560E7F), UINT64_C(0x0000C2FD87484CD4),
1703           UINT64_C(0x0000C1E827BF8C54)},
1704          {UINT64_C(0x000BB159A554E7F7), UINT64_C(0x000679D0F2669B49),
1705           UINT64_C(0x0007C8AF96EB162D), UINT64_C(0x000739F8391987C4),
1706           UINT64_C(0x0004FD6BA815924D)}},
1707         {{UINT64_C(0x000CD58A76375AB1), UINT64_C(0x0000E0B8DB7493B2),
1708           UINT64_C(0x0001F26DC2178BD2), UINT64_C(0x000267C3B843A318),
1709           UINT64_C(0x0003B57558845D7B)},
1710          {UINT64_C(0x00062248E93DA9D4), UINT64_C(0x0001B750D5841F57),
1711           UINT64_C(0x0005825717C4CDF9), UINT64_C(0x000395BD7231BF89),
1712           UINT64_C(0x0005BB6B5E2E6AF9)},
1713          {UINT64_C(0x0009C6B9394024E3), UINT64_C(0x00075C5446BE7237),
1714           UINT64_C(0x00065E6C801E7BB5), UINT64_C(0x00002DB2F90A55CC),
1715           UINT64_C(0x00045DBB4D1CCBDE)}},
1716         {{UINT64_C(0x00053CBFDBE0980A), UINT64_C(0x0001407AA377A7AD),
1717           UINT64_C(0x0001290C47515626), UINT64_C(0x0006B6C6AB3118E7),
1718           UINT64_C(0x0002C22D483E81D6)},
1719          {UINT64_C(0x00012ACDC7AE7440), UINT64_C(0x00069C66640BC7A6),
1720           UINT64_C(0x00002A4F768809CC), UINT64_C(0x00014168BEC8D796),
1721           UINT64_C(0x000052716E75E07B)},
1722          {UINT64_C(0x0001BB2F947F80B6), UINT64_C(0x000073A86D41B9DC),
1723           UINT64_C(0x0000F191E9DE78B6), UINT64_C(0x00065DF33E390DB9),
1724           UINT64_C(0x00003308F79176BD)}},
1725     },
1726     {
1727         {{UINT64_C(0x000BA39C423A0F8A), UINT64_C(0x0006FF2C4C49644C),
1728           UINT64_C(0x000527B0CF9945D1), UINT64_C(0x000462BF78F17E13),
1729           UINT64_C(0x000072F5DF073B45)},
1730          {UINT64_C(0x000A52B0C9431B86), UINT64_C(0x00007413199BDB5A),
1731           UINT64_C(0x0006FF18C34250CB), UINT64_C(0x0005F22C96AC669A),
1732           UINT64_C(0x00009930CFA11CAD)},
1733          {UINT64_C(0x00049D54A46B4F00), UINT64_C(0x0001AA620DEF496D),
1734           UINT64_C(0x0001FF21C12D3280), UINT64_C(0x0006DA8184B69B09),
1735           UINT64_C(0x000387F6AA984BF6)}},
1736         {{UINT64_C(0x0001654E2D2F5512), UINT64_C(0x00078F8B53D7341A),
1737           UINT64_C(0x0000470E5BC40FE6), UINT64_C(0x0006C2A23BF4231D),
1738           UINT64_C(0x00008AD4AC154BD4)},
1739          {UINT64_C(0x00025588B0E427F0), UINT64_C(0x00004B7426292145),
1740           UINT64_C(0x0004EFE16DBDD657), UINT64_C(0x000737056241360D),
1741           UINT64_C(0x000503BBEF8BB0A2)},
1742          {UINT64_C(0x000E71495D3F3EE8), UINT64_C(0x0003B55E84166513),
1743           UINT64_C(0x0005A32066E89C7A), UINT64_C(0x00060FD619143FDC),
1744           UINT64_C(0x0007AF54E13C9A0B)}},
1745         {{UINT64_C(0x000F35F2359ED4D4), UINT64_C(0x0006DAD5A1EDD9F7),
1746           UINT64_C(0x00033E72BB06FA4C), UINT64_C(0x0004CB0BF2699447),
1747           UINT64_C(0x00078ADC100A9438)},
1748          {UINT64_C(0x00058677010F1D44), UINT64_C(0x0000EE3DA34D7805),
1749           UINT64_C(0x0003C19261DBCE0E), UINT64_C(0x0000BE1D2B1915F1),
1750           UINT64_C(0x0004C27417301A56)},
1751          {UINT64_C(0x00010519E74F0FD3), UINT64_C(0x000667928B6E2AED),
1752           UINT64_C(0x000112B7D96F8351), UINT64_C(0x00025AC5C3C73843),
1753           UINT64_C(0x00064F071A913A63)}},
1754         {{UINT64_C(0x000134221F75E904), UINT64_C(0x0001E877FC436184),
1755           UINT64_C(0x0001043119533F1B), UINT64_C(0x00036E12894B6885),
1756           UINT64_C(0x0001A97DC3A85DD9)},
1757          {UINT64_C(0x0005B0E5800AD26D), UINT64_C(0x0003C8403B9B7909),
1758           UINT64_C(0x000578BF28F187B8), UINT64_C(0x0006F76A622B025F),
1759           UINT64_C(0x00001A581506806A)},
1760          {UINT64_C(0x000B1B3A779043A2), UINT64_C(0x0002BD2CCEFC7D40),
1761           UINT64_C(0x0006880561392822), UINT64_C(0x000470820DC7AD05),
1762           UINT64_C(0x0000A8A6DFE39EFC)}},
1763         {{UINT64_C(0x0003B4AE7341A857), UINT64_C(0x0006F61AE4525D94),
1764           UINT64_C(0x00047463C3F47708), UINT64_C(0x00013CE30C0E6CD4),
1765           UINT64_C(0x0001A4D6B43BC1E8)},
1766          {UINT64_C(0x000448110CF677D7), UINT64_C(0x0002B26F500047C8),
1767           UINT64_C(0x0000A9EDEE30B5CA), UINT64_C(0x00074CEAB89A5F26),
1768           UINT64_C(0x00069DC9E784890E)},
1769          {UINT64_C(0x0002384FEB025EE8), UINT64_C(0x000760169DF0E4ED),
1770           UINT64_C(0x000679A94C441675), UINT64_C(0x0006E39A8B9E9323),
1771           UINT64_C(0x0004F60517E33211)}},
1772         {{UINT64_C(0x000D1F112D03827C), UINT64_C(0x0003E266C25B8CB9),
1773           UINT64_C(0x0004DDAE5E9A861A), UINT64_C(0x0003FDDD5A19E3FC),
1774           UINT64_C(0x000525AC4177127A)},
1775          {UINT64_C(0x0005E3FBAF1DE590), UINT64_C(0x00006D0AC9D49EBF),
1776           UINT64_C(0x00071A842BB0750F), UINT64_C(0x00030A965193BEB1),
1777           UINT64_C(0x00000074F0F13CF1)},
1778          {UINT64_C(0x000569358B8229BF), UINT64_C(0x0004D8605014C12D),
1779           UINT64_C(0x00067CF8F3ABB9E2), UINT64_C(0x0001913D15FE7E56),
1780           UINT64_C(0x0004E005335EB124)}},
1781         {{UINT64_C(0x000DB4B52128B9C8), UINT64_C(0x000286D98EC1991F),
1782           UINT64_C(0x00057D6985B266D5), UINT64_C(0x0000D63A8186A6CA),
1783           UINT64_C(0x0003E458C6D43002)},
1784          {UINT64_C(0x000FAC1001DCF643), UINT64_C(0x0001A63A60E69551),
1785           UINT64_C(0x000770074385A527), UINT64_C(0x000716E487ACFCBE),
1786           UINT64_C(0x0003AFC421F39471)},
1787          {UINT64_C(0x0001FF85BA0DD581), UINT64_C(0x000185663E421B6B),
1788           UINT64_C(0x0003D0CC19588A5B), UINT64_C(0x00050A4ED90A0BD8),
1789           UINT64_C(0x0001ADEA0DFB4B55)}},
1790         {{UINT64_C(0x000F8CD682890618), UINT64_C(0x0001B4C0FC4BF1B7),
1791           UINT64_C(0x0004593054904595), UINT64_C(0x00044163E1D05297),
1792           UINT64_C(0x0004FF913B7848EE)},
1793          {UINT64_C(0x00044061A1C77BF2), UINT64_C(0x000118C6EAF78CBE),
1794           UINT64_C(0x000121317990C4B0), UINT64_C(0x00014F94111D4DBF),
1795           UINT64_C(0x00050FC488F73A1C)},
1796          {UINT64_C(0x0003F8A423FF3B98), UINT64_C(0x00057AB9DDB49662),
1797           UINT64_C(0x000307128F5CD0A4), UINT64_C(0x0005C206361126E4),
1798           UINT64_C(0x00058F1A9B6F58C2)}},
1799         {{UINT64_C(0x00026D3D15CAFC7E), UINT64_C(0x00011891BC41E2F2),
1800           UINT64_C(0x0006F04870D432A4), UINT64_C(0x000745C21E77AAA6),
1801           UINT64_C(0x0003DAC061530272)},
1802          {UINT64_C(0x0001DAF75081BEA5), UINT64_C(0x00056D5195DD18E2),
1803           UINT64_C(0x0001DCAC8C45410E), UINT64_C(0x0004D2DA16F980D8),
1804           UINT64_C(0x00063744829E7170)},
1805          {UINT64_C(0x000DF1C42FA10272), UINT64_C(0x0000741CA2FAA037),
1806           UINT64_C(0x0000467C87311FE7), UINT64_C(0x000523429446FA40),
1807           UINT64_C(0x00068BD1A87367D1)}},
1808         {{UINT64_C(0x000C458B0171251B), UINT64_C(0x0001FE9DE818F3CF),
1809           UINT64_C(0x00054A1370707A2C), UINT64_C(0x000062F84AA462F0),
1810           UINT64_C(0x0007CF5A9BF230F7)},
1811          {UINT64_C(0x00054404A1098FC2), UINT64_C(0x0002411906266825),
1812           UINT64_C(0x0000A193956A70E8), UINT64_C(0x0000FE137D04BC1F),
1813           UINT64_C(0x0004E42D21EFFD81)},
1814          {UINT64_C(0x000F2EAC10355E39), UINT64_C(0x00054F7E065688EB),
1815           UINT64_C(0x0001A95E0CA9F2C6), UINT64_C(0x0007E704C61469A2),
1816           UINT64_C(0x0007B68ADBD82DC6)}},
1817         {{UINT64_C(0x000899180C1E2363), UINT64_C(0x0007958932146E24),
1818           UINT64_C(0x00043C3BDBE7E084), UINT64_C(0x00059983B137251C),
1819           UINT64_C(0x000181505C38246A)},
1820          {UINT64_C(0x0000FD89855EFABB), UINT64_C(0x0003B63D1B15E2DE),
1821           UINT64_C(0x000255391D67495A), UINT64_C(0x0004DD2784B95163),
1822           UINT64_C(0x000512AAAA077953)},
1823          {UINT64_C(0x000F74E51E9D1E14), UINT64_C(0x0007A0923F8922E5),
1824           UINT64_C(0x000481DF01D3BA5E), UINT64_C(0x00078147FE69A25E),
1825           UINT64_C(0x0002677F7C367D95)}},
1826         {{UINT64_C(0x000C31AE3ACBF754), UINT64_C(0x00015B533DE0199D),
1827           UINT64_C(0x00037F5398951F25), UINT64_C(0x0007F6D8289614BF),
1828           UINT64_C(0x0007A746B03A9AD8)},
1829          {UINT64_C(0x000A5E8B067361B9), UINT64_C(0x000753D2A11E2709),
1830           UINT64_C(0x00068EB1296DD194), UINT64_C(0x0007F60FCC2F2F13),
1831           UINT64_C(0x000241ECD0A2E455)},
1832          {UINT64_C(0x000AB9A10A22A500), UINT64_C(0x0001B6D59F5E169E),
1833           UINT64_C(0x00031BBC448574D5), UINT64_C(0x0004717C01E2B0BB),
1834           UINT64_C(0x0003D21E8ACA1878)}},
1835         {{UINT64_C(0x000499194C8B1C66), UINT64_C(0x00023DD23CF4A5FF),
1836           UINT64_C(0x000260F22A1F1E67), UINT64_C(0x00046F48D856E7A8),
1837           UINT64_C(0x00027B4E0522C56B)},
1838          {UINT64_C(0x000197955EC21F63), UINT64_C(0x0004F7579537C60A),
1839           UINT64_C(0x0001EED38E27A397), UINT64_C(0x000642709A47DD6D),
1840           UINT64_C(0x0000CEC4BAE6CE94)},
1841          {UINT64_C(0x0007E224BD3DE334), UINT64_C(0x0002BC2A4E547CE3),
1842           UINT64_C(0x0006C9441E441A2F), UINT64_C(0x00066ABBA46DB7C3),
1843           UINT64_C(0x0007D6D7B2C94D89)}},
1844         {{UINT64_C(0x00094A1B918036C4), UINT64_C(0x0007000DC73238D4),
1845           UINT64_C(0x00077504C3F1AB6E), UINT64_C(0x0004E6A5D5C7C6A1),
1846           UINT64_C(0x0003821648B33D3A)},
1847          {UINT64_C(0x00081E39CDB93F79), UINT64_C(0x0004EBBC689100FB),
1848           UINT64_C(0x0001DD37C191E986), UINT64_C(0x000036795A799602),
1849           UINT64_C(0x000041C1B41711DB)},
1850          {UINT64_C(0x000A4A21AC6CAF3D), UINT64_C(0x000744CF7594E6F1),
1851           UINT64_C(0x000030561165E9A9), UINT64_C(0x00074B8AB965B245),
1852           UINT64_C(0x000244902E385A94)}},
1853         {{UINT64_C(0x000464BD11AFA1E1), UINT64_C(0x0002E00B44F4A68C),
1854           UINT64_C(0x0006C58D5152071B), UINT64_C(0x0007CC78F1BEA1EE),
1855           UINT64_C(0x0003D52810ACC281)},
1856          {UINT64_C(0x000C04B80D28DBA4), UINT64_C(0x0007C5EAA4A27BFF),
1857           UINT64_C(0x00066248F5BFC255), UINT64_C(0x0006BDB404771492),
1858           UINT64_C(0x00019FA7BB5E292E)},
1859          {UINT64_C(0x0006358792FF5820), UINT64_C(0x0003BB145A4D0D14),
1860           UINT64_C(0x000647A0D099804C), UINT64_C(0x0001CE6985BBEA5D),
1861           UINT64_C(0x00071F7ADDB5DEC0)}},
1862         {{UINT64_C(0x000FF792012E3AD1), UINT64_C(0x000318FC42C34144),
1863           UINT64_C(0x00018AA9596D5383), UINT64_C(0x0004A1E0677AA264),
1864           UINT64_C(0x0007C9D08A010323)},
1865          {UINT64_C(0x000B38DA3FFA9D8B), UINT64_C(0x0007B37A58DB49D5),
1866           UINT64_C(0x0003CAB96E3D6DD9), UINT64_C(0x0004877EC3C59320),
1867           UINT64_C(0x0005F79E6AB22005)},
1868          {UINT64_C(0x000D9227D42E392D), UINT64_C(0x000383E4A65149E3),
1869           UINT64_C(0x0001FC4C8988D7D7), UINT64_C(0x0000301C333E8D0D),
1870           UINT64_C(0x000566D13B877137)}},
1871     },
1872     {
1873         {{UINT64_C(0x0002819CD64EC5D5), UINT64_C(0x000718864EB85DEA),
1874           UINT64_C(0x0000B38F635D18B2), UINT64_C(0x0000FA0D19EC1914),
1875           UINT64_C(0x0007FC6E0B53A132)},
1876          {UINT64_C(0x000681A57637B42A), UINT64_C(0x00009516D77453A8),
1877           UINT64_C(0x00041747D2AFF787), UINT64_C(0x000484C8CAA8775B),
1878           UINT64_C(0x00069B6EDB5BEB15)},
1879          {UINT64_C(0x000F673ED008533F), UINT64_C(0x00005983AE2E9902),
1880           UINT64_C(0x000696120C054601), UINT64_C(0x0002DD10C21D3665),
1881           UINT64_C(0x0003650B63683F24)}},
1882         {{UINT64_C(0x0001C85E071E87C9), UINT64_C(0x00038E791D5639BC),
1883           UINT64_C(0x0007EB7B3E0A3BD5), UINT64_C(0x00067F05BA2C2992),
1884           UINT64_C(0x0005A217D19B8E87)},
1885          {UINT64_C(0x0009CC57757E7DC9), UINT64_C(0x0004C152B026BBF3),
1886           UINT64_C(0x0007CE941D2BB495), UINT64_C(0x00022801029CDB1F),
1887           UINT64_C(0x00015E56AA9988B8)},
1888          {UINT64_C(0x0001F20BB815BF7F), UINT64_C(0x00045BBFD494947D),
1889           UINT64_C(0x000752E00CADD615), UINT64_C(0x00030A1ADE235D5B),
1890           UINT64_C(0x00004F475EAAC468)}},
1891         {{UINT64_C(0x0005DEC978DC22CC), UINT64_C(0x00069E99CC23AF7D),
1892           UINT64_C(0x0001A491C445CF0B), UINT64_C(0x0001A2B80570EAF4),
1893           UINT64_C(0x000519998F23DA17)},
1894          {UINT64_C(0x00033F2D4F6DFC80), UINT64_C(0x0003473C4B91929A),
1895           UINT64_C(0x000657675912C778), UINT64_C(0x00027483C8C74BA9),
1896           UINT64_C(0x00045AEDD79F572E)},
1897          {UINT64_C(0x0005B55CF68CF232), UINT64_C(0x0005978D5F58C198),
1898           UINT64_C(0x000463464AA8D74F), UINT64_C(0x00000768A84F1143),
1899           UINT64_C(0x0004D85E72D498F7)}},
1900         {{UINT64_C(0x00065396EB5E1B7C), UINT64_C(0x0003AD9BC86D4A9D),
1901           UINT64_C(0x0007D80AED5F83A2), UINT64_C(0x0007BF7E181211DD),
1902           UINT64_C(0x00053259A33A1C38)},
1903          {UINT64_C(0x0004ED7967092AA9), UINT64_C(0x00037E220CEFD1A7),
1904           UINT64_C(0x0007D56552E4BE39), UINT64_C(0x000467E0E1384212),
1905           UINT64_C(0x0007CB81AF42B8E6)},
1906          {UINT64_C(0x000F60010D427117), UINT64_C(0x0003FE077DD17DAC),
1907           UINT64_C(0x0003D70C978E0E1D), UINT64_C(0x0004EC475F514EFA),
1908           UINT64_C(0x000678A033281D8A)}},
1909         {{UINT64_C(0x0001DDD15D89D0DA), UINT64_C(0x0005AE12E0DC3F81),
1910           UINT64_C(0x00021725313E6CD1), UINT64_C(0x00058E25DD51CD68),
1911           UINT64_C(0x00051CC1640E208C)},
1912          {UINT64_C(0x000A5BFACD788203), UINT64_C(0x00076782156DA54A),
1913           UINT64_C(0x0006546FAACEBFB5), UINT64_C(0x0000751697EBD387),
1914           UINT64_C(0x000403792F66F908)},
1915          {UINT64_C(0x0001ED1BA791D84F), UINT64_C(0x0007C0C66505B59A),
1916           UINT64_C(0x0003039E8770455C), UINT64_C(0x000176EBE864CCC6),
1917           UINT64_C(0x0000A9D7490BB5E2)}},
1918         {{UINT64_C(0x000ADBB841243625), UINT64_C(0x00070EF045AE92E4),
1919           UINT64_C(0x0003ED707AC6DC1C), UINT64_C(0x0002EC569D895E88),
1920           UINT64_C(0x0007A1F82B8A9F9B)},
1921          {UINT64_C(0x000480ED4CC26515), UINT64_C(0x0007142FB964F1D8),
1922           UINT64_C(0x0002D589D76131D9), UINT64_C(0x0002041F5E307B5D),
1923           UINT64_C(0x0004DC0C8DC698E2)},
1924          {UINT64_C(0x000639BA125B4EB0), UINT64_C(0x0006735AE5885BC9),
1925           UINT64_C(0x000402130AA29EFE), UINT64_C(0x0006483ECF5F928A),
1926           UINT64_C(0x0005C0C2A7450215)}},
1927         {{UINT64_C(0x00011E1BA90F4D05), UINT64_C(0x0003C4ACA739B18D),
1928           UINT64_C(0x0006DA6C4D05BB4B), UINT64_C(0x0006C9D11A68C07A),
1929           UINT64_C(0x0007E4FF60853DCC)},
1930          {UINT64_C(0x000FC3B1EAB98C72), UINT64_C(0x000194A565C0D2C0),
1931           UINT64_C(0x0006774E78078878), UINT64_C(0x0002845C8FBE34B8),
1932           UINT64_C(0x0003FA8FFB470A30)},
1933          {UINT64_C(0x000DF02100A29B8E), UINT64_C(0x0001EDB288FCEFEF),
1934           UINT64_C(0x0003A1F05EE527CB), UINT64_C(0x0000800DA11B67CF),
1935           UINT64_C(0x0000F28747F25BA7)}},
1936         {{UINT64_C(0x000AB1FE778D5AC8), UINT64_C(0x0007AC5F7720F73D),
1937           UINT64_C(0x0001F29E35DE087B), UINT64_C(0x0006594AE6F4B147),
1938           UINT64_C(0x0003BD0E462820EB)},
1939          {UINT64_C(0x00046E4EE5708B31), UINT64_C(0x0005F6D4A65795AD),
1940           UINT64_C(0x00065A6A14FD4DBD), UINT64_C(0x0005175D21ECC1C7),
1941           UINT64_C(0x0007FE00455D7273)},
1942          {UINT64_C(0x0007B6F8CC74B2E7), UINT64_C(0x000741AB0632D05A),
1943           UINT64_C(0x00049D46261751F0), UINT64_C(0x0006736BD5AEA112),
1944           UINT64_C(0x00069AD164B202C5)}},
1945         {{UINT64_C(0x00012BDCF8236C6C), UINT64_C(0x000367FF9D0F9B9A),
1946           UINT64_C(0x0003F319B67073D2), UINT64_C(0x000760E8B33BDBA0),
1947           UINT64_C(0x00056660C3661195)},
1948          {UINT64_C(0x0006A7EA308B1685), UINT64_C(0x0006C261A0B19E51),
1949           UINT64_C(0x0004E083123A5FB3), UINT64_C(0x00047A0C38DD3BA2),
1950           UINT64_C(0x00053C6D2A152664)},
1951          {UINT64_C(0x000FAF64FB917431), UINT64_C(0x000565756E7FAAF4),
1952           UINT64_C(0x0003D721A24A3704), UINT64_C(0x00013317369CBD42),
1953           UINT64_C(0x00016612511B5AA0)}},
1954         {{UINT64_C(0x000E652B12074C2E), UINT64_C(0x00059D0BAF050179),
1955           UINT64_C(0x00003B5736856800), UINT64_C(0x000647959933E44E),
1956           UINT64_C(0x0003D56153518775)},
1957          {UINT64_C(0x0000F380F6F1A960), UINT64_C(0x0001ACBBE16F804F),
1958           UINT64_C(0x0002997050169D92), UINT64_C(0x0006923F3FB9A04C),
1959           UINT64_C(0x000760D8364CDE1D)},
1960          {UINT64_C(0x00087864C2C7818E), UINT64_C(0x00065BCE2C21225E),
1961           UINT64_C(0x0000829D71C17447), UINT64_C(0x000624DD657FE09E),
1962           UINT64_C(0x000078584F6FEFD9)}},
1963         {{UINT64_C(0x0006D584A0FE7A46), UINT64_C(0x00069D33D6A2E6E8),
1964           UINT64_C(0x00067E621C9A0CE7), UINT64_C(0x00077A830F59FBFF),
1965           UINT64_C(0x00014C1BD946B545)},
1966          {UINT64_C(0x0001B2A1355A4052), UINT64_C(0x000675CBE17382B6),
1967           UINT64_C(0x000641AF5CC81253), UINT64_C(0x0005EB097D44D21F),
1968           UINT64_C(0x00009FC2AAAE02CC)},
1969          {UINT64_C(0x000D414D936E58DD), UINT64_C(0x0000B296AC88EB92),
1970           UINT64_C(0x00076AB84DD6056C), UINT64_C(0x000685E1AB03C5DC),
1971           UINT64_C(0x00028348D45F6358)}},
1972         {{UINT64_C(0x00016CC86D940FFC), UINT64_C(0x0006FA98A7F59E71),
1973           UINT64_C(0x00029CA45E235967), UINT64_C(0x0001DDB48758B49F),
1974           UINT64_C(0x00061464300AF54F)},
1975          {UINT64_C(0x00043C3AC9312B0D), UINT64_C(0x000064FC92BC9377),
1976           UINT64_C(0x000239F95BD3C366), UINT64_C(0x0000529C3D8CF33A),
1977           UINT64_C(0x000181E4547EBD24)},
1978          {UINT64_C(0x000E16213D8C28C0), UINT64_C(0x000231D13CE48188),
1979           UINT64_C(0x0007F4B9BEA03675), UINT64_C(0x0004042E3AC3D778),
1980           UINT64_C(0x0001EAA475E87AA7)}},
1981         {{UINT64_C(0x0001DAA732854120), UINT64_C(0x0002D8C6031F046B),
1982           UINT64_C(0x00048CA4CD8BA89E), UINT64_C(0x00006937503A6724),
1983           UINT64_C(0x00061B37A983648E)},
1984          {UINT64_C(0x00013AC756B13B17), UINT64_C(0x0007F99EB1FE63B2),
1985           UINT64_C(0x00012EF62AA29F91), UINT64_C(0x000275A63AC0B82C),
1986           UINT64_C(0x00041F85AC1748DC)},
1987          {UINT64_C(0x0003C3A345E37216), UINT64_C(0x0000BC95899511A0),
1988           UINT64_C(0x00067984E11988E2), UINT64_C(0x0003790C6A6BD91C),
1989           UINT64_C(0x0004AE8857A370C0)}},
1990         {{UINT64_C(0x00059767D1DC7159), UINT64_C(0x00059021E287D705),
1991           UINT64_C(0x00059EECEC3BE7D9), UINT64_C(0x0001EAA18D4EADD0),
1992           UINT64_C(0x00065A975E23F03E)},
1993          {UINT64_C(0x000A95AFCF439414), UINT64_C(0x00015B75C723F702),
1994           UINT64_C(0x0000BF98929522FB), UINT64_C(0x0003085D78E648C0),
1995           UINT64_C(0x00037D7D62CA4475)},
1996          {UINT64_C(0x0004A0DA8919F5F5), UINT64_C(0x000367D06413644F),
1997           UINT64_C(0x000354956C041EA1), UINT64_C(0x00010755634E2C5D),
1998           UINT64_C(0x000170791147DD80)}},
1999         {{UINT64_C(0x000827F7944FE6CC), UINT64_C(0x00001C751F20EF72),
2000           UINT64_C(0x00035F7CA3D66415), UINT64_C(0x0005210C82C852BA),
2001           UINT64_C(0x00004C02A5485650)},
2002          {UINT64_C(0x0003B5BDD64B5C0A), UINT64_C(0x0004689EBDCCFF34),
2003           UINT64_C(0x00070E43EECF0D36), UINT64_C(0x0006DE61D82DCC84),
2004           UINT64_C(0x00012E98D82A7298)},
2005          {UINT64_C(0x0001E9E5518D471A), UINT64_C(0x0007A1BB46DE49D9),
2006           UINT64_C(0x00035B2927B223D1), UINT64_C(0x0001CCAE464874F4),
2007           UINT64_C(0x00039DDDEF590E1E)}},
2008         {{UINT64_C(0x00024A7A1C775995), UINT64_C(0x0007157DD78B8376),
2009           UINT64_C(0x000135892F3211E4), UINT64_C(0x00068F7235FB1FF7),
2010           UINT64_C(0x0007B084D8E8F5BA)},
2011          {UINT64_C(0x00047354D60A9B5C), UINT64_C(0x0005528D484B558C),
2012           UINT64_C(0x0005EA409EB39DEF), UINT64_C(0x0001301D88A26EAB),
2013           UINT64_C(0x0003E8EEEA1E9E16)},
2014          {UINT64_C(0x0007E18F66EB4040), UINT64_C(0x0003D687AAC18DF1),
2015           UINT64_C(0x000043407B1B01C5), UINT64_C(0x00076026A3612E1D),
2016           UINT64_C(0x00036AC22C1DA7F0)}},
2017     },
2018     {
2019         {{UINT64_C(0x000A1DB3FDA77DAC), UINT64_C(0x0004D9593DB5C4FA),
2020           UINT64_C(0x0002D0C711ADB1E7), UINT64_C(0x0004FA1FD3056EC4),
2021           UINT64_C(0x0001AEA89A06C580)},
2022          {UINT64_C(0x0000B6E56502BC8A), UINT64_C(0x00030FB5DA75A109),
2023           UINT64_C(0x00061CCC955CD549), UINT64_C(0x00072ED7E235BE62),
2024           UINT64_C(0x0004FFC550D2C672)},
2025          {UINT64_C(0x0001401B07FD2FC2), UINT64_C(0x0001363A97814A08),
2026           UINT64_C(0x00040A250BB0D833), UINT64_C(0x0003FDC7EADB00FF),
2027           UINT64_C(0x0006D0C5F0015D6E)}},
2028         {{UINT64_C(0x0006C4A3C3DD75D0), UINT64_C(0x00035FB0DFF6D283),
2029           UINT64_C(0x00008EC03452D8B5), UINT64_C(0x0000660AA38D2E81),
2030           UINT64_C(0x00070999FB1B3622)},
2031          {UINT64_C(0x00076C0468E5E93B), UINT64_C(0x000691D7E3FC4A00),
2032           UINT64_C(0x00049CB4185CDAF8), UINT64_C(0x00016C0C829B0E8D),
2033           UINT64_C(0x0006AA160D0C7282)},
2034          {UINT64_C(0x0005FA2B7F6BD2E2), UINT64_C(0x000158DA48E6F8A3),
2035           UINT64_C(0x000604218B1883CE), UINT64_C(0x0000CFFE74536FDE),
2036           UINT64_C(0x00005D042AB776AA)}},
2037         {{UINT64_C(0x00027DD79FD8B383), UINT64_C(0x0004E3C07F0FC4F0),
2038           UINT64_C(0x00071E194BBE44D0), UINT64_C(0x000516439A5B3612),
2039           UINT64_C(0x0003F479BE23976A)},
2040          {UINT64_C(0x000D07783284BAF3), UINT64_C(0x00044583E7D6E11C),
2041           UINT64_C(0x0001D132C130CABE), UINT64_C(0x000625DDBFB712E6),
2042           UINT64_C(0x00070A1B85622B32)},
2043          {UINT64_C(0x00034C89E9034A6C), UINT64_C(0x00078F18070D16D9),
2044           UINT64_C(0x0005C48940FE1968), UINT64_C(0x0007B463D52BFF8C),
2045           UINT64_C(0x0004F9CB24AA3CA3)}},
2046         {{UINT64_C(0x0000210FBD862AF4), UINT64_C(0x00042D00326CF364),
2047           UINT64_C(0x0005909CDA828553), UINT64_C(0x000765038B375968),
2048           UINT64_C(0x00061244E59E8942)},
2049          {UINT64_C(0x000316B2C8856415), UINT64_C(0x0002A4748F779AB3),
2050           UINT64_C(0x000239C5E875089A), UINT64_C(0x00036401DD98269B),
2051           UINT64_C(0x00011DDAE2A7E2F2)},
2052          {UINT64_C(0x000E9134B0007750), UINT64_C(0x0005EF4908EA5F8B),
2053           UINT64_C(0x00079BE217CC5E96), UINT64_C(0x0000599ECA99A489),
2054           UINT64_C(0x0004C47BBF939482)}},
2055         {{UINT64_C(0x00003A337C362E13), UINT64_C(0x0007780615B15DD1),
2056           UINT64_C(0x000773A3946A0160), UINT64_C(0x000700FAAF105D15),
2057           UINT64_C(0x0001A74BE2B6494D)},
2058          {UINT64_C(0x0005CA35FE3DB4CB), UINT64_C(0x00071DF8C08DEDDD),
2059           UINT64_C(0x0005F7E4ACF08CA7), UINT64_C(0x00036F543C236FDD),
2060           UINT64_C(0x00069ABF13BDA30B)},
2061          {UINT64_C(0x000D0BDB4C5FE93D), UINT64_C(0x0002B22A4FA5285B),
2062           UINT64_C(0x0006FA80F65CB79E), UINT64_C(0x000379BFA1F4BF5E),
2063           UINT64_C(0x00046594A6F4C0D4)}},
2064         {{UINT64_C(0x0007305A30FD1F79), UINT64_C(0x0001C6FFD9905695),
2065           UINT64_C(0x0004645BE794D673), UINT64_C(0x000342101D707890),
2066           UINT64_C(0x0001BB588F62A0A3)},
2067          {UINT64_C(0x000105A272D17F2A), UINT64_C(0x0007B3D6FA991E49),
2068           UINT64_C(0x000227280611E9A7), UINT64_C(0x0001A93AAA75915F),
2069           UINT64_C(0x00023FA441B3482E)},
2070          {UINT64_C(0x00049C1150A4394C), UINT64_C(0x00040C4F9BAC625E),
2071           UINT64_C(0x000019D525AD587E), UINT64_C(0x0004FF7128EF9688),
2072           UINT64_C(0x0004FD444389AB05)}},
2073         {{UINT64_C(0x000238E42AD5EEEC), UINT64_C(0x0005DE60189ED21B),
2074           UINT64_C(0x0001C3ED84BF7F92), UINT64_C(0x00051D4CE9A6E138),
2075           UINT64_C(0x0004D7509030CE74)},
2076          {UINT64_C(0x00014535B829610F), UINT64_C(0x0006763BE3F420BB),
2077           UINT64_C(0x000224420EC61552), UINT64_C(0x0001D944B492451E),
2078           UINT64_C(0x00043B7C34AD7E8B)},
2079          {UINT64_C(0x0008748FB4B47D51), UINT64_C(0x0005ABB8E9B2C218),
2080           UINT64_C(0x0001F774AE8AEF2A), UINT64_C(0x0004E251530C1540),
2081           UINT64_C(0x0002C17E01A2CD3E)}},
2082         {{UINT64_C(0x000A5AEDEE07B0B0), UINT64_C(0x0005F89D3947B76A),
2083           UINT64_C(0x0002BB62F90E7DE8), UINT64_C(0x000654A1AF24BC3B),
2084           UINT64_C(0x0003546F95E0EE6F)},
2085          {UINT64_C(0x00085679601B8BC5), UINT64_C(0x0004BB095D71C7D0),
2086           UINT64_C(0x00053ECC1C751399), UINT64_C(0x00041FE3795CBDE2),
2087           UINT64_C(0x0006EA98F1D1D81D)},
2088          {UINT64_C(0x00064ED26F676ADD), UINT64_C(0x0005A7A5BEE185B3),
2089           UINT64_C(0x000130CC8FEC6AE2), UINT64_C(0x000629FDE7C00F10),
2090           UINT64_C(0x000585D5A1CBFA57)}},
2091         {{UINT64_C(0x000AE0784632D10F), UINT64_C(0x00027BFA28563B52),
2092           UINT64_C(0x0004DECE15823B3A), UINT64_C(0x00010DA131FF58A7),
2093           UINT64_C(0x00048DEFFB0FE190)},
2094          {UINT64_C(0x000C811EC58F82EA), UINT64_C(0x000326DA9E04E555),
2095           UINT64_C(0x00071F177799421B), UINT64_C(0x0003E3A474D3E8B8),
2096           UINT64_C(0x0003D5D6D4DE3CEF)},
2097          {UINT64_C(0x000D9FFAF07322DD), UINT64_C(0x000628E14EB89510),
2098           UINT64_C(0x00075D001D2380EC), UINT64_C(0x00050D7E5EF7D399),
2099           UINT64_C(0x00079765D0A00A45)}},
2100         {{UINT64_C(0x00090F5A32267E76), UINT64_C(0x00019A1B8E57CC65),
2101           UINT64_C(0x00048B29601AC029), UINT64_C(0x00069FA23DE54FFB),
2102           UINT64_C(0x00002FCBE3187F20)},
2103          {UINT64_C(0x000125C2704C278B), UINT64_C(0x00028493D1EF2120),
2104           UINT64_C(0x00054F9AD9FF374B), UINT64_C(0x0006985537375711),
2105           UINT64_C(0x00007534EB65121D)},
2106          {UINT64_C(0x0004BD9A12979647), UINT64_C(0x000788B5BC284E24),
2107           UINT64_C(0x0004CBD296C6FF6B), UINT64_C(0x0007FA0CD5EE5D70),
2108           UINT64_C(0x0002BC98A33DCE4E)}},
2109         {{UINT64_C(0x000753D51E36094F), UINT64_C(0x00011309101DCED4),
2110           UINT64_C(0x0000279505A1BAA2), UINT64_C(0x0006AEDE7A85AAE1),
2111           UINT64_C(0x000037AE84B6FE0A)},
2112          {UINT64_C(0x0007739A4BFF6011), UINT64_C(0x000710D32F9567E8),
2113           UINT64_C(0x00040FE60EC00E34), UINT64_C(0x0000E77282D60FC2),
2114           UINT64_C(0x00012AF7C9905886)},
2115          {UINT64_C(0x00010065259DAB06), UINT64_C(0x00002C1EC736FA56),
2116           UINT64_C(0x00041E7AC35292DC), UINT64_C(0x0000DDF0A6E3C65E),
2117           UINT64_C(0x00060CA6ABEF89FE)}},
2118         {{UINT64_C(0x000C71B130D21942), UINT64_C(0x000650CBCD04857A),
2119           UINT64_C(0x00003A21705F79DE), UINT64_C(0x000441B7586ABB4B),
2120           UINT64_C(0x00044FFAB824B35E)},
2121          {UINT64_C(0x0004FC14956E331F), UINT64_C(0x0002DF101A872454),
2122           UINT64_C(0x0001ACAC797EC78F), UINT64_C(0x0006FBE58D90CBB2),
2123           UINT64_C(0x0002083D4F2ED3D2)},
2124          {UINT64_C(0x0002485E01980997), UINT64_C(0x000679010A4C7EE8),
2125           UINT64_C(0x00057361E75E0DF0), UINT64_C(0x0000548EBB7B0F63),
2126           UINT64_C(0x0000ADFA873F0ADC)}},
2127         {{UINT64_C(0x000CEBAD25601C16), UINT64_C(0x00040CF38C58593E),
2128           UINT64_C(0x000548AC165085FC), UINT64_C(0x00000EC8D84A3956),
2129           UINT64_C(0x0006990D99B70E27)},
2130          {UINT64_C(0x0002D6F54C35029C), UINT64_C(0x000194EECC0B8D55),
2131           UINT64_C(0x000599D2C75B688B), UINT64_C(0x000646453AC905E4),
2132           UINT64_C(0x0003DAEFFC1F7F77)},
2133          {UINT64_C(0x0002FB3C155DFF91), UINT64_C(0x000666676455E39E),
2134           UINT64_C(0x000094B59579A3D7), UINT64_C(0x000131163E64B240),
2135           UINT64_C(0x0002BE896BAC1C14)}},
2136         {{UINT64_C(0x0005372C822B631C), UINT64_C(0x0002C792A5D553F9),
2137           UINT64_C(0x00079A45AF14B5DB), UINT64_C(0x0005728AC606211C),
2138           UINT64_C(0x00059EF170252365)},
2139          {UINT64_C(0x0000B216D3837D4E), UINT64_C(0x00049608E9DA7038),
2140           UINT64_C(0x00071C88398BEB38), UINT64_C(0x0001D39322C696DB),
2141           UINT64_C(0x0003270FEE25BE63)},
2142          {UINT64_C(0x000F312227C8BD36), UINT64_C(0x0006EA625A52C28E),
2143           UINT64_C(0x00022DD277705C08), UINT64_C(0x0002D9A720B669E6),
2144           UINT64_C(0x00075102EDD2BA08)}},
2145         {{UINT64_C(0x000CA132F90FE15B), UINT64_C(0x0007F9D119339816),
2146           UINT64_C(0x0006E56945E2B2A2), UINT64_C(0x0004514FE66AAADD),
2147           UINT64_C(0x00017AF1BC738FB9)},
2148          {UINT64_C(0x0004346FAA16001E), UINT64_C(0x0001C1A89BB2AE60),
2149           UINT64_C(0x0001399CEC955395), UINT64_C(0x0003C0BBC0A6E99B),
2150           UINT64_C(0x00064D29AE483CCC)},
2151          {UINT64_C(0x00040ACC3E0904B8), UINT64_C(0x00036DC23E8EE05E),
2152           UINT64_C(0x00066D427ADA3210), UINT64_C(0x00011F6E098F35F7),
2153           UINT64_C(0x00039151730A7BBA)}},
2154         {{UINT64_C(0x00091ADA9145C93C), UINT64_C(0x00024194BA72DF78),
2155           UINT64_C(0x0003678D46D1C849), UINT64_C(0x000389372773D592),
2156           UINT64_C(0x00018C36FC253B2C)},
2157          {UINT64_C(0x0005F6DDFD39F849), UINT64_C(0x0002633241A26C74),
2158           UINT64_C(0x000474A8B991D2BE), UINT64_C(0x0002CE50E2C4FE43),
2159           UINT64_C(0x000293E1C206D813)},
2160          {UINT64_C(0x000F47D948A0883B), UINT64_C(0x000489F014B14B93),
2161           UINT64_C(0x0006D2AC8A2E3258), UINT64_C(0x0000CE310A0B2212),
2162           UINT64_C(0x0001253D16B5D0A2)}},
2163     },
2164     {
2165         {{UINT64_C(0x0001FC6BA4B27045), UINT64_C(0x00038F66C4585DD0),
2166           UINT64_C(0x00044510A543BBBA), UINT64_C(0x0001FFA25BB30E5E),
2167           UINT64_C(0x0002D3C1BD993CDE)},
2168          {UINT64_C(0x000A2BB5F0A56D1F), UINT64_C(0x00026C278F22FDAC),
2169           UINT64_C(0x0000972239E1602A), UINT64_C(0x0006D636075CCB7A),
2170           UINT64_C(0x000255FEE96DB6F1)},
2171          {UINT64_C(0x000D53D8C21D2AC3), UINT64_C(0x00073D8BC6569D5D),
2172           UINT64_C(0x000611171F31EC1E), UINT64_C(0x0007BF39C3FB085A),
2173           UINT64_C(0x00078CDD196C484E)}},
2174         {{UINT64_C(0x0007AA3E7172E704), UINT64_C(0x00041E6CDC54B308),
2175           UINT64_C(0x0000B05762F3EFE5), UINT64_C(0x000444BD48FEF0C8),
2176           UINT64_C(0x0004428AB2D08617)},
2177          {UINT64_C(0x000BDD2F9B4370E5), UINT64_C(0x0002F2670834C4F7),
2178           UINT64_C(0x0003BB1958A52A76), UINT64_C(0x00047CD537305248),
2179           UINT64_C(0x0001EFD0574CCBFF)},
2180          {UINT64_C(0x000AEB5EF88DCA62), UINT64_C(0x000117EAA2E61A6B),
2181           UINT64_C(0x0004FCBB9750C8D0), UINT64_C(0x000495792CD27339),
2182           UINT64_C(0x0001B23C157916F6)}},
2183         {{UINT64_C(0x0007891B674E71F0), UINT64_C(0x0007C4F6FCAD4468),
2184           UINT64_C(0x000476D6C5509A66), UINT64_C(0x0005F5A8B9CC77CD),
2185           UINT64_C(0x0004199343D1FC80)},
2186          {UINT64_C(0x0003F18F3D8F0055), UINT64_C(0x000752C7D8BA3224),
2187           UINT64_C(0x000436F715E78E8E), UINT64_C(0x0001036795BF501D),
2188           UINT64_C(0x000236B8319E54B6)},
2189          {UINT64_C(0x0002E41C100EDD83), UINT64_C(0x00058577EB7BBD8B),
2190           UINT64_C(0x0001F51303AAC160), UINT64_C(0x0005DC3CA305853E),
2191           UINT64_C(0x00072B9415F81A28)}},
2192         {{UINT64_C(0x0005265E75BE3284), UINT64_C(0x0007167FAA26A5DF),
2193           UINT64_C(0x000123D1A2FDB52D), UINT64_C(0x00061BBE43A46D84),
2194           UINT64_C(0x000261B8D88701BD)},
2195          {UINT64_C(0x000C87F87048B464), UINT64_C(0x00053BAEC34F322B),
2196           UINT64_C(0x0004DC58AFE19A7D), UINT64_C(0x000090CE2820F2C2),
2197           UINT64_C(0x0006C48AC43ECD33)},
2198          {UINT64_C(0x000B402CCF1F1A30), UINT64_C(0x000429DB8F417641),
2199           UINT64_C(0x000249FD2DC1A2A4), UINT64_C(0x00049F1F51516171),
2200           UINT64_C(0x00065C94E325A506)}},
2201         {{UINT64_C(0x0005D0EAFD053602), UINT64_C(0x0000B2EB6445EFF1),
2202           UINT64_C(0x0003EBD9F65805D5), UINT64_C(0x0003CA4B8EBF6A36),
2203           UINT64_C(0x00078BFD685BE998)},
2204          {UINT64_C(0x000F64B891DDF860), UINT64_C(0x000529576B60556C),
2205           UINT64_C(0x0001B37FD3E24669), UINT64_C(0x0000033818EEF5C8),
2206           UINT64_C(0x0002B11EBF7E5937)},
2207          {UINT64_C(0x0003152B742C702B), UINT64_C(0x0006632B1ECD6036),
2208           UINT64_C(0x0007923AFB88728F), UINT64_C(0x0006244DA1C3448B),
2209           UINT64_C(0x0000AD2FB0196EC3)}},
2210         {{UINT64_C(0x000AD563EB3B07A3), UINT64_C(0x0001213A17B47AC3),
2211           UINT64_C(0x00053EC21980E6FC), UINT64_C(0x0002C4ACC165507F),
2212           UINT64_C(0x0007A622F28DA7BE)},
2213          {UINT64_C(0x000C8F45E5659E8D), UINT64_C(0x0002A78FCB23CE95),
2214           UINT64_C(0x00024430FD4597D0), UINT64_C(0x000347620F5EDF93),
2215           UINT64_C(0x0003DC647EA1BA77)},
2216          {UINT64_C(0x0007F8F8703A7DCA), UINT64_C(0x000795C87DAACF66),
2217           UINT64_C(0x00007534BD87B9EE), UINT64_C(0x0005099B2C521F78),
2218           UINT64_C(0x000273750C74E81D)}},
2219         {{UINT64_C(0x00024EDC3D8ABF8E), UINT64_C(0x000300DFA97BDDE9),
2220           UINT64_C(0x000446C6F830946C), UINT64_C(0x00068F06F4ACDD60),
2221           UINT64_C(0x00018F286BEDB687)},
2222          {UINT64_C(0x0003287C7040CAF8), UINT64_C(0x0005A30953D9648B),
2223           UINT64_C(0x0004C0CED1BF2F16), UINT64_C(0x0005022BA173833A),
2224           UINT64_C(0x000471670E5DD4C8)},
2225          {UINT64_C(0x000575C7D920A1FA), UINT64_C(0x000028011ACAA137),
2226           UINT64_C(0x000267F433A9BB5D), UINT64_C(0x0000C0E4B91042B4),
2227           UINT64_C(0x0001740F314FE330)}},
2228         {{UINT64_C(0x0009146BFD90884A), UINT64_C(0x00024724AE1312FD),
2229           UINT64_C(0x0000CC37AB3544BD), UINT64_C(0x0002E4F30E1D877C),
2230           UINT64_C(0x00078F98059C7CDB)},
2231          {UINT64_C(0x00080EF557A2B367), UINT64_C(0x00034596D52275E4),
2232           UINT64_C(0x0003D07B43BC2723), UINT64_C(0x000485142DA02EA6),
2233           UINT64_C(0x00052ED77068B052)},
2234          {UINT64_C(0x00050C37F84E0B1E), UINT64_C(0x0007F90DAF676333),
2235           UINT64_C(0x000014A034E40FE3), UINT64_C(0x0001A1CCC5B06FA4),
2236           UINT64_C(0x0002B57B6AAF5AFB)}},
2237         {{UINT64_C(0x0005A1EC835F93D9), UINT64_C(0x00027C73660ABD19),
2238           UINT64_C(0x00051ED4ACB98418), UINT64_C(0x0005934D9A8C4481),
2239           UINT64_C(0x000056DCE5E599B7)},
2240          {UINT64_C(0x000D82F2893E91E9), UINT64_C(0x00007DB2ED2F5FC8),
2241           UINT64_C(0x000470BFB2A14A2D), UINT64_C(0x000243357800B12B),
2242           UINT64_C(0x0001586B880D973F)},
2243          {UINT64_C(0x0002894A1AEE30F0), UINT64_C(0x00000A56EEFC3625),
2244           UINT64_C(0x000328B708D399DB), UINT64_C(0x0001E0245E856F01),
2245           UINT64_C(0x000331A120A8FA38)}},
2246         {{UINT64_C(0x0000B01B89AE8C48), UINT64_C(0x000160C2BE55859D),
2247           UINT64_C(0x00032ED748BC62AF), UINT64_C(0x0003A96EF5B049CB),
2248           UINT64_C(0x0007D5C6C7C53881)},
2249          {UINT64_C(0x000F575F2E610488), UINT64_C(0x00050DD2D252D63F),
2250           UINT64_C(0x00032900A6CAB78A), UINT64_C(0x00052436AFB000AE),
2251           UINT64_C(0x0001058C522E70B4)},
2252          {UINT64_C(0x000C32E693EA545B), UINT64_C(0x000363FF953257C4),
2253           UINT64_C(0x0006BB224E619CF6), UINT64_C(0x0004725D9B6CC315),
2254           UINT64_C(0x00028D022032739E)}},
2255         {{UINT64_C(0x000130FFBDDA7B5B), UINT64_C(0x00008B75F47AA474),
2256           UINT64_C(0x000704583AA71B9F), UINT64_C(0x000003F123BF1718),
2257           UINT64_C(0x0000C86888DA8826)},
2258          {UINT64_C(0x0001E99131EE0CC8), UINT64_C(0x00015BD0E81C213F),
2259           UINT64_C(0x00060DB057C2D8C7), UINT64_C(0x0003931F8CDBD796),
2260           UINT64_C(0x0000B711D1643ABA)},
2261          {UINT64_C(0x000CAE2E3BD0339C), UINT64_C(0x000535FE10F2B9B9),
2262           UINT64_C(0x0003BAC64D32897B), UINT64_C(0x0002E04FBE091647),
2263           UINT64_C(0x00069D6BFB6020F3)}},
2264         {{UINT64_C(0x0003BF20FBF44C75), UINT64_C(0x0003DFDF8AA48E71),
2265           UINT64_C(0x000755E830F9348A), UINT64_C(0x0004DCF2FBC753A0),
2266           UINT64_C(0x000563C950DED5E7)},
2267          {UINT64_C(0x00095173064904B2), UINT64_C(0x0001AD16621A4F26),
2268           UINT64_C(0x0000190EBCA98F19), UINT64_C(0x00025C88E57E353D),
2269           UINT64_C(0x0007235C78DDE09A)},
2270          {UINT64_C(0x000AB2477B99C193), UINT64_C(0x000787D92E572642),
2271           UINT64_C(0x000254AE25CB36B6), UINT64_C(0x00014FF7F61A68BA),
2272           UINT64_C(0x0002AE23C86DA540)}},
2273         {{UINT64_C(0x000AA69FC65B55EE), UINT64_C(0x000602BFEB958D5E),
2274           UINT64_C(0x00041B4D60AAC3E7), UINT64_C(0x0006E4587652A12A),
2275           UINT64_C(0x000538D39DB42EA9)},
2276          {UINT64_C(0x000A78E9FAE803AA), UINT64_C(0x00050F1F50C82CCF),
2277           UINT64_C(0x0000690C7B716417), UINT64_C(0x00009E9B33D5B1F8),
2278           UINT64_C(0x00046AD0D9B59A8E)},
2279          {UINT64_C(0x000E0FB21CA97546), UINT64_C(0x000796398B48AA4B),
2280           UINT64_C(0x0005BFE2E571682E), UINT64_C(0x00079B204C96268F),
2281           UINT64_C(0x00036514FC4F006A)}},
2282         {{UINT64_C(0x000AB6ADDA89E077), UINT64_C(0x000456219E30B23F),
2283           UINT64_C(0x00073DF2B5B296A7), UINT64_C(0x0007416CF096B608),
2284           UINT64_C(0x000506FAF22F148F)},
2285          {UINT64_C(0x0004D01231B41F08), UINT64_C(0x00004E0DE454C9D9),
2286           UINT64_C(0x0001C359EA53295F), UINT64_C(0x0005C16FFE73D620),
2287           UINT64_C(0x0001FD9A40888D64)},
2288          {UINT64_C(0x00082DD110EAA0DA), UINT64_C(0x0002885D3B8FB45F),
2289           UINT64_C(0x0007AAD0C23075A0), UINT64_C(0x000013BF01DF39A9),
2290           UINT64_C(0x000025FFC049C3BB)}},
2291         {{UINT64_C(0x000188B1DC7CFBB3), UINT64_C(0x00073B99A1AD10BA),
2292           UINT64_C(0x000799A4C5F58A95), UINT64_C(0x0005036A5F90050D),
2293           UINT64_C(0x0007A61558C47079)},
2294          {UINT64_C(0x0008E5B50FC0616E), UINT64_C(0x0006BE2B98B6BAB1),
2295           UINT64_C(0x000214A72D8A4D1E), UINT64_C(0x000761E21C815E1A),
2296           UINT64_C(0x0003D750B6148769)},
2297          {UINT64_C(0x000A9F7E8D06E7C1), UINT64_C(0x000028F98763EEF5),
2298           UINT64_C(0x00079EA1FD1DE978), UINT64_C(0x00021613CA3BB40B),
2299           UINT64_C(0x00070E4362C5401C)}},
2300         {{UINT64_C(0x0009D08B1089B486), UINT64_C(0x000165F2FBD68266),
2301           UINT64_C(0x00035E25AA132009), UINT64_C(0x00044F5F944F1D77),
2302           UINT64_C(0x00025F71B14DA654)},
2303          {UINT64_C(0x000BD353769CE1F9), UINT64_C(0x0006FA3F3DDDC54C),
2304           UINT64_C(0x0002B84C2EC34B40), UINT64_C(0x0002BC5399680FE7),
2305           UINT64_C(0x00077DF80D7D51A4)},
2306          {UINT64_C(0x0004E2691B0328F3), UINT64_C(0x00050F4537961493),
2307           UINT64_C(0x00044E2C41C84DCA), UINT64_C(0x00052B780EFDCD69),
2308           UINT64_C(0x0005376F2A050E19)}},
2309     },
2310     {
2311         {{UINT64_C(0x000DA03985F38262), UINT64_C(0x00037D5F62914A3C),
2312           UINT64_C(0x000793B68F7811A9), UINT64_C(0x00032B90BCD39CE3),
2313           UINT64_C(0x00075AA44FE7E19C)},
2314          {UINT64_C(0x000F05AB91A2B12A), UINT64_C(0x00059AF4F8982C00),
2315           UINT64_C(0x00048CCE588AE51A), UINT64_C(0x00049E4C670BBE65),
2316           UINT64_C(0x0006B3D82691A651)},
2317          {UINT64_C(0x0008F5698465745B), UINT64_C(0x00075BE3EB74331D),
2318           UINT64_C(0x000737D69788EE86), UINT64_C(0x00062141377DCE86),
2319           UINT64_C(0x0006EFBEF11283CC)}},
2320         {{UINT64_C(0x000FB2D42C8285AF), UINT64_C(0x0006FD40664A5490),
2321           UINT64_C(0x00057F0694D97426), UINT64_C(0x0002A7A28B3356DA),
2322           UINT64_C(0x00028920886AF6EC)},
2323          {UINT64_C(0x000A8C24C0BF2760), UINT64_C(0x00068C3EC242BF3A),
2324           UINT64_C(0x0000CE0D0E1B7F97), UINT64_C(0x00061C58FABECF34),
2325           UINT64_C(0x00004CA319E801FD)},
2326          {UINT64_C(0x000325DE46C5736B), UINT64_C(0x000468915384C263),
2327           UINT64_C(0x0006347A5799363C), UINT64_C(0x0007210BB1344417),
2328           UINT64_C(0x00011E398C2404CC)}},
2329         {{UINT64_C(0x0006351562580ED8), UINT64_C(0x0006220AA1C9D62B),
2330           UINT64_C(0x0001CDF640634049), UINT64_C(0x0002FA7088B01B0A),
2331           UINT64_C(0x00019ACCA28277EE)},
2332          {UINT64_C(0x000C65B688EBF493), UINT64_C(0x0005B03149C63AE5),
2333           UINT64_C(0x0006AFA8197C4FD1), UINT64_C(0x0002D0DA5C748E78),
2334           UINT64_C(0x000662C002D4D15F)},
2335          {UINT64_C(0x0001118B8CBBB7E7), UINT64_C(0x0004CBAB82FD2BF5),
2336           UINT64_C(0x0002348B0CE469A5), UINT64_C(0x00023EB3398A797E),
2337           UINT64_C(0x0004E228589713E3)}},
2338         {{UINT64_C(0x0000B4E4D027C85C), UINT64_C(0x0000D803053DA772),
2339           UINT64_C(0x00065984BB60A337), UINT64_C(0x0007DC2376F7272A),
2340           UINT64_C(0x0000E9430E355BA4)},
2341          {UINT64_C(0x000A8E389D48606F), UINT64_C(0x00021F690AA2DBC8),
2342           UINT64_C(0x000142274ABC9F41), UINT64_C(0x00072BF593710713),
2343           UINT64_C(0x0002FD7F4AE2EE22)},
2344          {UINT64_C(0x000BF1C20DDD2691), UINT64_C(0x0005411630C2A271),
2345           UINT64_C(0x0002D6C2990BAF6C), UINT64_C(0x00016E01E690E20C),
2346           UINT64_C(0x0000E8F8FFA954EC)}},
2347         {{UINT64_C(0x0005A3AB6DAFDFD3), UINT64_C(0x0000D9D486BDD09A),
2348           UINT64_C(0x0002D2E51B7C9711), UINT64_C(0x00017CE407134280),
2349           UINT64_C(0x0003AD3997FA1672)},
2350          {UINT64_C(0x0003D8F172453802), UINT64_C(0x0002317FA3185EC2),
2351           UINT64_C(0x0000BA91852E2031), UINT64_C(0x0005EC464B3ED108),
2352           UINT64_C(0x00057C6D8CF0E0FD)},
2353          {UINT64_C(0x0008CA2766DB4A5B), UINT64_C(0x00073D443B130A20),
2354           UINT64_C(0x00058BF472C3BA39), UINT64_C(0x0006F5CC0907C053),
2355           UINT64_C(0x0003FC5C6F14BD87)}},
2356         {{UINT64_C(0x0004B65645E73CF6), UINT64_C(0x0007C5AB1C053774),
2357           UINT64_C(0x0005018E4FF1FC18), UINT64_C(0x000769511D97D00F),
2358           UINT64_C(0x0006AD6BD6EAA9E9)},
2359          {UINT64_C(0x00046576871857E4), UINT64_C(0x000215AA0839B591),
2360           UINT64_C(0x0004E1CAA9F6A2CA), UINT64_C(0x0007AB0F33E726C5),
2361           UINT64_C(0x00067F4BE171AA28)},
2362          {UINT64_C(0x0006531996604B7F), UINT64_C(0x000453BF42EC79D2),
2363           UINT64_C(0x00032113012CCEA4), UINT64_C(0x00006D0B5464300F),
2364           UINT64_C(0x0002176B1E5D6D50)}},
2365         {{UINT64_C(0x0001D3C100DC72D5), UINT64_C(0x0003654CB2834C97),
2366           UINT64_C(0x0005E965AC7DA69D), UINT64_C(0x00078DC0DD9AE1DD),
2367           UINT64_C(0x00019E21FECCAAF3)},
2368          {UINT64_C(0x00013C3FDF2B1672), UINT64_C(0x000619ED60AD922A),
2369           UINT64_C(0x0006A134A3138156), UINT64_C(0x000074D7A0EB94F4),
2370           UINT64_C(0x000655B9265AD61E)},
2371          {UINT64_C(0x00091D8E2767E0B1), UINT64_C(0x00065AEFAC257813),
2372           UINT64_C(0x00038076D1470BE1), UINT64_C(0x0003C981EA0EB22B),
2373           UINT64_C(0x00015A7A2D75B203)}},
2374         {{UINT64_C(0x000CC309EA9DA550), UINT64_C(0x000167109F6B7EEA),
2375           UINT64_C(0x00036256E39C62A5), UINT64_C(0x00023FE04A59A8D0),
2376           UINT64_C(0x00048F3DCFC704E4)},
2377          {UINT64_C(0x000DD13D87BC3FD8), UINT64_C(0x0001E1039D0C27A5),
2378           UINT64_C(0x00013884321DFE6C), UINT64_C(0x00018DF5EB967D7E),
2379           UINT64_C(0x00027626CDA767FD)},
2380          {UINT64_C(0x00081A4C254FE9AA), UINT64_C(0x00039710CABEFE25),
2381           UINT64_C(0x0001FE4ED0D3AF13), UINT64_C(0x00036B4C87AE2C9F),
2382           UINT64_C(0x00011248B666F136)}},
2383         {{UINT64_C(0x000E797C4CCA0B46), UINT64_C(0x000549315E592B39),
2384           UINT64_C(0x000446B1DF8247A1), UINT64_C(0x00030ED36C5BB7F3),
2385           UINT64_C(0x0002AA80BB30E10E)},
2386          {UINT64_C(0x000987E78A6334CD), UINT64_C(0x00021A51601C5BC5),
2387           UINT64_C(0x00056CB555352F37), UINT64_C(0x000225D060DB2429),
2388           UINT64_C(0x000385DB17BD6237)},
2389          {UINT64_C(0x0002ED3E680A5E84), UINT64_C(0x0005712851DFAB33),
2390           UINT64_C(0x00039A12254B9A45), UINT64_C(0x000216D42F43EEBB),
2391           UINT64_C(0x000357331598DA83)}},
2392         {{UINT64_C(0x000F7C1D3279D8A5), UINT64_C(0x00043F72163137B9),
2393           UINT64_C(0x00042C3FE876167F), UINT64_C(0x0003B0E73C83522A),
2394           UINT64_C(0x0001DB409981C582)},
2395          {UINT64_C(0x000122CD3118D65B), UINT64_C(0x00071763F291C87A),
2396           UINT64_C(0x000561465C8B3331), UINT64_C(0x0004944F4C61C7FD),
2397           UINT64_C(0x0002AAC9443A36DB)},
2398          {UINT64_C(0x0004D4FA4218C372), UINT64_C(0x00076C45E03C77EB),
2399           UINT64_C(0x000072FB97E90D33), UINT64_C(0x0005082CF2079905),
2400           UINT64_C(0x0002FE26BFD54FFA)}},
2401         {{UINT64_C(0x0007D19A42E4631A), UINT64_C(0x0006571B981A6AEC),
2402           UINT64_C(0x0004D393AE74429A), UINT64_C(0x000446A87D160168),
2403           UINT64_C(0x0003AF53BFC0F685)},
2404          {UINT64_C(0x0002D55D97B6EB19), UINT64_C(0x00039E6461F719F3),
2405           UINT64_C(0x000190259D2C913D), UINT64_C(0x0003C976B6FBF37A),
2406           UINT64_C(0x00019F876AD4BC35)},
2407          {UINT64_C(0x000EDF4304B4688B), UINT64_C(0x0000C939FCAC59CD),
2408           UINT64_C(0x00056BFC00BE589D), UINT64_C(0x0004B4C590A12AC7),
2409           UINT64_C(0x0007EF9566506AD0)}},
2410         {{UINT64_C(0x000A585FE0E0C2E0), UINT64_C(0x00018D0780A3AD5B),
2411           UINT64_C(0x0006DD4F15327657), UINT64_C(0x00009AB856FE2440),
2412           UINT64_C(0x000750F36E6E9B65)},
2413          {UINT64_C(0x0008B6024E61BB41), UINT64_C(0x0006393F246B2AD3),
2414           UINT64_C(0x000446AF58B6CA59), UINT64_C(0x00000520765881CA),
2415           UINT64_C(0x00061089ABFD62AB)},
2416          {UINT64_C(0x000633226585ECE4), UINT64_C(0x00076BF57CC213CB),
2417           UINT64_C(0x000484A01C226640), UINT64_C(0x00033C1F700F8FBA),
2418           UINT64_C(0x0000B0E1B3037271)}},
2419         {{UINT64_C(0x00054E468A9EFE70), UINT64_C(0x000608519FBFBF2D),
2420           UINT64_C(0x0005333558A69061), UINT64_C(0x0004D0D77DF73B72),
2421           UINT64_C(0x0005963DB206A396)},
2422          {UINT64_C(0x000394333A1E85F3), UINT64_C(0x000353C23C03493E),
2423           UINT64_C(0x0000C828A97CB1A5), UINT64_C(0x00078C43450120ED),
2424           UINT64_C(0x000555DF3569380F)},
2425          {UINT64_C(0x00042EFA777C3D87), UINT64_C(0x0006535188CEB3F6),
2426           UINT64_C(0x000711F155E76C84), UINT64_C(0x0000E3BA9883F418),
2427           UINT64_C(0x00057A3C7F7ECCF3)}},
2428         {{UINT64_C(0x000B073EF993682F), UINT64_C(0x00033F05FA3CCE30),
2429           UINT64_C(0x00068B17D4A39381), UINT64_C(0x0004A922A545C066),
2430           UINT64_C(0x0006F6DAE315DA70)},
2431          {UINT64_C(0x00014D0E6682401A), UINT64_C(0x0007CCF46A4DD19B),
2432           UINT64_C(0x00075F65E59EC735), UINT64_C(0x0001444919609445),
2433           UINT64_C(0x00056DEA40CFB96B)},
2434          {UINT64_C(0x00016AF62D5F1A62), UINT64_C(0x00031733B90868F3),
2435           UINT64_C(0x0006590B06472897), UINT64_C(0x00049790ACFA5796),
2436           UINT64_C(0x0003AB09B226B35A)}},
2437         {{UINT64_C(0x000329065372355E), UINT64_C(0x0007AB688B6A2989),
2438           UINT64_C(0x00045AC32571E188), UINT64_C(0x0005840E91DC5D76),
2439           UINT64_C(0x0000A0DFC537909E)},
2440          {UINT64_C(0x0005F472964EF0CE), UINT64_C(0x0003D2FA150C40C5),
2441           UINT64_C(0x0007CBF1211260FB), UINT64_C(0x0003709955BA6654),
2442           UINT64_C(0x000217DBDD3D5D0D)},
2443          {UINT64_C(0x000A1158C12DB2A4), UINT64_C(0x0004C90A2B817CA8),
2444           UINT64_C(0x00061F4B5B3A38EC), UINT64_C(0x000380423D6EF40B),
2445           UINT64_C(0x00000B4B0EF2C8F0)}},
2446         {{UINT64_C(0x00028D6E002BCA29), UINT64_C(0x0007A3997D7D546A),
2447           UINT64_C(0x0005D8C776975959), UINT64_C(0x0000317399D2025E),
2448           UINT64_C(0x000754B217E301A9)},
2449          {UINT64_C(0x0002CDE1681E8828), UINT64_C(0x000380F9FC21B2AB),
2450           UINT64_C(0x00003AD0F0DC0117), UINT64_C(0x0003D01C67CEC59B),
2451           UINT64_C(0x00039049C45C39C8)},
2452          {UINT64_C(0x0000CE99521AEEAB), UINT64_C(0x0003B4C67C5B669C),
2453           UINT64_C(0x0000E043A30EE5B7), UINT64_C(0x0003F0C4E94F62CF),
2454           UINT64_C(0x0001AB4F30E0A8F5)}},
2455     },
2456     {
2457         {{UINT64_C(0x000DC91F212AB480), UINT64_C(0x0005945E1877E8EC),
2458           UINT64_C(0x00013573E60D6704), UINT64_C(0x00069D9C4A961CA2),
2459           UINT64_C(0x0003DE09EC8A48AF)},
2460          {UINT64_C(0x000E81E566BFFA33), UINT64_C(0x00033E06B06E4111),
2461           UINT64_C(0x0002D32A23297AFD), UINT64_C(0x0005F9BFCE126AC6),
2462           UINT64_C(0x0001FF61C1A88D8E)},
2463          {UINT64_C(0x0008D3EC31CFC3EE), UINT64_C(0x000046D8793EAB63),
2464           UINT64_C(0x0000C143A50BCCDC), UINT64_C(0x0006EAB8519D9BAD),
2465           UINT64_C(0x00074830BD46D5B4)}},
2466         {{UINT64_C(0x0000574A2032B148), UINT64_C(0x0004328CBA692C33),
2467           UINT64_C(0x000232F42D123335), UINT64_C(0x000181DEF8EAD0DD),
2468           UINT64_C(0x000451E2578C52D5)},
2469          {UINT64_C(0x000695C6731F0527), UINT64_C(0x0005CD46B5C17880),
2470           UINT64_C(0x00015EAA924D0904), UINT64_C(0x00007F6FB72E84D0),
2471           UINT64_C(0x0000CEB928AFDBBD)},
2472          {UINT64_C(0x0004D3626FF5B12C), UINT64_C(0x00051FE69CA7F94B),
2473           UINT64_C(0x000772203CEE99E4), UINT64_C(0x0005F1FAC7E8C081),
2474           UINT64_C(0x0003E578A1665444)}},
2475         {{UINT64_C(0x000B298801B1FE77), UINT64_C(0x0002586B0CE008AC),
2476           UINT64_C(0x00045E778DC50E87), UINT64_C(0x0000FDCB5F3CC8F7),
2477           UINT64_C(0x00017C5D39EFC586)},
2478          {UINT64_C(0x0002A41D8771BA87), UINT64_C(0x0004C8102431A7BA),
2479           UINT64_C(0x0000B390AB74C50C), UINT64_C(0x0002C546F7C05D4D),
2480           UINT64_C(0x0006AAD492B3116F)},
2481          {UINT64_C(0x0008FF03C1367A73), UINT64_C(0x0002A4A748616572),
2482           UINT64_C(0x000605B500CB4A72), UINT64_C(0x0005C39BB9BB5B8B),
2483           UINT64_C(0x000569FE03A16B9F)}},
2484         {{UINT64_C(0x000275341CBCADF6), UINT64_C(0x000430EFD84DCC71),
2485           UINT64_C(0x00022B997FAB00F0), UINT64_C(0x00030C5632CF0693),
2486           UINT64_C(0x0002A0826D840314)},
2487          {UINT64_C(0x000C11CD5CF6EE57), UINT64_C(0x0001257E6308FBB1),
2488           UINT64_C(0x0002F7CE59284FB8), UINT64_C(0x00057DD9BDD3EF59),
2489           UINT64_C(0x0003452936337369)},
2490          {UINT64_C(0x000530B11F6BDDA7), UINT64_C(0x0007A51865D93007),
2491           UINT64_C(0x00076B5BC60F0AC9), UINT64_C(0x000212F031E350EA),
2492           UINT64_C(0x000075AED0A2ADAE)}},
2493         {{UINT64_C(0x000AD78B391BD2D5), UINT64_C(0x0003A11ABEA7FF04),
2494           UINT64_C(0x00046A25F0F350A4), UINT64_C(0x0001543CC7EF57AB),
2495           UINT64_C(0x00069223D8309EB4)},
2496          {UINT64_C(0x000B33AD1F86A15A), UINT64_C(0x00036B112A03501B),
2497           UINT64_C(0x000344A2066D4EF2), UINT64_C(0x00055436BD4B9A9D),
2498           UINT64_C(0x00041A71A942A508)},
2499          {UINT64_C(0x0006FF9618F443D0), UINT64_C(0x0000F3000CB2F1BA),
2500           UINT64_C(0x00022C2897DAADE0), UINT64_C(0x0004F604C596FCBC),
2501           UINT64_C(0x000585C83B55AFF4)}},
2502         {{UINT64_C(0x00084B6AF7D110A1), UINT64_C(0x0001EFC9DBBC4234),
2503           UINT64_C(0x000796661C37007B), UINT64_C(0x00010DB07259FC43),
2504           UINT64_C(0x000202355E8495E8)},
2505          {UINT64_C(0x000DA5E823077C6C), UINT64_C(0x0003C9503E1777C0),
2506           UINT64_C(0x0001A5E4F1DED645), UINT64_C(0x0000DE482043B271),
2507           UINT64_C(0x0004B4CCC6B33E65)},
2508          {UINT64_C(0x00011797174CD365), UINT64_C(0x000242D89859CD09),
2509           UINT64_C(0x0000714A4593BD77), UINT64_C(0x00051B9197490AE5),
2510           UINT64_C(0x0006E6A726266AD0)}},
2511         {{UINT64_C(0x0006163606CF5614), UINT64_C(0x0003B9BA82C96535),
2512           UINT64_C(0x000075E66F7CF6D4), UINT64_C(0x000411E3154EC181),
2513           UINT64_C(0x00029B40D6F2E74B)},
2514          {UINT64_C(0x0005D2E429379A65), UINT64_C(0x00008B1A72434343),
2515           UINT64_C(0x00041E8D9808E74A), UINT64_C(0x0004F14CB75EB689),
2516           UINT64_C(0x0004F434008C1B41)},
2517          {UINT64_C(0x00067B260BE03B58), UINT64_C(0x0001EEF4691ADD3A),
2518           UINT64_C(0x0002850460D0C4EE), UINT64_C(0x0005AFCC1FFDAA08),
2519           UINT64_C(0x0003AB9267B9F6DC)}},
2520         {{UINT64_C(0x000B5389B777649D), UINT64_C(0x0001F24DBD666B73),
2521           UINT64_C(0x00036DFB5DE2A31F), UINT64_C(0x0005EB994849E227),
2522           UINT64_C(0x0004279FBFCC1BD4)},
2523          {UINT64_C(0x000B7EA950A7028F), UINT64_C(0x000732F69E7CF7DE),
2524           UINT64_C(0x00066069E71F3D7B), UINT64_C(0x00028033D27359B1),
2525           UINT64_C(0x000183D3130F9EED)},
2526          {UINT64_C(0x000D74EA5E42F626), UINT64_C(0x0004B6BC58EA9C64),
2527           UINT64_C(0x0003C2C8FEA82634), UINT64_C(0x0002CE04C5B571DD),
2528           UINT64_C(0x0001E397436718BF)}},
2529         {{UINT64_C(0x000B7484714F9403), UINT64_C(0x0004FC7BF02108DB),
2530           UINT64_C(0x0003678FA400AD90), UINT64_C(0x00028EF7C8AC0FE1),
2531           UINT64_C(0x000504A42505BDEF)},
2532          {UINT64_C(0x000A0A066ABF7FBB), UINT64_C(0x00072AEC8D4433CE),
2533           UINT64_C(0x0002A0384B583EC1), UINT64_C(0x0002AB91E995640C),
2534           UINT64_C(0x000169BC2751E588)},
2535          {UINT64_C(0x0009EB12660357B5), UINT64_C(0x00077A9937FD5E5F),
2536           UINT64_C(0x00021FF5CE16F36C), UINT64_C(0x0001C906DF80DF41),
2537           UINT64_C(0x0000CC48BA3DF0EA)}},
2538         {{UINT64_C(0x000E23A04EED9E35), UINT64_C(0x0004ADC00E39212A),
2539           UINT64_C(0x00017453A70FE352), UINT64_C(0x0006D407B1DB39B2),
2540           UINT64_C(0x0005D825F613189B)},
2541          {UINT64_C(0x00040B93828FA640), UINT64_C(0x00017C0D3D748E6A),
2542           UINT64_C(0x0003E2BC36916CA3), UINT64_C(0x00026F60A9DD3D92),
2543           UINT64_C(0x0002CB47886C390F)},
2544          {UINT64_C(0x0008E7468212D22E), UINT64_C(0x0005E3F127FB8644),
2545           UINT64_C(0x0006C85DFBC55D78), UINT64_C(0x0007DFDFC6C531F3),
2546           UINT64_C(0x000674E26E15BF6B)}},
2547         {{UINT64_C(0x000742AB1CE45F49), UINT64_C(0x000352695906DAC7),
2548           UINT64_C(0x00067D9DD8206042), UINT64_C(0x0002A8F523687321),
2549           UINT64_C(0x000209C2CC3DF3F2)},
2550          {UINT64_C(0x000582E07DACB336), UINT64_C(0x000659136B8B103E),
2551           UINT64_C(0x00075BFAC5E74BD0), UINT64_C(0x00030FA01037A173),
2552           UINT64_C(0x00027A6E9B54A029)},
2553          {UINT64_C(0x00010636DC94228F), UINT64_C(0x000334F99AD2D208),
2554           UINT64_C(0x000210CE39BF48FB), UINT64_C(0x0005CE98A1D2F02D),
2555           UINT64_C(0x0007E987948C2C36)}},
2556         {{UINT64_C(0x00060BD25865CC5A), UINT64_C(0x000717975E64B3FD),
2557           UINT64_C(0x000791116DD316E7), UINT64_C(0x000027FC70709E15),
2558           UINT64_C(0x000014CE5C4B9FED)},
2559          {UINT64_C(0x000FCB5EE438E62F), UINT64_C(0x0003918BFDF256E1),
2560           UINT64_C(0x000122BF1C544888), UINT64_C(0x00014620D1E4D6BE),
2561           UINT64_C(0x00031786B5D1AA6E)},
2562          {UINT64_C(0x000D8369134DE3F1), UINT64_C(0x000358E513D33827),
2563           UINT64_C(0x0001AD06806E9F25), UINT64_C(0x0007751294480EB8),
2564           UINT64_C(0x00070E23870117F1)}},
2565         {{UINT64_C(0x00006F3BCD1B2F70), UINT64_C(0x0000FA5C78F50611),
2566           UINT64_C(0x000411C55245B3EE), UINT64_C(0x0004944F3F6FC1FB),
2567           UINT64_C(0x000044A8C001AA25)},
2568          {UINT64_C(0x000D4183C7441852), UINT64_C(0x000055D95E60582E),
2569           UINT64_C(0x0007BCDE3E7457F2), UINT64_C(0x00008C8DB0B27127),
2570           UINT64_C(0x000151434B629450)},
2571          {UINT64_C(0x000E723B7F1ECEB3), UINT64_C(0x0004AD5542379FD9),
2572           UINT64_C(0x0007AD503D0F9616), UINT64_C(0x0007C70002B01072),
2573           UINT64_C(0x00014758CEF08E44)}},
2574         {{UINT64_C(0x000C404279D4475B), UINT64_C(0x00069FDFED5F482D),
2575           UINT64_C(0x0004DDA9A420B9DE), UINT64_C(0x000442DE4FB067AC),
2576           UINT64_C(0x00011575126C1A87)},
2577          {UINT64_C(0x0000D4A13CE38DD3), UINT64_C(0x00055443D3A075FC),
2578           UINT64_C(0x0002D0CC46239CD5), UINT64_C(0x00037A0D9341BE9F),
2579           UINT64_C(0x0007D72576A16B0E)},
2580          {UINT64_C(0x00018F1C0EA31782), UINT64_C(0x00017F5C99216478),
2581           UINT64_C(0x00070B5287151CE4), UINT64_C(0x00069D184D521E3F),
2582           UINT64_C(0x00050B904149AB2A)}},
2583         {{UINT64_C(0x000B9757956238BE), UINT64_C(0x000719EF66129C48),
2584           UINT64_C(0x0003A4A2018A1497), UINT64_C(0x00060697B014C86D),
2585           UINT64_C(0x0004211842CFCBB6)},
2586          {UINT64_C(0x00000FC466BA4129), UINT64_C(0x0005C2C02129FAE5),
2587           UINT64_C(0x0007CC7E722EDDB4), UINT64_C(0x000463EFB0DEA9BC),
2588           UINT64_C(0x0005CEAB5704312E)},
2589          {UINT64_C(0x0003CB3EF741A489), UINT64_C(0x000447C22A9AC8F6),
2590           UINT64_C(0x00070DC1AC662C00), UINT64_C(0x000643FBD84746C4),
2591           UINT64_C(0x00047AC14BC4BE7F)}},
2592         {{UINT64_C(0x0001F0ED4EAB4BF3), UINT64_C(0x0003BDBDE234EFD5),
2593           UINT64_C(0x0007F9817DB30238), UINT64_C(0x0005F1CA682E32C5),
2594           UINT64_C(0x0004EA29A4CB0AC2)},
2595          {UINT64_C(0x000119149BBD8CE2), UINT64_C(0x00053B67849C8636),
2596           UINT64_C(0x0000EE5D57DDF5A8), UINT64_C(0x0004ACD87314DB39),
2597           UINT64_C(0x00050B40A053EECC)},
2598          {UINT64_C(0x000A4EC0C58B1A27), UINT64_C(0x0004144223834F69),
2599           UINT64_C(0x00006C3A5FA7A66C), UINT64_C(0x0001E7C747C08629),
2600           UINT64_C(0x0006C75F05A9CE16)}},
2601     },
2602     {
2603         {{UINT64_C(0x000DA9D6805AB8BD), UINT64_C(0x000551D3DA5834BB),
2604           UINT64_C(0x00044E2A3C850244), UINT64_C(0x00003C161B738B16),
2605           UINT64_C(0x00016FA62C9D5E85)},
2606          {UINT64_C(0x0002A0101ADD9A68), UINT64_C(0x00005F00A8B73A3E),
2607           UINT64_C(0x0002700C6352EA8B), UINT64_C(0x00058F72766D9CF5),
2608           UINT64_C(0x0000786CDD193DF0)},
2609          {UINT64_C(0x0008EF307292DAA3), UINT64_C(0x00078A0B85552DDA),
2610           UINT64_C(0x0002B5E21BAB14CA), UINT64_C(0x00042FBE2B9E130A),
2611           UINT64_C(0x0006A1FF64B8DFE0)}},
2612         {{UINT64_C(0x000C37A44368992F), UINT64_C(0x000503AD37567295),
2613           UINT64_C(0x00022D6E783EB997), UINT64_C(0x00073209A3FE24D5),
2614           UINT64_C(0x00061BEA701A085E)},
2615          {UINT64_C(0x000F79A9906695E1), UINT64_C(0x0006563AA33BECCA),
2616           UINT64_C(0x0006D9C258571274), UINT64_C(0x0002082E0EFF1CF3),
2617           UINT64_C(0x00006858AC5958CD)},
2618          {UINT64_C(0x00073B5DF922B953), UINT64_C(0x0007D833BB16576F),
2619           UINT64_C(0x0002D7E0952EDC43), UINT64_C(0x0004C40B62DE9061),
2620           UINT64_C(0x0006802A03BBC4A8)}},
2621         {{UINT64_C(0x000AA4FF9CD029FB), UINT64_C(0x0006A8F58A61B495),
2622           UINT64_C(0x00076DE5AEDD2889), UINT64_C(0x000418E79FA28A81),
2623           UINT64_C(0x0004AC6187BA7E86)},
2624          {UINT64_C(0x000BB424077E0F78), UINT64_C(0x0006BE304793DFB9),
2625           UINT64_C(0x0001D1A8E8B74E8C), UINT64_C(0x000400EE04CA634E),
2626           UINT64_C(0x0000D23EE5F7A76A)},
2627          {UINT64_C(0x000E8C82769B883D), UINT64_C(0x00061FF0A44B7C0C),
2628           UINT64_C(0x00071C3F9C0C1C14), UINT64_C(0x0001A72BC400F4FB),
2629           UINT64_C(0x000063C977E0C2A2)}},
2630         {{UINT64_C(0x000B7EA553156CDE), UINT64_C(0x0004F77ED1DA0116),
2631           UINT64_C(0x0005313D6AB54554), UINT64_C(0x00068205E8633D72),
2632           UINT64_C(0x0004C0F6F5D7AA5B)},
2633          {UINT64_C(0x0002AC03322F3ABE), UINT64_C(0x00013B9DB1E063DB),
2634           UINT64_C(0x0001653067E1D575), UINT64_C(0x00068FA0726EBED0),
2635           UINT64_C(0x00056D9BF5F7ACB5)},
2636          {UINT64_C(0x0008092305F9E607), UINT64_C(0x00050ADE9DDED289),
2637           UINT64_C(0x000677C866291C9D), UINT64_C(0x0000A00D6AD82313),
2638           UINT64_C(0x000204C6129E7A63)}},
2639         {{UINT64_C(0x000CC52FB8AA29BE), UINT64_C(0x00001FD5EBA86F95),
2640           UINT64_C(0x0003EDEE7EE1584C), UINT64_C(0x0007A98D872F3541),
2641           UINT64_C(0x00041BB59C74740D)},
2642          {UINT64_C(0x000B91A314979A22), UINT64_C(0x000445CC55FA6E68),
2643           UINT64_C(0x00029A9728593F50), UINT64_C(0x0003D453E9BB2BF4),
2644           UINT64_C(0x000458E9C150C319)},
2645          {UINT64_C(0x0008B902F4166F58), UINT64_C(0x00008BF4504AEFA7),
2646           UINT64_C(0x000507F7245632D2), UINT64_C(0x00046F4236C007FE),
2647           UINT64_C(0x0005F8B80AB194EF)}},
2648         {{UINT64_C(0x000E0E279B58D515), UINT64_C(0x000494C3FDFB0D3E),
2649           UINT64_C(0x0006ADD516425B77), UINT64_C(0x0000C99F3F472FC4),
2650           UINT64_C(0x00023C04A4713378)},
2651          {UINT64_C(0x00033C225C70B892), UINT64_C(0x0005DEF1B82B20A8),
2652           UINT64_C(0x00062D4704CA33EF), UINT64_C(0x00001505BB87DFBE),
2653           UINT64_C(0x00018D6306B777E3)},
2654          {UINT64_C(0x000A6436A9F762A4), UINT64_C(0x000102ABB9E7477D),
2655           UINT64_C(0x00004BD6FA6C8FD0), UINT64_C(0x0002E4FAD22E39A3),
2656           UINT64_C(0x0007D2D079A6B2DA)}},
2657         {{UINT64_C(0x000B537BD4E0A6B1), UINT64_C(0x00064415199F9972),
2658           UINT64_C(0x0002D496FA892827), UINT64_C(0x00029834D9583EE0),
2659           UINT64_C(0x0001F325BFC1AEE2)},
2660          {UINT64_C(0x000BE9617256C790), UINT64_C(0x0002301EF1F61C9F),
2661           UINT64_C(0x0002A218C8615200), UINT64_C(0x00060780EED8C6E7),
2662           UINT64_C(0x0004A46B99106694)},
2663          {UINT64_C(0x00037B99B0CAB13C), UINT64_C(0x00078242AB738B41),
2664           UINT64_C(0x00018258BBD69E1C), UINT64_C(0x00043D3E9A166688),
2665           UINT64_C(0x00055321313F52D3)}},
2666         {{UINT64_C(0x00067501A6250F6D), UINT64_C(0x000051135CC1DB41),
2667           UINT64_C(0x0005B70CAFF3B24D), UINT64_C(0x0007AF6469DAB79A),
2668           UINT64_C(0x0005A486101FF730)},
2669          {UINT64_C(0x000B81D6FB3B7613), UINT64_C(0x000705F8371DE858),
2670           UINT64_C(0x0004616EECCC6DE2), UINT64_C(0x0003B624C3D98F88),
2671           UINT64_C(0x0002580784E014F7)},
2672          {UINT64_C(0x0003C6B7855856C3), UINT64_C(0x0002ACC5BCB17705),
2673           UINT64_C(0x0004E8DA7BC00D1D), UINT64_C(0x0006A7AF33BBD40A),
2674           UINT64_C(0x0004CA608C42E191)}},
2675         {{UINT64_C(0x00014957F896B8DD), UINT64_C(0x0002EE29ED7F94C7),
2676           UINT64_C(0x00006C535FD580D1), UINT64_C(0x0007EE5C2C854B58),
2677           UINT64_C(0x000390B6176CC0A5)},
2678          {UINT64_C(0x000D8E851115F82F), UINT64_C(0x00057712C2473469),
2679           UINT64_C(0x0005FED753D7DE49), UINT64_C(0x000100E99106EB96),
2680           UINT64_C(0x00032A5894C01232)},
2681          {UINT64_C(0x0003F3BD2CBCD3E4), UINT64_C(0x00051B2182A69BC1),
2682           UINT64_C(0x00047F72BDF9D1E5), UINT64_C(0x0004386BB2531556),
2683           UINT64_C(0x0006251703B0886A)}},
2684         {{UINT64_C(0x000DA5B8DDCC32C8), UINT64_C(0x0004B6E439859BAC),
2685           UINT64_C(0x000565788B32A991), UINT64_C(0x0007DA2C259D0EFC),
2686           UINT64_C(0x00026E2BCA2F2403)},
2687          {UINT64_C(0x00036BD2B233B8DF), UINT64_C(0x000025EC957D6035),
2688           UINT64_C(0x000421C4260564F0), UINT64_C(0x00024C08F5533B05),
2689           UINT64_C(0x0004195603852EB3)},
2690          {UINT64_C(0x0007B58166F4C3F1), UINT64_C(0x000262CCAD523D27),
2691           UINT64_C(0x0002167831F73FA9), UINT64_C(0x0002330A70233315),
2692           UINT64_C(0x0001E997E60115B3)}},
2693         {{UINT64_C(0x000B11A8A180A2DD), UINT64_C(0x000740DE93A3B1BB),
2694           UINT64_C(0x0001A75730E8D6F7), UINT64_C(0x0002787677BCD20B),
2695           UINT64_C(0x0002C62508D0E0E3)},
2696          {UINT64_C(0x000193FF85DC4853), UINT64_C(0x0006FF8B716F7C95),
2697           UINT64_C(0x0005695A400F15D0), UINT64_C(0x0006FCEA3FD445A5),
2698           UINT64_C(0x0006827935BB527C)},
2699          {UINT64_C(0x000E756880792D5C), UINT64_C(0x00017C4CBFDCB6F6),
2700           UINT64_C(0x0003621A1F5AD47B), UINT64_C(0x00008ACFEC1E2F0B),
2701           UINT64_C(0x000680EE7BD4FDC9)}},
2702         {{UINT64_C(0x000B22617017AD54), UINT64_C(0x0006D79A05652478),
2703           UINT64_C(0x00078436BB1A4FC2), UINT64_C(0x000588C3017ACA81),
2704           UINT64_C(0x000721CFE104D7FC)},
2705          {UINT64_C(0x00058F6241221394), UINT64_C(0x0003B5CC42F98968),
2706           UINT64_C(0x0005B8C26DF7368C), UINT64_C(0x000258033A96E20A),
2707           UINT64_C(0x0006CDFD92327819)},
2708          {UINT64_C(0x000D5F316E441B95), UINT64_C(0x0007262AFF6C2AD0),
2709           UINT64_C(0x000615C867B8A858), UINT64_C(0x0002304A98935CF1),
2710           UINT64_C(0x0001C346C9D50FBE)}},
2711         {{UINT64_C(0x000B8D64E6633E8B), UINT64_C(0x0004415800321D6A),
2712           UINT64_C(0x000112873DB9D153), UINT64_C(0x0007454E53F98187),
2713           UINT64_C(0x0006D9C7B5E085F8)},
2714          {UINT64_C(0x0008054C9FC0114A), UINT64_C(0x00060A1D43700A51),
2715           UINT64_C(0x0007F536F76DCA7B), UINT64_C(0x00059A4ADEA37323),
2716           UINT64_C(0x0006F027E38F2362)},
2717          {UINT64_C(0x000304C8AA59BE30), UINT64_C(0x0007FE5A68FCF77D),
2718           UINT64_C(0x0006BDE087AB92A0), UINT64_C(0x000025E8F669E08C),
2719           UINT64_C(0x00018E93C6B2C356)}},
2720         {{UINT64_C(0x0004A344E63D4ACA), UINT64_C(0x0007C308BC5ED73E),
2721           UINT64_C(0x0003A32DEAF4E9FA), UINT64_C(0x0004472F4E854593),
2722           UINT64_C(0x000047D341D3DDFD)},
2723          {UINT64_C(0x0007532D39E9B3BB), UINT64_C(0x000217DF5A0A7433),
2724           UINT64_C(0x00074975495E1565), UINT64_C(0x0002821D2EEF04CF),
2725           UINT64_C(0x00054FC7406A916F)},
2726          {UINT64_C(0x000913F345C8BBFF), UINT64_C(0x0006989D1646C723),
2727           UINT64_C(0x00027764F8A16ACB), UINT64_C(0x000008C125AF8D5F),
2728           UINT64_C(0x0006800FE91196F4)}},
2729         {{UINT64_C(0x00082C098B00AA79), UINT64_C(0x000770B1C497ACD1),
2730           UINT64_C(0x000344FD551B8CCE), UINT64_C(0x00023F33BE497F56),
2731           UINT64_C(0x0002EAF897898B65)},
2732          {UINT64_C(0x0007F51FA8DC697B), UINT64_C(0x00074CE3069BBE12),
2733           UINT64_C(0x0004C428EA0209F5), UINT64_C(0x00002F2D8D0BB62C),
2734           UINT64_C(0x00004E256AFA4C76)},
2735          {UINT64_C(0x00001D22BDE52262), UINT64_C(0x0006DE17872B5135),
2736           UINT64_C(0x00066D4BFED89F63), UINT64_C(0x000389FDDE527F9D),
2737           UINT64_C(0x0000EB2F6E615478)}},
2738         {{UINT64_C(0x000C58D612641095), UINT64_C(0x00054CA77FCC5570),
2739           UINT64_C(0x0001DA1FC218000A), UINT64_C(0x00037F0150DC6C3C),
2740           UINT64_C(0x00022955963EF643)},
2741          {UINT64_C(0x0009C17EB03D6EA7), UINT64_C(0x0002DDDAC1318776),
2742           UINT64_C(0x0004E4B91FA27202), UINT64_C(0x0001E2352AB304E3),
2743           UINT64_C(0x00060A0E261D6691)},
2744          {UINT64_C(0x000B576743FFBA33), UINT64_C(0x0005A197F3AFDA0C),
2745           UINT64_C(0x000429DD4FCB8A3F), UINT64_C(0x0001AF629993F4B3),
2746           UINT64_C(0x00045EB119867A22)}},
2747     },
2748     {
2749         {{UINT64_C(0x000AC144EF178112), UINT64_C(0x000094A0264CAF23),
2750           UINT64_C(0x0004A0AC5A24DEFD), UINT64_C(0x0007C7625D1D184E),
2751           UINT64_C(0x0005737B194A6A86)},
2752          {UINT64_C(0x0008F38EC35EE99B), UINT64_C(0x0006D9BAA844775F),
2753           UINT64_C(0x00046F84DF77B762), UINT64_C(0x0002544D6FE58FDC),
2754           UINT64_C(0x00077B72BB7289FB)},
2755          {UINT64_C(0x000DD166D7288C6E), UINT64_C(0x0001C67A51DA413C),
2756           UINT64_C(0x0006973C6FAD10E1), UINT64_C(0x00031DE5E5EDA939),
2757           UINT64_C(0x000393F71ED28892)}},
2758         {{UINT64_C(0x000B1C84EECF7E6B), UINT64_C(0x00056A60AC35BAB2),
2759           UINT64_C(0x0002F06DF1910A93), UINT64_C(0x0000618DC5FAEB06),
2760           UINT64_C(0x0001D49317BBBDF6)},
2761          {UINT64_C(0x000493F2A36F71D9), UINT64_C(0x00040122E257F266),
2762           UINT64_C(0x00007974D73D3705), UINT64_C(0x0001276FD01A753E),
2763           UINT64_C(0x000756654735EC6A)},
2764          {UINT64_C(0x0007DB79632DD089), UINT64_C(0x0001FE3FA5F4A3F7),
2765           UINT64_C(0x0001716E3C167A6F), UINT64_C(0x00053B6AA21FEB09),
2766           UINT64_C(0x00023EC2880EEB4A)}},
2767         {{UINT64_C(0x00025A84454FFE86), UINT64_C(0x000780F2E547DCDF),
2768           UINT64_C(0x000701A2C14FDED4), UINT64_C(0x0004B8A116F259A3),
2769           UINT64_C(0x000695574E1284BB)},
2770          {UINT64_C(0x000D30440055360D), UINT64_C(0x00003410B657F1F4),
2771           UINT64_C(0x0006EE23795C3521), UINT64_C(0x0004C9A2F7E3A24B),
2772           UINT64_C(0x0000FD8B32023BD7)},
2773          {UINT64_C(0x000AE6F82F35FF69), UINT64_C(0x0003F3D6F04FB2C4),
2774           UINT64_C(0x00005F2596E4AACD), UINT64_C(0x0007F09E9725486A),
2775           UINT64_C(0x00062C57118684FB)}},
2776         {{UINT64_C(0x00071AB6451B13D2), UINT64_C(0x000619FA9ABFE206),
2777           UINT64_C(0x0004C28E4E8FA08C), UINT64_C(0x0002CEE0DAC526F3),
2778           UINT64_C(0x0005F61B37975A6F)},
2779          {UINT64_C(0x00015634247F1514), UINT64_C(0x00043246C09599E2),
2780           UINT64_C(0x000502B5C89D4562), UINT64_C(0x00055B6E5B70BD64),
2781           UINT64_C(0x0000924E7D2DA3A4)},
2782          {UINT64_C(0x000DC2A7C58A69B5), UINT64_C(0x0007579FCF83B046),
2783           UINT64_C(0x000490212587ACC9), UINT64_C(0x00042C0D4FB52DDA),
2784           UINT64_C(0x0006EA269EA5E4FF)}},
2785         {{UINT64_C(0x000FAB3168E74931), UINT64_C(0x000009FC282310C8),
2786           UINT64_C(0x0002E357A087E03B), UINT64_C(0x0002E82B3F54812E),
2787           UINT64_C(0x0000A1378335E998)},
2788          {UINT64_C(0x0009E98B211CF746), UINT64_C(0x000294635069D795),
2789           UINT64_C(0x00066C9A8A94C197), UINT64_C(0x00049DBA942CC086),
2790           UINT64_C(0x00038BE03A6F71F4)},
2791          {UINT64_C(0x000D42F0FB6C56DF), UINT64_C(0x0003D1EF830454E8),
2792           UINT64_C(0x000225CD3F51B513), UINT64_C(0x00002F23E7710F71),
2793           UINT64_C(0x0007ED09816C213D)}},
2794         {{UINT64_C(0x000475A30D2F95C3), UINT64_C(0x0006534DABA67C75),
2795           UINT64_C(0x0005FFF4349E9DCF), UINT64_C(0x0005741BFE20E51E),
2796           UINT64_C(0x0007C9C06E28F6DB)},
2797          {UINT64_C(0x0004C91D367D647C), UINT64_C(0x0005DB920659E98B),
2798           UINT64_C(0x0006E2DC6EDEAE13), UINT64_C(0x00045FADDDCD7438),
2799           UINT64_C(0x0006A3D3CCDD5BDE)},
2800          {UINT64_C(0x000030AFB5D712D2), UINT64_C(0x0004232A6E545B6F),
2801           UINT64_C(0x0006CC8095D31E5A), UINT64_C(0x0005E95D17B4F93D),
2802           UINT64_C(0x000640826F938DB4)}},
2803         {{UINT64_C(0x00054E864AE39A36), UINT64_C(0x00075453A7420C12),
2804           UINT64_C(0x0007550FC0647586), UINT64_C(0x0000CE261F056DAC),
2805           UINT64_C(0x0006EC06688237F9)},
2806          {UINT64_C(0x00009D858855A118), UINT64_C(0x00035D6E1CAC4C58),
2807           UINT64_C(0x00051BC56EDB0309), UINT64_C(0x00056720925976FA),
2808           UINT64_C(0x0003095195EC98C0)},
2809          {UINT64_C(0x00028453ABBCD94C), UINT64_C(0x0000442BD67826FA),
2810           UINT64_C(0x00027091B2C7D123), UINT64_C(0x00053D5CE098F2DF),
2811           UINT64_C(0x00033B91CBED8C33)}},
2812         {{UINT64_C(0x00031BB1AEC4EB7B), UINT64_C(0x000404BD71986FBA),
2813           UINT64_C(0x000789F140F41C34), UINT64_C(0x00046319EC635090),
2814           UINT64_C(0x00062555BCEF03FC)},
2815          {UINT64_C(0x000B7957AF9DF20B), UINT64_C(0x00061499B0C64744),
2816           UINT64_C(0x0005A1460AB6F031), UINT64_C(0x000254B48FE3B63C),
2817           UINT64_C(0x000138DA1B0B8458)},
2818          {UINT64_C(0x0008FC31F72B00C5), UINT64_C(0x00009260DAF93E82),
2819           UINT64_C(0x0007724F21722EEC), UINT64_C(0x00065104B46DE00D),
2820           UINT64_C(0x0005C74C4AADE4A1)}},
2821         {{UINT64_C(0x000C942D7E200CDA), UINT64_C(0x0004DCCF2C9062F8),
2822           UINT64_C(0x00033C6DC30EF168), UINT64_C(0x0005876E586F49F0),
2823           UINT64_C(0x0005C625124B23D5)},
2824          {UINT64_C(0x000AF942F3B8567F), UINT64_C(0x00068DD426ED4B8D),
2825           UINT64_C(0x00074CE2434E2244), UINT64_C(0x0005BC01452BAF26),
2826           UINT64_C(0x00068D340AA53E01)},
2827          {UINT64_C(0x00062BADB88E1FEE), UINT64_C(0x00001B7927E30590),
2828           UINT64_C(0x0007FB96EBA04357), UINT64_C(0x00063C4C5B983654),
2829           UINT64_C(0x0003CB27C00B0E03)}},
2830         {{UINT64_C(0x0003A8ABA3BA06D8), UINT64_C(0x0005183A547A5052),
2831           UINT64_C(0x0002FA684E05B048), UINT64_C(0x00037DC680820759),
2832           UINT64_C(0x0003A758E398D110)},
2833          {UINT64_C(0x000AE41D00F8BBE3), UINT64_C(0x0007C91843988CEE),
2834           UINT64_C(0x00008AC196646158), UINT64_C(0x0004F9CA63F0D300),
2835           UINT64_C(0x0004AE71F5595151)},
2836          {UINT64_C(0x0009C5C331E75B70), UINT64_C(0x000034AEB589633E),
2837           UINT64_C(0x0003A2AFA63836A6), UINT64_C(0x00071AA62CA57C97),
2838           UINT64_C(0x0002588D39981664)}},
2839         {{UINT64_C(0x0002F5861915F134), UINT64_C(0x0002E22B903AD5D1),
2840           UINT64_C(0x0004B62079B373C7), UINT64_C(0x0006E593A78A5789),
2841           UINT64_C(0x0006ACFA4114B928)},
2842          {UINT64_C(0x000845994C9F8482), UINT64_C(0x00018D23FF32CC4E),
2843           UINT64_C(0x0001EF02A3741210), UINT64_C(0x0003A1F60A318F68),
2844           UINT64_C(0x00074BBE122C022E)},
2845          {UINT64_C(0x000235F03B8817CF), UINT64_C(0x0004136EC580474B),
2846           UINT64_C(0x00030B5BE4C70BFD), UINT64_C(0x0006771287C6A491),
2847           UINT64_C(0x0004EE10D834F1D6)}},
2848         {{UINT64_C(0x0009238C49B5B594), UINT64_C(0x0006D951D5930D4A),
2849           UINT64_C(0x00052C92A1704BF4), UINT64_C(0x00058049C0061E24),
2850           UINT64_C(0x0003414A1DFBD8A0)},
2851          {UINT64_C(0x0003B17B475F899E), UINT64_C(0x0000A207F4C1C87F),
2852           UINT64_C(0x00005DAC41647336), UINT64_C(0x000017D58BC6FE28),
2853           UINT64_C(0x00006090A9CB1708)},
2854          {UINT64_C(0x0000E353DF9AED9F), UINT64_C(0x000211A100A66400),
2855           UINT64_C(0x000537F1DBBF53C6), UINT64_C(0x00061176C39FF089),
2856           UINT64_C(0x0000ED4DD7183518)}},
2857         {{UINT64_C(0x000D4A93DE96CDC1), UINT64_C(0x0001C832B89CB8A0),
2858           UINT64_C(0x000203277525319E), UINT64_C(0x0004CEE0F6725575),
2859           UINT64_C(0x00070ED69AF9BF53)},
2860          {UINT64_C(0x000C17F8BAA5AAC7), UINT64_C(0x0006AF4ABBDC969F),
2861           UINT64_C(0x0003A0E69B82101E), UINT64_C(0x0006234479D6A63E),
2862           UINT64_C(0x0002BF20728C2007)},
2863          {UINT64_C(0x00063FEF01AE2A02), UINT64_C(0x0001C86F09FC4AF4),
2864           UINT64_C(0x00069A1DE168EBCE), UINT64_C(0x00063F996EFB8433),
2865           UINT64_C(0x00072A687DA051BD)}},
2866         {{UINT64_C(0x000A8952F3FB5F0C), UINT64_C(0x00022194DC688FAE),
2867           UINT64_C(0x0006F9F5064736BF), UINT64_C(0x0007A6A4D691B9DB),
2868           UINT64_C(0x0007F5B139E354FB)},
2869          {UINT64_C(0x0000B63808606E6E), UINT64_C(0x0005E413F0FE0384),
2870           UINT64_C(0x00024FB74A712242), UINT64_C(0x00027B1CB73DDC68),
2871           UINT64_C(0x0006285935149BF9)},
2872          {UINT64_C(0x000D30A9D3AC7820), UINT64_C(0x0002B97ED3978DF1),
2873           UINT64_C(0x0003681BAB9F5289), UINT64_C(0x0000D844B826D276),
2874           UINT64_C(0x000784A758F5FDDE)}},
2875         {{UINT64_C(0x0005EF9827213EE3), UINT64_C(0x00042F84E4310A41),
2876           UINT64_C(0x0004A5143748EB06), UINT64_C(0x0003190974F9FF92),
2877           UINT64_C(0x0005016A42C2EB4B)},
2878          {UINT64_C(0x00000CB993776C25), UINT64_C(0x0005E9694BF91DF4),
2879           UINT64_C(0x00056BC66736D688), UINT64_C(0x0002EC931ADE934B),
2880           UINT64_C(0x0001A9C364E091BF)},
2881          {UINT64_C(0x000E211DC7632283), UINT64_C(0x00035BE411AEEFD3),
2882           UINT64_C(0x00015DAFEBCCAC46), UINT64_C(0x00037714AEB785FD),
2883           UINT64_C(0x0006253CC0A245FF)}},
2884         {{UINT64_C(0x00029AF81A0D1BD2), UINT64_C(0x00003B61C799BE14),
2885           UINT64_C(0x0001C03C6426B11A), UINT64_C(0x0007F386EC4C5C3C),
2886           UINT64_C(0x0000B2BC5FE81F9E)},
2887          {UINT64_C(0x000AD04EE82724D3), UINT64_C(0x0005B1D7846B04CA),
2888           UINT64_C(0x00033D35B52BC659), UINT64_C(0x000135A47CD22439),
2889           UINT64_C(0x0007D7B6CAEA433E)},
2890          {UINT64_C(0x000850D32772E3DB), UINT64_C(0x000582BED8E87C91),
2891           UINT64_C(0x000198367AE74473), UINT64_C(0x0002F5A5839CEAE9),
2892           UINT64_C(0x0002B8174D7564F2)}},
2893     },
2894     {
2895         {{UINT64_C(0x0005F71E4CC72DC5), UINT64_C(0x000729408117FF19),
2896           UINT64_C(0x000309B7A677423D), UINT64_C(0x0004839F84C2AB89),
2897           UINT64_C(0x00008A95BA320E5D)},
2898          {UINT64_C(0x00078965FDB1CB39), UINT64_C(0x0005F0C0D8298F25),
2899           UINT64_C(0x00055C4EEDD50E22), UINT64_C(0x00023DC216E90B73),
2900           UINT64_C(0x000797D03A50DC08)},
2901          {UINT64_C(0x000D4CA0AD220D40), UINT64_C(0x00028CD933850D3B),
2902           UINT64_C(0x0004D7EE3B9C333B), UINT64_C(0x0002966D4130006D),
2903           UINT64_C(0x0000FBD61D1E8F9C)}},
2904         {{UINT64_C(0x00009E516DAADA87), UINT64_C(0x0004EC925BC0EEEE),
2905           UINT64_C(0x0006EFFBA132BCEB), UINT64_C(0x000724D09DAD4807),
2906           UINT64_C(0x000452C79585B373)},
2907          {UINT64_C(0x000F1401F95C5FB5), UINT64_C(0x0005A1CE98BCB0CF),
2908           UINT64_C(0x000216304328D3D2), UINT64_C(0x0004BF1910725FC2),
2909           UINT64_C(0x0004002028E1F6C0)},
2910          {UINT64_C(0x000BCA6D33FB4AF5), UINT64_C(0x000699B08CFF3D9E),
2911           UINT64_C(0x0000EA0CDC3C332C), UINT64_C(0x000630F4F9EAC5C7),
2912           UINT64_C(0x000780B9E89D8FFA)}},
2913         {{UINT64_C(0x000CF75D097A1682), UINT64_C(0x00032545E3AC653A),
2914           UINT64_C(0x00029DB14F338894), UINT64_C(0x000351894CA83CAE),
2915           UINT64_C(0x000318CEC53A3C6A)},
2916          {UINT64_C(0x000F2E2D2A2EA810), UINT64_C(0x00054DDA2C9BB050),
2917           UINT64_C(0x000290BE850E8961), UINT64_C(0x000287BC5EBC0BFC),
2918           UINT64_C(0x00062D4620BB48F9)},
2919          {UINT64_C(0x0005A0F8E756C417), UINT64_C(0x0004937AF0050D8E),
2920           UINT64_C(0x0003DF98E8FBE4F8), UINT64_C(0x00073EF8BBA04BAC),
2921           UINT64_C(0x0003743A4A505CD5)}},
2922         {{UINT64_C(0x000AC304DDD850C1), UINT64_C(0x000116AE8E058E54),
2923           UINT64_C(0x0003E025C2CAAABC), UINT64_C(0x0006FC6FE28AC49A),
2924           UINT64_C(0x00016E67A015DEA5)},
2925          {UINT64_C(0x0000CF3F158429CD), UINT64_C(0x000480063B01884B),
2926           UINT64_C(0x000363368F078BE2), UINT64_C(0x000504AB7790BA1A),
2927           UINT64_C(0x0006710350B446FA)},
2928          {UINT64_C(0x000D8B8DE6397785), UINT64_C(0x000188CD6C441A62),
2929           UINT64_C(0x0004AD0920B22E3C), UINT64_C(0x0005021ECF3C72DE),
2930           UINT64_C(0x0003D133001D1ED5)}},
2931         {{UINT64_C(0x000B60A8C5FAF1CD), UINT64_C(0x0004C53C423A845B),
2932           UINT64_C(0x000520A9E9FA2A69), UINT64_C(0x00027D388A1F08D1),
2933           UINT64_C(0x000032396160EC47)},
2934          {UINT64_C(0x00038139094FAD75), UINT64_C(0x0003CD9876593CD5),
2935           UINT64_C(0x00071333878088E4), UINT64_C(0x000201E8433445E6),
2936           UINT64_C(0x000112302E7408FF)},
2937          {UINT64_C(0x000CBFE63FC06EE2), UINT64_C(0x00027425B1F20DEB),
2938           UINT64_C(0x000457B85B95B8B5), UINT64_C(0x00076DF4D98AEAFE),
2939           UINT64_C(0x0004EC884BB0909D)}},
2940         {{UINT64_C(0x000560BECBEEDE54), UINT64_C(0x000355F2A19E2A7B),
2941           UINT64_C(0x0003AC869895D894), UINT64_C(0x0001B3A88FAF6472),
2942           UINT64_C(0x00030150F70F46D2)},
2943          {UINT64_C(0x000C4423AB869B40), UINT64_C(0x0003A52F86375064),
2944           UINT64_C(0x00012F5BC0F20340), UINT64_C(0x0006CA222C7412D4),
2945           UINT64_C(0x00032F1254041880)},
2946          {UINT64_C(0x0002B2DBAB6499A6), UINT64_C(0x00011049F2328790),
2947           UINT64_C(0x000696584124F8E2), UINT64_C(0x000142AB6165955E),
2948           UINT64_C(0x00063E346DAEF2ED)}},
2949         {{UINT64_C(0x000D39355730C824), UINT64_C(0x0003FC8CAC7D5529),
2950           UINT64_C(0x00051C9605C77F3A), UINT64_C(0x0007A2A90B74D60C),
2951           UINT64_C(0x0006FA2B0304B184)},
2952          {UINT64_C(0x0004EB3441C3FCC1), UINT64_C(0x0002CACCC532F441),
2953           UINT64_C(0x0005E09ACF224276), UINT64_C(0x00058A77259116FC),
2954           UINT64_C(0x0000BDC2A63D5387)},
2955          {UINT64_C(0x000F8EFB7463FFE8), UINT64_C(0x0001057CA428A821),
2956           UINT64_C(0x0004ED380A470ED0), UINT64_C(0x00076F49D6CEF5F0),
2957           UINT64_C(0x0003F9D2D6743030)}},
2958         {{UINT64_C(0x0000AF30896CC3EF), UINT64_C(0x000201D4DF630DBA),
2959           UINT64_C(0x00052E42F5AFF8BF), UINT64_C(0x00000EB77C14ACF5),
2960           UINT64_C(0x0003CA2DFB8C5EDF)},
2961          {UINT64_C(0x000B5A205B171808), UINT64_C(0x0004C56363842D6C),
2962           UINT64_C(0x000292D70469611A), UINT64_C(0x0006D916356CD45A),
2963           UINT64_C(0x0006B0027CD19FAB)},
2964          {UINT64_C(0x00022B2713528A82), UINT64_C(0x0006E7BE33E7CEF0),
2965           UINT64_C(0x000009FC8141F131), UINT64_C(0x0000150A7927D149),
2966           UINT64_C(0x0003B14B0DA7FF44)}},
2967         {{UINT64_C(0x00032EFED0F84103), UINT64_C(0x00019069CDCE6F9F),
2968           UINT64_C(0x0005C6ACB2ABA640), UINT64_C(0x0006C2B81330E238),
2969           UINT64_C(0x0003A809BBA9B370)},
2970          {UINT64_C(0x0004BE6C8B688B18), UINT64_C(0x0001351C261FED04),
2971           UINT64_C(0x0002C96D1BC48370), UINT64_C(0x0001E95E38FF6352),
2972           UINT64_C(0x0007BEAD8D5751AA)},
2973          {UINT64_C(0x00098F021AA4DB09), UINT64_C(0x00078CD1DC9071DF),
2974           UINT64_C(0x000605F5C2A08E6A), UINT64_C(0x0002E7D15E83EE69),
2975           UINT64_C(0x0000E6B2FF6D9875)}},
2976         {{UINT64_C(0x0004DE5A07C4323E), UINT64_C(0x0002D406347B7064),
2977           UINT64_C(0x0005AA73A0846C15), UINT64_C(0x0000B5C4D6C73A87),
2978           UINT64_C(0x0002AA137FBF2494)},
2979          {UINT64_C(0x0004685341C33279), UINT64_C(0x000082B2B0E321E2),
2980           UINT64_C(0x0005643452806D72), UINT64_C(0x000626BA7990B3AF),
2981           UINT64_C(0x0007CF53B95B4365)},
2982          {UINT64_C(0x00013532346149FF), UINT64_C(0x0005947C275C07F1),
2983           UINT64_C(0x00034F1270EB410F), UINT64_C(0x000514A7C01BF670),
2984           UINT64_C(0x000407161B0257A8)}},
2985         {{UINT64_C(0x00054B5C52AC8719), UINT64_C(0x0002D86CBEB0D6B0),
2986           UINT64_C(0x0004F84A08F1266B), UINT64_C(0x0004D65F37B998EF),
2987           UINT64_C(0x0006C27CE40B4135)},
2988          {UINT64_C(0x0007BF812153FC77), UINT64_C(0x0005CDDD65D79B11),
2989           UINT64_C(0x00054A7071923FF6), UINT64_C(0x00034FBFFF7FA918),
2990           UINT64_C(0x000261A5361256A4)},
2991          {UINT64_C(0x000B13BCE19AAFB7), UINT64_C(0x0006D3B746CE4B8F),
2992           UINT64_C(0x00053A3635869292), UINT64_C(0x0007909536E7719B),
2993           UINT64_C(0x000008EB20D956CC)}},
2994         {{UINT64_C(0x00065CF97D492C5D), UINT64_C(0x00029D9BCEE03B91),
2995           UINT64_C(0x0006041F5A49C183), UINT64_C(0x0002F8117A3A828F),
2996           UINT64_C(0x000369E3DAD33DF2)},
2997          {UINT64_C(0x000D5176A425F79F), UINT64_C(0x000343D6AB0DE966),
2998           UINT64_C(0x00064EFB5C97C515), UINT64_C(0x0002BF9162998A39),
2999           UINT64_C(0x00050EF13FEEC9EB)},
3000          {UINT64_C(0x00039C0CFD97E85B), UINT64_C(0x000770E1CCBB013E),
3001           UINT64_C(0x0005F03BD9F7D9C2), UINT64_C(0x000690F1EE2F80E3),
3002           UINT64_C(0x00071787D1339A82)}},
3003         {{UINT64_C(0x000F7F42B80EB7F2), UINT64_C(0x000544C8293F8329),
3004           UINT64_C(0x000122DA47640B5D), UINT64_C(0x0000FEAFA087BC4E),
3005           UINT64_C(0x00059F0BB3B97004)},
3006          {UINT64_C(0x0002AA28745CD9B5), UINT64_C(0x0007BC8D5CD03005),
3007           UINT64_C(0x0001422C4B7A9189), UINT64_C(0x000282692E6090A7),
3008           UINT64_C(0x0000867B47D33593)},
3009          {UINT64_C(0x0003413E422FA5A2), UINT64_C(0x0006887164EBB90B),
3010           UINT64_C(0x00065C5E1BFDB4A4), UINT64_C(0x0004B98C578628EE),
3011           UINT64_C(0x0004E5352F622184)}},
3012         {{UINT64_C(0x0002549D88E38B2F), UINT64_C(0x0004908DEAD628D9),
3013           UINT64_C(0x000073E0A2E146D7), UINT64_C(0x000664C6FFF36209),
3014           UINT64_C(0x000130159F64A292)},
3015          {UINT64_C(0x000B964E8ECBEDBE), UINT64_C(0x00030E5C798B68B0),
3016           UINT64_C(0x0004BFD953930A67), UINT64_C(0x0007CA03ABB678FB),
3017           UINT64_C(0x00033FEF5B3D5B01)},
3018          {UINT64_C(0x00098E12CCF396A9), UINT64_C(0x0003A8CA995F3788),
3019           UINT64_C(0x0007482D4E5FAAC6), UINT64_C(0x00031D5A37583FCA),
3020           UINT64_C(0x0006D982702EDC91)}},
3021         {{UINT64_C(0x000BE837A054ACCB), UINT64_C(0x0004ECB51A8EF070),
3022           UINT64_C(0x0002F2D57B4FCF60), UINT64_C(0x0004C1513045FB2B),
3023           UINT64_C(0x00047770E3380A5B)},
3024          {UINT64_C(0x000425BEF82D311B), UINT64_C(0x00002005D68620DC),
3025           UINT64_C(0x0007325F0CD3FBE0), UINT64_C(0x0004EEFB9471E0EC),
3026           UINT64_C(0x00028F8C67917260)},
3027          {UINT64_C(0x000B0A66B88E76E6), UINT64_C(0x0000F3A2C9DA4F2E),
3028           UINT64_C(0x0001EA49E958D92A), UINT64_C(0x000026E1BDBB6E03),
3029           UINT64_C(0x0005029291E8FB70)}},
3030         {{UINT64_C(0x000E54C9AEAECCC3), UINT64_C(0x000361674AC1790E),
3031           UINT64_C(0x0006F9F28B87D9E7), UINT64_C(0x00018B8D2B452066),
3032           UINT64_C(0x0007DB9345D70FBC)},
3033          {UINT64_C(0x000F3DF99A78836C), UINT64_C(0x0004914D0D5AE148),
3034           UINT64_C(0x000571EBD41C1239), UINT64_C(0x0005A51875241CFB),
3035           UINT64_C(0x0007336AA1FEBF60)},
3036          {UINT64_C(0x000A212F131FA1A5), UINT64_C(0x0000D92E88DEBB89),
3037           UINT64_C(0x000558BFDAECA4D2), UINT64_C(0x000269A780A65DC8),
3038           UINT64_C(0x0007265543B97C9D)}},
3039     },
3040     {
3041         {{UINT64_C(0x0009BE522B9D7F04), UINT64_C(0x0004BC705622740B),
3042           UINT64_C(0x0007E15EA4E4D172), UINT64_C(0x00038BD4A6FDEDBC),
3043           UINT64_C(0x0005E8C142089478)},
3044          {UINT64_C(0x00048C72EDCC8AA4), UINT64_C(0x0006C5E6065406FA),
3045           UINT64_C(0x0006AF3701C24620), UINT64_C(0x00042EA0F2E70B8F),
3046           UINT64_C(0x00033DFF74481155)},
3047          {UINT64_C(0x000852E6A6E72D7C), UINT64_C(0x00042B699FEF3BF1),
3048           UINT64_C(0x0005907EE2406991), UINT64_C(0x0004D36621FDF916),
3049           UINT64_C(0x0006D7911C011B7B)}},
3050         {{UINT64_C(0x000EBFE9B94F7A12), UINT64_C(0x0004824A85A9AC4B),
3051           UINT64_C(0x00014EEF07D3D55D), UINT64_C(0x000513B829B2AE5C),
3052           UINT64_C(0x0006011380B7D9CC)},
3053          {UINT64_C(0x000A21168961EEA8), UINT64_C(0x00063CBB9BA57577),
3054           UINT64_C(0x0006606B05EF2134), UINT64_C(0x0006B72A1D536E54),
3055           UINT64_C(0x000661849203E9CC)},
3056          {UINT64_C(0x0004C06869AEA3D6), UINT64_C(0x00021F578255BAF7),
3057           UINT64_C(0x00067D1096E12882), UINT64_C(0x00050B150BD416A4),
3058           UINT64_C(0x0002910322AC87CD)}},
3059         {{UINT64_C(0x000644D63DB19259), UINT64_C(0x000547C0FCA86C59),
3060           UINT64_C(0x0007A198D5D3FAEE), UINT64_C(0x0001E28699860365),
3061           UINT64_C(0x0000EFE6732ABA42)},
3062          {UINT64_C(0x000888204C12F590), UINT64_C(0x0001C8E5F2BFF85C),
3063           UINT64_C(0x0001772AF32270BC), UINT64_C(0x0005D962EAAB3158),
3064           UINT64_C(0x0001A34AB97418FB)},
3065          {UINT64_C(0x0008D80BBC8528CC), UINT64_C(0x000241D41B76D92E),
3066           UINT64_C(0x0004513FE5B63EE3), UINT64_C(0x00062D1B5DE35CE4),
3067           UINT64_C(0x0005157C5E57C598)}},
3068         {{UINT64_C(0x000BDB25BE3A9FD2), UINT64_C(0x000302ED2946793F),
3069           UINT64_C(0x00012C506EF80331), UINT64_C(0x0006D13E5DECA318),
3070           UINT64_C(0x00001A5DF0E20F25)},
3071          {UINT64_C(0x000BC9FC9FF75DF0), UINT64_C(0x0000BF1C056F5479),
3072           UINT64_C(0x00036E0E95E2CF70), UINT64_C(0x00058A068DA69D3D),
3073           UINT64_C(0x0001555FC948F50D)},
3074          {UINT64_C(0x000998A0950C1A1C), UINT64_C(0x0005358898A6636E),
3075           UINT64_C(0x0001CC47B1220D25), UINT64_C(0x0007E929E197B7F1),
3076           UINT64_C(0x0006FE5D94BC2454)}},
3077         {{UINT64_C(0x000EABC2EB1D0B59), UINT64_C(0x0007A05C59336123),
3078           UINT64_C(0x0007918FF8448B64), UINT64_C(0x00057A94A01CAB48),
3079           UINT64_C(0x0002FF15B4CC7487)},
3080          {UINT64_C(0x00008799019AECD9), UINT64_C(0x0003D8F58AC75312),
3081           UINT64_C(0x0000D4A7DF2730C1), UINT64_C(0x0005E75D83B3FAC3),
3082           UINT64_C(0x0007180E7E60D802)},
3083          {UINT64_C(0x0005AEF92672CCE1), UINT64_C(0x0006637504959CA3),
3084           UINT64_C(0x00053E5589BFA337), UINT64_C(0x0003A21A8478ED35),
3085           UINT64_C(0x0002DD36E5AC50F9)}},
3086         {{UINT64_C(0x00062DF8E260C004), UINT64_C(0x0004DE30E71B999A),
3087           UINT64_C(0x00045C3FA066284D), UINT64_C(0x000331D9BB25623D),
3088           UINT64_C(0x000202123595AEC6)},
3089          {UINT64_C(0x00047A9FF0131346), UINT64_C(0x0003A150D3AAC3F1),
3090           UINT64_C(0x00029452C6C88616), UINT64_C(0x0007CA8D3EC1A917),
3091           UINT64_C(0x0006EEC72C9A0BF5)},
3092          {UINT64_C(0x000F10845A21F448), UINT64_C(0x00001AAE742835C2),
3093           UINT64_C(0x00025E4CFB83A17F), UINT64_C(0x0007BF8EB92AF3AB),
3094           UINT64_C(0x000699BE9783E779)}},
3095         {{UINT64_C(0x0001DC9C52A66972), UINT64_C(0x0002C0B904C59FBA),
3096           UINT64_C(0x0006C89144084C6D), UINT64_C(0x00014AB65019CF29),
3097           UINT64_C(0x00006EA2401AC315)},
3098          {UINT64_C(0x000ADC23F3836291), UINT64_C(0x0002F1AD8C01F7C1),
3099           UINT64_C(0x000205DF0C8922CF), UINT64_C(0x0001751FC5AEB310),
3100           UINT64_C(0x0006F64DB4075476)},
3101          {UINT64_C(0x000F82F426A80AE1), UINT64_C(0x00013C4A6E62FC16),
3102           UINT64_C(0x0001FBCDF27E0B34), UINT64_C(0x00078E30B91EF3E6),
3103           UINT64_C(0x000059CBEA565341)}},
3104         {{UINT64_C(0x00062CB978126A51), UINT64_C(0x0004E2E7313211FE),
3105           UINT64_C(0x00066E6E57EED552), UINT64_C(0x00009AE384794AC9),
3106           UINT64_C(0x00077726F8AB9C55)},
3107          {UINT64_C(0x0006D6C6C9E72C58), UINT64_C(0x00069723C749EA4F),
3108           UINT64_C(0x0005631BCF116547), UINT64_C(0x0004E31FAB9D03A6),
3109           UINT64_C(0x0002B7F538841EE2)},
3110          {UINT64_C(0x000BD957A2809D3C), UINT64_C(0x000317F1DC4351FD),
3111           UINT64_C(0x000701BA3438D796), UINT64_C(0x00009FBD6563EC5D),
3112           UINT64_C(0x0003E98ABE5B2F47)}},
3113         {{UINT64_C(0x000AE4190E276A10), UINT64_C(0x0001FFB966B8121D),
3114           UINT64_C(0x0004FEEDA4D78B7E), UINT64_C(0x0005DB20D5551162),
3115           UINT64_C(0x00030DC06EF26E4D)},
3116          {UINT64_C(0x000A970255208159), UINT64_C(0x0001A104788B4AEF),
3117           UINT64_C(0x00004D4C840BE3BE), UINT64_C(0x0006BD8A71949A6C),
3118           UINT64_C(0x000651C9FF191728)},
3119          {UINT64_C(0x000A44663267D2A4), UINT64_C(0x0001FC0CAB11E883),
3120           UINT64_C(0x000785A12DE63089), UINT64_C(0x00006EC9E0189600),
3121           UINT64_C(0x000375BF7E8AB1B8)}},
3122         {{UINT64_C(0x000BFFBBC3B4CE41), UINT64_C(0x0003376A2003A823),
3123           UINT64_C(0x000091EBF7910590), UINT64_C(0x00061FB8363DCA05),
3124           UINT64_C(0x00042807BC01AD4E)},
3125          {UINT64_C(0x000ACF6D9A5C7646), UINT64_C(0x000560F4B3AE3DC2),
3126           UINT64_C(0x000183CCAE76BD95), UINT64_C(0x00065764DB513046),
3127           UINT64_C(0x000214F42294E850)},
3128          {UINT64_C(0x0000F3EDC763536B), UINT64_C(0x0004E9D5EF6B046E),
3129           UINT64_C(0x000150D442C37994), UINT64_C(0x0001B54E80DE1472),
3130           UINT64_C(0x00007A1D71EDF00C)}},
3131         {{UINT64_C(0x00087407DBA8E90B), UINT64_C(0x0007E1C66322205F),
3132           UINT64_C(0x0004FAC245ACCD04), UINT64_C(0x0002B13B4E297D86),
3133           UINT64_C(0x000323B2D23AEDAE)},
3134          {UINT64_C(0x0009941B92E19A5C), UINT64_C(0x000195BC242E04DB),
3135           UINT64_C(0x0007CBD2DF69FF04), UINT64_C(0x0007CA419CC6C1BA),
3136           UINT64_C(0x0002904A1B8DDF4F)},
3137          {UINT64_C(0x00040957907BF307), UINT64_C(0x00015C68151C4FE7),
3138           UINT64_C(0x0003DD3F01FB8E0F), UINT64_C(0x0003D31C808FC101),
3139           UINT64_C(0x00066F1F09C544BB)}},
3140         {{UINT64_C(0x0003F8A6A6C266C9), UINT64_C(0x0001000A75D2D728),
3141           UINT64_C(0x000149100C338128), UINT64_C(0x00048CB6ED6D33B4),
3142           UINT64_C(0x00069B7380105C27)},
3143          {UINT64_C(0x000BBCA015BD1302), UINT64_C(0x000453E91EF883C4),
3144           UINT64_C(0x000087A2C55564F3), UINT64_C(0x00028661DD26634D),
3145           UINT64_C(0x0000504737350EB4)},
3146          {UINT64_C(0x0003AE59A5B3D5E2), UINT64_C(0x0001545256AA2218),
3147           UINT64_C(0x00064A0782A0BF22), UINT64_C(0x000365507C34B4AA),
3148           UINT64_C(0x00032799B2146183)}},
3149         {{UINT64_C(0x0003D6DBFB2DFB8B), UINT64_C(0x00022DF9277F3ECF),
3150           UINT64_C(0x0000C42749A48685), UINT64_C(0x0001B0E7B30B31B5),
3151           UINT64_C(0x00075EBF4439768D)},
3152          {UINT64_C(0x00039F41CE757E5C), UINT64_C(0x0007F8600191731B),
3153           UINT64_C(0x0006B2813E3967F5), UINT64_C(0x00015D1CE8E34A7E),
3154           UINT64_C(0x00072FBC1F6F13D8)},
3155          {UINT64_C(0x0004F6CF2E028861), UINT64_C(0x00020F869603ABDE),
3156           UINT64_C(0x00042A4AA3F9DAAB), UINT64_C(0x0004A8C0AC2A2950),
3157           UINT64_C(0x0004B1809E50B53C)}},
3158         {{UINT64_C(0x00062DDA4C355837), UINT64_C(0x0002F17314E1EE8D),
3159           UINT64_C(0x00078EBCB6E2323E), UINT64_C(0x0004543455D081FD),
3160           UINT64_C(0x000791C9DA3066C1)},
3161          {UINT64_C(0x0007AEA83D07CA0E), UINT64_C(0x000601D3C4BBCA6C),
3162           UINT64_C(0x000438ECD2EB6B9E), UINT64_C(0x0005FE33D87D61C1),
3163           UINT64_C(0x0002C2CD6F6EF8D2)},
3164          {UINT64_C(0x0002DAEC4B332C81), UINT64_C(0x000600000F256A01),
3165           UINT64_C(0x000647117D50194B), UINT64_C(0x0002A7D5456F092C),
3166           UINT64_C(0x000398A204AC0606)}},
3167         {{UINT64_C(0x00076419370EC4A0), UINT64_C(0x00012369939759B2),
3168           UINT64_C(0x00023B2960FD0EE0), UINT64_C(0x0007AF17DB515E9B),
3169           UINT64_C(0x0002CC3165DDFC91)},
3170          {UINT64_C(0x0005EE1C6281CBB1), UINT64_C(0x00060699623D7D65),
3171           UINT64_C(0x0000F3D85C23D284), UINT64_C(0x000018587E7669D1),
3172           UINT64_C(0x000227AAF5D77845)},
3173          {UINT64_C(0x000153114ADB9FC3), UINT64_C(0x000164F7102A9765),
3174           UINT64_C(0x0006E7834D58BEE3), UINT64_C(0x0006F111F5E5ACB0),
3175           UINT64_C(0x000162CF7ADDFFCA)}},
3176         {{UINT64_C(0x00055D7C37A14EAC), UINT64_C(0x0005223EE335640C),
3177           UINT64_C(0x000291B30C58F170), UINT64_C(0x00023A4EB047D54F),
3178           UINT64_C(0x0002C3DDA0AF63CB)},
3179          {UINT64_C(0x000C4C6EF153A948), UINT64_C(0x00004C4867916BA5),
3180           UINT64_C(0x00035BE98811B8E0), UINT64_C(0x0004F3937F720308),
3181           UINT64_C(0x00041AC616B68B67)},
3182          {UINT64_C(0x000D47D0742C184D), UINT64_C(0x00063D7733EDA001),
3183           UINT64_C(0x000609767EC0E926), UINT64_C(0x0006C3F5D59B36D0),
3184           UINT64_C(0x0004B14DD7938C89)}},
3185     }};
3186
3187 /*-
3188  * Q := 2P, both projective, Q and P same pointers OK
3189  * Autogenerated: op3/dbl_proj_ed_eone.op3
3190  * https://www.hyperelliptic.org/EFD/g1p/auto-code/twisted/extended-1/doubling/dbl-2008-hwcd.op3
3191  * ASSERT: e = 1
3192  */
3193 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
3194     /* temporary variables */
3195     fe_t t0, t1, t2, t3;
3196     /* constants */
3197     /* set pointers for Edwards curve arith */
3198     const limb_t *X = P->X;
3199     const limb_t *Y = P->Y;
3200     const limb_t *Z = P->Z;
3201     limb_t *X3 = Q->X;
3202     limb_t *Y3 = Q->Y;
3203     limb_t *T3 = Q->T;
3204     limb_t *Z3 = Q->Z;
3205
3206     /* the curve arith formula */
3207     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t0, X);
3208     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t1, Y);
3209     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t2, Z);
3210     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, t2, t2);
3211     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X, Y);
3212     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(Y3, X3);
3213     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, Y3, t0);
3214     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, T3, t1);
3215     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, t0, t1);
3216     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t2, Y3, t3);
3217     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t3, t0, t1);
3218     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, Z3, t2);
3219     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, Z3, t3);
3220     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, t2, Y3);
3221     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y3, t3);
3222 }
3223
3224 /*-
3225  * R := Q + P where R and Q are projective, P affine.
3226  * R and Q same pointers OK
3227  * R and P same pointers not OK
3228  * Autogenerated: op3/add_mixed_ed_eone.op3
3229  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/madd-2008-hwcd.op3
3230  * ASSERT: e = 1
3231  */
3232 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
3233     /* temporary variables */
3234     fe_t t0, t1, t2, t3;
3235     /* constants */
3236     const limb_t *d = const_d;
3237     /* set pointers for Edwards curve arith */
3238     const limb_t *X1 = Q->X;
3239     const limb_t *Y1 = Q->Y;
3240     const limb_t *T1 = Q->T;
3241     const limb_t *Z1 = Q->Z;
3242     const limb_t *X2 = P->X;
3243     const limb_t *Y2 = P->Y;
3244     const limb_t *T2 = P->T;
3245     limb_t *X3 = R->X;
3246     limb_t *Y3 = R->Y;
3247     limb_t *T3 = R->T;
3248     limb_t *Z3 = R->Z;
3249
3250     /* the curve arith formula */
3251     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t0, X1, X2);
3252     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, Y1, Y2);
3253     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, d, T2);
3254     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, T1, t2);
3255     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X1, Y1);
3256     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, X2, Y2);
3257     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
3258     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t3, T3, t0);
3259     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, t3, t1);
3260     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, Z1, t2);
3261     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, Z1, t2);
3262     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, t1, t0);
3263     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Z3);
3264     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, t3, t1);
3265     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, T3, t1);
3266     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Z3, t3);
3267 }
3268
3269 /*-
3270  * R := Q + P all projective.
3271  * R and Q same pointers OK
3272  * R and P same pointers not OK
3273  * Autogenerated: op3/add_proj_ed_eone.op3
3274  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/add-2008-hwcd.op3
3275  * ASSERT: e = 1
3276  */
3277 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
3278     /* temporary variables */
3279     fe_t t0, t1, t2, t3;
3280     /* constants */
3281     const limb_t *d = const_d;
3282     /* set pointers for Edwards curve arith */
3283     const limb_t *X1 = Q->X;
3284     const limb_t *Y1 = Q->Y;
3285     const limb_t *T1 = Q->T;
3286     const limb_t *Z1 = Q->Z;
3287     const limb_t *X2 = P->X;
3288     const limb_t *Y2 = P->Y;
3289     const limb_t *T2 = P->T;
3290     const limb_t *Z2 = P->Z;
3291     limb_t *X3 = R->X;
3292     limb_t *Y3 = R->Y;
3293     limb_t *T3 = R->T;
3294     limb_t *Z3 = R->Z;
3295
3296     /* the curve arith formula */
3297     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t0, X1, X2);
3298     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, Y1, Y2);
3299     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, d, T2);
3300     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, T1, t2);
3301     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t3, Z1, Z2);
3302     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X1, Y1);
3303     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, X2, Y2);
3304     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
3305     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, T3, t0);
3306     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, Z3, t1);
3307     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, t3, t2);
3308     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, t3, t2);
3309     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, t1, t0);
3310     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Z3);
3311     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, t3, t1);
3312     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, T3, t1);
3313     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Z3, t3);
3314 }
3315
3316 /*-
3317  * from P projective Edwards to Q projective legacy: Q=P OK
3318  * Autogenerated: op3/edwards2legacy_gost.op3
3319  * https://tools.ietf.org/html/rfc7836#section-5.2
3320  */
3321 static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
3322     /* temporary variables */
3323     fe_t t0, t1;
3324     /* constants */
3325     const limb_t *T = const_T;
3326     const limb_t *S = const_S;
3327     const limb_t *X1 = P->X;
3328     const limb_t *Y1 = P->Y;
3329     const limb_t *Z1 = P->Z;
3330     limb_t *X3 = Q->X;
3331     limb_t *Y3 = Q->Y;
3332     limb_t *T3 = Q->T;
3333     limb_t *Z3 = Q->Z;
3334
3335     /* the curve arith formula */
3336     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, Z1, Y1);
3337     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, Z1, Y1);
3338     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, S, t0);
3339     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Z1, T3);
3340     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, X3, t1);
3341     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, t1, T);
3342     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, T3, t1);
3343     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, X1, t0);
3344 }
3345
3346 /*-
3347  * from P affine legacy to Q projective Edwards: Q=P not OK
3348  * Autogenerated: op3/legacy2edwards_gost.op3
3349  * https://tools.ietf.org/html/rfc7836#section-5.2
3350  */
3351 static void point_legacy2edwards(pt_prj_t *Q, const pt_aff_t *P) {
3352     /* constants */
3353     const limb_t *T = const_T;
3354     const limb_t *S = const_S;
3355     const limb_t *X1 = P->X;
3356     const limb_t *Y1 = P->Y;
3357     limb_t *X3 = Q->X;
3358     limb_t *Y3 = Q->Y;
3359     limb_t *T3 = Q->T;
3360     limb_t *Z3 = Q->Z;
3361
3362     /* the curve arith formula */
3363     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, X1, T);
3364     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, T3, S);
3365     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Y3);
3366     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Y1, Y3);
3367     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, T3, S);
3368     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y1, T3);
3369     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
3370     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, X3, Z3);
3371     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y3, Z3);
3372     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(Z3, Z3);
3373 }
3374
3375 /* constants */
3376 #define RADIX 5
3377 #define DRADIX (1 << RADIX)
3378 #define DRADIX_WNAF ((DRADIX) << 1)
3379
3380 /*-
3381  * precomp for wnaf scalar multiplication:
3382  * precomp[0] = 1P
3383  * precomp[1] = 3P
3384  * precomp[2] = 5P
3385  * precomp[3] = 7P
3386  * precomp[4] = 9P
3387  * ...
3388  */
3389 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
3390     int i;
3391
3392     /* move from legacy affine to Edwards projective */
3393     point_legacy2edwards(&precomp[0], P);
3394     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
3395
3396     for (i = 1; i < DRADIX / 2; i++)
3397         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
3398 }
3399
3400 /* fetch a scalar bit */
3401 static int scalar_get_bit(const unsigned char in[32], int idx) {
3402     int widx, rshift;
3403
3404     widx = idx >> 3;
3405     rshift = idx & 0x7;
3406
3407     if (idx < 0 || widx >= 32) return 0;
3408
3409     return (in[widx] >> rshift) & 0x1;
3410 }
3411
3412 /*-
3413  * Compute "regular" wnaf representation of a scalar.
3414  * See "Exponent Recoding and Regular Exponentiation Algorithms",
3415  * Tunstall et al., AfricaCrypt 2009, Alg 6.
3416  * It forces an odd scalar and outputs digits in
3417  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
3418  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
3419  */
3420 static void scalar_rwnaf(int8_t out[52], const unsigned char in[32]) {
3421     int i;
3422     int8_t window, d;
3423
3424     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
3425     for (i = 0; i < 51; i++) {
3426         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
3427         out[i] = d;
3428         window = (window - d) >> RADIX;
3429         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
3430         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
3431         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
3432         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
3433         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
3434     }
3435     out[i] = window;
3436 }
3437
3438 /*-
3439  * Compute "textbook" wnaf representation of a scalar.
3440  * NB: not constant time
3441  */
3442 static void scalar_wnaf(int8_t out[257], const unsigned char in[32]) {
3443     int i;
3444     int8_t window, d;
3445
3446     window = in[0] & (DRADIX_WNAF - 1);
3447     for (i = 0; i < 257; i++) {
3448         d = 0;
3449         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
3450             d -= DRADIX_WNAF;
3451         out[i] = d;
3452         window = (window - d) >> 1;
3453         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
3454     }
3455 }
3456
3457 /*-
3458  * Simulateous scalar multiplication: interleaved "textbook" wnaf.
3459  * NB: not constant time
3460  */
3461 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
3462                               const unsigned char b[32], const pt_aff_t *P) {
3463     int i, d, is_neg, is_inf = 1, flipped = 0;
3464     int8_t anaf[257] = {0};
3465     int8_t bnaf[257] = {0};
3466     pt_prj_t Q;
3467     pt_prj_t precomp[DRADIX / 2];
3468
3469     precomp_wnaf(precomp, P);
3470     scalar_wnaf(anaf, a);
3471     scalar_wnaf(bnaf, b);
3472
3473     for (i = 256; i >= 0; i--) {
3474         if (!is_inf) point_double(&Q, &Q);
3475         if ((d = bnaf[i])) {
3476             if ((is_neg = d < 0) != flipped) {
3477                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.X, Q.X);
3478                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.T, Q.T);
3479                 flipped ^= 1;
3480             }
3481             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
3482             if (is_inf) {
3483                 /* initialize accumulator */
3484                 fe_copy(Q.X, &precomp[d].X);
3485                 fe_copy(Q.Y, &precomp[d].Y);
3486                 fe_copy(Q.T, &precomp[d].T);
3487                 fe_copy(Q.Z, &precomp[d].Z);
3488                 is_inf = 0;
3489             } else
3490                 point_add_proj(&Q, &Q, &precomp[d]);
3491         }
3492         if ((d = anaf[i])) {
3493             if ((is_neg = d < 0) != flipped) {
3494                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.X, Q.X);
3495                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.T, Q.T);
3496                 flipped ^= 1;
3497             }
3498             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
3499             if (is_inf) {
3500                 /* initialize accumulator */
3501                 fe_copy(Q.X, &lut_cmb[0][d].X);
3502                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
3503                 fe_copy(Q.T, &lut_cmb[0][d].T);
3504                 fe_copy(Q.Z, const_one);
3505                 is_inf = 0;
3506             } else
3507                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
3508         }
3509     }
3510
3511     if (is_inf) {
3512         /* initialize accumulator to inf: all-zero scalars */
3513         fe_set_zero(Q.X);
3514         fe_copy(Q.Y, const_one);
3515         fe_set_zero(Q.T);
3516         fe_copy(Q.Z, const_one);
3517     }
3518
3519     if (flipped) {
3520         /* correct sign */
3521         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.X, Q.X);
3522         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.T, Q.T);
3523     }
3524
3525     /* move from Edwards projective to legacy projective */
3526     point_edwards2legacy(&Q, &Q);
3527     /* convert to affine -- NB depends on coordinate system */
3528     fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(Q.Z, Q.Z);
3529     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
3530     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
3531 }
3532
3533 /*-
3534  * Variable point scalar multiplication with "regular" wnaf.
3535  */
3536 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
3537                            const pt_aff_t *P) {
3538     int i, j, d, diff, is_neg;
3539     int8_t rnaf[52] = {0};
3540     pt_prj_t Q, lut;
3541     pt_prj_t precomp[DRADIX / 2];
3542
3543     precomp_wnaf(precomp, P);
3544     scalar_rwnaf(rnaf, scalar);
3545
3546 #if defined(_MSC_VER)
3547     /* result still unsigned: yes we know */
3548 #pragma warning(push)
3549 #pragma warning(disable : 4146)
3550 #endif
3551
3552     /* initialize accumulator to high digit */
3553     d = (rnaf[51] - 1) >> 1;
3554     for (j = 0; j < DRADIX / 2; j++) {
3555         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
3556         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, diff, Q.X,
3557                                                             precomp[j].X);
3558         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, diff, Q.Y,
3559                                                             precomp[j].Y);
3560         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, diff, Q.T,
3561                                                             precomp[j].T);
3562         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, diff, Q.Z,
3563                                                             precomp[j].Z);
3564     }
3565
3566     for (i = 50; i >= 0; i--) {
3567         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
3568         d = rnaf[i];
3569         /* is_neg = (d < 0) ? 1 : 0 */
3570         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
3571         /* d = abs(d) */
3572         d = (d ^ -is_neg) + is_neg;
3573         d = (d - 1) >> 1;
3574         for (j = 0; j < DRADIX / 2; j++) {
3575             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
3576             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3577                 lut.X, diff, lut.X, precomp[j].X);
3578             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3579                 lut.Y, diff, lut.Y, precomp[j].Y);
3580             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3581                 lut.T, diff, lut.T, precomp[j].T);
3582             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3583                 lut.Z, diff, lut.Z, precomp[j].Z);
3584         }
3585         /* negate lut point if digit is negative */
3586         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->X, lut.X);
3587         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->T, lut.T);
3588         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.X, is_neg,
3589                                                             lut.X, out->X);
3590         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.T, is_neg,
3591                                                             lut.T, out->T);
3592         point_add_proj(&Q, &Q, &lut);
3593     }
3594
3595 #if defined(_MSC_VER)
3596 #pragma warning(pop)
3597 #endif
3598
3599     /* conditionally subtract P if the scalar was even */
3600     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.X, precomp[0].X);
3601     fe_copy(lut.Y, precomp[0].Y);
3602     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.T, precomp[0].T);
3603     fe_copy(lut.Z, precomp[0].Z);
3604     point_add_proj(&lut, &lut, &Q);
3605     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, scalar[0] & 1,
3606                                                         lut.X, Q.X);
3607     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1,
3608                                                         lut.Y, Q.Y);
3609     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1,
3610                                                         lut.T, Q.T);
3611     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, scalar[0] & 1,
3612                                                         lut.Z, Q.Z);
3613
3614     /* move from Edwards projective to legacy projective */
3615     point_edwards2legacy(&Q, &Q);
3616     /* convert to affine -- NB depends on coordinate system */
3617     fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(Q.Z, Q.Z);
3618     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
3619     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
3620 }
3621
3622 /*-
3623  * Fixed scalar multiplication: comb with interleaving.
3624  */
3625 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
3626     int i, j, k, d, diff, is_neg = 0;
3627     int8_t rnaf[52] = {0};
3628     pt_prj_t Q, R;
3629     pt_aff_t lut;
3630
3631     scalar_rwnaf(rnaf, scalar);
3632
3633     /* initalize accumulator to inf */
3634     fe_set_zero(Q.X);
3635     fe_copy(Q.Y, const_one);
3636     fe_set_zero(Q.T);
3637     fe_copy(Q.Z, const_one);
3638
3639 #if defined(_MSC_VER)
3640     /* result still unsigned: yes we know */
3641 #pragma warning(push)
3642 #pragma warning(disable : 4146)
3643 #endif
3644
3645     for (i = 3; i >= 0; i--) {
3646         for (j = 0; i != 3 && j < RADIX; j++) point_double(&Q, &Q);
3647         for (j = 0; j < 14; j++) {
3648             if (j * 4 + i > 51) continue;
3649             d = rnaf[j * 4 + i];
3650             /* is_neg = (d < 0) ? 1 : 0 */
3651             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
3652             /* d = abs(d) */
3653             d = (d ^ -is_neg) + is_neg;
3654             d = (d - 1) >> 1;
3655             for (k = 0; k < DRADIX / 2; k++) {
3656                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
3657                 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3658                     lut.X, diff, lut.X, lut_cmb[j][k].X);
3659                 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3660                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
3661                 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3662                     lut.T, diff, lut.T, lut_cmb[j][k].T);
3663             }
3664             /* negate lut point if digit is negative */
3665             fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->X, lut.X);
3666             fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->T, lut.T);
3667             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.X, is_neg,
3668                                                                 lut.X, out->X);
3669             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.T, is_neg,
3670                                                                 lut.T, out->T);
3671             point_add_mixed(&Q, &Q, &lut);
3672         }
3673     }
3674
3675 #if defined(_MSC_VER)
3676 #pragma warning(pop)
3677 #endif
3678
3679     /* conditionally subtract P if the scalar was even */
3680     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.X, lut_cmb[0][0].X);
3681     fe_copy(lut.Y, lut_cmb[0][0].Y);
3682     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.T, lut_cmb[0][0].T);
3683     point_add_mixed(&R, &Q, &lut);
3684     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, scalar[0] & 1, R.X,
3685                                                         Q.X);
3686     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1, R.Y,
3687                                                         Q.Y);
3688     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1, R.T,
3689                                                         Q.T);
3690     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, scalar[0] & 1, R.Z,
3691                                                         Q.Z);
3692
3693     /* move from Edwards projective to legacy projective */
3694     point_edwards2legacy(&Q, &Q);
3695     /* convert to affine -- NB depends on coordinate system */
3696     fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(Q.Z, Q.Z);
3697     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
3698     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
3699 }
3700
3701 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
3702                           const unsigned char a[32], const unsigned char b[32],
3703                           const unsigned char inx[32],
3704                           const unsigned char iny[32]) {
3705     pt_aff_t P;
3706
3707     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.X, inx);
3708     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.Y, iny);
3709     /* simultaneous scalar multiplication */
3710     var_smul_wnaf_two(&P, a, b, &P);
3711
3712     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
3713     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
3714 }
3715
3716 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
3717                         const unsigned char scalar[32]) {
3718     pt_aff_t P;
3719
3720     /* fixed scmul function */
3721     fixed_smul_cmb(&P, scalar);
3722     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
3723     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
3724 }
3725
3726 static void point_mul(unsigned char outx[32], unsigned char outy[32],
3727                       const unsigned char scalar[32],
3728                       const unsigned char inx[32],
3729                       const unsigned char iny[32]) {
3730     pt_aff_t P;
3731
3732     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.X, inx);
3733     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.Y, iny);
3734     /* var scmul function */
3735     var_smul_rwnaf(&P, scalar, &P);
3736     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
3737     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
3738 }
3739
3740
3741 #include <openssl/ec.h>
3742
3743 static const unsigned char const_zb[32] = {0};
3744
3745     int
3746     point_mul_two_id_tc26_gost_3410_2012_256_paramSetA(
3747         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
3748         const BIGNUM *m, BN_CTX *ctx) {
3749     int ret = 0;
3750     unsigned char b_x[32];
3751     unsigned char b_y[32];
3752     unsigned char b_n[32];
3753     unsigned char b_m[32];
3754     BIGNUM *x = NULL, *y = NULL;
3755
3756     BN_CTX_start(ctx);
3757     x = BN_CTX_get(ctx);
3758     if ((y = BN_CTX_get(ctx)) == NULL
3759         /* pull out coords as bytes */
3760         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
3761         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
3762         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
3763         goto err;
3764     /* do the simultaneous scalar multiplication */
3765     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
3766     /* check for infinity */
3767     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
3768         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
3769         if (!EC_POINT_set_to_infinity(group, r)) goto err;
3770     } else {
3771         /* otherwise, pack the bytes into the result */
3772         if (BN_lebin2bn(b_x, 32, x) == NULL ||
3773             BN_lebin2bn(b_y, 32, y) == NULL ||
3774             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
3775             goto err;
3776     }
3777     ret = 1;
3778 err:
3779     BN_CTX_end(ctx);
3780     return ret;
3781 }
3782
3783     int
3784     point_mul_id_tc26_gost_3410_2012_256_paramSetA(const EC_GROUP *group,
3785                                                    EC_POINT *r,
3786                                                    const EC_POINT *q,
3787                                                    const BIGNUM *m,
3788                                                    BN_CTX *ctx) {
3789     int ret = 0;
3790     unsigned char b_x[32];
3791     unsigned char b_y[32];
3792     unsigned char b_m[32];
3793     BIGNUM *x = NULL, *y = NULL;
3794
3795     BN_CTX_start(ctx);
3796     x = BN_CTX_get(ctx);
3797     if ((y = BN_CTX_get(ctx)) == NULL
3798         /* pull out coords as bytes */
3799         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
3800         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
3801         BN_bn2lebinpad(m, b_m, 32) != 32)
3802         goto err;
3803     /* do the variable scalar multiplication */
3804     point_mul(b_x, b_y, b_m, b_x, b_y);
3805     /* check for infinity */
3806     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
3807         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
3808         if (!EC_POINT_set_to_infinity(group, r)) goto err;
3809     } else {
3810         /* otherwise, pack the bytes into the result */
3811         if (BN_lebin2bn(b_x, 32, x) == NULL ||
3812             BN_lebin2bn(b_y, 32, y) == NULL ||
3813             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
3814             goto err;
3815     }
3816     ret = 1;
3817 err:
3818     BN_CTX_end(ctx);
3819     return ret;
3820 }
3821
3822     int
3823     point_mul_g_id_tc26_gost_3410_2012_256_paramSetA(const EC_GROUP *group,
3824                                                      EC_POINT *r,
3825                                                      const BIGNUM *n,
3826                                                      BN_CTX *ctx) {
3827     int ret = 0;
3828     unsigned char b_x[32];
3829     unsigned char b_y[32];
3830     unsigned char b_n[32];
3831     BIGNUM *x = NULL, *y = NULL;
3832
3833     BN_CTX_start(ctx);
3834     x = BN_CTX_get(ctx);
3835     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
3836         goto err;
3837     /* do the fixed scalar multiplication */
3838     point_mul_g(b_x, b_y, b_n);
3839     /* check for infinity */
3840     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
3841         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
3842         if (!EC_POINT_set_to_infinity(group, r)) goto err;
3843     } else {
3844         /* otherwise, pack the bytes into the result */
3845         if (BN_lebin2bn(b_x, 32, x) == NULL ||
3846             BN_lebin2bn(b_y, 32, y) == NULL ||
3847             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
3848             goto err;
3849     }
3850     ret = 1;
3851 err:
3852     BN_CTX_end(ctx);
3853     return ret;
3854 }
3855
3856
3857
3858 #else /* __SIZEOF_INT128__ */
3859
3860 #include <stdint.h>
3861 #include <string.h>
3862 #define LIMB_BITS 32
3863 #define LIMB_CNT 11
3864 /* Field elements */
3865 typedef uint32_t fe_t[LIMB_CNT];
3866 typedef uint32_t limb_t;
3867
3868 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
3869 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
3870
3871 #define fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(c, a, b) \
3872     fiat_id_tc26_gost_3410_2012_256_paramSetA_add(c, a, b);          \
3873     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(c, c)
3874 #define fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(c, a, b) \
3875     fiat_id_tc26_gost_3410_2012_256_paramSetA_sub(c, a, b);          \
3876     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(c, c)
3877
3878 /* Projective points */
3879 typedef struct {
3880     fe_t X;
3881     fe_t Y;
3882     fe_t T;
3883     fe_t Z;
3884 } pt_prj_t;
3885
3886 /* Affine points */
3887 typedef struct {
3888     fe_t X;
3889     fe_t Y;
3890     fe_t T;
3891 } pt_aff_t;
3892
3893 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
3894 /*-
3895  * MIT License
3896  *
3897  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
3898  *
3899  * Permission is hereby granted, free of charge, to any person obtaining a copy
3900  * of this software and associated documentation files (the "Software"), to deal
3901  * in the Software without restriction, including without limitation the rights
3902  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
3903  * copies of the Software, and to permit persons to whom the Software is
3904  * furnished to do so, subject to the following conditions:
3905  *
3906  * The above copyright notice and this permission notice shall be included in
3907  * all copies or substantial portions of the Software.
3908  *
3909  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
3910  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
3911  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
3912  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
3913  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
3914  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
3915  * SOFTWARE.
3916  */
3917
3918 /* Autogenerated: unsaturated_solinas --static id_tc26_gost_3410_2012_256_paramSetA 32 '(auto)' '2^256 - 617' */
3919 /* curve description: id_tc26_gost_3410_2012_256_paramSetA */
3920 /* machine_wordsize = 32 (from "32") */
3921 /* requested operations: (all) */
3922 /* n = 11 (from "(auto)") */
3923 /* s-c = 2^256 - [(1, 617)] (from "2^256 - 617") */
3924 /* tight_bounds_multiplier = 1.1 (from "") */
3925 /*  */
3926 /* Computed values: */
3927 /* carry_chain = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 1] */
3928 /* eval z = z[0] + (z[1] << 24) + (z[2] << 47) + (z[3] << 70) + (z[4] << 94) + (z[5] << 117) + (z[6] << 140) + (z[7] << 163) + (z[8] << 187) + (z[9] << 210) + (z[10] << 233) */
3929 /* 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) */
3930
3931 #include <stdint.h>
3932 typedef unsigned char fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1;
3933 typedef signed char fiat_id_tc26_gost_3410_2012_256_paramSetA_int1;
3934
3935 #if (-1 & 3) != 3
3936 #error "This code only works on a two's complement system"
3937 #endif
3938
3939 /*
3940  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24 is an addition with carry.
3941  * Postconditions:
3942  *   out1 = (arg1 + arg2 + arg3) mod 2^24
3943  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^24⌋
3944  *
3945  * Input Bounds:
3946  *   arg1: [0x0 ~> 0x1]
3947  *   arg2: [0x0 ~> 0xffffff]
3948  *   arg3: [0x0 ~> 0xffffff]
3949  * Output Bounds:
3950  *   out1: [0x0 ~> 0xffffff]
3951  *   out2: [0x0 ~> 0x1]
3952  */
3953 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24(
3954     uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
3955     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint32_t arg2,
3956     uint32_t arg3) {
3957     uint32_t x1;
3958     uint32_t x2;
3959     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x3;
3960     x1 = ((arg1 + arg2) + arg3);
3961     x2 = (x1 & UINT32_C(0xffffff));
3962     x3 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x1 >> 24);
3963     *out1 = x2;
3964     *out2 = x3;
3965 }
3966
3967 /*
3968  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24 is a subtraction with borrow.
3969  * Postconditions:
3970  *   out1 = (-arg1 + arg2 + -arg3) mod 2^24
3971  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^24⌋
3972  *
3973  * Input Bounds:
3974  *   arg1: [0x0 ~> 0x1]
3975  *   arg2: [0x0 ~> 0xffffff]
3976  *   arg3: [0x0 ~> 0xffffff]
3977  * Output Bounds:
3978  *   out1: [0x0 ~> 0xffffff]
3979  *   out2: [0x0 ~> 0x1]
3980  */
3981 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24(
3982     uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
3983     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint32_t arg2,
3984     uint32_t arg3) {
3985     int32_t x1;
3986     fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
3987     uint32_t x3;
3988     x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
3989     x2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(x1 >> 24);
3990     x3 = (x1 & UINT32_C(0xffffff));
3991     *out1 = x3;
3992     *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
3993 }
3994
3995 /*
3996  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23 is an addition with carry.
3997  * Postconditions:
3998  *   out1 = (arg1 + arg2 + arg3) mod 2^23
3999  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^23⌋
4000  *
4001  * Input Bounds:
4002  *   arg1: [0x0 ~> 0x1]
4003  *   arg2: [0x0 ~> 0x7fffff]
4004  *   arg3: [0x0 ~> 0x7fffff]
4005  * Output Bounds:
4006  *   out1: [0x0 ~> 0x7fffff]
4007  *   out2: [0x0 ~> 0x1]
4008  */
4009 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
4010     uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
4011     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint32_t arg2,
4012     uint32_t arg3) {
4013     uint32_t x1;
4014     uint32_t x2;
4015     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x3;
4016     x1 = ((arg1 + arg2) + arg3);
4017     x2 = (x1 & UINT32_C(0x7fffff));
4018     x3 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x1 >> 23);
4019     *out1 = x2;
4020     *out2 = x3;
4021 }
4022
4023 /*
4024  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23 is a subtraction with borrow.
4025  * Postconditions:
4026  *   out1 = (-arg1 + arg2 + -arg3) mod 2^23
4027  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^23⌋
4028  *
4029  * Input Bounds:
4030  *   arg1: [0x0 ~> 0x1]
4031  *   arg2: [0x0 ~> 0x7fffff]
4032  *   arg3: [0x0 ~> 0x7fffff]
4033  * Output Bounds:
4034  *   out1: [0x0 ~> 0x7fffff]
4035  *   out2: [0x0 ~> 0x1]
4036  */
4037 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
4038     uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
4039     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint32_t arg2,
4040     uint32_t arg3) {
4041     int32_t x1;
4042     fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
4043     uint32_t x3;
4044     x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
4045     x2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(x1 >> 23);
4046     x3 = (x1 & UINT32_C(0x7fffff));
4047     *out1 = x3;
4048     *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
4049 }
4050
4051 /*
4052  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32 is a single-word conditional move.
4053  * Postconditions:
4054  *   out1 = (if arg1 = 0 then arg2 else arg3)
4055  *
4056  * Input Bounds:
4057  *   arg1: [0x0 ~> 0x1]
4058  *   arg2: [0x0 ~> 0xffffffff]
4059  *   arg3: [0x0 ~> 0xffffffff]
4060  * Output Bounds:
4061  *   out1: [0x0 ~> 0xffffffff]
4062  */
4063 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(
4064     uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1,
4065     uint32_t arg2, uint32_t arg3) {
4066     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x1;
4067     uint32_t x2;
4068     uint32_t x3;
4069     x1 = (!(!arg1));
4070     x2 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(0x0 - x1) &
4071           UINT32_C(0xffffffff));
4072     x3 = ((x2 & arg3) | ((~x2) & arg2));
4073     *out1 = x3;
4074 }
4075
4076 /*
4077  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul multiplies two field elements and reduces the result.
4078  * Postconditions:
4079  *   eval out1 mod m = (eval arg1 * eval arg2) mod m
4080  *
4081  * Input Bounds:
4082  *   arg1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
4083  *   arg2: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
4084  * Output Bounds:
4085  *   out1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
4086  */
4087 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(
4088     uint32_t out1[11], const uint32_t arg1[11], const uint32_t arg2[11]) {
4089     uint64_t x1;
4090     uint64_t x2;
4091     uint64_t x3;
4092     uint64_t x4;
4093     uint64_t x5;
4094     uint64_t x6;
4095     uint64_t x7;
4096     uint64_t x8;
4097     uint64_t x9;
4098     uint64_t x10;
4099     uint64_t x11;
4100     uint64_t x12;
4101     uint64_t x13;
4102     uint64_t x14;
4103     uint64_t x15;
4104     uint64_t x16;
4105     uint64_t x17;
4106     uint64_t x18;
4107     uint64_t x19;
4108     uint64_t x20;
4109     uint64_t x21;
4110     uint64_t x22;
4111     uint64_t x23;
4112     uint64_t x24;
4113     uint64_t x25;
4114     uint64_t x26;
4115     uint64_t x27;
4116     uint64_t x28;
4117     uint64_t x29;
4118     uint64_t x30;
4119     uint64_t x31;
4120     uint64_t x32;
4121     uint64_t x33;
4122     uint64_t x34;
4123     uint64_t x35;
4124     uint64_t x36;
4125     uint64_t x37;
4126     uint64_t x38;
4127     uint64_t x39;
4128     uint64_t x40;
4129     uint64_t x41;
4130     uint64_t x42;
4131     uint64_t x43;
4132     uint64_t x44;
4133     uint64_t x45;
4134     uint64_t x46;
4135     uint64_t x47;
4136     uint64_t x48;
4137     uint64_t x49;
4138     uint64_t x50;
4139     uint64_t x51;
4140     uint64_t x52;
4141     uint64_t x53;
4142     uint64_t x54;
4143     uint64_t x55;
4144     uint64_t x56;
4145     uint64_t x57;
4146     uint64_t x58;
4147     uint64_t x59;
4148     uint64_t x60;
4149     uint64_t x61;
4150     uint64_t x62;
4151     uint64_t x63;
4152     uint64_t x64;
4153     uint64_t x65;
4154     uint64_t x66;
4155     uint64_t x67;
4156     uint64_t x68;
4157     uint64_t x69;
4158     uint64_t x70;
4159     uint64_t x71;
4160     uint64_t x72;
4161     uint64_t x73;
4162     uint64_t x74;
4163     uint64_t x75;
4164     uint64_t x76;
4165     uint64_t x77;
4166     uint64_t x78;
4167     uint64_t x79;
4168     uint64_t x80;
4169     uint64_t x81;
4170     uint64_t x82;
4171     uint64_t x83;
4172     uint64_t x84;
4173     uint64_t x85;
4174     uint64_t x86;
4175     uint64_t x87;
4176     uint64_t x88;
4177     uint64_t x89;
4178     uint64_t x90;
4179     uint64_t x91;
4180     uint64_t x92;
4181     uint64_t x93;
4182     uint64_t x94;
4183     uint64_t x95;
4184     uint64_t x96;
4185     uint64_t x97;
4186     uint64_t x98;
4187     uint64_t x99;
4188     uint64_t x100;
4189     uint64_t x101;
4190     uint64_t x102;
4191     uint64_t x103;
4192     uint64_t x104;
4193     uint64_t x105;
4194     uint64_t x106;
4195     uint64_t x107;
4196     uint64_t x108;
4197     uint64_t x109;
4198     uint64_t x110;
4199     uint64_t x111;
4200     uint64_t x112;
4201     uint64_t x113;
4202     uint64_t x114;
4203     uint64_t x115;
4204     uint64_t x116;
4205     uint64_t x117;
4206     uint64_t x118;
4207     uint64_t x119;
4208     uint64_t x120;
4209     uint64_t x121;
4210     uint64_t x122;
4211     uint64_t x123;
4212     uint32_t x124;
4213     uint64_t x125;
4214     uint64_t x126;
4215     uint64_t x127;
4216     uint64_t x128;
4217     uint64_t x129;
4218     uint64_t x130;
4219     uint64_t x131;
4220     uint64_t x132;
4221     uint64_t x133;
4222     uint64_t x134;
4223     uint64_t x135;
4224     uint64_t x136;
4225     uint32_t x137;
4226     uint64_t x138;
4227     uint64_t x139;
4228     uint32_t x140;
4229     uint64_t x141;
4230     uint64_t x142;
4231     uint32_t x143;
4232     uint64_t x144;
4233     uint64_t x145;
4234     uint32_t x146;
4235     uint64_t x147;
4236     uint64_t x148;
4237     uint32_t x149;
4238     uint64_t x150;
4239     uint64_t x151;
4240     uint32_t x152;
4241     uint64_t x153;
4242     uint64_t x154;
4243     uint32_t x155;
4244     uint64_t x156;
4245     uint64_t x157;
4246     uint32_t x158;
4247     uint64_t x159;
4248     uint64_t x160;
4249     uint32_t x161;
4250     uint64_t x162;
4251     uint32_t x163;
4252     uint32_t x164;
4253     uint64_t x165;
4254     uint64_t x166;
4255     uint32_t x167;
4256     uint32_t x168;
4257     uint32_t x169;
4258     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x170;
4259     uint32_t x171;
4260     uint32_t x172;
4261     x1 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[10])));
4262     x2 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[9])));
4263     x3 = (UINT16_C(0x269) * (((uint64_t)(arg1[10]) * (arg2[8])) * 0x2));
4264     x4 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[7])));
4265     x5 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[6])));
4266     x6 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[5])));
4267     x7 = (UINT16_C(0x269) * (((uint64_t)(arg1[10]) * (arg2[4])) * 0x2));
4268     x8 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[3])));
4269     x9 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[2])));
4270     x10 = (UINT16_C(0x269) * (((uint64_t)(arg1[10]) * (arg2[1])) * 0x2));
4271     x11 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[10])));
4272     x12 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[9])) * 0x2));
4273     x13 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[8])) * 0x2));
4274     x14 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[7])));
4275     x15 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[6])));
4276     x16 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[5])) * 0x2));
4277     x17 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[4])) * 0x2));
4278     x18 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[3])));
4279     x19 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[2])) * 0x2));
4280     x20 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[10])) * 0x2));
4281     x21 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[9])) * 0x2));
4282     x22 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[8])) * 0x2));
4283     x23 = (UINT16_C(0x269) * ((uint64_t)(arg1[8]) * (arg2[7])));
4284     x24 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[6])) * 0x2));
4285     x25 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[5])) * 0x2));
4286     x26 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[4])) * 0x2));
4287     x27 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[3])) * 0x2));
4288     x28 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[10])));
4289     x29 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[9])));
4290     x30 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[8])));
4291     x31 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[7])));
4292     x32 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[6])));
4293     x33 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[5])));
4294     x34 = (UINT16_C(0x269) * (((uint64_t)(arg1[7]) * (arg2[4])) * 0x2));
4295     x35 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[10])));
4296     x36 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[9])));
4297     x37 = (UINT16_C(0x269) * (((uint64_t)(arg1[6]) * (arg2[8])) * 0x2));
4298     x38 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[7])));
4299     x39 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[6])));
4300     x40 = (UINT16_C(0x269) * (((uint64_t)(arg1[6]) * (arg2[5])) * 0x2));
4301     x41 = (UINT16_C(0x269) * ((uint64_t)(arg1[5]) * (arg2[10])));
4302     x42 = (UINT16_C(0x269) * (((uint64_t)(arg1[5]) * (arg2[9])) * 0x2));
4303     x43 = (UINT16_C(0x269) * (((uint64_t)(arg1[5]) * (arg2[8])) * 0x2));
4304     x44 = (UINT16_C(0x269) * ((uint64_t)(arg1[5]) * (arg2[7])));
4305     x45 = (UINT16_C(0x269) * (((uint64_t)(arg1[5]) * (arg2[6])) * 0x2));
4306     x46 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[10])) * 0x2));
4307     x47 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[9])) * 0x2));
4308     x48 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[8])) * 0x2));
4309     x49 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[7])) * 0x2));
4310     x50 = (UINT16_C(0x269) * ((uint64_t)(arg1[3]) * (arg2[10])));
4311     x51 = (UINT16_C(0x269) * ((uint64_t)(arg1[3]) * (arg2[9])));
4312     x52 = (UINT16_C(0x269) * (((uint64_t)(arg1[3]) * (arg2[8])) * 0x2));
4313     x53 = (UINT16_C(0x269) * ((uint64_t)(arg1[2]) * (arg2[10])));
4314     x54 = (UINT16_C(0x269) * (((uint64_t)(arg1[2]) * (arg2[9])) * 0x2));
4315     x55 = (UINT16_C(0x269) * (((uint64_t)(arg1[1]) * (arg2[10])) * 0x2));
4316     x56 = ((uint64_t)(arg1[10]) * (arg2[0]));
4317     x57 = ((uint64_t)(arg1[9]) * ((arg2[1]) * 0x2));
4318     x58 = ((uint64_t)(arg1[9]) * (arg2[0]));
4319     x59 = ((uint64_t)(arg1[8]) * ((arg2[2]) * 0x2));
4320     x60 = ((uint64_t)(arg1[8]) * ((arg2[1]) * 0x2));
4321     x61 = ((uint64_t)(arg1[8]) * (arg2[0]));
4322     x62 = ((uint64_t)(arg1[7]) * (arg2[3]));
4323     x63 = ((uint64_t)(arg1[7]) * (arg2[2]));
4324     x64 = ((uint64_t)(arg1[7]) * (arg2[1]));
4325     x65 = ((uint64_t)(arg1[7]) * (arg2[0]));
4326     x66 = ((uint64_t)(arg1[6]) * ((arg2[4]) * 0x2));
4327     x67 = ((uint64_t)(arg1[6]) * (arg2[3]));
4328     x68 = ((uint64_t)(arg1[6]) * (arg2[2]));
4329     x69 = ((uint64_t)(arg1[6]) * ((arg2[1]) * 0x2));
4330     x70 = ((uint64_t)(arg1[6]) * (arg2[0]));
4331     x71 = ((uint64_t)(arg1[5]) * ((arg2[5]) * 0x2));
4332     x72 = ((uint64_t)(arg1[5]) * ((arg2[4]) * 0x2));
4333     x73 = ((uint64_t)(arg1[5]) * (arg2[3]));
4334     x74 = ((uint64_t)(arg1[5]) * ((arg2[2]) * 0x2));
4335     x75 = ((uint64_t)(arg1[5]) * ((arg2[1]) * 0x2));
4336     x76 = ((uint64_t)(arg1[5]) * (arg2[0]));
4337     x77 = ((uint64_t)(arg1[4]) * ((arg2[6]) * 0x2));
4338     x78 = ((uint64_t)(arg1[4]) * ((arg2[5]) * 0x2));
4339     x79 = ((uint64_t)(arg1[4]) * ((arg2[4]) * 0x2));
4340     x80 = ((uint64_t)(arg1[4]) * ((arg2[3]) * 0x2));
4341     x81 = ((uint64_t)(arg1[4]) * ((arg2[2]) * 0x2));
4342     x82 = ((uint64_t)(arg1[4]) * ((arg2[1]) * 0x2));
4343     x83 = ((uint64_t)(arg1[4]) * (arg2[0]));
4344     x84 = ((uint64_t)(arg1[3]) * (arg2[7]));
4345     x85 = ((uint64_t)(arg1[3]) * (arg2[6]));
4346     x86 = ((uint64_t)(arg1[3]) * (arg2[5]));
4347     x87 = ((uint64_t)(arg1[3]) * ((arg2[4]) * 0x2));
4348     x88 = ((uint64_t)(arg1[3]) * (arg2[3]));
4349     x89 = ((uint64_t)(arg1[3]) * (arg2[2]));
4350     x90 = ((uint64_t)(arg1[3]) * (arg2[1]));
4351     x91 = ((uint64_t)(arg1[3]) * (arg2[0]));
4352     x92 = ((uint64_t)(arg1[2]) * ((arg2[8]) * 0x2));
4353     x93 = ((uint64_t)(arg1[2]) * (arg2[7]));
4354     x94 = ((uint64_t)(arg1[2]) * (arg2[6]));
4355     x95 = ((uint64_t)(arg1[2]) * ((arg2[5]) * 0x2));
4356     x96 = ((uint64_t)(arg1[2]) * ((arg2[4]) * 0x2));
4357     x97 = ((uint64_t)(arg1[2]) * (arg2[3]));
4358     x98 = ((uint64_t)(arg1[2]) * (arg2[2]));
4359     x99 = ((uint64_t)(arg1[2]) * ((arg2[1]) * 0x2));
4360     x100 = ((uint64_t)(arg1[2]) * (arg2[0]));
4361     x101 = ((uint64_t)(arg1[1]) * ((arg2[9]) * 0x2));
4362     x102 = ((uint64_t)(arg1[1]) * ((arg2[8]) * 0x2));
4363     x103 = ((uint64_t)(arg1[1]) * (arg2[7]));
4364     x104 = ((uint64_t)(arg1[1]) * ((arg2[6]) * 0x2));
4365     x105 = ((uint64_t)(arg1[1]) * ((arg2[5]) * 0x2));
4366     x106 = ((uint64_t)(arg1[1]) * ((arg2[4]) * 0x2));
4367     x107 = ((uint64_t)(arg1[1]) * (arg2[3]));
4368     x108 = ((uint64_t)(arg1[1]) * ((arg2[2]) * 0x2));
4369     x109 = ((uint64_t)(arg1[1]) * ((arg2[1]) * 0x2));
4370     x110 = ((uint64_t)(arg1[1]) * (arg2[0]));
4371     x111 = ((uint64_t)(arg1[0]) * (arg2[10]));
4372     x112 = ((uint64_t)(arg1[0]) * (arg2[9]));
4373     x113 = ((uint64_t)(arg1[0]) * (arg2[8]));
4374     x114 = ((uint64_t)(arg1[0]) * (arg2[7]));
4375     x115 = ((uint64_t)(arg1[0]) * (arg2[6]));
4376     x116 = ((uint64_t)(arg1[0]) * (arg2[5]));
4377     x117 = ((uint64_t)(arg1[0]) * (arg2[4]));
4378     x118 = ((uint64_t)(arg1[0]) * (arg2[3]));
4379     x119 = ((uint64_t)(arg1[0]) * (arg2[2]));
4380     x120 = ((uint64_t)(arg1[0]) * (arg2[1]));
4381     x121 = ((uint64_t)(arg1[0]) * (arg2[0]));
4382     x122 =
4383         (x121 +
4384          (x55 +
4385           (x54 + (x52 + (x49 + (x45 + (x40 + (x34 + (x27 + (x19 + x10))))))))));
4386     x123 = (x122 >> 24);
4387     x124 = (uint32_t)(x122 & UINT32_C(0xffffff));
4388     x125 =
4389         (x111 +
4390          (x101 +
4391           (x92 + (x84 + (x77 + (x71 + (x66 + (x62 + (x59 + (x57 + x56))))))))));
4392     x126 =
4393         (x112 +
4394          (x102 +
4395           (x93 + (x85 + (x78 + (x72 + (x67 + (x63 + (x60 + (x58 + x1))))))))));
4396     x127 =
4397         (x113 +
4398          (x103 +
4399           (x94 + (x86 + (x79 + (x73 + (x68 + (x64 + (x61 + (x11 + x2))))))))));
4400     x128 =
4401         (x114 +
4402          (x104 +
4403           (x95 + (x87 + (x80 + (x74 + (x69 + (x65 + (x20 + (x12 + x3))))))))));
4404     x129 =
4405         (x115 +
4406          (x105 +
4407           (x96 + (x88 + (x81 + (x75 + (x70 + (x28 + (x21 + (x13 + x4))))))))));
4408     x130 =
4409         (x116 +
4410          (x106 +
4411           (x97 + (x89 + (x82 + (x76 + (x35 + (x29 + (x22 + (x14 + x5))))))))));
4412     x131 =
4413         (x117 +
4414          (x107 +
4415           (x98 + (x90 + (x83 + (x41 + (x36 + (x30 + (x23 + (x15 + x6))))))))));
4416     x132 =
4417         (x118 +
4418          (x108 +
4419           (x99 + (x91 + (x46 + (x42 + (x37 + (x31 + (x24 + (x16 + x7))))))))));
4420     x133 =
4421         (x119 +
4422          (x109 +
4423           (x100 + (x50 + (x47 + (x43 + (x38 + (x32 + (x25 + (x17 + x8))))))))));
4424     x134 =
4425         (x120 +
4426          (x110 +
4427           (x53 + (x51 + (x48 + (x44 + (x39 + (x33 + (x26 + (x18 + x9))))))))));
4428     x135 = (x123 + x134);
4429     x136 = (x135 >> 23);
4430     x137 = (uint32_t)(x135 & UINT32_C(0x7fffff));
4431     x138 = (x136 + x133);
4432     x139 = (x138 >> 23);
4433     x140 = (uint32_t)(x138 & UINT32_C(0x7fffff));
4434     x141 = (x139 + x132);
4435     x142 = (x141 >> 24);
4436     x143 = (uint32_t)(x141 & UINT32_C(0xffffff));
4437     x144 = (x142 + x131);
4438     x145 = (x144 >> 23);
4439     x146 = (uint32_t)(x144 & UINT32_C(0x7fffff));
4440     x147 = (x145 + x130);
4441     x148 = (x147 >> 23);
4442     x149 = (uint32_t)(x147 & UINT32_C(0x7fffff));
4443     x150 = (x148 + x129);
4444     x151 = (x150 >> 23);
4445     x152 = (uint32_t)(x150 & UINT32_C(0x7fffff));
4446     x153 = (x151 + x128);
4447     x154 = (x153 >> 24);
4448     x155 = (uint32_t)(x153 & UINT32_C(0xffffff));
4449     x156 = (x154 + x127);
4450     x157 = (x156 >> 23);
4451     x158 = (uint32_t)(x156 & UINT32_C(0x7fffff));
4452     x159 = (x157 + x126);
4453     x160 = (x159 >> 23);
4454     x161 = (uint32_t)(x159 & UINT32_C(0x7fffff));
4455     x162 = (x160 + x125);
4456     x163 = (uint32_t)(x162 >> 23);
4457     x164 = (uint32_t)(x162 & UINT32_C(0x7fffff));
4458     x165 = ((uint64_t)UINT16_C(0x269) * x163);
4459     x166 = (x124 + x165);
4460     x167 = (uint32_t)(x166 >> 24);
4461     x168 = (uint32_t)(x166 & UINT32_C(0xffffff));
4462     x169 = (x167 + x137);
4463     x170 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x169 >> 23);
4464     x171 = (x169 & UINT32_C(0x7fffff));
4465     x172 = (x170 + x140);
4466     out1[0] = x168;
4467     out1[1] = x171;
4468     out1[2] = x172;
4469     out1[3] = x143;
4470     out1[4] = x146;
4471     out1[5] = x149;
4472     out1[6] = x152;
4473     out1[7] = x155;
4474     out1[8] = x158;
4475     out1[9] = x161;
4476     out1[10] = x164;
4477 }
4478
4479 /*
4480  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square squares a field element and reduces the result.
4481  * Postconditions:
4482  *   eval out1 mod m = (eval arg1 * eval arg1) mod m
4483  *
4484  * Input Bounds:
4485  *   arg1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
4486  * Output Bounds:
4487  *   out1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
4488  */
4489 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(
4490     uint32_t out1[11], const uint32_t arg1[11]) {
4491     uint64_t x1;
4492     uint64_t x2;
4493     uint32_t x3;
4494     uint64_t x4;
4495     uint64_t x5;
4496     uint32_t x6;
4497     uint64_t x7;
4498     uint64_t x8;
4499     uint32_t x9;
4500     uint64_t x10;
4501     uint64_t x11;
4502     uint32_t x12;
4503     uint64_t x13;
4504     uint64_t x14;
4505     uint32_t x15;
4506     uint32_t x16;
4507     uint32_t x17;
4508     uint32_t x18;
4509     uint32_t x19;
4510     uint32_t x20;
4511     uint64_t x21;
4512     uint64_t x22;
4513     uint64_t x23;
4514     uint64_t x24;
4515     uint64_t x25;
4516     uint64_t x26;
4517     uint64_t x27;
4518     uint64_t x28;
4519     uint64_t x29;
4520     uint64_t x30;
4521     uint64_t x31;
4522     uint64_t x32;
4523     uint64_t x33;
4524     uint64_t x34;
4525     uint64_t x35;
4526     uint64_t x36;
4527     uint64_t x37;
4528     uint64_t x38;
4529     uint64_t x39;
4530     uint64_t x40;
4531     uint64_t x41;
4532     uint64_t x42;
4533     uint64_t x43;
4534     uint64_t x44;
4535     uint64_t x45;
4536     uint64_t x46;
4537     uint64_t x47;
4538     uint64_t x48;
4539     uint64_t x49;
4540     uint64_t x50;
4541     uint64_t x51;
4542     uint64_t x52;
4543     uint64_t x53;
4544     uint64_t x54;
4545     uint64_t x55;
4546     uint64_t x56;
4547     uint64_t x57;
4548     uint64_t x58;
4549     uint64_t x59;
4550     uint64_t x60;
4551     uint64_t x61;
4552     uint64_t x62;
4553     uint64_t x63;
4554     uint64_t x64;
4555     uint64_t x65;
4556     uint64_t x66;
4557     uint64_t x67;
4558     uint64_t x68;
4559     uint64_t x69;
4560     uint64_t x70;
4561     uint64_t x71;
4562     uint64_t x72;
4563     uint64_t x73;
4564     uint64_t x74;
4565     uint64_t x75;
4566     uint64_t x76;
4567     uint64_t x77;
4568     uint64_t x78;
4569     uint64_t x79;
4570     uint64_t x80;
4571     uint64_t x81;
4572     uint64_t x82;
4573     uint64_t x83;
4574     uint64_t x84;
4575     uint64_t x85;
4576     uint64_t x86;
4577     uint64_t x87;
4578     uint64_t x88;
4579     uint32_t x89;
4580     uint64_t x90;
4581     uint64_t x91;
4582     uint64_t x92;
4583     uint64_t x93;
4584     uint64_t x94;
4585     uint64_t x95;
4586     uint64_t x96;
4587     uint64_t x97;
4588     uint64_t x98;
4589     uint64_t x99;
4590     uint64_t x100;
4591     uint64_t x101;
4592     uint32_t x102;
4593     uint64_t x103;
4594     uint64_t x104;
4595     uint32_t x105;
4596     uint64_t x106;
4597     uint64_t x107;
4598     uint32_t x108;
4599     uint64_t x109;
4600     uint64_t x110;
4601     uint32_t x111;
4602     uint64_t x112;
4603     uint64_t x113;
4604     uint32_t x114;
4605     uint64_t x115;
4606     uint64_t x116;
4607     uint32_t x117;
4608     uint64_t x118;
4609     uint64_t x119;
4610     uint32_t x120;
4611     uint64_t x121;
4612     uint64_t x122;
4613     uint32_t x123;
4614     uint64_t x124;
4615     uint64_t x125;
4616     uint32_t x126;
4617     uint64_t x127;
4618     uint32_t x128;
4619     uint32_t x129;
4620     uint64_t x130;
4621     uint64_t x131;
4622     uint32_t x132;
4623     uint32_t x133;
4624     uint32_t x134;
4625     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x135;
4626     uint32_t x136;
4627     uint32_t x137;
4628     x1 = ((uint64_t)(arg1[10]) * UINT16_C(0x269));
4629     x2 = (x1 * 0x2);
4630     x3 = ((arg1[10]) * 0x2);
4631     x4 = ((uint64_t)(arg1[9]) * UINT16_C(0x269));
4632     x5 = (x4 * 0x2);
4633     x6 = ((arg1[9]) * 0x2);
4634     x7 = ((uint64_t)(arg1[8]) * UINT16_C(0x269));
4635     x8 = (x7 * 0x2);
4636     x9 = ((arg1[8]) * 0x2);
4637     x10 = ((uint64_t)(arg1[7]) * UINT16_C(0x269));
4638     x11 = (x10 * 0x2);
4639     x12 = ((arg1[7]) * 0x2);
4640     x13 = ((uint64_t)(arg1[6]) * UINT16_C(0x269));
4641     x14 = (x13 * 0x2);
4642     x15 = ((arg1[6]) * 0x2);
4643     x16 = ((arg1[5]) * 0x2);
4644     x17 = ((arg1[4]) * 0x2);
4645     x18 = ((arg1[3]) * 0x2);
4646     x19 = ((arg1[2]) * 0x2);
4647     x20 = ((arg1[1]) * 0x2);
4648     x21 = ((arg1[10]) * x1);
4649     x22 = ((arg1[9]) * x2);
4650     x23 = ((arg1[9]) * (x4 * 0x2));
4651     x24 = ((arg1[8]) * (x2 * 0x2));
4652     x25 = ((arg1[8]) * (x5 * 0x2));
4653     x26 = ((arg1[8]) * (x7 * 0x2));
4654     x27 = ((arg1[7]) * x2);
4655     x28 = ((arg1[7]) * x5);
4656     x29 = ((arg1[7]) * x8);
4657     x30 = ((arg1[7]) * x10);
4658     x31 = ((arg1[6]) * x2);
4659     x32 = ((arg1[6]) * x5);
4660     x33 = ((arg1[6]) * (x8 * 0x2));
4661     x34 = ((arg1[6]) * x11);
4662     x35 = ((arg1[6]) * x13);
4663     x36 = ((arg1[5]) * x2);
4664     x37 = ((arg1[5]) * (x5 * 0x2));
4665     x38 = ((arg1[5]) * (x8 * 0x2));
4666     x39 = ((arg1[5]) * x11);
4667     x40 = ((arg1[5]) * (x14 * 0x2));
4668     x41 = ((uint64_t)(arg1[5]) * ((arg1[5]) * 0x2));
4669     x42 = ((arg1[4]) * (x2 * 0x2));
4670     x43 = ((arg1[4]) * (x5 * 0x2));
4671     x44 = ((arg1[4]) * (x8 * 0x2));
4672     x45 = ((arg1[4]) * (x11 * 0x2));
4673     x46 = ((uint64_t)(arg1[4]) * (x15 * 0x2));
4674     x47 = ((uint64_t)(arg1[4]) * (x16 * 0x2));
4675     x48 = ((uint64_t)(arg1[4]) * ((arg1[4]) * 0x2));
4676     x49 = ((arg1[3]) * x2);
4677     x50 = ((arg1[3]) * x5);
4678     x51 = ((arg1[3]) * (x8 * 0x2));
4679     x52 = ((uint64_t)(arg1[3]) * x12);
4680     x53 = ((uint64_t)(arg1[3]) * x15);
4681     x54 = ((uint64_t)(arg1[3]) * x16);
4682     x55 = ((uint64_t)(arg1[3]) * (x17 * 0x2));
4683     x56 = ((uint64_t)(arg1[3]) * (arg1[3]));
4684     x57 = ((arg1[2]) * x2);
4685     x58 = ((arg1[2]) * (x5 * 0x2));
4686     x59 = ((uint64_t)(arg1[2]) * (x9 * 0x2));
4687     x60 = ((uint64_t)(arg1[2]) * x12);
4688     x61 = ((uint64_t)(arg1[2]) * x15);
4689     x62 = ((uint64_t)(arg1[2]) * (x16 * 0x2));
4690     x63 = ((uint64_t)(arg1[2]) * (x17 * 0x2));
4691     x64 = ((uint64_t)(arg1[2]) * x18);
4692     x65 = ((uint64_t)(arg1[2]) * (arg1[2]));
4693     x66 = ((arg1[1]) * (x2 * 0x2));
4694     x67 = ((uint64_t)(arg1[1]) * (x6 * 0x2));
4695     x68 = ((uint64_t)(arg1[1]) * (x9 * 0x2));
4696     x69 = ((uint64_t)(arg1[1]) * x12);
4697     x70 = ((uint64_t)(arg1[1]) * (x15 * 0x2));
4698     x71 = ((uint64_t)(arg1[1]) * (x16 * 0x2));
4699     x72 = ((uint64_t)(arg1[1]) * (x17 * 0x2));
4700     x73 = ((uint64_t)(arg1[1]) * x18);
4701     x74 = ((uint64_t)(arg1[1]) * (x19 * 0x2));
4702     x75 = ((uint64_t)(arg1[1]) * ((arg1[1]) * 0x2));
4703     x76 = ((uint64_t)(arg1[0]) * x3);
4704     x77 = ((uint64_t)(arg1[0]) * x6);
4705     x78 = ((uint64_t)(arg1[0]) * x9);
4706     x79 = ((uint64_t)(arg1[0]) * x12);
4707     x80 = ((uint64_t)(arg1[0]) * x15);
4708     x81 = ((uint64_t)(arg1[0]) * x16);
4709     x82 = ((uint64_t)(arg1[0]) * x17);
4710     x83 = ((uint64_t)(arg1[0]) * x18);
4711     x84 = ((uint64_t)(arg1[0]) * x19);
4712     x85 = ((uint64_t)(arg1[0]) * x20);
4713     x86 = ((uint64_t)(arg1[0]) * (arg1[0]));
4714     x87 = (x86 + (x66 + (x58 + (x51 + (x45 + x40)))));
4715     x88 = (x87 >> 24);
4716     x89 = (uint32_t)(x87 & UINT32_C(0xffffff));
4717     x90 = (x76 + (x67 + (x59 + (x52 + (x46 + x41)))));
4718     x91 = (x77 + (x68 + (x60 + (x53 + (x47 + x21)))));
4719     x92 = (x78 + (x69 + (x61 + (x54 + (x48 + x22)))));
4720     x93 = (x79 + (x70 + (x62 + (x55 + (x24 + x23)))));
4721     x94 = (x80 + (x71 + (x63 + (x56 + (x27 + x25)))));
4722     x95 = (x81 + (x72 + (x64 + (x31 + (x28 + x26)))));
4723     x96 = (x82 + (x73 + (x65 + (x36 + (x32 + x29)))));
4724     x97 = (x83 + (x74 + (x42 + (x37 + (x33 + x30)))));
4725     x98 = (x84 + (x75 + (x49 + (x43 + (x38 + x34)))));
4726     x99 = (x85 + (x57 + (x50 + (x44 + (x39 + x35)))));
4727     x100 = (x88 + x99);
4728     x101 = (x100 >> 23);
4729     x102 = (uint32_t)(x100 & UINT32_C(0x7fffff));
4730     x103 = (x101 + x98);
4731     x104 = (x103 >> 23);
4732     x105 = (uint32_t)(x103 & UINT32_C(0x7fffff));
4733     x106 = (x104 + x97);
4734     x107 = (x106 >> 24);
4735     x108 = (uint32_t)(x106 & UINT32_C(0xffffff));
4736     x109 = (x107 + x96);
4737     x110 = (x109 >> 23);
4738     x111 = (uint32_t)(x109 & UINT32_C(0x7fffff));
4739     x112 = (x110 + x95);
4740     x113 = (x112 >> 23);
4741     x114 = (uint32_t)(x112 & UINT32_C(0x7fffff));
4742     x115 = (x113 + x94);
4743     x116 = (x115 >> 23);
4744     x117 = (uint32_t)(x115 & UINT32_C(0x7fffff));
4745     x118 = (x116 + x93);
4746     x119 = (x118 >> 24);
4747     x120 = (uint32_t)(x118 & UINT32_C(0xffffff));
4748     x121 = (x119 + x92);
4749     x122 = (x121 >> 23);
4750     x123 = (uint32_t)(x121 & UINT32_C(0x7fffff));
4751     x124 = (x122 + x91);
4752     x125 = (x124 >> 23);
4753     x126 = (uint32_t)(x124 & UINT32_C(0x7fffff));
4754     x127 = (x125 + x90);
4755     x128 = (uint32_t)(x127 >> 23);
4756     x129 = (uint32_t)(x127 & UINT32_C(0x7fffff));
4757     x130 = ((uint64_t)UINT16_C(0x269) * x128);
4758     x131 = (x89 + x130);
4759     x132 = (uint32_t)(x131 >> 24);
4760     x133 = (uint32_t)(x131 & UINT32_C(0xffffff));
4761     x134 = (x132 + x102);
4762     x135 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x134 >> 23);
4763     x136 = (x134 & UINT32_C(0x7fffff));
4764     x137 = (x135 + x105);
4765     out1[0] = x133;
4766     out1[1] = x136;
4767     out1[2] = x137;
4768     out1[3] = x108;
4769     out1[4] = x111;
4770     out1[5] = x114;
4771     out1[6] = x117;
4772     out1[7] = x120;
4773     out1[8] = x123;
4774     out1[9] = x126;
4775     out1[10] = x129;
4776 }
4777
4778 /*
4779  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry reduces a field element.
4780  * Postconditions:
4781  *   eval out1 mod m = eval arg1 mod m
4782  *
4783  * Input Bounds:
4784  *   arg1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
4785  * Output Bounds:
4786  *   out1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
4787  */
4788 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(
4789     uint32_t out1[11], const uint32_t arg1[11]) {
4790     uint32_t x1;
4791     uint32_t x2;
4792     uint32_t x3;
4793     uint32_t x4;
4794     uint32_t x5;
4795     uint32_t x6;
4796     uint32_t x7;
4797     uint32_t x8;
4798     uint32_t x9;
4799     uint32_t x10;
4800     uint32_t x11;
4801     uint32_t x12;
4802     uint32_t x13;
4803     uint32_t x14;
4804     uint32_t x15;
4805     uint32_t x16;
4806     uint32_t x17;
4807     uint32_t x18;
4808     uint32_t x19;
4809     uint32_t x20;
4810     uint32_t x21;
4811     uint32_t x22;
4812     uint32_t x23;
4813     uint32_t x24;
4814     x1 = (arg1[0]);
4815     x2 = ((x1 >> 24) + (arg1[1]));
4816     x3 = ((x2 >> 23) + (arg1[2]));
4817     x4 = ((x3 >> 23) + (arg1[3]));
4818     x5 = ((x4 >> 24) + (arg1[4]));
4819     x6 = ((x5 >> 23) + (arg1[5]));
4820     x7 = ((x6 >> 23) + (arg1[6]));
4821     x8 = ((x7 >> 23) + (arg1[7]));
4822     x9 = ((x8 >> 24) + (arg1[8]));
4823     x10 = ((x9 >> 23) + (arg1[9]));
4824     x11 = ((x10 >> 23) + (arg1[10]));
4825     x12 = ((x1 & UINT32_C(0xffffff)) + (UINT16_C(0x269) * (x11 >> 23)));
4826     x13 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x12 >> 24) +
4827            (x2 & UINT32_C(0x7fffff)));
4828     x14 = (x12 & UINT32_C(0xffffff));
4829     x15 = (x13 & UINT32_C(0x7fffff));
4830     x16 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x13 >> 23) +
4831            (x3 & UINT32_C(0x7fffff)));
4832     x17 = (x4 & UINT32_C(0xffffff));
4833     x18 = (x5 & UINT32_C(0x7fffff));
4834     x19 = (x6 & UINT32_C(0x7fffff));
4835     x20 = (x7 & UINT32_C(0x7fffff));
4836     x21 = (x8 & UINT32_C(0xffffff));
4837     x22 = (x9 & UINT32_C(0x7fffff));
4838     x23 = (x10 & UINT32_C(0x7fffff));
4839     x24 = (x11 & UINT32_C(0x7fffff));
4840     out1[0] = x14;
4841     out1[1] = x15;
4842     out1[2] = x16;
4843     out1[3] = x17;
4844     out1[4] = x18;
4845     out1[5] = x19;
4846     out1[6] = x20;
4847     out1[7] = x21;
4848     out1[8] = x22;
4849     out1[9] = x23;
4850     out1[10] = x24;
4851 }
4852
4853 /*
4854  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_add adds two field elements.
4855  * Postconditions:
4856  *   eval out1 mod m = (eval arg1 + eval arg2) mod m
4857  *
4858  * Input Bounds:
4859  *   arg1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
4860  *   arg2: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
4861  * Output Bounds:
4862  *   out1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
4863  */
4864 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_add(
4865     uint32_t out1[11], const uint32_t arg1[11], const uint32_t arg2[11]) {
4866     uint32_t x1;
4867     uint32_t x2;
4868     uint32_t x3;
4869     uint32_t x4;
4870     uint32_t x5;
4871     uint32_t x6;
4872     uint32_t x7;
4873     uint32_t x8;
4874     uint32_t x9;
4875     uint32_t x10;
4876     uint32_t x11;
4877     x1 = ((arg1[0]) + (arg2[0]));
4878     x2 = ((arg1[1]) + (arg2[1]));
4879     x3 = ((arg1[2]) + (arg2[2]));
4880     x4 = ((arg1[3]) + (arg2[3]));
4881     x5 = ((arg1[4]) + (arg2[4]));
4882     x6 = ((arg1[5]) + (arg2[5]));
4883     x7 = ((arg1[6]) + (arg2[6]));
4884     x8 = ((arg1[7]) + (arg2[7]));
4885     x9 = ((arg1[8]) + (arg2[8]));
4886     x10 = ((arg1[9]) + (arg2[9]));
4887     x11 = ((arg1[10]) + (arg2[10]));
4888     out1[0] = x1;
4889     out1[1] = x2;
4890     out1[2] = x3;
4891     out1[3] = x4;
4892     out1[4] = x5;
4893     out1[5] = x6;
4894     out1[6] = x7;
4895     out1[7] = x8;
4896     out1[8] = x9;
4897     out1[9] = x10;
4898     out1[10] = x11;
4899 }
4900
4901 /*
4902  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_sub subtracts two field elements.
4903  * Postconditions:
4904  *   eval out1 mod m = (eval arg1 - eval arg2) mod m
4905  *
4906  * Input Bounds:
4907  *   arg1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
4908  *   arg2: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
4909  * Output Bounds:
4910  *   out1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
4911  */
4912 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_sub(
4913     uint32_t out1[11], const uint32_t arg1[11], const uint32_t arg2[11]) {
4914     uint32_t x1;
4915     uint32_t x2;
4916     uint32_t x3;
4917     uint32_t x4;
4918     uint32_t x5;
4919     uint32_t x6;
4920     uint32_t x7;
4921     uint32_t x8;
4922     uint32_t x9;
4923     uint32_t x10;
4924     uint32_t x11;
4925     x1 = ((UINT32_C(0x1fffb2e) + (arg1[0])) - (arg2[0]));
4926     x2 = ((UINT32_C(0xfffffe) + (arg1[1])) - (arg2[1]));
4927     x3 = ((UINT32_C(0xfffffe) + (arg1[2])) - (arg2[2]));
4928     x4 = ((UINT32_C(0x1fffffe) + (arg1[3])) - (arg2[3]));
4929     x5 = ((UINT32_C(0xfffffe) + (arg1[4])) - (arg2[4]));
4930     x6 = ((UINT32_C(0xfffffe) + (arg1[5])) - (arg2[5]));
4931     x7 = ((UINT32_C(0xfffffe) + (arg1[6])) - (arg2[6]));
4932     x8 = ((UINT32_C(0x1fffffe) + (arg1[7])) - (arg2[7]));
4933     x9 = ((UINT32_C(0xfffffe) + (arg1[8])) - (arg2[8]));
4934     x10 = ((UINT32_C(0xfffffe) + (arg1[9])) - (arg2[9]));
4935     x11 = ((UINT32_C(0xfffffe) + (arg1[10])) - (arg2[10]));
4936     out1[0] = x1;
4937     out1[1] = x2;
4938     out1[2] = x3;
4939     out1[3] = x4;
4940     out1[4] = x5;
4941     out1[5] = x6;
4942     out1[6] = x7;
4943     out1[7] = x8;
4944     out1[8] = x9;
4945     out1[9] = x10;
4946     out1[10] = x11;
4947 }
4948
4949 /*
4950  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_opp negates a field element.
4951  * Postconditions:
4952  *   eval out1 mod m = -eval arg1 mod m
4953  *
4954  * Input Bounds:
4955  *   arg1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
4956  * Output Bounds:
4957  *   out1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
4958  */
4959 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(
4960     uint32_t out1[11], const uint32_t arg1[11]) {
4961     uint32_t x1;
4962     uint32_t x2;
4963     uint32_t x3;
4964     uint32_t x4;
4965     uint32_t x5;
4966     uint32_t x6;
4967     uint32_t x7;
4968     uint32_t x8;
4969     uint32_t x9;
4970     uint32_t x10;
4971     uint32_t x11;
4972     x1 = (UINT32_C(0x1fffb2e) - (arg1[0]));
4973     x2 = (UINT32_C(0xfffffe) - (arg1[1]));
4974     x3 = (UINT32_C(0xfffffe) - (arg1[2]));
4975     x4 = (UINT32_C(0x1fffffe) - (arg1[3]));
4976     x5 = (UINT32_C(0xfffffe) - (arg1[4]));
4977     x6 = (UINT32_C(0xfffffe) - (arg1[5]));
4978     x7 = (UINT32_C(0xfffffe) - (arg1[6]));
4979     x8 = (UINT32_C(0x1fffffe) - (arg1[7]));
4980     x9 = (UINT32_C(0xfffffe) - (arg1[8]));
4981     x10 = (UINT32_C(0xfffffe) - (arg1[9]));
4982     x11 = (UINT32_C(0xfffffe) - (arg1[10]));
4983     out1[0] = x1;
4984     out1[1] = x2;
4985     out1[2] = x3;
4986     out1[3] = x4;
4987     out1[4] = x5;
4988     out1[5] = x6;
4989     out1[6] = x7;
4990     out1[7] = x8;
4991     out1[8] = x9;
4992     out1[9] = x10;
4993     out1[10] = x11;
4994 }
4995
4996 /*
4997  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz is a multi-limb conditional select.
4998  * Postconditions:
4999  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
5000  *
5001  * Input Bounds:
5002  *   arg1: [0x0 ~> 0x1]
5003  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5004  *   arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5005  * Output Bounds:
5006  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5007  */
5008 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
5009     uint32_t out1[11], fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1,
5010     const uint32_t arg2[11], const uint32_t arg3[11]) {
5011     uint32_t x1;
5012     uint32_t x2;
5013     uint32_t x3;
5014     uint32_t x4;
5015     uint32_t x5;
5016     uint32_t x6;
5017     uint32_t x7;
5018     uint32_t x8;
5019     uint32_t x9;
5020     uint32_t x10;
5021     uint32_t x11;
5022     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x1, arg1, (arg2[0]),
5023                                                           (arg3[0]));
5024     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x2, arg1, (arg2[1]),
5025                                                           (arg3[1]));
5026     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x3, arg1, (arg2[2]),
5027                                                           (arg3[2]));
5028     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x4, arg1, (arg2[3]),
5029                                                           (arg3[3]));
5030     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x5, arg1, (arg2[4]),
5031                                                           (arg3[4]));
5032     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x6, arg1, (arg2[5]),
5033                                                           (arg3[5]));
5034     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x7, arg1, (arg2[6]),
5035                                                           (arg3[6]));
5036     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x8, arg1, (arg2[7]),
5037                                                           (arg3[7]));
5038     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x9, arg1, (arg2[8]),
5039                                                           (arg3[8]));
5040     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x10, arg1, (arg2[9]),
5041                                                           (arg3[9]));
5042     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(
5043         &x11, arg1, (arg2[10]), (arg3[10]));
5044     out1[0] = x1;
5045     out1[1] = x2;
5046     out1[2] = x3;
5047     out1[3] = x4;
5048     out1[4] = x5;
5049     out1[5] = x6;
5050     out1[6] = x7;
5051     out1[7] = x8;
5052     out1[8] = x9;
5053     out1[9] = x10;
5054     out1[10] = x11;
5055 }
5056
5057 /*
5058  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes serializes a field element to bytes in little-endian order.
5059  * Postconditions:
5060  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
5061  *
5062  * Input Bounds:
5063  *   arg1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
5064  * Output Bounds:
5065  *   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]]
5066  */
5067 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(
5068     uint8_t out1[32], const uint32_t arg1[11]) {
5069     uint32_t x1;
5070     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x2;
5071     uint32_t x3;
5072     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x4;
5073     uint32_t x5;
5074     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x6;
5075     uint32_t x7;
5076     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x8;
5077     uint32_t x9;
5078     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x10;
5079     uint32_t x11;
5080     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x12;
5081     uint32_t x13;
5082     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x14;
5083     uint32_t x15;
5084     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x16;
5085     uint32_t x17;
5086     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x18;
5087     uint32_t x19;
5088     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x20;
5089     uint32_t x21;
5090     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x22;
5091     uint32_t x23;
5092     uint32_t x24;
5093     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x25;
5094     uint32_t x26;
5095     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x27;
5096     uint32_t x28;
5097     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x29;
5098     uint32_t x30;
5099     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x31;
5100     uint32_t x32;
5101     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x33;
5102     uint32_t x34;
5103     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x35;
5104     uint32_t x36;
5105     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x37;
5106     uint32_t x38;
5107     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x39;
5108     uint32_t x40;
5109     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x41;
5110     uint32_t x42;
5111     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x43;
5112     uint32_t x44;
5113     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x45;
5114     uint32_t x46;
5115     uint32_t x47;
5116     uint32_t x48;
5117     uint32_t x49;
5118     uint32_t x50;
5119     uint32_t x51;
5120     uint32_t x52;
5121     uint32_t x53;
5122     uint32_t x54;
5123     uint32_t x55;
5124     uint8_t x56;
5125     uint8_t x57;
5126     uint8_t x58;
5127     uint8_t x59;
5128     uint32_t x60;
5129     uint8_t x61;
5130     uint8_t x62;
5131     uint8_t x63;
5132     uint32_t x64;
5133     uint32_t x65;
5134     uint8_t x66;
5135     uint32_t x67;
5136     uint8_t x68;
5137     uint8_t x69;
5138     uint8_t x70;
5139     uint32_t x71;
5140     uint32_t x72;
5141     uint8_t x73;
5142     uint32_t x74;
5143     uint8_t x75;
5144     uint8_t x76;
5145     uint8_t x77;
5146     uint32_t x78;
5147     uint32_t x79;
5148     uint8_t x80;
5149     uint32_t x81;
5150     uint8_t x82;
5151     uint8_t x83;
5152     uint8_t x84;
5153     uint32_t x85;
5154     uint32_t x86;
5155     uint8_t x87;
5156     uint32_t x88;
5157     uint8_t x89;
5158     uint8_t x90;
5159     uint8_t x91;
5160     uint32_t x92;
5161     uint32_t x93;
5162     uint8_t x94;
5163     uint32_t x95;
5164     uint8_t x96;
5165     uint8_t x97;
5166     uint8_t x98;
5167     uint32_t x99;
5168     uint32_t x100;
5169     uint8_t x101;
5170     uint32_t x102;
5171     uint8_t x103;
5172     uint8_t x104;
5173     uint8_t x105;
5174     uint32_t x106;
5175     uint32_t x107;
5176     uint8_t x108;
5177     uint32_t x109;
5178     uint8_t x110;
5179     uint8_t x111;
5180     uint8_t x112;
5181     uint32_t x113;
5182     uint32_t x114;
5183     uint8_t x115;
5184     uint32_t x116;
5185     uint8_t x117;
5186     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x118;
5187     uint8_t x119;
5188     uint32_t x120;
5189     uint32_t x121;
5190     uint8_t x122;
5191     uint8_t x123;
5192     uint8_t x124;
5193     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24(
5194         &x1, &x2, 0x0, (arg1[0]), UINT32_C(0xfffd97));
5195     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5196         &x3, &x4, x2, (arg1[1]), UINT32_C(0x7fffff));
5197     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5198         &x5, &x6, x4, (arg1[2]), UINT32_C(0x7fffff));
5199     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24(
5200         &x7, &x8, x6, (arg1[3]), UINT32_C(0xffffff));
5201     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5202         &x9, &x10, x8, (arg1[4]), UINT32_C(0x7fffff));
5203     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5204         &x11, &x12, x10, (arg1[5]), UINT32_C(0x7fffff));
5205     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5206         &x13, &x14, x12, (arg1[6]), UINT32_C(0x7fffff));
5207     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24(
5208         &x15, &x16, x14, (arg1[7]), UINT32_C(0xffffff));
5209     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5210         &x17, &x18, x16, (arg1[8]), UINT32_C(0x7fffff));
5211     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5212         &x19, &x20, x18, (arg1[9]), UINT32_C(0x7fffff));
5213     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5214         &x21, &x22, x20, (arg1[10]), UINT32_C(0x7fffff));
5215     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x23, x22, 0x0,
5216                                                           UINT32_C(0xffffffff));
5217     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24(
5218         &x24, &x25, 0x0, x1, (x23 & UINT32_C(0xfffd97)));
5219     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5220         &x26, &x27, x25, x3, (x23 & UINT32_C(0x7fffff)));
5221     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5222         &x28, &x29, x27, x5, (x23 & UINT32_C(0x7fffff)));
5223     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24(
5224         &x30, &x31, x29, x7, (x23 & UINT32_C(0xffffff)));
5225     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5226         &x32, &x33, x31, x9, (x23 & UINT32_C(0x7fffff)));
5227     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5228         &x34, &x35, x33, x11, (x23 & UINT32_C(0x7fffff)));
5229     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5230         &x36, &x37, x35, x13, (x23 & UINT32_C(0x7fffff)));
5231     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24(
5232         &x38, &x39, x37, x15, (x23 & UINT32_C(0xffffff)));
5233     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5234         &x40, &x41, x39, x17, (x23 & UINT32_C(0x7fffff)));
5235     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5236         &x42, &x43, x41, x19, (x23 & UINT32_C(0x7fffff)));
5237     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5238         &x44, &x45, x43, x21, (x23 & UINT32_C(0x7fffff)));
5239     x46 = (x44 * (uint32_t)0x2);
5240     x47 = (x42 << 2);
5241     x48 = (x40 << 3);
5242     x49 = (x38 << 3);
5243     x50 = (x36 << 4);
5244     x51 = (x34 << 5);
5245     x52 = (x32 << 6);
5246     x53 = (x30 << 6);
5247     x54 = (x28 << 7);
5248     x55 = (x24 >> 8);
5249     x56 = (uint8_t)(x24 & UINT8_C(0xff));
5250     x57 = (uint8_t)(x55 >> 8);
5251     x58 = (uint8_t)(x55 & UINT8_C(0xff));
5252     x59 = (uint8_t)(x57 & UINT8_C(0xff));
5253     x60 = (x26 >> 8);
5254     x61 = (uint8_t)(x26 & UINT8_C(0xff));
5255     x62 = (uint8_t)(x60 >> 8);
5256     x63 = (uint8_t)(x60 & UINT8_C(0xff));
5257     x64 = (x62 + x54);
5258     x65 = (x64 >> 8);
5259     x66 = (uint8_t)(x64 & UINT8_C(0xff));
5260     x67 = (x65 >> 8);
5261     x68 = (uint8_t)(x65 & UINT8_C(0xff));
5262     x69 = (uint8_t)(x67 >> 8);
5263     x70 = (uint8_t)(x67 & UINT8_C(0xff));
5264     x71 = (x69 + x53);
5265     x72 = (x71 >> 8);
5266     x73 = (uint8_t)(x71 & UINT8_C(0xff));
5267     x74 = (x72 >> 8);
5268     x75 = (uint8_t)(x72 & UINT8_C(0xff));
5269     x76 = (uint8_t)(x74 >> 8);
5270     x77 = (uint8_t)(x74 & UINT8_C(0xff));
5271     x78 = (x76 + x52);
5272     x79 = (x78 >> 8);
5273     x80 = (uint8_t)(x78 & UINT8_C(0xff));
5274     x81 = (x79 >> 8);
5275     x82 = (uint8_t)(x79 & UINT8_C(0xff));
5276     x83 = (uint8_t)(x81 >> 8);
5277     x84 = (uint8_t)(x81 & UINT8_C(0xff));
5278     x85 = (x83 + x51);
5279     x86 = (x85 >> 8);
5280     x87 = (uint8_t)(x85 & UINT8_C(0xff));
5281     x88 = (x86 >> 8);
5282     x89 = (uint8_t)(x86 & UINT8_C(0xff));
5283     x90 = (uint8_t)(x88 >> 8);
5284     x91 = (uint8_t)(x88 & UINT8_C(0xff));
5285     x92 = (x90 + x50);
5286     x93 = (x92 >> 8);
5287     x94 = (uint8_t)(x92 & UINT8_C(0xff));
5288     x95 = (x93 >> 8);
5289     x96 = (uint8_t)(x93 & UINT8_C(0xff));
5290     x97 = (uint8_t)(x95 >> 8);
5291     x98 = (uint8_t)(x95 & UINT8_C(0xff));
5292     x99 = (x97 + x49);
5293     x100 = (x99 >> 8);
5294     x101 = (uint8_t)(x99 & UINT8_C(0xff));
5295     x102 = (x100 >> 8);
5296     x103 = (uint8_t)(x100 & UINT8_C(0xff));
5297     x104 = (uint8_t)(x102 >> 8);
5298     x105 = (uint8_t)(x102 & UINT8_C(0xff));
5299     x106 = (x104 + x48);
5300     x107 = (x106 >> 8);
5301     x108 = (uint8_t)(x106 & UINT8_C(0xff));
5302     x109 = (x107 >> 8);
5303     x110 = (uint8_t)(x107 & UINT8_C(0xff));
5304     x111 = (uint8_t)(x109 >> 8);
5305     x112 = (uint8_t)(x109 & UINT8_C(0xff));
5306     x113 = (x111 + x47);
5307     x114 = (x113 >> 8);
5308     x115 = (uint8_t)(x113 & UINT8_C(0xff));
5309     x116 = (x114 >> 8);
5310     x117 = (uint8_t)(x114 & UINT8_C(0xff));
5311     x118 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x116 >> 8);
5312     x119 = (uint8_t)(x116 & UINT8_C(0xff));
5313     x120 = (x118 + x46);
5314     x121 = (x120 >> 8);
5315     x122 = (uint8_t)(x120 & UINT8_C(0xff));
5316     x123 = (uint8_t)(x121 >> 8);
5317     x124 = (uint8_t)(x121 & UINT8_C(0xff));
5318     out1[0] = x56;
5319     out1[1] = x58;
5320     out1[2] = x59;
5321     out1[3] = x61;
5322     out1[4] = x63;
5323     out1[5] = x66;
5324     out1[6] = x68;
5325     out1[7] = x70;
5326     out1[8] = x73;
5327     out1[9] = x75;
5328     out1[10] = x77;
5329     out1[11] = x80;
5330     out1[12] = x82;
5331     out1[13] = x84;
5332     out1[14] = x87;
5333     out1[15] = x89;
5334     out1[16] = x91;
5335     out1[17] = x94;
5336     out1[18] = x96;
5337     out1[19] = x98;
5338     out1[20] = x101;
5339     out1[21] = x103;
5340     out1[22] = x105;
5341     out1[23] = x108;
5342     out1[24] = x110;
5343     out1[25] = x112;
5344     out1[26] = x115;
5345     out1[27] = x117;
5346     out1[28] = x119;
5347     out1[29] = x122;
5348     out1[30] = x124;
5349     out1[31] = x123;
5350 }
5351
5352 /*
5353  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes deserializes a field element from bytes in little-endian order.
5354  * Postconditions:
5355  *   eval out1 mod m = bytes_eval arg1 mod m
5356  *
5357  * Input Bounds:
5358  *   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]]
5359  * Output Bounds:
5360  *   out1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
5361  */
5362 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(
5363     uint32_t out1[11], const uint8_t arg1[32]) {
5364     uint32_t x1;
5365     uint32_t x2;
5366     uint32_t x3;
5367     uint32_t x4;
5368     uint32_t x5;
5369     uint32_t x6;
5370     uint32_t x7;
5371     uint32_t x8;
5372     uint32_t x9;
5373     uint32_t x10;
5374     uint32_t x11;
5375     uint32_t x12;
5376     uint32_t x13;
5377     uint32_t x14;
5378     uint32_t x15;
5379     uint32_t x16;
5380     uint32_t x17;
5381     uint32_t x18;
5382     uint32_t x19;
5383     uint32_t x20;
5384     uint32_t x21;
5385     uint32_t x22;
5386     uint32_t x23;
5387     uint32_t x24;
5388     uint32_t x25;
5389     uint32_t x26;
5390     uint32_t x27;
5391     uint32_t x28;
5392     uint8_t x29;
5393     uint32_t x30;
5394     uint32_t x31;
5395     uint8_t x32;
5396     uint32_t x33;
5397     uint32_t x34;
5398     uint32_t x35;
5399     uint32_t x36;
5400     uint32_t x37;
5401     uint32_t x38;
5402     uint32_t x39;
5403     uint32_t x40;
5404     uint32_t x41;
5405     uint32_t x42;
5406     uint32_t x43;
5407     uint32_t x44;
5408     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x45;
5409     uint32_t x46;
5410     uint32_t x47;
5411     uint8_t x48;
5412     uint32_t x49;
5413     uint32_t x50;
5414     uint8_t x51;
5415     uint32_t x52;
5416     uint32_t x53;
5417     uint8_t x54;
5418     uint32_t x55;
5419     uint32_t x56;
5420     uint8_t x57;
5421     uint32_t x58;
5422     uint32_t x59;
5423     uint8_t x60;
5424     uint32_t x61;
5425     uint32_t x62;
5426     uint8_t x63;
5427     uint32_t x64;
5428     uint32_t x65;
5429     uint8_t x66;
5430     uint32_t x67;
5431     uint32_t x68;
5432     uint8_t x69;
5433     uint32_t x70;
5434     uint32_t x71;
5435     x1 = ((uint32_t)(arg1[31]) << 15);
5436     x2 = ((uint32_t)(arg1[30]) << 7);
5437     x3 = ((uint32_t)(arg1[29]) << 22);
5438     x4 = ((uint32_t)(arg1[28]) << 14);
5439     x5 = ((uint32_t)(arg1[27]) << 6);
5440     x6 = ((uint32_t)(arg1[26]) << 21);
5441     x7 = ((uint32_t)(arg1[25]) << 13);
5442     x8 = ((uint32_t)(arg1[24]) << 5);
5443     x9 = ((uint32_t)(arg1[23]) << 21);
5444     x10 = ((uint32_t)(arg1[22]) << 13);
5445     x11 = ((uint32_t)(arg1[21]) << 5);
5446     x12 = ((uint32_t)(arg1[20]) << 20);
5447     x13 = ((uint32_t)(arg1[19]) << 12);
5448     x14 = ((uint32_t)(arg1[18]) << 4);
5449     x15 = ((uint32_t)(arg1[17]) << 19);
5450     x16 = ((uint32_t)(arg1[16]) << 11);
5451     x17 = ((uint32_t)(arg1[15]) << 3);
5452     x18 = ((uint32_t)(arg1[14]) << 18);
5453     x19 = ((uint32_t)(arg1[13]) << 10);
5454     x20 = ((uint32_t)(arg1[12]) << 2);
5455     x21 = ((uint32_t)(arg1[11]) << 18);
5456     x22 = ((uint32_t)(arg1[10]) << 10);
5457     x23 = ((uint32_t)(arg1[9]) << 2);
5458     x24 = ((uint32_t)(arg1[8]) << 17);
5459     x25 = ((uint32_t)(arg1[7]) << 9);
5460     x26 = ((uint32_t)(arg1[6]) * 0x2);
5461     x27 = ((uint32_t)(arg1[5]) << 16);
5462     x28 = ((uint32_t)(arg1[4]) << 8);
5463     x29 = (arg1[3]);
5464     x30 = ((uint32_t)(arg1[2]) << 16);
5465     x31 = ((uint32_t)(arg1[1]) << 8);
5466     x32 = (arg1[0]);
5467     x33 = (x32 + (x31 + x30));
5468     x34 = (x33 & UINT32_C(0xffffff));
5469     x35 = (x2 + x1);
5470     x36 = (x5 + (x4 + x3));
5471     x37 = (x8 + (x7 + x6));
5472     x38 = (x11 + (x10 + x9));
5473     x39 = (x14 + (x13 + x12));
5474     x40 = (x17 + (x16 + x15));
5475     x41 = (x20 + (x19 + x18));
5476     x42 = (x23 + (x22 + x21));
5477     x43 = (x26 + (x25 + x24));
5478     x44 = (x29 + (x28 + x27));
5479     x45 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x44 >> 23);
5480     x46 = (x44 & UINT32_C(0x7fffff));
5481     x47 = (x45 + x43);
5482     x48 = (uint8_t)(x47 >> 23);
5483     x49 = (x47 & UINT32_C(0x7fffff));
5484     x50 = (x48 + x42);
5485     x51 = (uint8_t)(x50 >> 24);
5486     x52 = (x50 & UINT32_C(0xffffff));
5487     x53 = (x51 + x41);
5488     x54 = (uint8_t)(x53 >> 23);
5489     x55 = (x53 & UINT32_C(0x7fffff));
5490     x56 = (x54 + x40);
5491     x57 = (uint8_t)(x56 >> 23);
5492     x58 = (x56 & UINT32_C(0x7fffff));
5493     x59 = (x57 + x39);
5494     x60 = (uint8_t)(x59 >> 23);
5495     x61 = (x59 & UINT32_C(0x7fffff));
5496     x62 = (x60 + x38);
5497     x63 = (uint8_t)(x62 >> 24);
5498     x64 = (x62 & UINT32_C(0xffffff));
5499     x65 = (x63 + x37);
5500     x66 = (uint8_t)(x65 >> 23);
5501     x67 = (x65 & UINT32_C(0x7fffff));
5502     x68 = (x66 + x36);
5503     x69 = (uint8_t)(x68 >> 23);
5504     x70 = (x68 & UINT32_C(0x7fffff));
5505     x71 = (x69 + x35);
5506     out1[0] = x34;
5507     out1[1] = x46;
5508     out1[2] = x49;
5509     out1[3] = x52;
5510     out1[4] = x55;
5511     out1[5] = x58;
5512     out1[6] = x61;
5513     out1[7] = x64;
5514     out1[8] = x67;
5515     out1[9] = x70;
5516     out1[10] = x71;
5517 }
5518
5519 /* END verbatim fiat code */
5520
5521 /*-
5522  * Finite field inversion via FLT.
5523  * NB: this is not a real Fiat function, just named that way for consistency.
5524  * Autogenerated: ecp/id_tc26_gost_3410_2012_256_paramSetA/fe_inv.op3
5525  * custom repunit addition chain
5526  */
5527 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(fe_t output,
5528                                                           const fe_t t1) {
5529     int i;
5530     /* temporary variables */
5531     fe_t acc, t16, t164, t2, t246, t32, t4, t64, t8, t80, t82;
5532
5533     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t1);
5534     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, acc, t1);
5535     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t2);
5536     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5537     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t4, acc, t2);
5538     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t4);
5539     for (i = 0; i < 3; i++)
5540         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5541     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t8, acc, t4);
5542     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t8);
5543     for (i = 0; i < 7; i++)
5544         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5545     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t16, acc, t8);
5546     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t16);
5547     for (i = 0; i < 15; i++)
5548         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5549     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t32, acc, t16);
5550     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t32);
5551     for (i = 0; i < 31; i++)
5552         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5553     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t64, acc, t32);
5554     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t64);
5555     for (i = 0; i < 15; i++)
5556         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5557     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t80, acc, t16);
5558     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t80);
5559     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5560     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t82, acc, t2);
5561     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t82);
5562     for (i = 0; i < 81; i++)
5563         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5564     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t164, acc, t82);
5565     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t164);
5566     for (i = 0; i < 81; i++)
5567         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5568     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t246, acc, t82);
5569     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t246);
5570     for (i = 0; i < 2; i++)
5571         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5572     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t2);
5573     for (i = 0; i < 3; i++)
5574         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5575     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t1);
5576     for (i = 0; i < 2; i++)
5577         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5578     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t1);
5579     for (i = 0; i < 2; i++)
5580         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5581     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(output, acc, t1);
5582 }
5583
5584 /* curve coefficient constants */
5585
5586 static const limb_t const_one[11] = {
5587     UINT32_C(0x00000001), UINT32_C(0x00000000), UINT32_C(0x00000000),
5588     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
5589     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
5590     UINT32_C(0x00000000), UINT32_C(0x00000000)};
5591
5592 static const limb_t const_d[11] = {
5593     UINT32_C(0x00C7BFFB), UINT32_C(0x00432D6D), UINT32_C(0x006FCA45),
5594     UINT32_C(0x005C026B), UINT32_C(0x0077D8A2), UINT32_C(0x0040995C),
5595     UINT32_C(0x004FAD51), UINT32_C(0x00F17873), UINT32_C(0x007F502A),
5596     UINT32_C(0x002DF060), UINT32_C(0x000302FB)};
5597
5598 static const limb_t const_S[11] = {
5599     UINT32_C(0x008E0ECD), UINT32_C(0x004F34A4), UINT32_C(0x00040D6E),
5600     UINT32_C(0x0068FF65), UINT32_C(0x006209D7), UINT32_C(0x004FD9A8),
5601     UINT32_C(0x000C14AB), UINT32_C(0x0043A1E3), UINT32_C(0x00602BF5),
5602     UINT32_C(0x001483E7), UINT32_C(0x003F3F41)};
5603
5604 static const limb_t const_T[11] = {
5605     UINT32_C(0x00A14AAA), UINT32_C(0x0075DCE7), UINT32_C(0x007D4C60),
5606     UINT32_C(0x0064AB11), UINT32_C(0x0013F970), UINT32_C(0x004AC43A),
5607     UINT32_C(0x004D478D), UINT32_C(0x00D2E968), UINT32_C(0x003FE2B1),
5608     UINT32_C(0x001CFD65), UINT32_C(0x0000807F)};
5609
5610 /* LUT for scalar multiplication by comb interleaving */
5611 static const pt_aff_t lut_cmb[14][16] = {
5612     {
5613         {{UINT32_C(0x0000000D), UINT32_C(0x00000000), UINT32_C(0x00000000),
5614           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
5615           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
5616           UINT32_C(0x00000000), UINT32_C(0x00000000)},
5617          {UINT32_C(0x00A300E7), UINT32_C(0x002592DB), UINT32_C(0x0003F256),
5618           UINT32_C(0x001FC8BA), UINT32_C(0x003E36FA), UINT32_C(0x0024E73F),
5619           UINT32_C(0x007AB076), UINT32_C(0x00911871), UINT32_C(0x006B6690),
5620           UINT32_C(0x000CAA91), UINT32_C(0x0030650F)},
5621          {UINT32_C(0x0047155F), UINT32_C(0x00687527), UINT32_C(0x00334E61),
5622           UINT32_C(0x009D3172), UINT32_C(0x0028CAB3), UINT32_C(0x005FBE39),
5623           UINT32_C(0x003AF601), UINT32_C(0x005E3DC9), UINT32_C(0x00743557),
5624           UINT32_C(0x0024A967), UINT32_C(0x007521C4)}},
5625         {{UINT32_C(0x0051134C), UINT32_C(0x0063D934), UINT32_C(0x000994F4),
5626           UINT32_C(0x00E91B07), UINT32_C(0x00439CFD), UINT32_C(0x0055A4D9),
5627           UINT32_C(0x00181579), UINT32_C(0x0089F4E6), UINT32_C(0x005E989F),
5628           UINT32_C(0x002C52EC), UINT32_C(0x0054E159)},
5629          {UINT32_C(0x00DB5791), UINT32_C(0x00525DDC), UINT32_C(0x006F7908),
5630           UINT32_C(0x00AAB332), UINT32_C(0x00279FCD), UINT32_C(0x00522145),
5631           UINT32_C(0x0059CBA7), UINT32_C(0x00B33511), UINT32_C(0x000C6593),
5632           UINT32_C(0x0059CF0A), UINT32_C(0x0016BDEB)},
5633          {UINT32_C(0x00CBC030), UINT32_C(0x00732788), UINT32_C(0x005A0DF8),
5634           UINT32_C(0x00C8799D), UINT32_C(0x0019C571), UINT32_C(0x0007F6EF),
5635           UINT32_C(0x00729208), UINT32_C(0x00D7466B), UINT32_C(0x004ACA39),
5636           UINT32_C(0x0056009D), UINT32_C(0x00586898)}},
5637         {{UINT32_C(0x007058AD), UINT32_C(0x00094E45), UINT32_C(0x00420275),
5638           UINT32_C(0x005FD239), UINT32_C(0x00444F1F), UINT32_C(0x00299CBF),
5639           UINT32_C(0x002C9ADA), UINT32_C(0x00816030), UINT32_C(0x00255119),
5640           UINT32_C(0x0004FD8A), UINT32_C(0x000F011D)},
5641          {UINT32_C(0x00B22BCC), UINT32_C(0x00380EB0), UINT32_C(0x0075817F),
5642           UINT32_C(0x00B68F07), UINT32_C(0x0065DD81), UINT32_C(0x00433816),
5643           UINT32_C(0x005064DD), UINT32_C(0x00DF04CF), UINT32_C(0x000A89F8),
5644           UINT32_C(0x0061BAC3), UINT32_C(0x002AEE30)},
5645          {UINT32_C(0x00831C0C), UINT32_C(0x006D5422), UINT32_C(0x005EFCE9),
5646           UINT32_C(0x004B9CD7), UINT32_C(0x003E61FB), UINT32_C(0x001487DD),
5647           UINT32_C(0x0011779C), UINT32_C(0x0036DFD0), UINT32_C(0x005A0784),
5648           UINT32_C(0x0059323A), UINT32_C(0x002BA6DC)}},
5649         {{UINT32_C(0x00B0B356), UINT32_C(0x0066CD5D), UINT32_C(0x0010AFBC),
5650           UINT32_C(0x00023E69), UINT32_C(0x007B3FA1), UINT32_C(0x003A3F07),
5651           UINT32_C(0x007B8F99), UINT32_C(0x000415F9), UINT32_C(0x0073141E),
5652           UINT32_C(0x00072DB3), UINT32_C(0x007B2887)},
5653          {UINT32_C(0x00EFDCBE), UINT32_C(0x0061FDB8), UINT32_C(0x004A709F),
5654           UINT32_C(0x00849CD0), UINT32_C(0x002A36FC), UINT32_C(0x003BB056),
5655           UINT32_C(0x00356C38), UINT32_C(0x007A9084), UINT32_C(0x000B6422),
5656           UINT32_C(0x00130D7D), UINT32_C(0x001CD6F3)},
5657          {UINT32_C(0x00AA7E64), UINT32_C(0x0012D2BE), UINT32_C(0x0055120E),
5658           UINT32_C(0x00938524), UINT32_C(0x000C79B2), UINT32_C(0x0058FE4B),
5659           UINT32_C(0x00510FB7), UINT32_C(0x00D0F8E2), UINT32_C(0x0063F17F),
5660           UINT32_C(0x002D4711), UINT32_C(0x002725A4)}},
5661         {{UINT32_C(0x004C6781), UINT32_C(0x00627F87), UINT32_C(0x00489AA7),
5662           UINT32_C(0x002F770F), UINT32_C(0x000D2620), UINT32_C(0x001E8468),
5663           UINT32_C(0x003F6D7E), UINT32_C(0x00C5511D), UINT32_C(0x006CDB93),
5664           UINT32_C(0x006842D1), UINT32_C(0x004D7CF0)},
5665          {UINT32_C(0x00D1AE96), UINT32_C(0x0000090D), UINT32_C(0x0006C4DB),
5666           UINT32_C(0x00CE5C55), UINT32_C(0x00144E90), UINT32_C(0x004BED80),
5667           UINT32_C(0x004E53B7), UINT32_C(0x001FE39D), UINT32_C(0x0042F35D),
5668           UINT32_C(0x004AEB11), UINT32_C(0x005F6DBA)},
5669          {UINT32_C(0x00499A0E), UINT32_C(0x007885A2), UINT32_C(0x00030BDC),
5670           UINT32_C(0x001EDFDB), UINT32_C(0x00438B15), UINT32_C(0x0072B2EE),
5671           UINT32_C(0x004AC01E), UINT32_C(0x003EC678), UINT32_C(0x005F2133),
5672           UINT32_C(0x0011BD06), UINT32_C(0x002EA8E4)}},
5673         {{UINT32_C(0x00226F30), UINT32_C(0x005E7B60), UINT32_C(0x0009837F),
5674           UINT32_C(0x00851533), UINT32_C(0x0006EFB9), UINT32_C(0x00130938),
5675           UINT32_C(0x001063CE), UINT32_C(0x0019C098), UINT32_C(0x00605AC6),
5676           UINT32_C(0x004D2A8D), UINT32_C(0x00240305)},
5677          {UINT32_C(0x006AE25F), UINT32_C(0x000EF2E0), UINT32_C(0x001F427E),
5678           UINT32_C(0x00CD4540), UINT32_C(0x003C6996), UINT32_C(0x0035E452),
5679           UINT32_C(0x005A6442), UINT32_C(0x007BC7A6), UINT32_C(0x003D0529),
5680           UINT32_C(0x0021E8F3), UINT32_C(0x0052A46E)},
5681          {UINT32_C(0x007F4E9D), UINT32_C(0x000ECC55), UINT32_C(0x0037EE5A),
5682           UINT32_C(0x004ADDB7), UINT32_C(0x004DA3F4), UINT32_C(0x005764C9),
5683           UINT32_C(0x001C40F1), UINT32_C(0x00C1111E), UINT32_C(0x000B0764),
5684           UINT32_C(0x007DD2E6), UINT32_C(0x001388A4)}},
5685         {{UINT32_C(0x0095A16C), UINT32_C(0x0008DD08), UINT32_C(0x005FC5C5),
5686           UINT32_C(0x0081C743), UINT32_C(0x0000D180), UINT32_C(0x000F8EE9),
5687           UINT32_C(0x0003FEF5), UINT32_C(0x00CF52AF), UINT32_C(0x007E4EDC),
5688           UINT32_C(0x0052DFAC), UINT32_C(0x0057C4FB)},
5689          {UINT32_C(0x00E2B732), UINT32_C(0x005BEBA4), UINT32_C(0x001D1662),
5690           UINT32_C(0x00FE39C5), UINT32_C(0x0058807D), UINT32_C(0x004BBC55),
5691           UINT32_C(0x0020454A), UINT32_C(0x00A84E47), UINT32_C(0x0034B9B8),
5692           UINT32_C(0x004B9BC7), UINT32_C(0x00362B2B)},
5693          {UINT32_C(0x00D51136), UINT32_C(0x0005D2D8), UINT32_C(0x000FECF5),
5694           UINT32_C(0x0088AA07), UINT32_C(0x004BB57C), UINT32_C(0x003A4AD1),
5695           UINT32_C(0x001B78C1), UINT32_C(0x00162747), UINT32_C(0x002DBFA9),
5696           UINT32_C(0x0017B251), UINT32_C(0x00431084)}},
5697         {{UINT32_C(0x003DC33C), UINT32_C(0x00238321), UINT32_C(0x002858CB),
5698           UINT32_C(0x006E05B3), UINT32_C(0x000F55FA), UINT32_C(0x002BA1C2),
5699           UINT32_C(0x007BBFD4), UINT32_C(0x00A06A51), UINT32_C(0x003672AF),
5700           UINT32_C(0x001A9B5B), UINT32_C(0x004F6D26)},
5701          {UINT32_C(0x009F55A3), UINT32_C(0x000F6705), UINT32_C(0x004EDA64),
5702           UINT32_C(0x00D8FBA8), UINT32_C(0x006E341D), UINT32_C(0x005FDC16),
5703           UINT32_C(0x003F8CD0), UINT32_C(0x0031F5C1), UINT32_C(0x002ECA27),
5704           UINT32_C(0x006E2E8E), UINT32_C(0x007650A0)},
5705          {UINT32_C(0x004C828B), UINT32_C(0x004D65DD), UINT32_C(0x0023D49F),
5706           UINT32_C(0x00998DDA), UINT32_C(0x004E0332), UINT32_C(0x00174414),
5707           UINT32_C(0x00699E65), UINT32_C(0x008F8323), UINT32_C(0x002B8901),
5708           UINT32_C(0x0012C259), UINT32_C(0x0021CFF4)}},
5709         {{UINT32_C(0x00922362), UINT32_C(0x0048A92F), UINT32_C(0x004D734D),
5710           UINT32_C(0x00C47EE4), UINT32_C(0x00113110), UINT32_C(0x00157C19),
5711           UINT32_C(0x00221251), UINT32_C(0x00024872), UINT32_C(0x001E2816),
5712           UINT32_C(0x003DF03D), UINT32_C(0x00181B9C)},
5713          {UINT32_C(0x00012FCF), UINT32_C(0x0047EB3F), UINT32_C(0x006C2B35),
5714           UINT32_C(0x00F85359), UINT32_C(0x0032819B), UINT32_C(0x004E64B2),
5715           UINT32_C(0x00600748), UINT32_C(0x00944305), UINT32_C(0x001ED335),
5716           UINT32_C(0x005DCD46), UINT32_C(0x004FA013)},
5717          {UINT32_C(0x003393AB), UINT32_C(0x002D18CD), UINT32_C(0x002579E1),
5718           UINT32_C(0x0079F6D2), UINT32_C(0x00032785), UINT32_C(0x00679042),
5719           UINT32_C(0x003532E2), UINT32_C(0x00E10DCE), UINT32_C(0x00480E01),
5720           UINT32_C(0x00426205), UINT32_C(0x0053FD4D)}},
5721         {{UINT32_C(0x00C6B0CB), UINT32_C(0x007C89A2), UINT32_C(0x0078D667),
5722           UINT32_C(0x00FF9964), UINT32_C(0x006EE83C), UINT32_C(0x006E7BF5),
5723           UINT32_C(0x007599F3), UINT32_C(0x004D669F), UINT32_C(0x0065012B),
5724           UINT32_C(0x005EBA50), UINT32_C(0x00304E71)},
5725          {UINT32_C(0x00C53736), UINT32_C(0x000B3E67), UINT32_C(0x00126BEE),
5726           UINT32_C(0x00261DF0), UINT32_C(0x005AF18B), UINT32_C(0x005B38F7),
5727           UINT32_C(0x000082AC), UINT32_C(0x0017B3DB), UINT32_C(0x007C32BA),
5728           UINT32_C(0x00724F37), UINT32_C(0x001F8FD1)},
5729          {UINT32_C(0x0080CCBF), UINT32_C(0x0018D8B8), UINT32_C(0x006E22B9),
5730           UINT32_C(0x00591C57), UINT32_C(0x0011E0B1), UINT32_C(0x0079970A),
5731           UINT32_C(0x0070D898), UINT32_C(0x00D9733F), UINT32_C(0x00259708),
5732           UINT32_C(0x0062101F), UINT32_C(0x00306235)}},
5733         {{UINT32_C(0x002F49E9), UINT32_C(0x006E57BC), UINT32_C(0x00094045),
5734           UINT32_C(0x00CF8C2B), UINT32_C(0x0010A5CA), UINT32_C(0x00478E10),
5735           UINT32_C(0x000A83ED), UINT32_C(0x00EB329A), UINT32_C(0x0054EE99),
5736           UINT32_C(0x00112D75), UINT32_C(0x001A7633)},
5737          {UINT32_C(0x00762A44), UINT32_C(0x007F7B5B), UINT32_C(0x006BF456),
5738           UINT32_C(0x00680D50), UINT32_C(0x00734ECC), UINT32_C(0x00770776),
5739           UINT32_C(0x0041B3F1), UINT32_C(0x00DB7326), UINT32_C(0x007A5C18),
5740           UINT32_C(0x0009A04C), UINT32_C(0x006F2281)},
5741          {UINT32_C(0x00392E55), UINT32_C(0x00180EF7), UINT32_C(0x00539457),
5742           UINT32_C(0x0027985E), UINT32_C(0x0030AE2E), UINT32_C(0x0006A2FA),
5743           UINT32_C(0x0075FD5D), UINT32_C(0x0023429D), UINT32_C(0x0041CD65),
5744           UINT32_C(0x00710776), UINT32_C(0x0075B4D3)}},
5745         {{UINT32_C(0x00297799), UINT32_C(0x0050EDAC), UINT32_C(0x0017E4E4),
5746           UINT32_C(0x00B06306), UINT32_C(0x0011957C), UINT32_C(0x00454CDB),
5747           UINT32_C(0x0037CE52), UINT32_C(0x0035EF58), UINT32_C(0x003AACF3),
5748           UINT32_C(0x006B04D4), UINT32_C(0x001DEEDA)},
5749          {UINT32_C(0x0058DEDB), UINT32_C(0x0055E31C), UINT32_C(0x000564F2),
5750           UINT32_C(0x00767021), UINT32_C(0x000AA59A), UINT32_C(0x005E4355),
5751           UINT32_C(0x0076B6F5), UINT32_C(0x00E2300C), UINT32_C(0x0065F80C),
5752           UINT32_C(0x004E48E3), UINT32_C(0x00471F50)},
5753          {UINT32_C(0x0057B4C9), UINT32_C(0x0032102C), UINT32_C(0x004F162E),
5754           UINT32_C(0x00AA70A0), UINT32_C(0x00601FA8), UINT32_C(0x001946ED),
5755           UINT32_C(0x007F5192), UINT32_C(0x009CBF3B), UINT32_C(0x0071AED7),
5756           UINT32_C(0x000BA7C1), UINT32_C(0x00663BBD)}},
5757         {{UINT32_C(0x00FC042F), UINT32_C(0x00129354), UINT32_C(0x001AC8F7),
5758           UINT32_C(0x00124BB3), UINT32_C(0x007DE447), UINT32_C(0x0007CA46),
5759           UINT32_C(0x005604BA), UINT32_C(0x00981600), UINT32_C(0x0014DA63),
5760           UINT32_C(0x0005067B), UINT32_C(0x0053AE1A)},
5761          {UINT32_C(0x009BC0FD), UINT32_C(0x006F8B2C), UINT32_C(0x006AE987),
5762           UINT32_C(0x0031F283), UINT32_C(0x0001800B), UINT32_C(0x00596A47),
5763           UINT32_C(0x0067F6A5), UINT32_C(0x00512023), UINT32_C(0x0015BA88),
5764           UINT32_C(0x0012951C), UINT32_C(0x000C64FA)},
5765          {UINT32_C(0x00ED7C65), UINT32_C(0x0008BD59), UINT32_C(0x00636115),
5766           UINT32_C(0x0076BA73), UINT32_C(0x007F05EB), UINT32_C(0x0003E701),
5767           UINT32_C(0x00148CDD), UINT32_C(0x008B64AA), UINT32_C(0x00373C6D),
5768           UINT32_C(0x00516A1E), UINT32_C(0x00056623)}},
5769         {{UINT32_C(0x000D0BB7), UINT32_C(0x007E8A54), UINT32_C(0x007474B6),
5770           UINT32_C(0x003D4755), UINT32_C(0x0026CD61), UINT32_C(0x0048139E),
5771           UINT32_C(0x005E0EC7), UINT32_C(0x00169B5D), UINT32_C(0x0042855A),
5772           UINT32_C(0x00729E2F), UINT32_C(0x001F1939)},
5773          {UINT32_C(0x00EDF74C), UINT32_C(0x00736130), UINT32_C(0x007835CD),
5774           UINT32_C(0x0021FE28), UINT32_C(0x0051653E), UINT32_C(0x00690BC6),
5775           UINT32_C(0x0070143D), UINT32_C(0x0011B7F6), UINT32_C(0x002ECF93),
5776           UINT32_C(0x00332D5B), UINT32_C(0x004E7E15)},
5777          {UINT32_C(0x0061C3BC), UINT32_C(0x006F0A58), UINT32_C(0x002A9437),
5778           UINT32_C(0x00273621), UINT32_C(0x004D6870), UINT32_C(0x004A0410),
5779           UINT32_C(0x001930EC), UINT32_C(0x00473AEA), UINT32_C(0x00345B94),
5780           UINT32_C(0x000D2F6F), UINT32_C(0x00630991)}},
5781         {{UINT32_C(0x0064F095), UINT32_C(0x005B811B), UINT32_C(0x0034F150),
5782           UINT32_C(0x0037FBC3), UINT32_C(0x00431976), UINT32_C(0x001AF585),
5783           UINT32_C(0x004A47D6), UINT32_C(0x00364593), UINT32_C(0x00265D55),
5784           UINT32_C(0x006955EC), UINT32_C(0x004B56E9)},
5785          {UINT32_C(0x00D4D3BA), UINT32_C(0x003E639C), UINT32_C(0x007B6508),
5786           UINT32_C(0x007AAFAA), UINT32_C(0x002DEDD3), UINT32_C(0x006E90FB),
5787           UINT32_C(0x0070FF1F), UINT32_C(0x005BD7F8), UINT32_C(0x0015D774),
5788           UINT32_C(0x004E9774), UINT32_C(0x003F53F7)},
5789          {UINT32_C(0x004F4AA5), UINT32_C(0x0024432D), UINT32_C(0x002D31BA),
5790           UINT32_C(0x005F3C7B), UINT32_C(0x00221DE3), UINT32_C(0x00691A3B),
5791           UINT32_C(0x0067E7F8), UINT32_C(0x00B606C6), UINT32_C(0x005200E8),
5792           UINT32_C(0x00708B99), UINT32_C(0x002F258F)}},
5793         {{UINT32_C(0x003A119F), UINT32_C(0x00319D59), UINT32_C(0x0071DF1F),
5794           UINT32_C(0x00EE723B), UINT32_C(0x004A075C), UINT32_C(0x0000C0BD),
5795           UINT32_C(0x00381ECA), UINT32_C(0x009EC137), UINT32_C(0x0014C177),
5796           UINT32_C(0x0062C87B), UINT32_C(0x003F7471)},
5797          {UINT32_C(0x00AA3C6C), UINT32_C(0x0019B06D), UINT32_C(0x003A8845),
5798           UINT32_C(0x001B9E7B), UINT32_C(0x004749DD), UINT32_C(0x0067A317),
5799           UINT32_C(0x00555D63), UINT32_C(0x0087596C), UINT32_C(0x004BF763),
5800           UINT32_C(0x005DCF2F), UINT32_C(0x00725068)},
5801          {UINT32_C(0x005A930B), UINT32_C(0x003C325E), UINT32_C(0x00528AC5),
5802           UINT32_C(0x00FD1B98), UINT32_C(0x004BA241), UINT32_C(0x0041EDCF),
5803           UINT32_C(0x00587205), UINT32_C(0x00EDF302), UINT32_C(0x001C093C),
5804           UINT32_C(0x0062B2BF), UINT32_C(0x00225709)}},
5805     },
5806     {
5807         {{UINT32_C(0x00EABA3B), UINT32_C(0x00192B0C), UINT32_C(0x006A78E0),
5808           UINT32_C(0x001251C4), UINT32_C(0x0032CA32), UINT32_C(0x0055DC60),
5809           UINT32_C(0x005BBC99), UINT32_C(0x00F53480), UINT32_C(0x004CA164),
5810           UINT32_C(0x0032C336), UINT32_C(0x004567E0)},
5811          {UINT32_C(0x009B52D6), UINT32_C(0x006B6695), UINT32_C(0x0011E7D6),
5812           UINT32_C(0x002112B7), UINT32_C(0x007F870C), UINT32_C(0x002F5D93),
5813           UINT32_C(0x002B31C0), UINT32_C(0x000D401F), UINT32_C(0x0004B6C8),
5814           UINT32_C(0x0023BEE0), UINT32_C(0x00086B9A)},
5815          {UINT32_C(0x001E8B93), UINT32_C(0x00336732), UINT32_C(0x00435024),
5816           UINT32_C(0x00A9D624), UINT32_C(0x007896CB), UINT32_C(0x00086124),
5817           UINT32_C(0x001F6441), UINT32_C(0x00C216CD), UINT32_C(0x0045B1DA),
5818           UINT32_C(0x0040884B), UINT32_C(0x0015A99D)}},
5819         {{UINT32_C(0x00E29666), UINT32_C(0x0000698C), UINT32_C(0x00008566),
5820           UINT32_C(0x00B29855), UINT32_C(0x0069993B), UINT32_C(0x0066533E),
5821           UINT32_C(0x00130B35), UINT32_C(0x00112187), UINT32_C(0x0066567A),
5822           UINT32_C(0x006C6930), UINT32_C(0x00025F72)},
5823          {UINT32_C(0x00BC36F8), UINT32_C(0x0075E071), UINT32_C(0x003F18EC),
5824           UINT32_C(0x00FE4134), UINT32_C(0x0007BF37), UINT32_C(0x0015265C),
5825           UINT32_C(0x002D5EA8), UINT32_C(0x00932F6F), UINT32_C(0x0001004C),
5826           UINT32_C(0x0028FBB8), UINT32_C(0x003CC88B)},
5827          {UINT32_C(0x0025E5B3), UINT32_C(0x0052FCAA), UINT32_C(0x0072522F),
5828           UINT32_C(0x0075B891), UINT32_C(0x0071F699), UINT32_C(0x0051F116),
5829           UINT32_C(0x0078808A), UINT32_C(0x006A580C), UINT32_C(0x000BDDA3),
5830           UINT32_C(0x004CB31A), UINT32_C(0x0056F6CD)}},
5831         {{UINT32_C(0x001AF846), UINT32_C(0x0016456F), UINT32_C(0x006CDB6E),
5832           UINT32_C(0x0019B43D), UINT32_C(0x001BD7BB), UINT32_C(0x001E429F),
5833           UINT32_C(0x0025E351), UINT32_C(0x002C034F), UINT32_C(0x0053ECFF),
5834           UINT32_C(0x002645D7), UINT32_C(0x006F455E)},
5835          {UINT32_C(0x00161A5B), UINT32_C(0x005E3D52), UINT32_C(0x006167A5),
5836           UINT32_C(0x008BBC48), UINT32_C(0x0029C44C), UINT32_C(0x0009A976),
5837           UINT32_C(0x0038C321), UINT32_C(0x00390F40), UINT32_C(0x004A7861),
5838           UINT32_C(0x0027E8A3), UINT32_C(0x0055430C)},
5839          {UINT32_C(0x0022B34E), UINT32_C(0x003FE536), UINT32_C(0x006D6BDE),
5840           UINT32_C(0x0038DF8B), UINT32_C(0x007C2700), UINT32_C(0x00413296),
5841           UINT32_C(0x000C3C34), UINT32_C(0x000F4A8B), UINT32_C(0x002223E1),
5842           UINT32_C(0x0002B3C2), UINT32_C(0x0030E676)}},
5843         {{UINT32_C(0x0084B729), UINT32_C(0x00726FC5), UINT32_C(0x00414876),
5844           UINT32_C(0x003546F3), UINT32_C(0x00261905), UINT32_C(0x005A04F6),
5845           UINT32_C(0x0055B0C7), UINT32_C(0x006B360B), UINT32_C(0x0012052B),
5846           UINT32_C(0x002B0046), UINT32_C(0x003D984C)},
5847          {UINT32_C(0x00CBED46), UINT32_C(0x0032683A), UINT32_C(0x004B3ADD),
5848           UINT32_C(0x00B2CD41), UINT32_C(0x0014EF94), UINT32_C(0x0050E0BF),
5849           UINT32_C(0x003FC9B1), UINT32_C(0x002F30DC), UINT32_C(0x00297AE9),
5850           UINT32_C(0x007BCD89), UINT32_C(0x000B4620)},
5851          {UINT32_C(0x0030B5B8), UINT32_C(0x0067A579), UINT32_C(0x006EDA23),
5852           UINT32_C(0x0094FB0A), UINT32_C(0x00661BCD), UINT32_C(0x0040BF82),
5853           UINT32_C(0x0058F099), UINT32_C(0x0072BB0F), UINT32_C(0x00485362),
5854           UINT32_C(0x00539664), UINT32_C(0x006ADF86)}},
5855         {{UINT32_C(0x0024FDD7), UINT32_C(0x001186A8), UINT32_C(0x004EA183),
5856           UINT32_C(0x00493DFC), UINT32_C(0x004F4E46), UINT32_C(0x0050110D),
5857           UINT32_C(0x003294D6), UINT32_C(0x00C5CEF6), UINT32_C(0x0053F4A9),
5858           UINT32_C(0x006A41F0), UINT32_C(0x00280D45)},
5859          {UINT32_C(0x0025DCB5), UINT32_C(0x00352AB2), UINT32_C(0x003C9B57),
5860           UINT32_C(0x00C5972C), UINT32_C(0x0017C8A2), UINT32_C(0x0026C17F),
5861           UINT32_C(0x004A2DE0), UINT32_C(0x00962319), UINT32_C(0x001DC0E8),
5862           UINT32_C(0x007BB781), UINT32_C(0x0076D0B0)},
5863          {UINT32_C(0x00C25C01), UINT32_C(0x006DF306), UINT32_C(0x002E001F),
5864           UINT32_C(0x00B2D044), UINT32_C(0x001C46FF), UINT32_C(0x0028D794),
5865           UINT32_C(0x004CD7EB), UINT32_C(0x00B2D81B), UINT32_C(0x00719BF6),
5866           UINT32_C(0x005D73E6), UINT32_C(0x000574EC)}},
5867         {{UINT32_C(0x00ED0D33), UINT32_C(0x005B58E6), UINT32_C(0x0031614D),
5868           UINT32_C(0x00C647FC), UINT32_C(0x003D23AC), UINT32_C(0x006C18FD),
5869           UINT32_C(0x006B9F51), UINT32_C(0x00BD620E), UINT32_C(0x000E3630),
5870           UINT32_C(0x002C338B), UINT32_C(0x0055B898)},
5871          {UINT32_C(0x00609F49), UINT32_C(0x006332D0), UINT32_C(0x0032177F),
5872           UINT32_C(0x008ADB01), UINT32_C(0x0003C6A7), UINT32_C(0x0020EA0A),
5873           UINT32_C(0x005D93D8), UINT32_C(0x0053348A), UINT32_C(0x00511FAA),
5874           UINT32_C(0x00125BD7), UINT32_C(0x001F9B23)},
5875          {UINT32_C(0x007C7FE4), UINT32_C(0x0028B2B1), UINT32_C(0x007487D6),
5876           UINT32_C(0x0000D5FE), UINT32_C(0x007DEF82), UINT32_C(0x0016E07E),
5877           UINT32_C(0x0026B0AE), UINT32_C(0x003853C8), UINT32_C(0x002DCAA1),
5878           UINT32_C(0x00685027), UINT32_C(0x001A2F47)}},
5879         {{UINT32_C(0x00986197), UINT32_C(0x00217581), UINT32_C(0x00011B57),
5880           UINT32_C(0x001C3CC0), UINT32_C(0x0048D2D2), UINT32_C(0x000C0332),
5881           UINT32_C(0x002D89E5), UINT32_C(0x003490A4), UINT32_C(0x003458B1),
5882           UINT32_C(0x002B04FA), UINT32_C(0x003F7CF9)},
5883          {UINT32_C(0x004F002F), UINT32_C(0x002E83E7), UINT32_C(0x00629717),
5884           UINT32_C(0x0010444B), UINT32_C(0x005323A6), UINT32_C(0x003BF8D6),
5885           UINT32_C(0x002CFC62), UINT32_C(0x004F6988), UINT32_C(0x007305E7),
5886           UINT32_C(0x007EC041), UINT32_C(0x00754449)},
5887          {UINT32_C(0x00B16E11), UINT32_C(0x007607F5), UINT32_C(0x001923D5),
5888           UINT32_C(0x00E8AE2B), UINT32_C(0x006722D4), UINT32_C(0x0076783B),
5889           UINT32_C(0x0037C778), UINT32_C(0x007F8754), UINT32_C(0x00422A0E),
5890           UINT32_C(0x003D9F97), UINT32_C(0x0016AEAE)}},
5891         {{UINT32_C(0x00D81066), UINT32_C(0x0050C351), UINT32_C(0x00716769),
5892           UINT32_C(0x006393E3), UINT32_C(0x001B4C15), UINT32_C(0x004B9A55),
5893           UINT32_C(0x00588B55), UINT32_C(0x002BA83B), UINT32_C(0x00009915),
5894           UINT32_C(0x005C055C), UINT32_C(0x00048180)},
5895          {UINT32_C(0x00CB303A), UINT32_C(0x00458BFF), UINT32_C(0x00237470),
5896           UINT32_C(0x00D66822), UINT32_C(0x0009DE8B), UINT32_C(0x005B28C2),
5897           UINT32_C(0x0068CAFE), UINT32_C(0x002F5A98), UINT32_C(0x004C4B2A),
5898           UINT32_C(0x0031DE00), UINT32_C(0x006E5755)},
5899          {UINT32_C(0x008869E8), UINT32_C(0x001F33B0), UINT32_C(0x001A2BAA),
5900           UINT32_C(0x00817706), UINT32_C(0x00458C99), UINT32_C(0x00302337),
5901           UINT32_C(0x0039EAE5), UINT32_C(0x00D2E45D), UINT32_C(0x0073447F),
5902           UINT32_C(0x0024825C), UINT32_C(0x001B5E98)}},
5903         {{UINT32_C(0x00814972), UINT32_C(0x0038B443), UINT32_C(0x0041992D),
5904           UINT32_C(0x00EE69DB), UINT32_C(0x00146157), UINT32_C(0x000AAAD8),
5905           UINT32_C(0x005444E7), UINT32_C(0x00D17AB8), UINT32_C(0x004DF7C1),
5906           UINT32_C(0x004D27A8), UINT32_C(0x0054D67D)},
5907          {UINT32_C(0x000A587F), UINT32_C(0x003ECDA4), UINT32_C(0x002CA0AF),
5908           UINT32_C(0x008438DD), UINT32_C(0x00634B99), UINT32_C(0x003B5F19),
5909           UINT32_C(0x006A333D), UINT32_C(0x001B944F), UINT32_C(0x007E2E1F),
5910           UINT32_C(0x005C5F8A), UINT32_C(0x003EE1DE)},
5911          {UINT32_C(0x001A8276), UINT32_C(0x006DA949), UINT32_C(0x003ABE66),
5912           UINT32_C(0x00EE9FD1), UINT32_C(0x004B05FC), UINT32_C(0x005E0261),
5913           UINT32_C(0x007EAA48), UINT32_C(0x0010DD5B), UINT32_C(0x007CBE95),
5914           UINT32_C(0x00118A02), UINT32_C(0x0002173C)}},
5915         {{UINT32_C(0x003407C2), UINT32_C(0x003DB992), UINT32_C(0x001F1A9E),
5916           UINT32_C(0x00D5B577), UINT32_C(0x005468D1), UINT32_C(0x001331F0),
5917           UINT32_C(0x00760900), UINT32_C(0x00412C7B), UINT32_C(0x007D99FF),
5918           UINT32_C(0x003F157E), UINT32_C(0x0022BB7C)},
5919          {UINT32_C(0x008CE31C), UINT32_C(0x007405EE), UINT32_C(0x004669C1),
5920           UINT32_C(0x00B64348), UINT32_C(0x002A823A), UINT32_C(0x0028F130),
5921           UINT32_C(0x006999E9), UINT32_C(0x006697A5), UINT32_C(0x00546104),
5922           UINT32_C(0x0028A64D), UINT32_C(0x00531D1A)},
5923          {UINT32_C(0x009C76D2), UINT32_C(0x0079F19D), UINT32_C(0x000872F3),
5924           UINT32_C(0x00F799B3), UINT32_C(0x00407743), UINT32_C(0x003085E0),
5925           UINT32_C(0x002003F0), UINT32_C(0x00396CB7), UINT32_C(0x002952AF),
5926           UINT32_C(0x002D59FD), UINT32_C(0x003C184A)}},
5927         {{UINT32_C(0x00E10FCD), UINT32_C(0x00563D94), UINT32_C(0x0036A862),
5928           UINT32_C(0x00A8D743), UINT32_C(0x001FAEBC), UINT32_C(0x005A3817),
5929           UINT32_C(0x0061B73B), UINT32_C(0x00FE0A6A), UINT32_C(0x00113AE2),
5930           UINT32_C(0x0079A419), UINT32_C(0x00433EC2)},
5931          {UINT32_C(0x0094DA0B), UINT32_C(0x0053D54C), UINT32_C(0x005DC3C9),
5932           UINT32_C(0x00377F6C), UINT32_C(0x007601E5), UINT32_C(0x0054F416),
5933           UINT32_C(0x00147411), UINT32_C(0x0033E49D), UINT32_C(0x001316C3),
5934           UINT32_C(0x002D4674), UINT32_C(0x004DADCA)},
5935          {UINT32_C(0x00A27A08), UINT32_C(0x00150DCB), UINT32_C(0x00757D31),
5936           UINT32_C(0x00ECF538), UINT32_C(0x00662566), UINT32_C(0x00306294),
5937           UINT32_C(0x00601C11), UINT32_C(0x0035FECB), UINT32_C(0x00452259),
5938           UINT32_C(0x001C2D33), UINT32_C(0x0021363F)}},
5939         {{UINT32_C(0x00C03231), UINT32_C(0x0054A03F), UINT32_C(0x00530E31),
5940           UINT32_C(0x008A8654), UINT32_C(0x00445A8F), UINT32_C(0x0057E307),
5941           UINT32_C(0x0017BF37), UINT32_C(0x00015A04), UINT32_C(0x0002B01C),
5942           UINT32_C(0x001FB35F), UINT32_C(0x003FFA73)},
5943          {UINT32_C(0x002C08E7), UINT32_C(0x0040D81C), UINT32_C(0x00622B99),
5944           UINT32_C(0x0048FF13), UINT32_C(0x00665063), UINT32_C(0x004518AF),
5945           UINT32_C(0x003AC182), UINT32_C(0x00A28FD4), UINT32_C(0x002A6DAE),
5946           UINT32_C(0x001B6DBD), UINT32_C(0x0010ACD4)},
5947          {UINT32_C(0x0058C718), UINT32_C(0x0016FC28), UINT32_C(0x0041E2C6),
5948           UINT32_C(0x0052886B), UINT32_C(0x007FDE72), UINT32_C(0x00289521),
5949           UINT32_C(0x00173FE6), UINT32_C(0x0072E6CC), UINT32_C(0x0017AC30),
5950           UINT32_C(0x0040A8E1), UINT32_C(0x005097BC)}},
5951         {{UINT32_C(0x005B9B1D), UINT32_C(0x0050D0A3), UINT32_C(0x002DFE1B),
5952           UINT32_C(0x00EAA92D), UINT32_C(0x00277DA6), UINT32_C(0x00622641),
5953           UINT32_C(0x0037663B), UINT32_C(0x004FD085), UINT32_C(0x000C17EE),
5954           UINT32_C(0x006A97AF), UINT32_C(0x007A47AF)},
5955          {UINT32_C(0x006BE9BF), UINT32_C(0x003285C2), UINT32_C(0x0065C35C),
5956           UINT32_C(0x009C1C74), UINT32_C(0x005F5ECE), UINT32_C(0x0059AF30),
5957           UINT32_C(0x002A2EA6), UINT32_C(0x0053A7C7), UINT32_C(0x003A42C4),
5958           UINT32_C(0x007E6E33), UINT32_C(0x0067F167)},
5959          {UINT32_C(0x002379C4), UINT32_C(0x00784A42), UINT32_C(0x00260570),
5960           UINT32_C(0x00C001B9), UINT32_C(0x007733D1), UINT32_C(0x002610F4),
5961           UINT32_C(0x0076810F), UINT32_C(0x0093A496), UINT32_C(0x001DEA0A),
5962           UINT32_C(0x002CA003), UINT32_C(0x006326EC)}},
5963         {{UINT32_C(0x00BB2391), UINT32_C(0x00743284), UINT32_C(0x002E155F),
5964           UINT32_C(0x0035639B), UINT32_C(0x005BBF4F), UINT32_C(0x003E90B9),
5965           UINT32_C(0x00767573), UINT32_C(0x00321363), UINT32_C(0x00254580),
5966           UINT32_C(0x0029D549), UINT32_C(0x0052B4EB)},
5967          {UINT32_C(0x00C1B9A5), UINT32_C(0x004DDE09), UINT32_C(0x006CBD8B),
5968           UINT32_C(0x005BA607), UINT32_C(0x003CC42A), UINT32_C(0x001D4E2E),
5969           UINT32_C(0x007ACD96), UINT32_C(0x00C921CE), UINT32_C(0x000620D1),
5970           UINT32_C(0x0016E31C), UINT32_C(0x006A2B72)},
5971          {UINT32_C(0x002A9792), UINT32_C(0x0000CFD3), UINT32_C(0x006A9AD2),
5972           UINT32_C(0x00ED29B3), UINT32_C(0x0026DA69), UINT32_C(0x002D2B73),
5973           UINT32_C(0x001B5E5D), UINT32_C(0x00D5305C), UINT32_C(0x0067DCE0),
5974           UINT32_C(0x000729B3), UINT32_C(0x00070252)}},
5975         {{UINT32_C(0x007834CB), UINT32_C(0x001A305D), UINT32_C(0x00199CF9),
5976           UINT32_C(0x00EE7F83), UINT32_C(0x0048376D), UINT32_C(0x00182568),
5977           UINT32_C(0x0044C0B5), UINT32_C(0x007EFBAD), UINT32_C(0x006A5B89),
5978           UINT32_C(0x002DDEC8), UINT32_C(0x002C5365)},
5979          {UINT32_C(0x0014DDC8), UINT32_C(0x0026ED23), UINT32_C(0x004F3CF1),
5980           UINT32_C(0x009C337C), UINT32_C(0x005CA1F6), UINT32_C(0x00430D81),
5981           UINT32_C(0x001BF696), UINT32_C(0x00D5544B), UINT32_C(0x0001941E),
5982           UINT32_C(0x002720AB), UINT32_C(0x006EF64B)},
5983          {UINT32_C(0x00AEB238), UINT32_C(0x002A16EC), UINT32_C(0x0055FE48),
5984           UINT32_C(0x00606DE7), UINT32_C(0x0034576A), UINT32_C(0x006FF01C),
5985           UINT32_C(0x0009AA13), UINT32_C(0x00D2D5AB), UINT32_C(0x003249A4),
5986           UINT32_C(0x004B05E9), UINT32_C(0x0041BC86)}},
5987         {{UINT32_C(0x00A9E5D5), UINT32_C(0x003CDBE3), UINT32_C(0x00669075),
5988           UINT32_C(0x004D8E92), UINT32_C(0x0050E701), UINT32_C(0x003EEC92),
5989           UINT32_C(0x00340906), UINT32_C(0x003A5231), UINT32_C(0x0076D572),
5990           UINT32_C(0x001CA34B), UINT32_C(0x0035D540)},
5991          {UINT32_C(0x00FE52C3), UINT32_C(0x0064659E), UINT32_C(0x000FCF54),
5992           UINT32_C(0x00DDCF41), UINT32_C(0x007A7B36), UINT32_C(0x002AEC73),
5993           UINT32_C(0x007550B1), UINT32_C(0x008E1CEC), UINT32_C(0x002CAD9C),
5994           UINT32_C(0x004EE133), UINT32_C(0x0045B7D8)},
5995          {UINT32_C(0x009FC441), UINT32_C(0x002D1FBC), UINT32_C(0x003E7D16),
5996           UINT32_C(0x00C8B352), UINT32_C(0x00221849), UINT32_C(0x003FF5A0),
5997           UINT32_C(0x0055A506), UINT32_C(0x007F88D0), UINT32_C(0x0018DB76),
5998           UINT32_C(0x00672F49), UINT32_C(0x007D2F58)}},
5999     },
6000     {
6001         {{UINT32_C(0x00C3CC62), UINT32_C(0x001788C8), UINT32_C(0x0046ECBC),
6002           UINT32_C(0x00F44A0D), UINT32_C(0x005D570F), UINT32_C(0x0011C818),
6003           UINT32_C(0x0005F4D7), UINT32_C(0x00B7F489), UINT32_C(0x0001AE92),
6004           UINT32_C(0x002AB1B0), UINT32_C(0x0067910C)},
6005          {UINT32_C(0x0033A3DB), UINT32_C(0x00768B12), UINT32_C(0x005D50DE),
6006           UINT32_C(0x00D31F34), UINT32_C(0x003455F7), UINT32_C(0x0021BBE3),
6007           UINT32_C(0x0020D657), UINT32_C(0x009AEF49), UINT32_C(0x0011194A),
6008           UINT32_C(0x007C4E1E), UINT32_C(0x005A07C9)},
6009          {UINT32_C(0x008F9CA3), UINT32_C(0x0054FF76), UINT32_C(0x00570C00),
6010           UINT32_C(0x006792D9), UINT32_C(0x0064070F), UINT32_C(0x0044F2A2),
6011           UINT32_C(0x006ABEFC), UINT32_C(0x00DAAC6E), UINT32_C(0x004F8CD9),
6012           UINT32_C(0x004DC91F), UINT32_C(0x0049B2BB)}},
6013         {{UINT32_C(0x0018CD54), UINT32_C(0x0010BE7F), UINT32_C(0x005F8D91),
6014           UINT32_C(0x00BAF1CC), UINT32_C(0x0050AB12), UINT32_C(0x002D251A),
6015           UINT32_C(0x004B47CC), UINT32_C(0x005BD1C5), UINT32_C(0x00489594),
6016           UINT32_C(0x00699114), UINT32_C(0x0030C9FA)},
6017          {UINT32_C(0x00D23D40), UINT32_C(0x005307A4), UINT32_C(0x007E98F3),
6018           UINT32_C(0x00F08939), UINT32_C(0x0069A75B), UINT32_C(0x001DB79B),
6019           UINT32_C(0x00566A53), UINT32_C(0x005AF4D5), UINT32_C(0x00237443),
6020           UINT32_C(0x001D42DE), UINT32_C(0x005165D2)},
6021          {UINT32_C(0x00873511), UINT32_C(0x00525967), UINT32_C(0x0056101D),
6022           UINT32_C(0x00AA7060), UINT32_C(0x004C11B1), UINT32_C(0x0029CA00),
6023           UINT32_C(0x001A34BC), UINT32_C(0x005CA8C2), UINT32_C(0x002F5F9A),
6024           UINT32_C(0x0039EFC2), UINT32_C(0x006871D9)}},
6025         {{UINT32_C(0x00421E67), UINT32_C(0x00075D00), UINT32_C(0x0010583F),
6026           UINT32_C(0x00B732C7), UINT32_C(0x0037730B), UINT32_C(0x007028B8),
6027           UINT32_C(0x005C0247), UINT32_C(0x007CC11B), UINT32_C(0x007F99FE),
6028           UINT32_C(0x0074EF6F), UINT32_C(0x0049255A)},
6029          {UINT32_C(0x00806A6B), UINT32_C(0x0076A27F), UINT32_C(0x001A45F6),
6030           UINT32_C(0x001863FB), UINT32_C(0x0036A2B2), UINT32_C(0x00058E27),
6031           UINT32_C(0x007E3E52), UINT32_C(0x008FA71E), UINT32_C(0x000F9591),
6032           UINT32_C(0x000EA645), UINT32_C(0x0037E6C8)},
6033          {UINT32_C(0x004C164A), UINT32_C(0x0015AE71), UINT32_C(0x00228D86),
6034           UINT32_C(0x00441D33), UINT32_C(0x00507819), UINT32_C(0x00442DBE),
6035           UINT32_C(0x00457850), UINT32_C(0x0059222C), UINT32_C(0x0029495F),
6036           UINT32_C(0x007331A0), UINT32_C(0x007BAE86)}},
6037         {{UINT32_C(0x00FA5032), UINT32_C(0x00242303), UINT32_C(0x000A904B),
6038           UINT32_C(0x0003BB53), UINT32_C(0x007553E7), UINT32_C(0x003CA0C5),
6039           UINT32_C(0x0061B87D), UINT32_C(0x00805E53), UINT32_C(0x0049297C),
6040           UINT32_C(0x0056196B), UINT32_C(0x004C6DF6)},
6041          {UINT32_C(0x002C1092), UINT32_C(0x0019EF62), UINT32_C(0x0047F011),
6042           UINT32_C(0x00C03A85), UINT32_C(0x000B1A90), UINT32_C(0x001507E7),
6043           UINT32_C(0x004D6EBC), UINT32_C(0x00794D29), UINT32_C(0x005C5416),
6044           UINT32_C(0x0020F242), UINT32_C(0x00576518)},
6045          {UINT32_C(0x0034E914), UINT32_C(0x005DAF45), UINT32_C(0x005BE7A5),
6046           UINT32_C(0x00FE38F3), UINT32_C(0x00157770), UINT32_C(0x00237F8C),
6047           UINT32_C(0x0015BF21), UINT32_C(0x0077CC24), UINT32_C(0x005067D4),
6048           UINT32_C(0x00091C98), UINT32_C(0x007F54DE)}},
6049         {{UINT32_C(0x00770B21), UINT32_C(0x006194BB), UINT32_C(0x001A8987),
6050           UINT32_C(0x0094013C), UINT32_C(0x00619B7F), UINT32_C(0x00083816),
6051           UINT32_C(0x007A8072), UINT32_C(0x00F58256), UINT32_C(0x002FFA60),
6052           UINT32_C(0x007AC24E), UINT32_C(0x0042CF75)},
6053          {UINT32_C(0x0058474E), UINT32_C(0x007BFF2F), UINT32_C(0x0018145B),
6054           UINT32_C(0x00F8E32B), UINT32_C(0x0055DE08), UINT32_C(0x002AA874),
6055           UINT32_C(0x0044BCA0), UINT32_C(0x0038F7BE), UINT32_C(0x0027359B),
6056           UINT32_C(0x002747EB), UINT32_C(0x00226230)},
6057          {UINT32_C(0x00FA31A5), UINT32_C(0x00190A96), UINT32_C(0x006536D0),
6058           UINT32_C(0x00ACA102), UINT32_C(0x0036C0D0), UINT32_C(0x0008F3D0),
6059           UINT32_C(0x0049B490), UINT32_C(0x005CD6C9), UINT32_C(0x000E1C66),
6060           UINT32_C(0x0077C89C), UINT32_C(0x006A74AE)}},
6061         {{UINT32_C(0x00EE9825), UINT32_C(0x000FBC15), UINT32_C(0x000C0843),
6062           UINT32_C(0x006B793A), UINT32_C(0x0004ED1C), UINT32_C(0x00616EA7),
6063           UINT32_C(0x000B6304), UINT32_C(0x00166978), UINT32_C(0x0024139D),
6064           UINT32_C(0x0042F014), UINT32_C(0x003D4978)},
6065          {UINT32_C(0x0029D5D7), UINT32_C(0x0033F88C), UINT32_C(0x006E76FF),
6066           UINT32_C(0x00A49E5F), UINT32_C(0x003D801A), UINT32_C(0x0042EE48),
6067           UINT32_C(0x000D2057), UINT32_C(0x001D9164), UINT32_C(0x001AB787),
6068           UINT32_C(0x004D338B), UINT32_C(0x00262464)},
6069          {UINT32_C(0x00D5B395), UINT32_C(0x007A77B2), UINT32_C(0x0043D844),
6070           UINT32_C(0x006D5774), UINT32_C(0x00267921), UINT32_C(0x00374E41),
6071           UINT32_C(0x003B4C78), UINT32_C(0x00E2BA6E), UINT32_C(0x00656116),
6072           UINT32_C(0x0043049C), UINT32_C(0x002023C8)}},
6073         {{UINT32_C(0x001715E4), UINT32_C(0x00652B6A), UINT32_C(0x00379760),
6074           UINT32_C(0x004DB333), UINT32_C(0x00619842), UINT32_C(0x00656120),
6075           UINT32_C(0x0026FAEC), UINT32_C(0x00EF2AD7), UINT32_C(0x00149CB3),
6076           UINT32_C(0x0055D95D), UINT32_C(0x00497B11)},
6077          {UINT32_C(0x00D4B7BF), UINT32_C(0x001098D0), UINT32_C(0x0057E045),
6078           UINT32_C(0x00304A0C), UINT32_C(0x007F8852), UINT32_C(0x00564889),
6079           UINT32_C(0x007D4D67), UINT32_C(0x00A2CA30), UINT32_C(0x0051B0D9),
6080           UINT32_C(0x00495A39), UINT32_C(0x0017789D)},
6081          {UINT32_C(0x0049CE9C), UINT32_C(0x001C79B9), UINT32_C(0x000A676A),
6082           UINT32_C(0x0043503C), UINT32_C(0x003C78EA), UINT32_C(0x00779E15),
6083           UINT32_C(0x002487F8), UINT32_C(0x0098B781), UINT32_C(0x002F1E05),
6084           UINT32_C(0x000B58B5), UINT32_C(0x0079EE99)}},
6085         {{UINT32_C(0x0082E001), UINT32_C(0x002F7563), UINT32_C(0x005502B7),
6086           UINT32_C(0x0099B452), UINT32_C(0x00068BD3), UINT32_C(0x006837ED),
6087           UINT32_C(0x006C2DAE), UINT32_C(0x00EDD476), UINT32_C(0x004B54C6),
6088           UINT32_C(0x002353E5), UINT32_C(0x0036757B)},
6089          {UINT32_C(0x0003D167), UINT32_C(0x002030D2), UINT32_C(0x0072FA5A),
6090           UINT32_C(0x004E3D16), UINT32_C(0x001B78F0), UINT32_C(0x000924E6),
6091           UINT32_C(0x001E86B4), UINT32_C(0x006CD648), UINT32_C(0x001D24C9),
6092           UINT32_C(0x000CC288), UINT32_C(0x0054B2D8)},
6093          {UINT32_C(0x002B443B), UINT32_C(0x00135EB4), UINT32_C(0x006123F8),
6094           UINT32_C(0x00795F4F), UINT32_C(0x00161316), UINT32_C(0x005CC78F),
6095           UINT32_C(0x001879B2), UINT32_C(0x00A11513), UINT32_C(0x0075BC89),
6096           UINT32_C(0x000E0F4C), UINT32_C(0x0022EB79)}},
6097         {{UINT32_C(0x0097ABD7), UINT32_C(0x003BF415), UINT32_C(0x004B96FB),
6098           UINT32_C(0x0086107E), UINT32_C(0x0013751E), UINT32_C(0x006E3412),
6099           UINT32_C(0x0075AEFF), UINT32_C(0x00CEAD7E), UINT32_C(0x004D03FA),
6100           UINT32_C(0x0041C8E1), UINT32_C(0x00586295)},
6101          {UINT32_C(0x00BF974F), UINT32_C(0x003D6607), UINT32_C(0x003A2804),
6102           UINT32_C(0x00E9CC65), UINT32_C(0x00596911), UINT32_C(0x0013F86A),
6103           UINT32_C(0x00010E75), UINT32_C(0x0067284C), UINT32_C(0x00244A19),
6104           UINT32_C(0x00071615), UINT32_C(0x002E2C66)},
6105          {UINT32_C(0x004963F7), UINT32_C(0x00640576), UINT32_C(0x0031C7EE),
6106           UINT32_C(0x001D786C), UINT32_C(0x00257DEC), UINT32_C(0x003CF6C5),
6107           UINT32_C(0x00465E43), UINT32_C(0x00B15EDD), UINT32_C(0x00478BEB),
6108           UINT32_C(0x00016C1B), UINT32_C(0x00094307)}},
6109         {{UINT32_C(0x00E85486), UINT32_C(0x0077F915), UINT32_C(0x00760D35),
6110           UINT32_C(0x002EF0AE), UINT32_C(0x0037042C), UINT32_C(0x0030C359),
6111           UINT32_C(0x00346545), UINT32_C(0x00DC7FE6), UINT32_C(0x0030D4C5),
6112           UINT32_C(0x004AAD41), UINT32_C(0x000A60C0)},
6113          {UINT32_C(0x00D6E8B3), UINT32_C(0x000B7AA8), UINT32_C(0x0023E0C5),
6114           UINT32_C(0x006A8EBF), UINT32_C(0x0063D566), UINT32_C(0x002294C9),
6115           UINT32_C(0x0049A4AE), UINT32_C(0x005A2C0A), UINT32_C(0x005086A5),
6116           UINT32_C(0x0008808D), UINT32_C(0x0005A919)},
6117          {UINT32_C(0x007A8EAF), UINT32_C(0x001E6353), UINT32_C(0x005C83D2),
6118           UINT32_C(0x00714AAE), UINT32_C(0x004F2F37), UINT32_C(0x00249BF6),
6119           UINT32_C(0x006CDEE8), UINT32_C(0x006F262D), UINT32_C(0x007E9C03),
6120           UINT32_C(0x004C7272), UINT32_C(0x005E6F1B)}},
6121         {{UINT32_C(0x0011D440), UINT32_C(0x0050D0E6), UINT32_C(0x0020183D),
6122           UINT32_C(0x00D0ED3E), UINT32_C(0x004642A3), UINT32_C(0x0019F456),
6123           UINT32_C(0x0068661A), UINT32_C(0x005C97B1), UINT32_C(0x001DFD20),
6124           UINT32_C(0x00607CBE), UINT32_C(0x004EB1D7)},
6125          {UINT32_C(0x00424218), UINT32_C(0x0031CB2B), UINT32_C(0x0016EE1E),
6126           UINT32_C(0x00F0B2F5), UINT32_C(0x00284CA3), UINT32_C(0x000B886E),
6127           UINT32_C(0x0056424F), UINT32_C(0x00606535), UINT32_C(0x001A7DD3),
6128           UINT32_C(0x005E5D6D), UINT32_C(0x000910A8)},
6129          {UINT32_C(0x00E5A1E8), UINT32_C(0x0062AA84), UINT32_C(0x0072C780),
6130           UINT32_C(0x00E14E12), UINT32_C(0x00359D55), UINT32_C(0x00388026),
6131           UINT32_C(0x001AF8C7), UINT32_C(0x007C9658), UINT32_C(0x007CD573),
6132           UINT32_C(0x001DB584), UINT32_C(0x005C3621)}},
6133         {{UINT32_C(0x00E7BB1F), UINT32_C(0x002CD518), UINT32_C(0x0041FE08),
6134           UINT32_C(0x00717B78), UINT32_C(0x00400988), UINT32_C(0x00291794),
6135           UINT32_C(0x00747C25), UINT32_C(0x007194A1), UINT32_C(0x0040F7AF),
6136           UINT32_C(0x007B6E73), UINT32_C(0x0020EB45)},
6137          {UINT32_C(0x00161F74), UINT32_C(0x00299725), UINT32_C(0x0025AD63),
6138           UINT32_C(0x004B6379), UINT32_C(0x00076C32), UINT32_C(0x0071515E),
6139           UINT32_C(0x0032A4A1), UINT32_C(0x00A7B602), UINT32_C(0x005C7951),
6140           UINT32_C(0x003975BA), UINT32_C(0x004BA951)},
6141          {UINT32_C(0x009EEF2E), UINT32_C(0x000B3835), UINT32_C(0x005E1C6B),
6142           UINT32_C(0x00800FFB), UINT32_C(0x006BC9CA), UINT32_C(0x00125F16),
6143           UINT32_C(0x000F6D0D), UINT32_C(0x00186A82), UINT32_C(0x00479A35),
6144           UINT32_C(0x0006739D), UINT32_C(0x004DCC17)}},
6145         {{UINT32_C(0x0067A5F5), UINT32_C(0x007CA11D), UINT32_C(0x0051B4EF),
6146           UINT32_C(0x00E64083), UINT32_C(0x002B0147), UINT32_C(0x0022B454),
6147           UINT32_C(0x0050D922), UINT32_C(0x0019CFE8), UINT32_C(0x00416B41),
6148           UINT32_C(0x00219410), UINT32_C(0x005C5995)},
6149          {UINT32_C(0x0020EA67), UINT32_C(0x0065B659), UINT32_C(0x0011B640),
6150           UINT32_C(0x00C05AB3), UINT32_C(0x0015BD93), UINT32_C(0x003F4CB7),
6151           UINT32_C(0x000CD5AA), UINT32_C(0x006203FA), UINT32_C(0x001FA8A5),
6152           UINT32_C(0x001E6F64), UINT32_C(0x006FB8E7)},
6153          {UINT32_C(0x00B6FEF4), UINT32_C(0x0053F0CE), UINT32_C(0x006B1E51),
6154           UINT32_C(0x0033476B), UINT32_C(0x00419002), UINT32_C(0x006F619C),
6155           UINT32_C(0x005CAF14), UINT32_C(0x001753E9), UINT32_C(0x0038FC4F),
6156           UINT32_C(0x007F5E19), UINT32_C(0x000F12D2)}},
6157         {{UINT32_C(0x009F6EBB), UINT32_C(0x004C08FE), UINT32_C(0x006E7C4E),
6158           UINT32_C(0x00F1680D), UINT32_C(0x00446C66), UINT32_C(0x00350BF6),
6159           UINT32_C(0x006A96E3), UINT32_C(0x005AEE9A), UINT32_C(0x006935BB),
6160           UINT32_C(0x0073B4C5), UINT32_C(0x004AC140)},
6161          {UINT32_C(0x00E5225C), UINT32_C(0x007B671B), UINT32_C(0x007606A0),
6162           UINT32_C(0x00938508), UINT32_C(0x007625D7), UINT32_C(0x001E3B8F),
6163           UINT32_C(0x002EAE28), UINT32_C(0x00318F8C), UINT32_C(0x001CC7F0),
6164           UINT32_C(0x0010B56D), UINT32_C(0x0049C97C)},
6165          {UINT32_C(0x00DE3FDD), UINT32_C(0x0008CA79), UINT32_C(0x000A0585),
6166           UINT32_C(0x0056E5A5), UINT32_C(0x003CF77E), UINT32_C(0x002C9DD5),
6167           UINT32_C(0x006D3D48), UINT32_C(0x00B152EB), UINT32_C(0x001C6B5C),
6168           UINT32_C(0x00755FAF), UINT32_C(0x002B73E8)}},
6169         {{UINT32_C(0x004F175B), UINT32_C(0x0074B90C), UINT32_C(0x007C4EB9),
6170           UINT32_C(0x00CB92B7), UINT32_C(0x00592AE2), UINT32_C(0x0056E0F5),
6171           UINT32_C(0x007528E2), UINT32_C(0x00893263), UINT32_C(0x0006AD16),
6172           UINT32_C(0x0070AA41), UINT32_C(0x0062E83F)},
6173          {UINT32_C(0x00058482), UINT32_C(0x00171A5D), UINT32_C(0x0047C331),
6174           UINT32_C(0x00DF7758), UINT32_C(0x002B4A00), UINT32_C(0x001FCAD8),
6175           UINT32_C(0x006A1943), UINT32_C(0x00B73575), UINT32_C(0x00171180),
6176           UINT32_C(0x005C1148), UINT32_C(0x0012A36A)},
6177          {UINT32_C(0x008C51AE), UINT32_C(0x0020EE14), UINT32_C(0x00549F62),
6178           UINT32_C(0x00CD3EB6), UINT32_C(0x0048A700), UINT32_C(0x00596B28),
6179           UINT32_C(0x002F99A4), UINT32_C(0x00010422), UINT32_C(0x001769F4),
6180           UINT32_C(0x00225E79), UINT32_C(0x0067F6DE)}},
6181         {{UINT32_C(0x009E9178), UINT32_C(0x0005D43C), UINT32_C(0x0012A802),
6182           UINT32_C(0x0086A260), UINT32_C(0x0063C91C), UINT32_C(0x0063084E),
6183           UINT32_C(0x0046B7E1), UINT32_C(0x00A17B2D), UINT32_C(0x0051323E),
6184           UINT32_C(0x0046B359), UINT32_C(0x00037634)},
6185          {UINT32_C(0x000A3DA8), UINT32_C(0x001949B0), UINT32_C(0x0005E3B9),
6186           UINT32_C(0x002467F0), UINT32_C(0x004BCC28), UINT32_C(0x00501570),
6187           UINT32_C(0x003D5412), UINT32_C(0x00CD0573), UINT32_C(0x0040ECA4),
6188           UINT32_C(0x0017C942), UINT32_C(0x001AACE2)},
6189          {UINT32_C(0x00427572), UINT32_C(0x002D0E76), UINT32_C(0x006FC301),
6190           UINT32_C(0x0011516D), UINT32_C(0x003B6F32), UINT32_C(0x0056D53F),
6191           UINT32_C(0x002E9447), UINT32_C(0x00909115), UINT32_C(0x007DC768),
6192           UINT32_C(0x00553F21), UINT32_C(0x003A0976)}},
6193     },
6194     {
6195         {{UINT32_C(0x0018835D), UINT32_C(0x001FCF9F), UINT32_C(0x001AD610),
6196           UINT32_C(0x007D30EC), UINT32_C(0x006C910C), UINT32_C(0x003FB1A8),
6197           UINT32_C(0x001464A4), UINT32_C(0x0027680C), UINT32_C(0x007E54DB),
6198           UINT32_C(0x005EDD4B), UINT32_C(0x005A8976)},
6199          {UINT32_C(0x0037E1C3), UINT32_C(0x0016BF14), UINT32_C(0x0006AA36),
6200           UINT32_C(0x0040A33E), UINT32_C(0x006DC0DF), UINT32_C(0x00242FA2),
6201           UINT32_C(0x00274EA4), UINT32_C(0x000084D9), UINT32_C(0x0068A677),
6202           UINT32_C(0x004FE2AF), UINT32_C(0x001D11B4)},
6203          {UINT32_C(0x003DC1C7), UINT32_C(0x00792137), UINT32_C(0x002CB33F),
6204           UINT32_C(0x007A0801), UINT32_C(0x000056E3), UINT32_C(0x00339206),
6205           UINT32_C(0x003D0090), UINT32_C(0x00F96044), UINT32_C(0x00537FE0),
6206           UINT32_C(0x006358EF), UINT32_C(0x001EE2D0)}},
6207         {{UINT32_C(0x0029CB03), UINT32_C(0x000FF813), UINT32_C(0x00067660),
6208           UINT32_C(0x00E00898), UINT32_C(0x000083A1), UINT32_C(0x00516E88),
6209           UINT32_C(0x00543512), UINT32_C(0x00EFA310), UINT32_C(0x005ED95E),
6210           UINT32_C(0x0048147D), UINT32_C(0x003958DB)},
6211          {UINT32_C(0x0084596C), UINT32_C(0x006BC632), UINT32_C(0x0037EAF8),
6212           UINT32_C(0x00148F47), UINT32_C(0x002DE2D2), UINT32_C(0x007E4DA4),
6213           UINT32_C(0x0021A371), UINT32_C(0x00BF0084), UINT32_C(0x003EFBC7),
6214           UINT32_C(0x0079976E), UINT32_C(0x004BAEFB)},
6215          {UINT32_C(0x000DA1C1), UINT32_C(0x00310E2C), UINT32_C(0x0030B00D),
6216           UINT32_C(0x007060D1), UINT32_C(0x000F8A0E), UINT32_C(0x005B1EC0),
6217           UINT32_C(0x0066C96D), UINT32_C(0x008BB679), UINT32_C(0x0031F9DB),
6218           UINT32_C(0x0032C38D), UINT32_C(0x003C1F72)}},
6219         {{UINT32_C(0x00BCFE19), UINT32_C(0x005B51F8), UINT32_C(0x0037A870),
6220           UINT32_C(0x00898A49), UINT32_C(0x007BD853), UINT32_C(0x0064DA75),
6221           UINT32_C(0x0017497A), UINT32_C(0x0021BE3C), UINT32_C(0x0026C48F),
6222           UINT32_C(0x0035A56E), UINT32_C(0x00079EFC)},
6223          {UINT32_C(0x006AEFDE), UINT32_C(0x007113F8), UINT32_C(0x007013EA),
6224           UINT32_C(0x004A8F2E), UINT32_C(0x0038D8C7), UINT32_C(0x003E2B86),
6225           UINT32_C(0x006499EE), UINT32_C(0x00EF9DD1), UINT32_C(0x00541109),
6226           UINT32_C(0x007F4211), UINT32_C(0x002650ED)},
6227          {UINT32_C(0x00E8730E), UINT32_C(0x007EF6E8), UINT32_C(0x00053E89),
6228           UINT32_C(0x00B164EC), UINT32_C(0x004CFEB8), UINT32_C(0x002674CE),
6229           UINT32_C(0x006FD69F), UINT32_C(0x00862ADC), UINT32_C(0x0074A714),
6230           UINT32_C(0x004E95F1), UINT32_C(0x00440342)}},
6231         {{UINT32_C(0x0086A1D1), UINT32_C(0x0009570F), UINT32_C(0x0021E028),
6232           UINT32_C(0x00D8EF33), UINT32_C(0x0030D08A), UINT32_C(0x005EE53C),
6233           UINT32_C(0x005F27BE), UINT32_C(0x00315BEF), UINT32_C(0x0030A287),
6234           UINT32_C(0x00395DE5), UINT32_C(0x00694DAA)},
6235          {UINT32_C(0x004E499A), UINT32_C(0x0024FC80), UINT32_C(0x0045DA5E),
6236           UINT32_C(0x004542DE), UINT32_C(0x005A6E71), UINT32_C(0x0013BB0D),
6237           UINT32_C(0x0000E551), UINT32_C(0x0009BB0D), UINT32_C(0x00710991),
6238           UINT32_C(0x00116881), UINT32_C(0x0075A138)},
6239          {UINT32_C(0x0039EB19), UINT32_C(0x0067187C), UINT32_C(0x00636CC0),
6240           UINT32_C(0x0094DCEC), UINT32_C(0x001AF3DD), UINT32_C(0x002B8639),
6241           UINT32_C(0x006554E7), UINT32_C(0x00E605EB), UINT32_C(0x0061639B),
6242           UINT32_C(0x0077500A), UINT32_C(0x003193ED)}},
6243         {{UINT32_C(0x0001E326), UINT32_C(0x00352C31), UINT32_C(0x004A76AB),
6244           UINT32_C(0x00D940B5), UINT32_C(0x006329C5), UINT32_C(0x001AFE72),
6245           UINT32_C(0x005E4FE9), UINT32_C(0x00F56D9B), UINT32_C(0x003E7DB3),
6246           UINT32_C(0x00054566), UINT32_C(0x004D0C77)},
6247          {UINT32_C(0x00B344FC), UINT32_C(0x001F79B7), UINT32_C(0x0050F482),
6248           UINT32_C(0x0098D267), UINT32_C(0x001C2619), UINT32_C(0x006BBD65),
6249           UINT32_C(0x00346286), UINT32_C(0x008CAD0C), UINT32_C(0x000FC617),
6250           UINT32_C(0x0032B373), UINT32_C(0x007978E3)},
6251          {UINT32_C(0x00C94333), UINT32_C(0x006B14A8), UINT32_C(0x001075C5),
6252           UINT32_C(0x00BDD939), UINT32_C(0x0000EE70), UINT32_C(0x00188183),
6253           UINT32_C(0x007398E2), UINT32_C(0x0009184A), UINT32_C(0x007DF798),
6254           UINT32_C(0x0057B14F), UINT32_C(0x0021B6A8)}},
6255         {{UINT32_C(0x00F232E3), UINT32_C(0x00449C35), UINT32_C(0x000CC2CD),
6256           UINT32_C(0x0003BBFB), UINT32_C(0x006E022E), UINT32_C(0x005937F0),
6257           UINT32_C(0x000D3400), UINT32_C(0x00A3335B), UINT32_C(0x003797FA),
6258           UINT32_C(0x007E0C16), UINT32_C(0x0068AB4A)},
6259          {UINT32_C(0x00655243), UINT32_C(0x0076EF0C), UINT32_C(0x007A5D62),
6260           UINT32_C(0x0087B99B), UINT32_C(0x007F5266), UINT32_C(0x00129263),
6261           UINT32_C(0x0052B578), UINT32_C(0x00CC7106), UINT32_C(0x004128A7),
6262           UINT32_C(0x0074AFC9), UINT32_C(0x001A0821)},
6263          {UINT32_C(0x0000FE7F), UINT32_C(0x0058CC38), UINT32_C(0x004ACE7A),
6264           UINT32_C(0x0027824A), UINT32_C(0x0071BB43), UINT32_C(0x004CD1C5),
6265           UINT32_C(0x001DE8E5), UINT32_C(0x00FD97F3), UINT32_C(0x004164E0),
6266           UINT32_C(0x00542935), UINT32_C(0x0015EE68)}},
6267         {{UINT32_C(0x0056201E), UINT32_C(0x00572A88), UINT32_C(0x005A66B9),
6268           UINT32_C(0x00A30E5F), UINT32_C(0x000E20E3), UINT32_C(0x000898BF),
6269           UINT32_C(0x003CC5C7), UINT32_C(0x000170BD), UINT32_C(0x003813EE),
6270           UINT32_C(0x00079874), UINT32_C(0x006A5F45)},
6271          {UINT32_C(0x00C07AE0), UINT32_C(0x00680DE0), UINT32_C(0x0012D0D6),
6272           UINT32_C(0x00641F64), UINT32_C(0x000E6F53), UINT32_C(0x000A48AC),
6273           UINT32_C(0x002EBABE), UINT32_C(0x0017E4D0), UINT32_C(0x006B3042),
6274           UINT32_C(0x0047391C), UINT32_C(0x003FC7B5)},
6275          {UINT32_C(0x008AE200), UINT32_C(0x00651B7E), UINT32_C(0x000F51C8),
6276           UINT32_C(0x0034F2DB), UINT32_C(0x00418121), UINT32_C(0x0052E806),
6277           UINT32_C(0x004B57A3), UINT32_C(0x00801E3B), UINT32_C(0x006E2553),
6278           UINT32_C(0x0017FE29), UINT32_C(0x000371F5)}},
6279         {{UINT32_C(0x00E0B571), UINT32_C(0x0043B547), UINT32_C(0x0015696B),
6280           UINT32_C(0x00732AF4), UINT32_C(0x007B6282), UINT32_C(0x007276FC),
6281           UINT32_C(0x00489692), UINT32_C(0x00536F42), UINT32_C(0x00241953),
6282           UINT32_C(0x0047679B), UINT32_C(0x0017A0AD)},
6283          {UINT32_C(0x0071332D), UINT32_C(0x00010B6E), UINT32_C(0x007EE392),
6284           UINT32_C(0x00A7B31C), UINT32_C(0x004921ED), UINT32_C(0x000B32BD),
6285           UINT32_C(0x001187FE), UINT32_C(0x00913F47), UINT32_C(0x000B27ED),
6286           UINT32_C(0x0043B431), UINT32_C(0x0055085B)},
6287          {UINT32_C(0x00E2C137), UINT32_C(0x001AD933), UINT32_C(0x000D0367),
6288           UINT32_C(0x007E38F0), UINT32_C(0x0003205C), UINT32_C(0x0014599A),
6289           UINT32_C(0x001E8DE6), UINT32_C(0x007A88FA), UINT32_C(0x0077198A),
6290           UINT32_C(0x0031A753), UINT32_C(0x002FE194)}},
6291         {{UINT32_C(0x00682B6C), UINT32_C(0x00652986), UINT32_C(0x001F417F),
6292           UINT32_C(0x00DE4F1B), UINT32_C(0x000EF1F1), UINT32_C(0x00036E7F),
6293           UINT32_C(0x005AD789), UINT32_C(0x00AE8DB4), UINT32_C(0x0076B58D),
6294           UINT32_C(0x002E3942), UINT32_C(0x006F7B10)},
6295          {UINT32_C(0x009E5FA2), UINT32_C(0x0008F3C7), UINT32_C(0x00043BDE),
6296           UINT32_C(0x0052A794), UINT32_C(0x0044679C), UINT32_C(0x007F28C0),
6297           UINT32_C(0x00382AB6), UINT32_C(0x00395191), UINT32_C(0x0039B531),
6298           UINT32_C(0x0036F81A), UINT32_C(0x00795887)},
6299          {UINT32_C(0x00F70354), UINT32_C(0x00328B59), UINT32_C(0x003D01A3),
6300           UINT32_C(0x00C9F394), UINT32_C(0x0022F3EA), UINT32_C(0x006F350F),
6301           UINT32_C(0x0058C2B3), UINT32_C(0x0040634F), UINT32_C(0x00320F7C),
6302           UINT32_C(0x006D4BEE), UINT32_C(0x0057CCC9)}},
6303         {{UINT32_C(0x0093E9B9), UINT32_C(0x006BDC73), UINT32_C(0x0045A4A0),
6304           UINT32_C(0x0051A4D7), UINT32_C(0x005C415B), UINT32_C(0x0066BA11),
6305           UINT32_C(0x005AE064), UINT32_C(0x005245BE), UINT32_C(0x00013BE1),
6306           UINT32_C(0x006DD2F6), UINT32_C(0x006F9657)},
6307          {UINT32_C(0x00E1468C), UINT32_C(0x0004FD78), UINT32_C(0x005800DD),
6308           UINT32_C(0x0091E526), UINT32_C(0x0012067D), UINT32_C(0x00481847),
6309           UINT32_C(0x000A9B9D), UINT32_C(0x00D7FB7D), UINT32_C(0x0008AF37),
6310           UINT32_C(0x00598387), UINT32_C(0x0053520A)},
6311          {UINT32_C(0x009411F0), UINT32_C(0x00415CC6), UINT32_C(0x003CFAB9),
6312           UINT32_C(0x00BEE1C6), UINT32_C(0x0011F354), UINT32_C(0x00540421),
6313           UINT32_C(0x005B7E1D), UINT32_C(0x00AA9283), UINT32_C(0x00107457),
6314           UINT32_C(0x000DC4A7), UINT32_C(0x0058459D)}},
6315         {{UINT32_C(0x00531F14), UINT32_C(0x001009E3), UINT32_C(0x0073B657),
6316           UINT32_C(0x00DC0159), UINT32_C(0x00665408), UINT32_C(0x0008FF55),
6317           UINT32_C(0x007D3DF9), UINT32_C(0x0031F848), UINT32_C(0x000B2149),
6318           UINT32_C(0x002E956E), UINT32_C(0x00749370)},
6319          {UINT32_C(0x005EACBA), UINT32_C(0x0013C60C), UINT32_C(0x001B1DCF),
6320           UINT32_C(0x00BE1671), UINT32_C(0x005C94CC), UINT32_C(0x00437E24),
6321           UINT32_C(0x00214684), UINT32_C(0x00207638), UINT32_C(0x002A0D18),
6322           UINT32_C(0x001FE161), UINT32_C(0x001F585E)},
6323          {UINT32_C(0x00FF468A), UINT32_C(0x004D3FD3), UINT32_C(0x000BBF50),
6324           UINT32_C(0x00011D45), UINT32_C(0x001070E3), UINT32_C(0x00438229),
6325           UINT32_C(0x0059AB03), UINT32_C(0x000AA329), UINT32_C(0x00315647),
6326           UINT32_C(0x000CCF61), UINT32_C(0x000F1485)}},
6327         {{UINT32_C(0x009129E3), UINT32_C(0x0012693C), UINT32_C(0x004E8200),
6328           UINT32_C(0x00027D67), UINT32_C(0x00704244), UINT32_C(0x00210CBE),
6329           UINT32_C(0x00192F03), UINT32_C(0x005142DE), UINT32_C(0x001A84FB),
6330           UINT32_C(0x003745C5), UINT32_C(0x0064B88E)},
6331          {UINT32_C(0x004FD4A7), UINT32_C(0x0039F707), UINT32_C(0x0027F3CE),
6332           UINT32_C(0x00C4924F), UINT32_C(0x004C1AC9), UINT32_C(0x005438CD),
6333           UINT32_C(0x0029571A), UINT32_C(0x009A42D3), UINT32_C(0x00437704),
6334           UINT32_C(0x00466DF8), UINT32_C(0x004CAE5F)},
6335          {UINT32_C(0x00CF7ED3), UINT32_C(0x00327495), UINT32_C(0x0023D857),
6336           UINT32_C(0x003ADCC1), UINT32_C(0x00783A07), UINT32_C(0x0070C835),
6337           UINT32_C(0x0063B436), UINT32_C(0x00AF64FA), UINT32_C(0x0043E2D6),
6338           UINT32_C(0x0020BE90), UINT32_C(0x001B98ED)}},
6339         {{UINT32_C(0x00A4C93E), UINT32_C(0x004F4C24), UINT32_C(0x007F4777),
6340           UINT32_C(0x000570E1), UINT32_C(0x003BF809), UINT32_C(0x001608A3),
6341           UINT32_C(0x0073E59E), UINT32_C(0x00B32CC7), UINT32_C(0x005501BF),
6342           UINT32_C(0x00027C79), UINT32_C(0x00793FF1)},
6343          {UINT32_C(0x0019DCA8), UINT32_C(0x001F6A93), UINT32_C(0x007FB9FE),
6344           UINT32_C(0x00389B1A), UINT32_C(0x0032A1FC), UINT32_C(0x001BD948),
6345           UINT32_C(0x00661278), UINT32_C(0x00C98D56), UINT32_C(0x005CDFB2),
6346           UINT32_C(0x004DF065), UINT32_C(0x004DA8B5)},
6347          {UINT32_C(0x008AF82E), UINT32_C(0x0049B701), UINT32_C(0x002A4058),
6348           UINT32_C(0x00937D79), UINT32_C(0x003E1209), UINT32_C(0x006D0224),
6349           UINT32_C(0x00654260), UINT32_C(0x0089CD81), UINT32_C(0x0031BE9C),
6350           UINT32_C(0x007F915B), UINT32_C(0x00545CEB)}},
6351         {{UINT32_C(0x00606923), UINT32_C(0x00535E19), UINT32_C(0x004B9720),
6352           UINT32_C(0x007CF3AC), UINT32_C(0x0009FEE2), UINT32_C(0x0021E97C),
6353           UINT32_C(0x00417B8D), UINT32_C(0x0005C8DC), UINT32_C(0x00278974),
6354           UINT32_C(0x00220131), UINT32_C(0x0001F1EA)},
6355          {UINT32_C(0x0051751A), UINT32_C(0x0022CFFE), UINT32_C(0x0065EAE7),
6356           UINT32_C(0x0002D66F), UINT32_C(0x001CFE5E), UINT32_C(0x0004D158),
6357           UINT32_C(0x003519D9), UINT32_C(0x00C3A426), UINT32_C(0x0050617E),
6358           UINT32_C(0x003DFC62), UINT32_C(0x000C1E82)},
6359          {UINT32_C(0x0054E7F7), UINT32_C(0x003159A5), UINT32_C(0x00536937),
6360           UINT32_C(0x00743C99), UINT32_C(0x002C5B9E), UINT32_C(0x003E5BAC),
6361           UINT32_C(0x00713E45), UINT32_C(0x001C8CC3), UINT32_C(0x00379CFC),
6362           UINT32_C(0x0040AC92), UINT32_C(0x004FD6BA)}},
6363         {{UINT32_C(0x00375AB1), UINT32_C(0x00558A76), UINT32_C(0x00127659),
6364           UINT32_C(0x002E36DD), UINT32_C(0x0017A438), UINT32_C(0x0037085E),
6365           UINT32_C(0x00460F93), UINT32_C(0x00DC21D1), UINT32_C(0x006D33E1),
6366           UINT32_C(0x004422EB), UINT32_C(0x003B5755)},
6367          {UINT32_C(0x003DA9D4), UINT32_C(0x002248E9), UINT32_C(0x0003EAEC),
6368           UINT32_C(0x00D43561), UINT32_C(0x001BF26D), UINT32_C(0x005C5F13),
6369           UINT32_C(0x00626C12), UINT32_C(0x00B918DF), UINT32_C(0x0065CADE),
6370           UINT32_C(0x00717357), UINT32_C(0x005BB6B5)},
6371          {UINT32_C(0x004024E3), UINT32_C(0x0046B939), UINT32_C(0x004E46F3),
6372           UINT32_C(0x001511AF), UINT32_C(0x00776BD7), UINT32_C(0x00320079),
6373           UINT32_C(0x007332F3), UINT32_C(0x007C852A), UINT32_C(0x007816D9),
6374           UINT32_C(0x0068E65E), UINT32_C(0x0045DBB4)}},
6375         {{UINT32_C(0x00E0980A), UINT32_C(0x003CBFDB), UINT32_C(0x0074F5AA),
6376           UINT32_C(0x001EA8DD), UINT32_C(0x002C4C50), UINT32_C(0x00311D45),
6377           UINT32_C(0x0039C948), UINT32_C(0x0055988C), UINT32_C(0x005B5B63),
6378           UINT32_C(0x0041F40E), UINT32_C(0x002C22D4)},
6379          {UINT32_C(0x00AE7440), UINT32_C(0x002ACDC7), UINT32_C(0x0078F4C2),
6380           UINT32_C(0x00199902), UINT32_C(0x001399A7), UINT32_C(0x003DDA20),
6381           UINT32_C(0x00658152), UINT32_C(0x005F646B), UINT32_C(0x006CA0B4),
6382           UINT32_C(0x0073AF03), UINT32_C(0x00052716)},
6383          {UINT32_C(0x007F80B6), UINT32_C(0x003B2F94), UINT32_C(0x00373B83),
6384           UINT32_C(0x00EA1B50), UINT32_C(0x00716C1C), UINT32_C(0x0047A779),
6385           UINT32_C(0x006E478C), UINT32_C(0x009F1C86), UINT32_C(0x00772EF9),
6386           UINT32_C(0x003C8BB5), UINT32_C(0x0003308F)}},
6387     },
6388     {
6389         {{UINT32_C(0x003A0F8A), UINT32_C(0x00239C42), UINT32_C(0x002C8997),
6390           UINT32_C(0x00CB1312), UINT32_C(0x000BA3BF), UINT32_C(0x00433E65),
6391           UINT32_C(0x0004E93D), UINT32_C(0x00BC78BF), UINT32_C(0x0016315F),
6392           UINT32_C(0x007839DA), UINT32_C(0x00072F5D)},
6393          {UINT32_C(0x00431B86), UINT32_C(0x0052B0C9), UINT32_C(0x007B6B54),
6394           UINT32_C(0x0004C666), UINT32_C(0x0021961D), UINT32_C(0x00630D09),
6395           UINT32_C(0x0026B7F8), UINT32_C(0x004B5633), UINT32_C(0x0036F916),
6396           UINT32_C(0x007D08E5), UINT32_C(0x0009930C)},
6397          {UINT32_C(0x006B4F00), UINT32_C(0x001D54A4), UINT32_C(0x00692DA9),
6398           UINT32_C(0x0098837B), UINT32_C(0x0065006A), UINT32_C(0x000704B4),
6399           UINT32_C(0x00424FF9), UINT32_C(0x00C25B4D), UINT32_C(0x005B6D40),
6400           UINT32_C(0x0054C25F), UINT32_C(0x00387F6A)}},
6401         {{UINT32_C(0x002F5512), UINT32_C(0x00654E2D), UINT32_C(0x00668342),
6402           UINT32_C(0x00E2D4F5), UINT32_C(0x001FCDE3), UINT32_C(0x00396F10),
6403           UINT32_C(0x00474238), UINT32_C(0x001DFA11), UINT32_C(0x00536151),
6404           UINT32_C(0x0060AA5E), UINT32_C(0x0008AD4A)},
6405          {UINT32_C(0x00E427F0), UINT32_C(0x005588B0), UINT32_C(0x002428A4),
6406           UINT32_C(0x00DD098A), UINT32_C(0x002CAE12), UINT32_C(0x0005B6F7),
6407           UINT32_C(0x0003677F), UINT32_C(0x00B1209B), UINT32_C(0x000B9B82),
6408           UINT32_C(0x007C5D85), UINT32_C(0x00503BBE)},
6409          {UINT32_C(0x003F3EE8), UINT32_C(0x0071495D), UINT32_C(0x004CA27C),
6410           UINT32_C(0x0057A105), UINT32_C(0x0038F4ED), UINT32_C(0x00019BA2),
6411           UINT32_C(0x00772D19), UINT32_C(0x000C8A1F), UINT32_C(0x002F07EB),
6412           UINT32_C(0x0009E4D0), UINT32_C(0x007AF54E)}},
6413         {{UINT32_C(0x009ED4D4), UINT32_C(0x0035F235), UINT32_C(0x003B3EFE),
6414           UINT32_C(0x00B5687B), UINT32_C(0x007499B6), UINT32_C(0x004AEC1B),
6415           UINT32_C(0x0011D9F3), UINT32_C(0x00F934CA), UINT32_C(0x00626585),
6416           UINT32_C(0x000054A1), UINT32_C(0x0078ADC1)},
6417          {UINT32_C(0x000F1D44), UINT32_C(0x00067701), UINT32_C(0x002F00AB),
6418           UINT32_C(0x008F68D3), UINT32_C(0x001C1C3B), UINT32_C(0x0049876F),
6419           UINT32_C(0x007C5E0C), UINT32_C(0x00958C8A), UINT32_C(0x00585F0E),
6420           UINT32_C(0x003980D2), UINT32_C(0x004C2741)},
6421          {UINT32_C(0x004F0FD3), UINT32_C(0x000519E7), UINT32_C(0x00455DA2),
6422           UINT32_C(0x00E4A2DB), UINT32_C(0x0006A399), UINT32_C(0x005F65BE),
6423           UINT32_C(0x0010C895), UINT32_C(0x00E1E39C), UINT32_C(0x000D2D62),
6424           UINT32_C(0x005489D3), UINT32_C(0x0064F071)}},
6425         {{UINT32_C(0x0075E904), UINT32_C(0x0034221F), UINT32_C(0x006C3082),
6426           UINT32_C(0x001DFF10), UINT32_C(0x007E367A), UINT32_C(0x0044654C),
6427           UINT32_C(0x00214821), UINT32_C(0x0044A5B4), UINT32_C(0x0065B709),
6428           UINT32_C(0x001D42EE), UINT32_C(0x001A97DC)},
6429          {UINT32_C(0x000AD26D), UINT32_C(0x0030E580), UINT32_C(0x006F212B),
6430           UINT32_C(0x00100EE6), UINT32_C(0x000F70F2), UINT32_C(0x007CA3C6),
6431           UINT32_C(0x0017EBC5), UINT32_C(0x00311581), UINT32_C(0x002B7BB5),
6432           UINT32_C(0x00283403), UINT32_C(0x0001A581)},
6433          {UINT32_C(0x009043A2), UINT32_C(0x001B3A77), UINT32_C(0x000FA816),
6434           UINT32_C(0x004B33BF), UINT32_C(0x005044AF), UINT32_C(0x001584E4),
6435           UINT32_C(0x00417440), UINT32_C(0x0006E3D6), UINT32_C(0x00723841),
6436           UINT32_C(0x007F1CF7), UINT32_C(0x000A8A6D)}},
6437         {{UINT32_C(0x0041A857), UINT32_C(0x0034AE73), UINT32_C(0x004BB287),
6438           UINT32_C(0x0086B914), UINT32_C(0x006E11BD), UINT32_C(0x000F0FD1),
6439           UINT32_C(0x003523A3), UINT32_C(0x00860736), UINT32_C(0x00209E71),
6440           UINT32_C(0x0021DE0F), UINT32_C(0x001A4D6B)},
6441          {UINT32_C(0x00F677D7), UINT32_C(0x0048110C), UINT32_C(0x0008F908),
6442           UINT32_C(0x009BD400), UINT32_C(0x006B94AC), UINT32_C(0x0037B8C2),
6443           UINT32_C(0x0049854F), UINT32_C(0x005C4D2F), UINT32_C(0x003BA675),
6444           UINT32_C(0x003C2448), UINT32_C(0x0069DC9E)},
6445          {UINT32_C(0x00025EE8), UINT32_C(0x00384FEB), UINT32_C(0x001C9DA4),
6446           UINT32_C(0x0005A77C), UINT32_C(0x002CEBD8), UINT32_C(0x00253110),
6447           UINT32_C(0x0048F3CD), UINT32_C(0x0045CF49), UINT32_C(0x004771CD),
6448           UINT32_C(0x003F1990), UINT32_C(0x004F6051)}},
6449         {{UINT32_C(0x0003827C), UINT32_C(0x001F112D), UINT32_C(0x0071973A),
6450           UINT32_C(0x0099B096), UINT32_C(0x000C34F8), UINT32_C(0x00397A6A),
6451           UINT32_C(0x007F26ED), UINT32_C(0x00AD0CF1), UINT32_C(0x0069FEEE),
6452           UINT32_C(0x000BB893), UINT32_C(0x00525AC4)},
6453          {UINT32_C(0x001DE590), UINT32_C(0x0063FBAF), UINT32_C(0x0013D7EB),
6454           UINT32_C(0x0042B275), UINT32_C(0x006A1E1B), UINT32_C(0x0010AEC1),
6455           UINT32_C(0x002C78D4), UINT32_C(0x0028C9DF), UINT32_C(0x0045854B),
6456           UINT32_C(0x000789E7), UINT32_C(0x0000074F)},
6457          {UINT32_C(0x008229BF), UINT32_C(0x0069358B), UINT32_C(0x001825AA),
6458           UINT32_C(0x00181405), UINT32_C(0x0073C536), UINT32_C(0x0063CEAE),
6459           UINT32_C(0x0015B3E7), UINT32_C(0x008AFF3F), UINT32_C(0x0010C89E),
6460           UINT32_C(0x001AF589), UINT32_C(0x004E0053)}},
6461         {{UINT32_C(0x0028B9C8), UINT32_C(0x0034B521), UINT32_C(0x003323FB),
6462           UINT32_C(0x00B663B0), UINT32_C(0x004DAAA1), UINT32_C(0x002616C9),
6463           UINT32_C(0x0032ABEB), UINT32_C(0x0040C353), UINT32_C(0x00086B1D),
6464           UINT32_C(0x0036A180), UINT32_C(0x003E458C)},
6465          {UINT32_C(0x00DCF643), UINT32_C(0x002C1001), UINT32_C(0x0052AA3F),
6466           UINT32_C(0x008E9839), UINT32_C(0x004A4E69), UINT32_C(0x001D0E16),
6467           UINT32_C(0x002FBB80), UINT32_C(0x0043D67E), UINT32_C(0x00478B72),
6468           UINT32_C(0x000F9CA3), UINT32_C(0x003AFC42)},
6469          {UINT32_C(0x000DD581), UINT32_C(0x007F85BA), UINT32_C(0x00436D63),
6470           UINT32_C(0x00598F90), UINT32_C(0x0014B661), UINT32_C(0x00306562),
6471           UINT32_C(0x00761E86), UINT32_C(0x006C8505), UINT32_C(0x00568527),
6472           UINT32_C(0x006FDA5A), UINT32_C(0x001ADEA0)}},
6473         {{UINT32_C(0x00890618), UINT32_C(0x000CD682), UINT32_C(0x007E36FF),
6474           UINT32_C(0x00303F12), UINT32_C(0x000B2A6D), UINT32_C(0x00415241),
6475           UINT32_C(0x0025E2C9), UINT32_C(0x00F0E829), UINT32_C(0x003A20B1),
6476           UINT32_C(0x005BC247), UINT32_C(0x004FF913)},
6477          {UINT32_C(0x00C77BF2), UINT32_C(0x004061A1), UINT32_C(0x007197C8),
6478           UINT32_C(0x0031BABD), UINT32_C(0x00096046), UINT32_C(0x0045E643),
6479           UINT32_C(0x006FC909), UINT32_C(0x00088EA6), UINT32_C(0x0070A7CA),
6480           UINT32_C(0x0047B9D0), UINT32_C(0x0050FC48)},
6481          {UINT32_C(0x00FF3B98), UINT32_C(0x0078A423), UINT32_C(0x0012CC47),
6482           UINT32_C(0x00AE776D), UINT32_C(0x0021495E), UINT32_C(0x004A3D73),
6483           UINT32_C(0x00391838), UINT32_C(0x001B0893), UINT32_C(0x000AE103),
6484           UINT32_C(0x005B7AC6), UINT32_C(0x0058F1A9)}},
6485         {{UINT32_C(0x00CAFC7E), UINT32_C(0x006D3D15), UINT32_C(0x003C5E44),
6486           UINT32_C(0x00246F10), UINT32_C(0x00654846), UINT32_C(0x0021C350),
6487           UINT32_C(0x0029B782), UINT32_C(0x000F3BD5), UINT32_C(0x004BA2E1),
6488           UINT32_C(0x000A9813), UINT32_C(0x003DAC06)},
6489          {UINT32_C(0x0081BEA5), UINT32_C(0x005AF750), UINT32_C(0x00231C43),
6490           UINT32_C(0x00546577), UINT32_C(0x00021D5B), UINT32_C(0x00323115),
6491           UINT32_C(0x00360EE5), UINT32_C(0x000B7CC0), UINT32_C(0x0042696D),
6492           UINT32_C(0x0014F38B), UINT32_C(0x00637448)},
6493          {UINT32_C(0x00A10272), UINT32_C(0x0071C42F), UINT32_C(0x005406FB),
6494           UINT32_C(0x000728BE), UINT32_C(0x003FCE1D), UINT32_C(0x00721CC4),
6495           UINT32_C(0x00100233), UINT32_C(0x004A237D), UINT32_C(0x004691A1),
6496           UINT32_C(0x00439B3E), UINT32_C(0x0068BD1A)}},
6497         {{UINT32_C(0x0071251B), UINT32_C(0x00458B01), UINT32_C(0x001E79F8),
6498           UINT32_C(0x00A77A06), UINT32_C(0x0074587F), UINT32_C(0x004DC1C1),
6499           UINT32_C(0x003C2A50), UINT32_C(0x00255231), UINT32_C(0x005C317C),
6500           UINT32_C(0x005F9187), UINT32_C(0x007CF5A9)},
6501          {UINT32_C(0x00098FC2), UINT32_C(0x004404A1), UINT32_C(0x004D04AA),
6502           UINT32_C(0x00464189), UINT32_C(0x0061D090), UINT32_C(0x004E55A9),
6503           UINT32_C(0x0007C50C), UINT32_C(0x00BE825E), UINT32_C(0x00047F09),
6504           UINT32_C(0x000F7FEC), UINT32_C(0x004E42D2)},
6505          {UINT32_C(0x00355E39), UINT32_C(0x002EAC10), UINT32_C(0x00511D7E),
6506           UINT32_C(0x00DF8195), UINT32_C(0x00658D53), UINT32_C(0x007832A7),
6507           UINT32_C(0x00688D4A), UINT32_C(0x00630A34), UINT32_C(0x001BF382),
6508           UINT32_C(0x005EC16E), UINT32_C(0x007B68AD)}},
6509         {{UINT32_C(0x001E2363), UINT32_C(0x0019180C), UINT32_C(0x000DC491),
6510           UINT32_C(0x00624C85), UINT32_C(0x004109E5), UINT32_C(0x006F6F9F),
6511           UINT32_C(0x004721E1), UINT32_C(0x00D89B92), UINT32_C(0x002ACCC1),
6512           UINT32_C(0x0061C123), UINT32_C(0x00181505)},
6513          {UINT32_C(0x005EFABB), UINT32_C(0x007D8985), UINT32_C(0x003C5BC1),
6514           UINT32_C(0x008F46C5), UINT32_C(0x0012B4ED), UINT32_C(0x0064759D),
6515           UINT32_C(0x0058D2A9), UINT32_C(0x00C25CA8), UINT32_C(0x004E6E93),
6516           UINT32_C(0x00503BCA), UINT32_C(0x00512AAA)},
6517          {UINT32_C(0x009D1E14), UINT32_C(0x0074E51E), UINT32_C(0x00245CBE),
6518           UINT32_C(0x00248FE2), UINT32_C(0x0074BDE8), UINT32_C(0x007C074E),
6519           UINT32_C(0x0017A40E), UINT32_C(0x00FF34D1), UINT32_C(0x0057C0A3),
6520           UINT32_C(0x0061B3EC), UINT32_C(0x002677F7)}},
6521         {{UINT32_C(0x00CBF754), UINT32_C(0x0031AE3A), UINT32_C(0x000333B8),
6522           UINT32_C(0x00D4CF78), UINT32_C(0x003E4A56), UINT32_C(0x004E6254),
6523           UINT32_C(0x002FDBFA), UINT32_C(0x00144B0A), UINT32_C(0x0063FB6C),
6524           UINT32_C(0x0001D4D6), UINT32_C(0x007A746B)},
6525          {UINT32_C(0x007361B9), UINT32_C(0x005E8B06), UINT32_C(0x0044E134),
6526           UINT32_C(0x00F4A847), UINT32_C(0x002329D4), UINT32_C(0x0044A5B7),
6527           UINT32_C(0x0044F475), UINT32_C(0x00E61797), UINT32_C(0x0057FB07),
6528           UINT32_C(0x00051722), UINT32_C(0x00241ECD)},
6529          {UINT32_C(0x0022A500), UINT32_C(0x0039A10A), UINT32_C(0x0042D3D5),
6530           UINT32_C(0x00B567D7), UINT32_C(0x0069AA6D), UINT32_C(0x00711215),
6531           UINT32_C(0x002ED8DD), UINT32_C(0x0000F158), UINT32_C(0x006238BE),
6532           UINT32_C(0x005650C3), UINT32_C(0x003D21E8)}},
6533         {{UINT32_C(0x008B1C66), UINT32_C(0x0019194C), UINT32_C(0x0014BFE9),
6534           UINT32_C(0x00748F3D), UINT32_C(0x003CCE8F), UINT32_C(0x0048A87C),
6535           UINT32_C(0x006A1307), UINT32_C(0x006C2B73), UINT32_C(0x002E37A4),
6536           UINT32_C(0x0029162B), UINT32_C(0x0027B4E0)},
6537          {UINT32_C(0x00C21F63), UINT32_C(0x0017955E), UINT32_C(0x0078C143),
6538           UINT32_C(0x00D5E54D), UINT32_C(0x00472F3D), UINT32_C(0x004E389E),
6539           UINT32_C(0x005B4F76), UINT32_C(0x004D23EE), UINT32_C(0x00532138),
6540           UINT32_C(0x00573674), UINT32_C(0x000CEC4B)},
6541          {UINT32_C(0x003DE334), UINT32_C(0x006224BD), UINT32_C(0x000F9C6F),
6542           UINT32_C(0x000A9395), UINT32_C(0x00345EAF), UINT32_C(0x00107910),
6543           UINT32_C(0x0070F64A), UINT32_C(0x00D236DB), UINT32_C(0x0027355D),
6544           UINT32_C(0x00164A6C), UINT32_C(0x007D6D7B)}},
6545         {{UINT32_C(0x008036C4), UINT32_C(0x004A1B91), UINT32_C(0x00471A92),
6546           UINT32_C(0x000371CC), UINT32_C(0x0056DDC0), UINT32_C(0x00130FC6),
6547           UINT32_C(0x00287BA8), UINT32_C(0x00EAE3E3), UINT32_C(0x006A7352),
6548           UINT32_C(0x004599E9), UINT32_C(0x00382164)},
6549          {UINT32_C(0x00B93F79), UINT32_C(0x001E39CD), UINT32_C(0x00201F70),
6550           UINT32_C(0x00EF1A24), UINT32_C(0x00530D3A), UINT32_C(0x005F0647),
6551           UINT32_C(0x00008EE9), UINT32_C(0x00AD3CCB), UINT32_C(0x006C1B3C),
6552           UINT32_C(0x0020B88E), UINT32_C(0x00041C1B)},
6553          {UINT32_C(0x006CAF3D), UINT32_C(0x004A21AC), UINT32_C(0x001CDE34),
6554           UINT32_C(0x0033DD65), UINT32_C(0x005353D1), UINT32_C(0x00584597),
6555           UINT32_C(0x00114182), UINT32_C(0x005CB2D9), UINT32_C(0x0053A5C5),
6556           UINT32_C(0x0071C2D4), UINT32_C(0x00244902)}},
6557         {{UINT32_C(0x00AFA1E1), UINT32_C(0x0064BD11), UINT32_C(0x0014D188),
6558           UINT32_C(0x0002D13D), UINT32_C(0x000E36B8), UINT32_C(0x00354548),
6559           UINT32_C(0x007BB62C), UINT32_C(0x0078DF50), UINT32_C(0x0007E63C),
6560           UINT32_C(0x00056614), UINT32_C(0x003D5281)},
6561          {UINT32_C(0x0028DBA4), UINT32_C(0x0004B80D), UINT32_C(0x004F7FF8),
6562           UINT32_C(0x007AA928), UINT32_C(0x0004ABF1), UINT32_C(0x0023D6FF),
6563           UINT32_C(0x0024B312), UINT32_C(0x00023B8A), UINT32_C(0x003B5EDA),
6564           UINT32_C(0x005AF149), UINT32_C(0x0019FA7B)},
6565          {UINT32_C(0x00FF5820), UINT32_C(0x00358792), UINT32_C(0x0021A28C),
6566           UINT32_C(0x00C51693), UINT32_C(0x000098EE), UINT32_C(0x00034266),
6567           UINT32_C(0x0017723D), UINT32_C(0x00C2DDF5), UINT32_C(0x0000E734),
6568           UINT32_C(0x006DAEF6), UINT32_C(0x0071F7AD)}},
6569         {{UINT32_C(0x002E3AD1), UINT32_C(0x00779201), UINT32_C(0x0068289F),
6570           UINT32_C(0x003F10B0), UINT32_C(0x002706C6), UINT32_C(0x002565B5),
6571           UINT32_C(0x00190C55), UINT32_C(0x0033BD51), UINT32_C(0x000E50F0),
6572           UINT32_C(0x00500819), UINT32_C(0x007C9D08)},
6573          {UINT32_C(0x00FA9D8B), UINT32_C(0x0038DA3F), UINT32_C(0x00693AB6),
6574           UINT32_C(0x00DE9636), UINT32_C(0x005BB3EC), UINT32_C(0x0065B8F5),
6575           UINT32_C(0x00481E55), UINT32_C(0x0061E2C9), UINT32_C(0x001643BF),
6576           UINT32_C(0x00559100), UINT32_C(0x005F79E6)},
6577          {UINT32_C(0x002E392D), UINT32_C(0x001227D4), UINT32_C(0x00293C7B),
6578           UINT32_C(0x00F92994), UINT32_C(0x002FAEE0), UINT32_C(0x00322623),
6579           UINT32_C(0x00434FE2), UINT32_C(0x00199F46), UINT32_C(0x005C180E),
6580           UINT32_C(0x005C3B89), UINT32_C(0x00566D13)}},
6581     },
6582     {
6583         {{UINT32_C(0x004EC5D5), UINT32_C(0x00019CD6), UINT32_C(0x000BBD45),
6584           UINT32_C(0x002193AE), UINT32_C(0x003165C6), UINT32_C(0x003D8D74),
6585           UINT32_C(0x0045059C), UINT32_C(0x008CF60C), UINT32_C(0x00487D06),
6586           UINT32_C(0x005A9D09), UINT32_C(0x007FC6E0)},
6587          {UINT32_C(0x0037B42A), UINT32_C(0x0001A576), UINT32_C(0x000A750D),
6588           UINT32_C(0x0045B5DD), UINT32_C(0x006F0E25), UINT32_C(0x001F4ABF),
6589           UINT32_C(0x0056E0BA), UINT32_C(0x0065543B), UINT32_C(0x00564264),
6590           UINT32_C(0x005ADF58), UINT32_C(0x0069B6ED)},
6591          {UINT32_C(0x0008533F), UINT32_C(0x00673ED0), UINT32_C(0x0053205E),
6592           UINT32_C(0x0060EB8B), UINT32_C(0x000C0216), UINT32_C(0x00483015),
6593           UINT32_C(0x001974B0), UINT32_C(0x00610E9B), UINT32_C(0x00116E88),
6594           UINT32_C(0x001B41F9), UINT32_C(0x003650B6)}},
6595         {{UINT32_C(0x001E87C9), UINT32_C(0x00485E07), UINT32_C(0x00473783),
6596           UINT32_C(0x009E4755), UINT32_C(0x0077AAE3), UINT32_C(0x006CF828),
6597           UINT32_C(0x0064BF5B), UINT32_C(0x00DD1614), UINT32_C(0x001F3F82),
6598           UINT32_C(0x000CDC74), UINT32_C(0x005A217D)},
6599          {UINT32_C(0x007E7DC9), UINT32_C(0x004C5775), UINT32_C(0x00577E73),
6600           UINT32_C(0x0054AC09), UINT32_C(0x00692B30), UINT32_C(0x005074AE),
6601           UINT32_C(0x0047FE74), UINT32_C(0x00814E6D), UINT32_C(0x00611400),
6602           UINT32_C(0x0054CC45), UINT32_C(0x0015E56A)},
6603          {UINT32_C(0x0015BF7F), UINT32_C(0x00720BB8), UINT32_C(0x00128FA3),
6604           UINT32_C(0x00EFF525), UINT32_C(0x002C2B16), UINT32_C(0x000032B7),
6605           UINT32_C(0x0056FA97), UINT32_C(0x006F11AE), UINT32_C(0x0021850D),
6606           UINT32_C(0x00755623), UINT32_C(0x0004F475)}},
6607         {{UINT32_C(0x00DC22CC), UINT32_C(0x005EC978), UINT32_C(0x0075EFAB),
6608           UINT32_C(0x00A67308), UINT32_C(0x001E17A7), UINT32_C(0x00471117),
6609           UINT32_C(0x003D0D24), UINT32_C(0x0002B875), UINT32_C(0x005CD15C),
6610           UINT32_C(0x00791ED0), UINT32_C(0x00519998)},
6611          {UINT32_C(0x006DFC80), UINT32_C(0x003F2D4F), UINT32_C(0x00325346),
6612           UINT32_C(0x00CF12E4), UINT32_C(0x000EF0D1), UINT32_C(0x001D644B),
6613           UINT32_C(0x006A72BB), UINT32_C(0x00E463A5), UINT32_C(0x00393A41),
6614           UINT32_C(0x003CFAB9), UINT32_C(0x0045AEDD)},
6615          {UINT32_C(0x008CF232), UINT32_C(0x00355CF6), UINT32_C(0x0018330B),
6616           UINT32_C(0x00E357D6), UINT32_C(0x002E9F65), UINT32_C(0x00192AA3),
6617           UINT32_C(0x0050E31A), UINT32_C(0x00542788), UINT32_C(0x005C03B4),
6618           UINT32_C(0x0016A4C7), UINT32_C(0x004D85E7)}},
6619         {{UINT32_C(0x005E1B7C), UINT32_C(0x005396EB), UINT32_C(0x002953AC),
6620           UINT32_C(0x0066F21B), UINT32_C(0x000744EB), UINT32_C(0x002BB57E),
6621           UINT32_C(0x00777EC0), UINT32_C(0x000C0908), UINT32_C(0x0063DFBF),
6622           UINT32_C(0x0019D0E1), UINT32_C(0x0053259A)},
6623          {UINT32_C(0x00092AA9), UINT32_C(0x006D7967), UINT32_C(0x007A34E9),
6624           UINT32_C(0x0088833B), UINT32_C(0x007C72DF), UINT32_C(0x00154B92),
6625           UINT32_C(0x0004BEAB), UINT32_C(0x00709C21), UINT32_C(0x001A33F0),
6626           UINT32_C(0x007A15C7), UINT32_C(0x007CB81A)},
6627          {UINT32_C(0x00427117), UINT32_C(0x0060010D), UINT32_C(0x002FB59E),
6628           UINT32_C(0x0081DF74), UINT32_C(0x001C3AFF), UINT32_C(0x00325E38),
6629           UINT32_C(0x003E9EB8), UINT32_C(0x00AFA8A7), UINT32_C(0x002A7623),
6630           UINT32_C(0x001940EC), UINT32_C(0x00678A03)}},
6631         {{UINT32_C(0x0089D0DA), UINT32_C(0x005DD15D), UINT32_C(0x0007F023),
6632           UINT32_C(0x0084B837), UINT32_C(0x0059A36B), UINT32_C(0x0014C4F9),
6633           UINT32_C(0x005A10B9), UINT32_C(0x00EEA8E6), UINT32_C(0x0032C712),
6634           UINT32_C(0x00207104), UINT32_C(0x0051CC16)},
6635          {UINT32_C(0x00788203), UINT32_C(0x005BFACD), UINT32_C(0x0034A954),
6636           UINT32_C(0x00E0855B), UINT32_C(0x007F6BD9), UINT32_C(0x003EAB3A),
6637           UINT32_C(0x0061F2A3), UINT32_C(0x004BF5E9), UINT32_C(0x00203A8B),
6638           UINT32_C(0x007B37C8), UINT32_C(0x00403792)},
6639          {UINT32_C(0x0091D84F), UINT32_C(0x006D1BA7), UINT32_C(0x0036B343),
6640           UINT32_C(0x00319941), UINT32_C(0x000AB9F0), UINT32_C(0x007A1DC1),
6641           UINT32_C(0x0031981C), UINT32_C(0x00F43266), UINT32_C(0x0008BB75),
6642           UINT32_C(0x00485DAF), UINT32_C(0x000A9D74)}},
6643         {{UINT32_C(0x00243625), UINT32_C(0x005BB841), UINT32_C(0x00525C95),
6644           UINT32_C(0x00BC116B), UINT32_C(0x003839C3), UINT32_C(0x0041EB1B),
6645           UINT32_C(0x00221F6B), UINT32_C(0x004EC4AF), UINT32_C(0x006D762B),
6646           UINT32_C(0x005C54FC), UINT32_C(0x007A1F82)},
6647          {UINT32_C(0x00C26515), UINT32_C(0x0000ED4C), UINT32_C(0x001E3B09),
6648           UINT32_C(0x000BEE59), UINT32_C(0x0063B3C5), UINT32_C(0x00275D84),
6649           UINT32_C(0x005756AC), UINT32_C(0x00AF183D), UINT32_C(0x0009020F),
6650           UINT32_C(0x006E34C7), UINT32_C(0x004DC0C8)},
6651          {UINT32_C(0x005B4EB0), UINT32_C(0x0039BA12), UINT32_C(0x000B792C),
6652           UINT32_C(0x00D6B962), UINT32_C(0x003DFD9C), UINT32_C(0x004C2A8A),
6653           UINT32_C(0x0022A010), UINT32_C(0x0067AFC9), UINT32_C(0x0057241F),
6654           UINT32_C(0x003A2810), UINT32_C(0x005C0C2A)}},
6655         {{UINT32_C(0x000F4D05), UINT32_C(0x001E1BA9), UINT32_C(0x003631A2),
6656           UINT32_C(0x002B29CE), UINT32_C(0x007696F1), UINT32_C(0x00313416),
6657           UINT32_C(0x001EB6D3), UINT32_C(0x008D3460), UINT32_C(0x003364E8),
6658           UINT32_C(0x000429EE), UINT32_C(0x007E4FF6)},
6659          {UINT32_C(0x00B98C72), UINT32_C(0x0043B1EA), UINT32_C(0x001A581F),
6660           UINT32_C(0x00295970), UINT32_C(0x0010F065), UINT32_C(0x0039E01E),
6661           UINT32_C(0x002E33BA), UINT32_C(0x0047DF1A), UINT32_C(0x0041422E),
6662           UINT32_C(0x005A3851), UINT32_C(0x003FA8FF)},
6663          {UINT32_C(0x00A29B8E), UINT32_C(0x00702100), UINT32_C(0x001DFDFB),
6664           UINT32_C(0x006CA23F), UINT32_C(0x004F967B), UINT32_C(0x00417B94),
6665           UINT32_C(0x0073DD0F), UINT32_C(0x00D08DB3), UINT32_C(0x001C4006),
6666           UINT32_C(0x003F92DD), UINT32_C(0x000F2874)}},
6667         {{UINT32_C(0x008D5AC8), UINT32_C(0x0031FE77), UINT32_C(0x001EE7B5),
6668           UINT32_C(0x0017DDC8), UINT32_C(0x0010F7EB), UINT32_C(0x0078D778),
6669           UINT32_C(0x0051CF94), UINT32_C(0x00737A58), UINT32_C(0x002F2CA5),
6670           UINT32_C(0x00314107), UINT32_C(0x003BD0E4)},
6671          {UINT32_C(0x00708B31), UINT32_C(0x006E4EE5), UINT32_C(0x0072B5A8),
6672           UINT32_C(0x00B52995), UINT32_C(0x001B7B7D), UINT32_C(0x002853F5),
6673           UINT32_C(0x0071F2D3), UINT32_C(0x0090F660), UINT32_C(0x004E8BAE),
6674           UINT32_C(0x002AEB93), UINT32_C(0x007FE004)},
6675          {UINT32_C(0x0074B2E7), UINT32_C(0x0036F8CC), UINT32_C(0x005A0B4F),
6676           UINT32_C(0x006AC18C), UINT32_C(0x0023E1D0), UINT32_C(0x0018985D),
6677           UINT32_C(0x0044A4EA), UINT32_C(0x00EAD750), UINT32_C(0x001739B5),
6678           UINT32_C(0x00259016), UINT32_C(0x0069AD16)}},
6679         {{UINT32_C(0x00236C6C), UINT32_C(0x002BDCF8), UINT32_C(0x00737342),
6680           UINT32_C(0x00FFE743), UINT32_C(0x0067A4D9), UINT32_C(0x0066D9C1),
6681           UINT32_C(0x00681F98), UINT32_C(0x00599DED), UINT32_C(0x0057B074),
6682           UINT32_C(0x001B308C), UINT32_C(0x0056660C)},
6683          {UINT32_C(0x008B1685), UINT32_C(0x0027EA30), UINT32_C(0x0033CA2D),
6684           UINT32_C(0x0098682C), UINT32_C(0x003F67B0), UINT32_C(0x000C48E9),
6685           UINT32_C(0x0068A704), UINT32_C(0x001C6E9D), UINT32_C(0x00123D06),
6686           UINT32_C(0x0050A933), UINT32_C(0x0053C6D2)},
6687          {UINT32_C(0x00917431), UINT32_C(0x002F64FB), UINT32_C(0x00755E9F),
6688           UINT32_C(0x005D5B9F), UINT32_C(0x006E0959), UINT32_C(0x00068928),
6689           UINT32_C(0x00509EB9), UINT32_C(0x009B4E5E), UINT32_C(0x0000998B),
6690           UINT32_C(0x0008DAD5), UINT32_C(0x00166125)}},
6691         {{UINT32_C(0x00074C2E), UINT32_C(0x00652B12), UINT32_C(0x00202F3C),
6692           UINT32_C(0x0042EBC1), UINT32_C(0x00500167), UINT32_C(0x005CDA15),
6693           UINT32_C(0x001381DA), UINT32_C(0x00CC99F2), UINT32_C(0x005723CA),
6694           UINT32_C(0x001A8C3B), UINT32_C(0x003D5615)},
6695          {UINT32_C(0x00F1A960), UINT32_C(0x007380F6), UINT32_C(0x007009E1),
6696           UINT32_C(0x002EF85B), UINT32_C(0x003B246B), UINT32_C(0x0041405A),
6697           UINT32_C(0x001314CB), UINT32_C(0x009FDCD0), UINT32_C(0x0077491F),
6698           UINT32_C(0x003266F0), UINT32_C(0x00760D83)},
6699          {UINT32_C(0x00C7818E), UINT32_C(0x007864C2), UINT32_C(0x00244BD0),
6700           UINT32_C(0x00F38B08), UINT32_C(0x00688F96), UINT32_C(0x0075C705),
6701           UINT32_C(0x00278414), UINT32_C(0x00B2BFF0), UINT32_C(0x0067126E),
6702           UINT32_C(0x007B7F7E), UINT32_C(0x00078584)}},
6703         {{UINT32_C(0x00FE7A46), UINT32_C(0x005584A0), UINT32_C(0x005CDD0D),
6704           UINT32_C(0x004CF5A8), UINT32_C(0x0019CFA7), UINT32_C(0x00087268),
6705           UINT32_C(0x007FF3F3), UINT32_C(0x0087ACFD), UINT32_C(0x0017BD41),
6706           UINT32_C(0x004A35AA), UINT32_C(0x0014C1BD)},
6707          {UINT32_C(0x005A4052), UINT32_C(0x0032A135), UINT32_C(0x007056C3),
6708           UINT32_C(0x0072F85C), UINT32_C(0x0024A79D), UINT32_C(0x003D7320),
6709           UINT32_C(0x0007F20D), UINT32_C(0x00BEA269), UINT32_C(0x0032F584),
6710           UINT32_C(0x00557016), UINT32_C(0x0009FC2A)},
6711          {UINT32_C(0x006E58DD), UINT32_C(0x00414D93), UINT32_C(0x001D725A),
6712           UINT32_C(0x00A5AB22), UINT32_C(0x000AD82C), UINT32_C(0x00613758),
6713           UINT32_C(0x00773B55), UINT32_C(0x00D581E2), UINT32_C(0x006342F0),
6714           UINT32_C(0x0022FB1A), UINT32_C(0x0028348D)}},
6715         {{UINT32_C(0x00940FFC), UINT32_C(0x006CC86D), UINT32_C(0x0033CE22),
6716           UINT32_C(0x00A629FD), UINT32_C(0x0032CFBE), UINT32_C(0x0011788D),
6717           UINT32_C(0x0027D4E5), UINT32_C(0x0043AC5A), UINT32_C(0x003CEEDA),
6718           UINT32_C(0x000057AA), UINT32_C(0x00614643)},
6719          {UINT32_C(0x00312B0D), UINT32_C(0x003C3AC9), UINT32_C(0x00126EE8),
6720           UINT32_C(0x003F24AF), UINT32_C(0x0006CC19), UINT32_C(0x00656F4F),
6721           UINT32_C(0x004E91CF), UINT32_C(0x001EC679), UINT32_C(0x0010294E),
6722           UINT32_C(0x0023F5E9), UINT32_C(0x00181E45)},
6723          {UINT32_C(0x008C28C0), UINT32_C(0x0016213D), UINT32_C(0x0010311C),
6724           UINT32_C(0x00744F39), UINT32_C(0x006CEA8C), UINT32_C(0x0066FA80),
6725           UINT32_C(0x005E3FA5), UINT32_C(0x001D61EB), UINT32_C(0x001E0217),
6726           UINT32_C(0x002F43D5), UINT32_C(0x001EAA47)}},
6727         {{UINT32_C(0x00854120), UINT32_C(0x005AA732), UINT32_C(0x00608D63),
6728           UINT32_C(0x003180C7), UINT32_C(0x00513CB6), UINT32_C(0x0013362E),
6729           UINT32_C(0x00492465), UINT32_C(0x00A81D33), UINT32_C(0x0038349B),
6730           UINT32_C(0x004C1B24), UINT32_C(0x0061B37A)},
6731          {UINT32_C(0x00B13B17), UINT32_C(0x003AC756), UINT32_C(0x004C7642),
6732           UINT32_C(0x0067AC7F), UINT32_C(0x003F23FE), UINT32_C(0x0058AA8A),
6733           UINT32_C(0x000B0977), UINT32_C(0x001D605C), UINT32_C(0x00713AD3),
6734           UINT32_C(0x0060BA46), UINT32_C(0x0041F85A)},
6735          {UINT32_C(0x00E37216), UINT32_C(0x0043A345), UINT32_C(0x00223407),
6736           UINT32_C(0x00256265), UINT32_C(0x0011C42F), UINT32_C(0x00138466),
6737           UINT32_C(0x004733CC), UINT32_C(0x003535EC), UINT32_C(0x0001BC86),
6738           UINT32_C(0x003D1B86), UINT32_C(0x004AE885)}},
6739         {{UINT32_C(0x00DC7159), UINT32_C(0x001767D1), UINT32_C(0x007AE0AB),
6740           UINT32_C(0x000878A1), UINT32_C(0x004FB364), UINT32_C(0x0033B0EF),
6741           UINT32_C(0x00742CF7), UINT32_C(0x00C6A756), UINT32_C(0x0078F550),
6742           UINT32_C(0x00711F81), UINT32_C(0x0065A975)},
6743          {UINT32_C(0x00439414), UINT32_C(0x0015AFCF), UINT32_C(0x007EE055),
6744           UINT32_C(0x00DD71C8), UINT32_C(0x0045F656), UINT32_C(0x00624A54),
6745           UINT32_C(0x003005FC), UINT32_C(0x00BC7324), UINT32_C(0x0055842E),
6746           UINT32_C(0x00165223), UINT32_C(0x0037D7D6)},
6747          {UINT32_C(0x0019F5F5), UINT32_C(0x0020DA89), UINT32_C(0x006C89E9),
6748           UINT32_C(0x00F41904), UINT32_C(0x003D42D9), UINT32_C(0x0055B010),
6749           UINT32_C(0x00175AA4), UINT32_C(0x00B1A716), UINT32_C(0x000083AA),
6750           UINT32_C(0x000A3EEC), UINT32_C(0x00170791)}},
6751         {{UINT32_C(0x004FE6CC), UINT32_C(0x0027F794), UINT32_C(0x001DEE50),
6752           UINT32_C(0x001D47C8), UINT32_C(0x00482A07), UINT32_C(0x00728F59),
6753           UINT32_C(0x002E9AFB), UINT32_C(0x00416429), UINT32_C(0x00429086),
6754           UINT32_C(0x002A42B2), UINT32_C(0x0004C02A)},
6755          {UINT32_C(0x004B5C0A), UINT32_C(0x0035BDD6), UINT32_C(0x001FE687),
6756           UINT32_C(0x0027AF73), UINT32_C(0x001A6D1A), UINT32_C(0x000FBB3C),
6757           UINT32_C(0x00213872), UINT32_C(0x00EC16E6), UINT32_C(0x00636F30),
6758           UINT32_C(0x00415394), UINT32_C(0x0012E98D)},
6759          {UINT32_C(0x008D471A), UINT32_C(0x0069E551), UINT32_C(0x00493B23),
6760           UINT32_C(0x006ED1B7), UINT32_C(0x0047A3E8), UINT32_C(0x00249EC8),
6761           UINT32_C(0x003D1AD9), UINT32_C(0x0023243A), UINT32_C(0x0078E657),
6762           UINT32_C(0x007AC870), UINT32_C(0x0039DDDE)}},
6763         {{UINT32_C(0x00775995), UINT32_C(0x004A7A1C), UINT32_C(0x00706EC4),
6764           UINT32_C(0x005F75E2), UINT32_C(0x0023C9C5), UINT32_C(0x0024BCC8),
6765           UINT32_C(0x007DC9AC), UINT32_C(0x001AFD8F), UINT32_C(0x006B47B9),
6766           UINT32_C(0x004747AD), UINT32_C(0x007B084D)},
6767          {UINT32_C(0x000A9B5C), UINT32_C(0x007354D6), UINT32_C(0x006AB188),
6768           UINT32_C(0x00A35212), UINT32_C(0x003BDF54), UINT32_C(0x00027ACE),
6769           UINT32_C(0x002AEF52), UINT32_C(0x00C45137), UINT32_C(0x0058980E),
6770           UINT32_C(0x0050F4F0), UINT32_C(0x003E8EEE)},
6771          {UINT32_C(0x00EB4040), UINT32_C(0x00618F66), UINT32_C(0x0031BE2F),
6772           UINT32_C(0x00A1EAB0), UINT32_C(0x00038AF5), UINT32_C(0x0001EC6C),
6773           UINT32_C(0x0007421A), UINT32_C(0x0051B097), UINT32_C(0x0043B013),
6774           UINT32_C(0x0060ED3F), UINT32_C(0x0036AC22)}},
6775     },
6776     {
6777         {{UINT32_C(0x00A77DAC), UINT32_C(0x001DB3FD), UINT32_C(0x00389F54),
6778           UINT32_C(0x00564F6D), UINT32_C(0x0063CF36), UINT32_C(0x001C46B6),
6779           UINT32_C(0x00311686), UINT32_C(0x00E982B7), UINT32_C(0x00027D0F),
6780           UINT32_C(0x0050362C), UINT32_C(0x001AEA89)},
6781          {UINT32_C(0x0002BC8A), UINT32_C(0x0036E565), UINT32_C(0x00342121),
6782           UINT32_C(0x00ED769D), UINT32_C(0x002A92C3), UINT32_C(0x00325573),
6783           UINT32_C(0x0018B0E6), UINT32_C(0x00F11ADF), UINT32_C(0x004B976B),
6784           UINT32_C(0x00069633), UINT32_C(0x004FFC55)},
6785          {UINT32_C(0x00FD2FC2), UINT32_C(0x00401B07), UINT32_C(0x00294102),
6786           UINT32_C(0x008EA5E0), UINT32_C(0x0030664D), UINT32_C(0x00142EC3),
6787           UINT32_C(0x003FE051), UINT32_C(0x00F56D80), UINT32_C(0x0039FEE3),
6788           UINT32_C(0x00000AEB), UINT32_C(0x006D0C5F)}},
6789         {{UINT32_C(0x00DD75D0), UINT32_C(0x0044A3C3), UINT32_C(0x005A506D),
6790           UINT32_C(0x00EC37FD), UINT32_C(0x00316AD7), UINT32_C(0x0000D14B),
6791           UINT32_C(0x00204476), UINT32_C(0x0051C697), UINT32_C(0x00083305),
6792           UINT32_C(0x0058D9B1), UINT32_C(0x0070999F)},
6793          {UINT32_C(0x00E5E93B), UINT32_C(0x006C0468), UINT32_C(0x0009400E),
6794           UINT32_C(0x0075F8FF), UINT32_C(0x0035F1A4), UINT32_C(0x00506173),
6795           UINT32_C(0x002364E5), UINT32_C(0x00414D87), UINT32_C(0x0008B606),
6796           UINT32_C(0x00686394), UINT32_C(0x006AA160)},
6797          {UINT32_C(0x006BD2E2), UINT32_C(0x007A2B7F), UINT32_C(0x005F146B),
6798           UINT32_C(0x00369239), UINT32_C(0x00079C56), UINT32_C(0x00062C62),
6799           UINT32_C(0x0077B021), UINT32_C(0x003A29B7), UINT32_C(0x002867FF),
6800           UINT32_C(0x0055BBB5), UINT32_C(0x0005D042)}},
6801         {{UINT32_C(0x00D8B383), UINT32_C(0x007DD79F), UINT32_C(0x00789E04),
6802           UINT32_C(0x00F01FC3), UINT32_C(0x0009A138), UINT32_C(0x00652EF9),
6803           UINT32_C(0x0004B8F0), UINT32_C(0x00CD2D9B), UINT32_C(0x002A8B21),
6804           UINT32_C(0x00711CBB), UINT32_C(0x003F479B)},
6805          {UINT32_C(0x0084BAF3), UINT32_C(0x00077832), UINT32_C(0x005C239A),
6806           UINT32_C(0x0060F9F5), UINT32_C(0x00157D11), UINT32_C(0x004B04C3),
6807           UINT32_C(0x00398E89), UINT32_C(0x00DFDB89), UINT32_C(0x004B12EE),
6808           UINT32_C(0x002B1159), UINT32_C(0x0070A1B8)},
6809          {UINT32_C(0x00034A6C), UINT32_C(0x004C89E9), UINT32_C(0x0022DB26),
6810           UINT32_C(0x00C601C3), UINT32_C(0x0032D1E3), UINT32_C(0x002503F8),
6811           UINT32_C(0x00632E24), UINT32_C(0x00EA95FF), UINT32_C(0x000FDA31),
6812           UINT32_C(0x002551E5), UINT32_C(0x004F9CB2)}},
6813         {{UINT32_C(0x00862AF4), UINT32_C(0x00210FBD), UINT32_C(0x001E6C80),
6814           UINT32_C(0x00400C9B), UINT32_C(0x000AA70B), UINT32_C(0x00736A0A),
6815           UINT32_C(0x005A2C84), UINT32_C(0x00C59BAC), UINT32_C(0x000BB281),
6816           UINT32_C(0x002CF44A), UINT32_C(0x0061244E)},
6817          {UINT32_C(0x00856415), UINT32_C(0x0016B2C8), UINT32_C(0x00735666),
6818           UINT32_C(0x001D23DD), UINT32_C(0x001134A9), UINT32_C(0x0017A1D4),
6819           UINT32_C(0x0026D1CE), UINT32_C(0x00EECC13), UINT32_C(0x0049B200),
6820           UINT32_C(0x00153F17), UINT32_C(0x0011DDAE)},
6821          {UINT32_C(0x00007750), UINT32_C(0x001134B0), UINT32_C(0x004BF17D),
6822           UINT32_C(0x00D2423A), UINT32_C(0x003D2D7B), UINT32_C(0x00085F31),
6823           UINT32_C(0x00227CDF), UINT32_C(0x00654CD2), UINT32_C(0x00082CCF),
6824           UINT32_C(0x007C9CA4), UINT32_C(0x004C47BB)}},
6825         {{UINT32_C(0x00362E13), UINT32_C(0x003A337C), UINT32_C(0x002BBA20),
6826           UINT32_C(0x0001856C), UINT32_C(0x0002C1DE), UINT32_C(0x000E51A8),
6827           UINT32_C(0x00457B9D), UINT32_C(0x0057882E), UINT32_C(0x0037807D),
6828           UINT32_C(0x0015B24A), UINT32_C(0x001A74BE)},
6829          {UINT32_C(0x003DB4CB), UINT32_C(0x004A35FE), UINT32_C(0x003DBBAB),
6830           UINT32_C(0x007E3023), UINT32_C(0x00194FC7), UINT32_C(0x0012B3C2),
6831           UINT32_C(0x00776FBF), UINT32_C(0x001E11B7), UINT32_C(0x002DB7AA),
6832           UINT32_C(0x001DED18), UINT32_C(0x0069ABF1)},
6833          {UINT32_C(0x005FE93D), UINT32_C(0x000BDB4C), UINT32_C(0x00250B7A),
6834           UINT32_C(0x008A93E9), UINT32_C(0x006F3CAC), UINT32_C(0x0003D972),
6835           UINT32_C(0x0057B7D4), UINT32_C(0x00D0FA5F), UINT32_C(0x0051BCDF),
6836           UINT32_C(0x0037A606), UINT32_C(0x0046594A)}},
6837         {{UINT32_C(0x00FD1F79), UINT32_C(0x00305A30), UINT32_C(0x000AD2AE),
6838           UINT32_C(0x00BFF664), UINT32_C(0x002CE671), UINT32_C(0x006F9E53),
6839           UINT32_C(0x00242322), UINT32_C(0x000EB83C), UINT32_C(0x000DA108),
6840           UINT32_C(0x007B1505), UINT32_C(0x001BB588)},
6841          {UINT32_C(0x00D17F2A), UINT32_C(0x0005A272), UINT32_C(0x0023C922),
6842           UINT32_C(0x00F5BEA6), UINT32_C(0x00534FEC), UINT32_C(0x00201847),
6843           UINT32_C(0x0057D139), UINT32_C(0x00553AC8), UINT32_C(0x0038D49D),
6844           UINT32_C(0x000D9A41), UINT32_C(0x0023FA44)},
6845          {UINT32_C(0x00A4394C), UINT32_C(0x001C1150), UINT32_C(0x000C4BC9),
6846           UINT32_C(0x0013E6EB), UINT32_C(0x0030FD03), UINT32_C(0x005496B5),
6847           UINT32_C(0x002200CE), UINT32_C(0x009477CB), UINT32_C(0x00167FB8),
6848           UINT32_C(0x001C4D58), UINT32_C(0x004FD444)}},
6849         {{UINT32_C(0x00D5EEEC), UINT32_C(0x0038E42A), UINT32_C(0x005A4364),
6850           UINT32_C(0x00980627), UINT32_C(0x007F2577), UINT32_C(0x003612FD),
6851           UINT32_C(0x004E0E1F), UINT32_C(0x0074D370), UINT32_C(0x00528EA6),
6852           UINT32_C(0x00018673), UINT32_C(0x004D7509)},
6853          {UINT32_C(0x0029610F), UINT32_C(0x004535B8), UINT32_C(0x00041762),
6854           UINT32_C(0x008EF8FD), UINT32_C(0x002AA59D), UINT32_C(0x00083B18),
6855           UINT32_C(0x00479122), UINT32_C(0x005A4922), UINT32_C(0x002CECA2),
6856           UINT32_C(0x00256BF4), UINT32_C(0x0043B7C3)},
6857          {UINT32_C(0x00B47D51), UINT32_C(0x00748FB4), UINT32_C(0x00584310),
6858           UINT32_C(0x00EE3A6C), UINT32_C(0x005E556A), UINT32_C(0x0052BA2B),
6859           UINT32_C(0x00500FBB), UINT32_C(0x00A9860A), UINT32_C(0x007A7128),
6860           UINT32_C(0x000D1669), UINT32_C(0x002C17E0)}},
6861         {{UINT32_C(0x0007B0B0), UINT32_C(0x005AEDEE), UINT32_C(0x0076ED54),
6862           UINT32_C(0x00274E51), UINT32_C(0x007BD17E), UINT32_C(0x000BE439),
6863           UINT32_C(0x000ED5DB), UINT32_C(0x00D7925E), UINT32_C(0x003F2A50),
6864           UINT32_C(0x002F0773), UINT32_C(0x003546F9)},
6865          {UINT32_C(0x001B8BC5), UINT32_C(0x00567960), UINT32_C(0x0038FA10),
6866           UINT32_C(0x00C2575C), UINT32_C(0x0027332E), UINT32_C(0x003071D4),
6867           UINT32_C(0x0078A9F6), UINT32_C(0x00BCAE5E), UINT32_C(0x00760FF1),
6868           UINT32_C(0x000E8EC0), UINT32_C(0x006EA98F)},
6869          {UINT32_C(0x00676ADD), UINT32_C(0x004ED26F), UINT32_C(0x0030B66C),
6870           UINT32_C(0x00E96FB8), UINT32_C(0x0055C569), UINT32_C(0x00323FB1),
6871           UINT32_C(0x00440986), UINT32_C(0x00F3E007), UINT32_C(0x005F14FE),
6872           UINT32_C(0x000E5FD2), UINT32_C(0x00585D5A)}},
6873         {{UINT32_C(0x0032D10F), UINT32_C(0x00607846), UINT32_C(0x00476A55),
6874           UINT32_C(0x00FE8A15), UINT32_C(0x0076749E), UINT32_C(0x00385608),
6875           UINT32_C(0x0029E6F6), UINT32_C(0x0098FFAC), UINT32_C(0x004086D0),
6876           UINT32_C(0x00587F0C), UINT32_C(0x0048DEFF)},
6877          {UINT32_C(0x008F82EA), UINT32_C(0x00011EC5), UINT32_C(0x001CAAB9),
6878           UINT32_C(0x00B6A781), UINT32_C(0x000436C9), UINT32_C(0x005DDE65),
6879           UINT32_C(0x002E38F8), UINT32_C(0x003A69F4), UINT32_C(0x003DF1D2),
6880           UINT32_C(0x0026F1E7), UINT32_C(0x003D5D6D)},
6881          {UINT32_C(0x007322DD), UINT32_C(0x001FFAF0), UINT32_C(0x0012A21B),
6882           UINT32_C(0x003853AE), UINT32_C(0x0001D98A), UINT32_C(0x0000748E),
6883           UINT32_C(0x00667AE8), UINT32_C(0x002F7BE9), UINT32_C(0x001686BF),
6884           UINT32_C(0x00050052), UINT32_C(0x0079765D)}},
6885         {{UINT32_C(0x00267E76), UINT32_C(0x000F5A32), UINT32_C(0x00798CB2),
6886           UINT32_C(0x0086E395), UINT32_C(0x00005266), UINT32_C(0x0025806B),
6887           UINT32_C(0x007EE459), UINT32_C(0x001EF2A7), UINT32_C(0x00034FD1),
6888           UINT32_C(0x0018C3F9), UINT32_C(0x0002FCBE)},
6889          {UINT32_C(0x004C278B), UINT32_C(0x0025C270), UINT32_C(0x00642402),
6890           UINT32_C(0x0024F47B), UINT32_C(0x006E96A1), UINT32_C(0x006B67FC),
6891           UINT32_C(0x00446A7C), UINT32_C(0x009B9BAB), UINT32_C(0x00774C2A),
6892           UINT32_C(0x005B2890), UINT32_C(0x0007534E)},
6893          {UINT32_C(0x00979647), UINT32_C(0x003D9A12), UINT32_C(0x0009C489),
6894           UINT32_C(0x002D6F0A), UINT32_C(0x007ED7E2), UINT32_C(0x004A5B1B),
6895           UINT32_C(0x005C265E), UINT32_C(0x006AF72E), UINT32_C(0x003BFD06),
6896           UINT32_C(0x0019EE72), UINT32_C(0x002BC98A)}},
6897         {{UINT32_C(0x0036094F), UINT32_C(0x0053D51E), UINT32_C(0x0039DA8E),
6898           UINT32_C(0x00C24407), UINT32_C(0x00754444), UINT32_C(0x00541686),
6899           UINT32_C(0x0038413C), UINT32_C(0x003D42D5), UINT32_C(0x002B576F),
6900           UINT32_C(0x0025B7F0), UINT32_C(0x00037AE8)},
6901          {UINT32_C(0x00FF6011), UINT32_C(0x00739A4B), UINT32_C(0x002CFD0E),
6902           UINT32_C(0x0034CBE5), UINT32_C(0x001C69C4), UINT32_C(0x00183B00),
6903           UINT32_C(0x0070A07F), UINT32_C(0x00416B07), UINT32_C(0x001873B9),
6904           UINT32_C(0x004C82C4), UINT32_C(0x0012AF7C)},
6905          {UINT32_C(0x009DAB06), UINT32_C(0x00006525), UINT32_C(0x005F4AC2),
6906           UINT32_C(0x0007B1CD), UINT32_C(0x0025B80B), UINT32_C(0x006B0D4A),
6907           UINT32_C(0x0017A0F3), UINT32_C(0x005371E3), UINT32_C(0x00786EF8),
6908           UINT32_C(0x005F7C4F), UINT32_C(0x0060CA6A)}},
6909         {{UINT32_C(0x00D21942), UINT32_C(0x0071B130), UINT32_C(0x0010AF58),
6910           UINT32_C(0x0032F341), UINT32_C(0x0073BD94), UINT32_C(0x0005C17D),
6911           UINT32_C(0x0052C1D1), UINT32_C(0x00AC355D), UINT32_C(0x007A20DB),
6912           UINT32_C(0x0041259A), UINT32_C(0x0044FFAB)},
6913          {UINT32_C(0x006E331F), UINT32_C(0x007C1495), UINT32_C(0x00648A89),
6914           UINT32_C(0x00C406A1), UINT32_C(0x000F1EB7), UINT32_C(0x0031E5FB),
6915           UINT32_C(0x006C8D65), UINT32_C(0x00C6C865), UINT32_C(0x004B7DF2),
6916           UINT32_C(0x0079769E), UINT32_C(0x002083D4)},
6917          {UINT32_C(0x00980997), UINT32_C(0x00485E01), UINT32_C(0x000FDD04),
6918           UINT32_C(0x00404293), UINT32_C(0x001BE19E), UINT32_C(0x00079D78),
6919           UINT32_C(0x0058EB9B), UINT32_C(0x005DBD87), UINT32_C(0x00702A47),
6920           UINT32_C(0x0039F856), UINT32_C(0x000ADFA8)}},
6921         {{UINT32_C(0x00601C16), UINT32_C(0x006BAD25), UINT32_C(0x000B27D9),
6922           UINT32_C(0x003CE316), UINT32_C(0x000BF903), UINT32_C(0x00305942),
6923           UINT32_C(0x0055AA45), UINT32_C(0x006C251C), UINT32_C(0x001C0764),
6924           UINT32_C(0x004DB871), UINT32_C(0x006990D9)},
6925          {UINT32_C(0x0035029C), UINT32_C(0x0056F54C), UINT32_C(0x0071AAA5),
6926           UINT32_C(0x003BB302), UINT32_C(0x00511665), UINT32_C(0x004B1D6D),
6927           UINT32_C(0x00792CCE), UINT32_C(0x009D6482), UINT32_C(0x005F2322),
6928           UINT32_C(0x0060FBFB), UINT32_C(0x003DAEFF)},
6929          {UINT32_C(0x005DFF91), UINT32_C(0x007B3C15), UINT32_C(0x003C73C5),
6930           UINT32_C(0x0099D915), UINT32_C(0x0047AF99), UINT32_C(0x005655E6),
6931           UINT32_C(0x001004A5), UINT32_C(0x001F3259), UINT32_C(0x0050988B),
6932           UINT32_C(0x005D60E0), UINT32_C(0x002BE896)}},
6933         {{UINT32_C(0x002B631C), UINT32_C(0x00372C82), UINT32_C(0x002A7F2A),
6934           UINT32_C(0x00E4A975), UINT32_C(0x006BB6B1), UINT32_C(0x0016BC52),
6935           UINT32_C(0x00473CD2), UINT32_C(0x00630310), UINT32_C(0x0016B945),
6936           UINT32_C(0x0001291B), UINT32_C(0x0059EF17)},
6937          {UINT32_C(0x00837D4E), UINT32_C(0x003216D3), UINT32_C(0x004E0701),
6938           UINT32_C(0x00823A76), UINT32_C(0x00567125), UINT32_C(0x0020E62F),
6939           UINT32_C(0x0036F8E4), UINT32_C(0x0091634B), UINT32_C(0x000CE9C9),
6940           UINT32_C(0x00712DF3), UINT32_C(0x003270FE)},
6941          {UINT32_C(0x00C8BD36), UINT32_C(0x00312227), UINT32_C(0x005851DE),
6942           UINT32_C(0x00989694), UINT32_C(0x003811BA), UINT32_C(0x0049DDC1),
6943           UINT32_C(0x0079916E), UINT32_C(0x00905B34), UINT32_C(0x00216CD3),
6944           UINT32_C(0x006E95D0), UINT32_C(0x0075102E)}},
6945         {{UINT32_C(0x000FE15B), UINT32_C(0x002132F9), UINT32_C(0x007302D9),
6946           UINT32_C(0x0074464C), UINT32_C(0x006545FE), UINT32_C(0x0025178A),
6947           UINT32_C(0x0037772B), UINT32_C(0x00F33555), UINT32_C(0x006628A7),
6948           UINT32_C(0x00639C7D), UINT32_C(0x0017AF1B)},
6949          {UINT32_C(0x0016001E), UINT32_C(0x00346FAA), UINT32_C(0x0055CC08),
6950           UINT32_C(0x006A26EC), UINT32_C(0x00272A70), UINT32_C(0x0073B255),
6951           UINT32_C(0x0066C9CC), UINT32_C(0x00E05374), UINT32_C(0x0031E05D),
6952           UINT32_C(0x007241E6), UINT32_C(0x0064D29A)},
6953          {UINT32_C(0x000904B8), UINT32_C(0x000ACC3E), UINT32_C(0x005C0BC8),
6954           UINT32_C(0x00708FA3), UINT32_C(0x006420DB), UINT32_C(0x0009EB68),
6955           UINT32_C(0x007DF36A), UINT32_C(0x0004C79A), UINT32_C(0x00688FB7),
6956           UINT32_C(0x001853DD), UINT32_C(0x00391517)}},
6957         {{UINT32_C(0x0045C93C), UINT32_C(0x001ADA91), UINT32_C(0x005BEF12),
6958           UINT32_C(0x00652E9C), UINT32_C(0x00109290), UINT32_C(0x00351B47),
6959           UINT32_C(0x00649B3C), UINT32_C(0x0093B9EA), UINT32_C(0x0031C49B),
6960           UINT32_C(0x006129D9), UINT32_C(0x0018C36F)},
6961          {UINT32_C(0x0039F849), UINT32_C(0x0076DDFD), UINT32_C(0x004D8E8B),
6962           UINT32_C(0x00CC9068), UINT32_C(0x00257C98), UINT32_C(0x0022E647),
6963           UINT32_C(0x0010E3A5), UINT32_C(0x0071627F), UINT32_C(0x004D6728),
6964           UINT32_C(0x001036C0), UINT32_C(0x00293E1C)},
6965          {UINT32_C(0x00A0883B), UINT32_C(0x0047D948), UINT32_C(0x0029727E),
6966           UINT32_C(0x007C052C), UINT32_C(0x0064B122), UINT32_C(0x003228B8),
6967           UINT32_C(0x0004B695), UINT32_C(0x00850591), UINT32_C(0x00086718),
6968           UINT32_C(0x0035AE85), UINT32_C(0x001253D1)}},
6969     },
6970     {
6971         {{UINT32_C(0x00B27045), UINT32_C(0x007C6BA4), UINT32_C(0x000BBA03),
6972           UINT32_C(0x00D9B116), UINT32_C(0x007774E3), UINT32_C(0x0042950E),
6973           UINT32_C(0x0017A228), UINT32_C(0x002DD987), UINT32_C(0x0078FFD1),
6974           UINT32_C(0x006CC9E6), UINT32_C(0x002D3C1B)},
6975          {UINT32_C(0x00A56D1F), UINT32_C(0x002BB5F0), UINT32_C(0x005FB594),
6976           UINT32_C(0x0009E3C8), UINT32_C(0x0040549B), UINT32_C(0x0008E785),
6977           UINT32_C(0x005E84B9), UINT32_C(0x0003AE65), UINT32_C(0x00476B1B),
6978           UINT32_C(0x004B6DB7), UINT32_C(0x00255FEE)},
6979          {UINT32_C(0x001D2AC3), UINT32_C(0x0053D8C2), UINT32_C(0x0053ABBA),
6980           UINT32_C(0x0062F195), UINT32_C(0x00583DCF), UINT32_C(0x005C7CC7),
6981           UINT32_C(0x0016B088), UINT32_C(0x00E1FD84), UINT32_C(0x003BDF9C),
6982           UINT32_C(0x004B6242), UINT32_C(0x0078CDD1)}},
6983         {{UINT32_C(0x0072E704), UINT32_C(0x002A3E71), UINT32_C(0x0016610F),
6984           UINT32_C(0x009B3715), UINT32_C(0x005FCB07), UINT32_C(0x005D8BCF),
6985           UINT32_C(0x00320582), UINT32_C(0x00A47F78), UINT32_C(0x005E225E),
6986           UINT32_C(0x00168430), UINT32_C(0x004428AB)},
6987          {UINT32_C(0x004370E5), UINT32_C(0x005D2F9B), UINT32_C(0x00189EF7),
6988           UINT32_C(0x0099C20D), UINT32_C(0x0054ECBC), UINT32_C(0x00656294),
6989           UINT32_C(0x00121DD8), UINT32_C(0x009B9829), UINT32_C(0x007E3E6A),
6990           UINT32_C(0x003A665F), UINT32_C(0x001EFD05)},
6991          {UINT32_C(0x008DCA62), UINT32_C(0x006B5EF8), UINT32_C(0x00434D75),
6992           UINT32_C(0x00FAA8B9), UINT32_C(0x0011A045), UINT32_C(0x006E5D43),
6993           UINT32_C(0x004E67E5), UINT32_C(0x00966939), UINT32_C(0x005A4ABC),
6994           UINT32_C(0x002BC8B7), UINT32_C(0x001B23C1)}},
6995         {{UINT32_C(0x004E71F0), UINT32_C(0x00091B67), UINT32_C(0x00288D0F),
6996           UINT32_C(0x003DBF2B), UINT32_C(0x0034CDF1), UINT32_C(0x005B1542),
6997           UINT32_C(0x007363B6), UINT32_C(0x005CE63B), UINT32_C(0x0002FAD4),
6998           UINT32_C(0x001E8FE4), UINT32_C(0x00419934)},
6999          {UINT32_C(0x008F0055), UINT32_C(0x00718F3D), UINT32_C(0x00464487),
7000           UINT32_C(0x00B1F62E), UINT32_C(0x001D1DD4), UINT32_C(0x005C579E),
7001           UINT32_C(0x000761B7), UINT32_C(0x00CADFA8), UINT32_C(0x005881B3),
7002           UINT32_C(0x000CF2A5), UINT32_C(0x00236B83)},
7003          {UINT32_C(0x000EDD83), UINT32_C(0x00641C10), UINT32_C(0x0077B165),
7004           UINT32_C(0x005DFADE), UINT32_C(0x0002C161), UINT32_C(0x004C0EAB),
7005           UINT32_C(0x004F8FA8), UINT32_C(0x005182C2), UINT32_C(0x0022EE1E),
7006           UINT32_C(0x002FC0D1), UINT32_C(0x0072B941)}},
7007         {{UINT32_C(0x00BE3284), UINT32_C(0x00265E75), UINT32_C(0x0054BBEA),
7008           UINT32_C(0x009FEA89), UINT32_C(0x006A5BC5), UINT32_C(0x00468BF6),
7009           UINT32_C(0x0061091E), UINT32_C(0x0021D236), UINT32_C(0x00770DDF),
7010           UINT32_C(0x0044380D), UINT32_C(0x00261B8D)},
7011          {UINT32_C(0x0048B464), UINT32_C(0x0007F870), UINT32_C(0x00664579),
7012           UINT32_C(0x00EBB0D3), UINT32_C(0x0034FB4E), UINT32_C(0x0062BF86),
7013           UINT32_C(0x0030A6E2), UINT32_C(0x00141079), UINT32_C(0x004C4867),
7014           UINT32_C(0x0021F669), UINT32_C(0x006C48AC)},
7015          {UINT32_C(0x001F1A30), UINT32_C(0x00402CCF), UINT32_C(0x002EC836),
7016           UINT32_C(0x0076E3D0), UINT32_C(0x0045490A), UINT32_C(0x0074B706),
7017           UINT32_C(0x005C524F), UINT32_C(0x00A8A8B0), UINT32_C(0x001A4F8F),
7018           UINT32_C(0x00192D28), UINT32_C(0x0065C94E)}},
7019         {{UINT32_C(0x00053602), UINT32_C(0x0050EAFD), UINT32_C(0x003DFE2B),
7020           UINT32_C(0x00BAD911), UINT32_C(0x000BAA2C), UINT32_C(0x0067D960),
7021           UINT32_C(0x000D9F5E), UINT32_C(0x00C75FB5), UINT32_C(0x0061E525),
7022           UINT32_C(0x0042DF4C), UINT32_C(0x0078BFD6)},
7023          {UINT32_C(0x00DDF860), UINT32_C(0x0064B891), UINT32_C(0x000AAD9E),
7024           UINT32_C(0x0055DAD8), UINT32_C(0x000CD34A), UINT32_C(0x007F4F89),
7025           UINT32_C(0x00720D9B), UINT32_C(0x000C777A), UINT32_C(0x005C019C),
7026           UINT32_C(0x007BF2C9), UINT32_C(0x002B11EB)},
7027          {UINT32_C(0x002C702B), UINT32_C(0x00152B74), UINT32_C(0x002C06C6),
7028           UINT32_C(0x00CAC7B3), UINT32_C(0x00651F98), UINT32_C(0x006BEE21),
7029           UINT32_C(0x0022FC91), UINT32_C(0x00D0E1A2), UINT32_C(0x000F1226),
7030           UINT32_C(0x0000CB76), UINT32_C(0x000AD2FB)}},
7031         {{UINT32_C(0x003B07A3), UINT32_C(0x005563EB), UINT32_C(0x000F5875),
7032           UINT32_C(0x004E85ED), UINT32_C(0x004DF848), UINT32_C(0x00086603),
7033           UINT32_C(0x001FE9F6), UINT32_C(0x0060B2A8), UINT32_C(0x00796256),
7034           UINT32_C(0x00146D3D), UINT32_C(0x007A622F)},
7035          {UINT32_C(0x00659E8D), UINT32_C(0x000F45E5), UINT32_C(0x0079D2B9),
7036           UINT32_C(0x00E3F2C8), UINT32_C(0x002FA0A9), UINT32_C(0x0043F516),
7037           UINT32_C(0x0064D221), UINT32_C(0x0007AF6F), UINT32_C(0x005DA3B1),
7038           UINT32_C(0x00750DD3), UINT32_C(0x003DC647)},
7039          {UINT32_C(0x003A7DCA), UINT32_C(0x0078F870), UINT32_C(0x0059ECCF),
7040           UINT32_C(0x00721F6A), UINT32_C(0x0073DDE5), UINT32_C(0x0052F61E),
7041           UINT32_C(0x005E03A9), UINT32_C(0x0096290F), UINT32_C(0x007684CD),
7042           UINT32_C(0x0063A740), UINT32_C(0x00273750)}},
7043         {{UINT32_C(0x008ABF8E), UINT32_C(0x004EDC3D), UINT32_C(0x007BBD24),
7044           UINT32_C(0x0037EA5E), UINT32_C(0x0028D8C0), UINT32_C(0x001BE0C2),
7045           UINT32_C(0x00582236), UINT32_C(0x007A566E), UINT32_C(0x001F4783),
7046           UINT32_C(0x005F6DB4), UINT32_C(0x0018F286)},
7047          {UINT32_C(0x0040CAF8), UINT32_C(0x00287C70), UINT32_C(0x002C9166),
7048           UINT32_C(0x00C254F6), UINT32_C(0x005E2D68), UINT32_C(0x003B46FC),
7049           UINT32_C(0x004EA606), UINT32_C(0x00D0B9C1), UINT32_C(0x00228115),
7050           UINT32_C(0x0072EEA6), UINT32_C(0x00471670)},
7051          {UINT32_C(0x0020A1FA), UINT32_C(0x0075C7D9), UINT32_C(0x005426EA),
7052           UINT32_C(0x000046B2), UINT32_C(0x0076BA0A), UINT32_C(0x0050CEA6),
7053           UINT32_C(0x002D133F), UINT32_C(0x005C8821), UINT32_C(0x00406072),
7054           UINT32_C(0x000A7F19), UINT32_C(0x001740F3)}},
7055         {{UINT32_C(0x0090884A), UINT32_C(0x00146BFD), UINT32_C(0x00625FB2),
7056           UINT32_C(0x00C92B84), UINT32_C(0x00097A91), UINT32_C(0x005EACD5),
7057           UINT32_C(0x005F0661), UINT32_C(0x00870EC3), UINT32_C(0x006D7279),
7058           UINT32_C(0x002CE3E6), UINT32_C(0x0078F980)},
7059          {UINT32_C(0x00A2B367), UINT32_C(0x000EF557), UINT32_C(0x004EBC90),
7060           UINT32_C(0x0065B548), UINT32_C(0x004E46D1), UINT32_C(0x006D0EF0),
7061           UINT32_C(0x00299E83), UINT32_C(0x0016D017), UINT32_C(0x004A428A),
7062           UINT32_C(0x00034582), UINT32_C(0x0052ED77)},
7063          {UINT32_C(0x004E0B1E), UINT32_C(0x000C37F8), UINT32_C(0x006C666A),
7064           UINT32_C(0x00436BD9), UINT32_C(0x001FC7FE), UINT32_C(0x0000D390),
7065           UINT32_C(0x006900A5), UINT32_C(0x0062D837), UINT32_C(0x006CD0E6),
7066           UINT32_C(0x00557AD7), UINT32_C(0x002B57B6)}},
7067         {{UINT32_C(0x005F93D9), UINT32_C(0x0021EC83), UINT32_C(0x0057A32B),
7068           UINT32_C(0x001CD982), UINT32_C(0x0008309F), UINT32_C(0x0052B2E6),
7069           UINT32_C(0x002068F6), UINT32_C(0x00CD4622), UINT32_C(0x005EC9A6),
7070           UINT32_C(0x002F2CCD), UINT32_C(0x00056DCE)},
7071          {UINT32_C(0x003E91E9), UINT32_C(0x0002F289), UINT32_C(0x006BF91B),
7072           UINT32_C(0x006CBB4B), UINT32_C(0x00145A1F), UINT32_C(0x007ECA85),
7073           UINT32_C(0x004AE385), UINT32_C(0x00BC0058), UINT32_C(0x007D219A),
7074           UINT32_C(0x00406CB9), UINT32_C(0x001586B8)},
7075          {UINT32_C(0x00EE30F0), UINT32_C(0x00094A1A), UINT32_C(0x0006C4A5),
7076           UINT32_C(0x0095BBBF), UINT32_C(0x0033B602), UINT32_C(0x005C234E),
7077           UINT32_C(0x00405945), UINT32_C(0x002F42B7), UINT32_C(0x0060F012),
7078           UINT32_C(0x000547D1), UINT32_C(0x00331A12)}},
7079         {{UINT32_C(0x00AE8C48), UINT32_C(0x00301B89), UINT32_C(0x0030B3A1),
7080           UINT32_C(0x0030AF95), UINT32_C(0x00455E58), UINT32_C(0x005D22F1),
7081           UINT32_C(0x0072D976), UINT32_C(0x007AD824), UINT32_C(0x0005D4B7),
7082           UINT32_C(0x003E29C4), UINT32_C(0x007D5C6C)},
7083          {UINT32_C(0x00610488), UINT32_C(0x00575F2E), UINT32_C(0x005AC7FE),
7084           UINT32_C(0x0074B494), UINT32_C(0x006F1543), UINT32_C(0x00029B2A),
7085           UINT32_C(0x002B9948), UINT32_C(0x0057D800), UINT32_C(0x0052921B),
7086           UINT32_C(0x00117385), UINT32_C(0x001058C5)},
7087          {UINT32_C(0x00EA545B), UINT32_C(0x0032E693), UINT32_C(0x004AF898),
7088           UINT32_C(0x00FFE54C), UINT32_C(0x0039ECD8), UINT32_C(0x00093986),
7089           UINT32_C(0x004575D9), UINT32_C(0x00CDB661), UINT32_C(0x007A392E),
7090           UINT32_C(0x0001939C), UINT32_C(0x0028D022)}},
7091         {{UINT32_C(0x00DA7B5B), UINT32_C(0x0030FFBD), UINT32_C(0x00548E82),
7092           UINT32_C(0x00DD7D1E), UINT32_C(0x00373E22), UINT32_C(0x0060EA9C),
7093           UINT32_C(0x00463822), UINT32_C(0x0091DF8B), UINT32_C(0x001801F8),
7094           UINT32_C(0x0046D441), UINT32_C(0x000C8688)},
7095          {UINT32_C(0x00EE0CC8), UINT32_C(0x00699131), UINT32_C(0x000427E3),
7096           UINT32_C(0x00F43A07), UINT32_C(0x00318E56), UINT32_C(0x00415F0B),
7097           UINT32_C(0x0065B06D), UINT32_C(0x00C66DEB), UINT32_C(0x0069C98F),
7098           UINT32_C(0x000B21D5), UINT32_C(0x000B711D)},
7099          {UINT32_C(0x00D0339C), UINT32_C(0x002E2E3B), UINT32_C(0x00573739),
7100           UINT32_C(0x007F843C), UINT32_C(0x0012F74D), UINT32_C(0x001934CA),
7101           UINT32_C(0x0011DDD6), UINT32_C(0x00DF048B), UINT32_C(0x004D7027),
7102           UINT32_C(0x005B0107), UINT32_C(0x0069D6BF)}},
7103         {{UINT32_C(0x00F44C75), UINT32_C(0x003F20FB), UINT32_C(0x0011CE27),
7104           UINT32_C(0x00F7E2A9), UINT32_C(0x006914F7), UINT32_C(0x0020C3E4),
7105           UINT32_C(0x00683AAF), UINT32_C(0x007DE3A9), UINT32_C(0x001E6E79),
7106           UINT32_C(0x0006F6AF), UINT32_C(0x00563C95)},
7107          {UINT32_C(0x004904B2), UINT32_C(0x00517306), UINT32_C(0x0049E4D2),
7108           UINT32_C(0x00459886), UINT32_C(0x001E326B), UINT32_C(0x003AF2A6),
7109           UINT32_C(0x004F40C8), UINT32_C(0x0072BF1A), UINT32_C(0x00692E44),
7110           UINT32_C(0x0046EF04), UINT32_C(0x007235C7)},
7111          {UINT32_C(0x0099C193), UINT32_C(0x0032477B), UINT32_C(0x0064C855),
7112           UINT32_C(0x00F64B95), UINT32_C(0x006D6DE1), UINT32_C(0x0038972C),
7113           UINT32_C(0x002E92A5), UINT32_C(0x00FB0D34), UINT32_C(0x0000A7FB),
7114           UINT32_C(0x00436D2A), UINT32_C(0x002AE23C)}},
7115         {{UINT32_C(0x005B55EE), UINT32_C(0x00269FC6), UINT32_C(0x0031ABD5),
7116           UINT32_C(0x00AFFAE5), UINT32_C(0x0007CF80), UINT32_C(0x003582AB),
7117           UINT32_C(0x004AA0DA), UINT32_C(0x003B2950), UINT32_C(0x0027722C),
7118           UINT32_C(0x006DA175), UINT32_C(0x00538D39)},
7119          {UINT32_C(0x00E803AA), UINT32_C(0x0078E9FA), UINT32_C(0x000599F4),
7120           UINT32_C(0x00C7D432), UINT32_C(0x00482F43), UINT32_C(0x0031EDC5),
7121           UINT32_C(0x007E0348), UINT32_C(0x0099EAD8), UINT32_C(0x00384F4D),
7122           UINT32_C(0x004DACD4), UINT32_C(0x0046AD0D)},
7123          {UINT32_C(0x00A97546), UINT32_C(0x000FB21C), UINT32_C(0x0015497C),
7124           UINT32_C(0x008E62D2), UINT32_C(0x00505DE5), UINT32_C(0x000B95C5),
7125           UINT32_C(0x0023EDFF), UINT32_C(0x00264B13), UINT32_C(0x002BCD90),
7126           UINT32_C(0x00627803), UINT32_C(0x0036514F)}},
7127         {{UINT32_C(0x0089E077), UINT32_C(0x0036ADDA), UINT32_C(0x001647F5),
7128           UINT32_C(0x0088678C), UINT32_C(0x002D4F15), UINT32_C(0x004AD6CA),
7129           UINT32_C(0x000239EF), UINT32_C(0x00784B5B), UINT32_C(0x003FA0B6),
7130           UINT32_C(0x001178A4), UINT32_C(0x00506FAF)},
7131          {UINT32_C(0x00B41F08), UINT32_C(0x00501231), UINT32_C(0x00193B29),
7132           UINT32_C(0x00837915), UINT32_C(0x0052BE13), UINT32_C(0x0067A94C),
7133           UINT32_C(0x00080E1A), UINT32_C(0x00FF39EB), UINT32_C(0x0012E0B7),
7134           UINT32_C(0x0004446B), UINT32_C(0x001FD9A4)},
7135          {UINT32_C(0x00EAA0DA), UINT32_C(0x002DD110), UINT32_C(0x00768BF0),
7136           UINT32_C(0x00174EE3), UINT32_C(0x006B40A2), UINT32_C(0x004308C1),
7137           UINT32_C(0x006A7D56), UINT32_C(0x0080EF9C), UINT32_C(0x006C09DF),
7138           UINT32_C(0x00024E1D), UINT32_C(0x00025FFC)}},
7139         {{UINT32_C(0x007CFBB3), UINT32_C(0x0008B1DC), UINT32_C(0x00221743),
7140           UINT32_C(0x00E6686B), UINT32_C(0x00152BCE), UINT32_C(0x001317D6),
7141           UINT32_C(0x00437CCD), UINT32_C(0x002FC802), UINT32_C(0x006681B5),
7142           UINT32_C(0x00462383), UINT32_C(0x007A6155)},
7143          {UINT32_C(0x00C0616E), UINT32_C(0x0065B50F), UINT32_C(0x00575631),
7144           UINT32_C(0x008AE62D), UINT32_C(0x001A3DAF), UINT32_C(0x001CB629),
7145           UINT32_C(0x000690A5), UINT32_C(0x000E40AF), UINT32_C(0x0027B0F1),
7146           UINT32_C(0x0030A43B), UINT32_C(0x003D750B)},
7147          {UINT32_C(0x0006E7C1), UINT32_C(0x001F7E8D), UINT32_C(0x007DDEB5),
7148           UINT32_C(0x003E61D8), UINT32_C(0x0052F00A), UINT32_C(0x0007F477),
7149           UINT32_C(0x0002FCF5), UINT32_C(0x00E51DDA), UINT32_C(0x00710B09),
7150           UINT32_C(0x00162A00), UINT32_C(0x0070E436)}},
7151         {{UINT32_C(0x0089B486), UINT32_C(0x00508B10), UINT32_C(0x00504CD3),
7152           UINT32_C(0x007CBEF5), UINT32_C(0x00401259), UINT32_C(0x0016A84C),
7153           UINT32_C(0x005DDAF1), UINT32_C(0x00CA278E), UINT32_C(0x005227AF),
7154           UINT32_C(0x000A6D32), UINT32_C(0x0025F71B)},
7155          {UINT32_C(0x009CE1F9), UINT32_C(0x00535376), UINT32_C(0x0038A997),
7156           UINT32_C(0x008FCF77), UINT32_C(0x001681BE), UINT32_C(0x0030BB0D),
7157           UINT32_C(0x0079D5C2), UINT32_C(0x00CCB407), UINT32_C(0x00115E29),
7158           UINT32_C(0x006BEA8D), UINT32_C(0x0077DF80)},
7159          {UINT32_C(0x000328F3), UINT32_C(0x0062691B), UINT32_C(0x00429269),
7160           UINT32_C(0x00D14DE5), UINT32_C(0x001B9543), UINT32_C(0x00310721),
7161           UINT32_C(0x005A6271), UINT32_C(0x00077EE6), UINT32_C(0x006695BC),
7162           UINT32_C(0x00502870), UINT32_C(0x005376F2)}},
7163     },
7164     {
7165         {{UINT32_C(0x00F38262), UINT32_C(0x00203985), UINT32_C(0x0029479B),
7166           UINT32_C(0x0057D8A4), UINT32_C(0x002352DF), UINT32_C(0x005A3DE0),
7167           UINT32_C(0x0038FC9D), UINT32_C(0x005E69CE), UINT32_C(0x007195C8),
7168           UINT32_C(0x007F3F0C), UINT32_C(0x0075AA44)},
7169          {UINT32_C(0x00A2B12A), UINT32_C(0x0005AB91), UINT32_C(0x0005801E),
7170           UINT32_C(0x00BD3E26), UINT32_C(0x004A3566), UINT32_C(0x0039622B),
7171           UINT32_C(0x00196466), UINT32_C(0x003385DF), UINT32_C(0x00464F26),
7172           UINT32_C(0x00348D32), UINT32_C(0x006B3D82)},
7173          {UINT32_C(0x0065745B), UINT32_C(0x00756984), UINT32_C(0x000663B1),
7174           UINT32_C(0x00F8FADD), UINT32_C(0x005D0DD6), UINT32_C(0x005A5E23),
7175           UINT32_C(0x0021B9BE), UINT32_C(0x009BBEE7), UINT32_C(0x003310A0),
7176           UINT32_C(0x0008941E), UINT32_C(0x006EFBEF)}},
7177         {{UINT32_C(0x008285AF), UINT32_C(0x0032D42C), UINT32_C(0x004A921F),
7178           UINT32_C(0x00501992), UINT32_C(0x00684DBF), UINT32_C(0x001A5365),
7179           UINT32_C(0x0036ABF8), UINT32_C(0x004599AB), UINT32_C(0x003153D1),
7180           UINT32_C(0x004357B7), UINT32_C(0x00289208)},
7181          {UINT32_C(0x00BF2760), UINT32_C(0x000C24C0), UINT32_C(0x0057E755),
7182           UINT32_C(0x000FB090), UINT32_C(0x007F2FA3), UINT32_C(0x0034386D),
7183           UINT32_C(0x004D0670), UINT32_C(0x007D5F67), UINT32_C(0x00770E2C),
7184           UINT32_C(0x004F400F), UINT32_C(0x0004CA31)},
7185          {UINT32_C(0x00C5736B), UINT32_C(0x0025DE46), UINT32_C(0x00184C66),
7186           UINT32_C(0x002454E1), UINT32_C(0x006C791A), UINT32_C(0x00695E64),
7187           UINT32_C(0x0005F1A3), UINT32_C(0x00D89A22), UINT32_C(0x00339085),
7188           UINT32_C(0x00612026), UINT32_C(0x0011E398)}},
7189         {{UINT32_C(0x00580ED8), UINT32_C(0x00351562), UINT32_C(0x003AC56C),
7190           UINT32_C(0x0082A872), UINT32_C(0x00009388), UINT32_C(0x0059018D),
7191           UINT32_C(0x00428E6F), UINT32_C(0x0044580D), UINT32_C(0x00397D38),
7192           UINT32_C(0x001413BF), UINT32_C(0x0019ACCA)},
7193          {UINT32_C(0x00EBF493), UINT32_C(0x0065B688), UINT32_C(0x00475CB8),
7194           UINT32_C(0x000C5271), UINT32_C(0x001FA36C), UINT32_C(0x002065F1),
7195           UINT32_C(0x001E357D), UINT32_C(0x002E3A47), UINT32_C(0x007D686D),
7196           UINT32_C(0x0016A68A), UINT32_C(0x00662C00)},
7197          {UINT32_C(0x00BBB7E7), UINT32_C(0x00118B8C), UINT32_C(0x00257EA2),
7198           UINT32_C(0x00EAE0BF), UINT32_C(0x00534B32), UINT32_C(0x002C3391),
7199           UINT32_C(0x005F91A4), UINT32_C(0x009CC53C), UINT32_C(0x000D1F59),
7200           UINT32_C(0x0044B89F), UINT32_C(0x004E2285)}},
7201         {{UINT32_C(0x0027C85C), UINT32_C(0x0034E4D0), UINT32_C(0x0034EE41),
7202           UINT32_C(0x0000C14F), UINT32_C(0x00466E36), UINT32_C(0x0012ED82),
7203           UINT32_C(0x004AB2CC), UINT32_C(0x00BB7B93), UINT32_C(0x0013EE11),
7204           UINT32_C(0x0071AADD), UINT32_C(0x000E9430)},
7205          {UINT32_C(0x0048606F), UINT32_C(0x000E389D), UINT32_C(0x005B7915),
7206           UINT32_C(0x00DA42A8), UINT32_C(0x003E8287), UINT32_C(0x001D2AF2),
7207           UINT32_C(0x0044CA11), UINT32_C(0x00C9B883), UINT32_C(0x000B95FA),
7208           UINT32_C(0x00571771), UINT32_C(0x002FD7F4)},
7209          {UINT32_C(0x00DD2691), UINT32_C(0x0071C20D), UINT32_C(0x00544E37),
7210           UINT32_C(0x00458C30), UINT32_C(0x005ED950), UINT32_C(0x000A642E),
7211           UINT32_C(0x000316B6), UINT32_C(0x00F34871), UINT32_C(0x0030B700),
7212           UINT32_C(0x007D4AA7), UINT32_C(0x000E8F8F)}},
7213         {{UINT32_C(0x00AFDFD3), UINT32_C(0x0023AB6D), UINT32_C(0x003A134B),
7214           UINT32_C(0x007521AF), UINT32_C(0x002E2236), UINT32_C(0x00146DF2),
7215           UINT32_C(0x00201697), UINT32_C(0x000389A1), UINT32_C(0x0048BE72),
7216           UINT32_C(0x003FD0B3), UINT32_C(0x003AD399)},
7217          {UINT32_C(0x00453802), UINT32_C(0x0058F172), UINT32_C(0x000BD847),
7218           UINT32_C(0x005FE8C6), UINT32_C(0x0040628C), UINT32_C(0x004614B8),
7219           UINT32_C(0x004205D4), UINT32_C(0x00259F68), UINT32_C(0x0076F623),
7220           UINT32_C(0x00678707), UINT32_C(0x0057C6D8)},
7221          {UINT32_C(0x00DB4A5B), UINT32_C(0x004A2766), UINT32_C(0x00614411),
7222           UINT32_C(0x00510EC4), UINT32_C(0x007473CF), UINT32_C(0x0051CB0E),
7223           UINT32_C(0x0014EC5F), UINT32_C(0x000483E0), UINT32_C(0x001F7AE6),
7224           UINT32_C(0x0078A5EC), UINT32_C(0x003FC5C6)}},
7225         {{UINT32_C(0x00E73CF6), UINT32_C(0x00365645), UINT32_C(0x0026EE89),
7226           UINT32_C(0x006AC701), UINT32_C(0x007831F1), UINT32_C(0x00393FC7),
7227           UINT32_C(0x0003E80C), UINT32_C(0x008ECBE8), UINT32_C(0x0027B4A8),
7228           UINT32_C(0x0037554F), UINT32_C(0x006AD6BD)},
7229          {UINT32_C(0x001857E4), UINT32_C(0x00657687), UINT32_C(0x0036B228),
7230           UINT32_C(0x006A820E), UINT32_C(0x00459485), UINT32_C(0x002AA7DA),
7231           UINT32_C(0x0031670E), UINT32_C(0x0099F393), UINT32_C(0x0023D587),
7232           UINT32_C(0x000B8D51), UINT32_C(0x0067F4BE)},
7233          {UINT32_C(0x00604B7F), UINT32_C(0x00531996), UINT32_C(0x000F3A4C),
7234           UINT32_C(0x00EFD0BB), UINT32_C(0x001D4914), UINT32_C(0x004C04B3),
7235           UINT32_C(0x0003D908), UINT32_C(0x00AA3218), UINT32_C(0x00403685),
7236           UINT32_C(0x0072EB6A), UINT32_C(0x002176B1)}},
7237         {{UINT32_C(0x00DC72D5), UINT32_C(0x0053C100), UINT32_C(0x006992E3),
7238           UINT32_C(0x00532CA0), UINT32_C(0x004D3AD9), UINT32_C(0x0016B1F6),
7239           UINT32_C(0x00776F4B), UINT32_C(0x006ECD70), UINT32_C(0x004FC6E0),
7240           UINT32_C(0x00766557), UINT32_C(0x0019E21F)},
7241          {UINT32_C(0x002B1672), UINT32_C(0x003C3FDF), UINT32_C(0x00324542),
7242           UINT32_C(0x007B582B), UINT32_C(0x0002AD86), UINT32_C(0x00528C4E),
7243           UINT32_C(0x003D3509), UINT32_C(0x00D075CA), UINT32_C(0x00783A6B),
7244           UINT32_C(0x0032D6B0), UINT32_C(0x00655B92)},
7245          {UINT32_C(0x0067E0B1), UINT32_C(0x001D8E27), UINT32_C(0x002F0272),
7246           UINT32_C(0x00BBEB09), UINT32_C(0x0017C396), UINT32_C(0x005B451C),
7247           UINT32_C(0x000ADC03), UINT32_C(0x00F50759), UINT32_C(0x000DE4C0),
7248           UINT32_C(0x006BAD90), UINT32_C(0x0015A7A2)}},
7249         {{UINT32_C(0x009DA550), UINT32_C(0x004309EA), UINT32_C(0x006FDD59),
7250           UINT32_C(0x00C427DA), UINT32_C(0x00454A59), UINT32_C(0x005B8E71),
7251           UINT32_C(0x00341B12), UINT32_C(0x00252CD4), UINT32_C(0x00111FF0),
7252           UINT32_C(0x007E3827), UINT32_C(0x0048F3DC)},
7253          {UINT32_C(0x00BC3FD8), UINT32_C(0x00513D87), UINT32_C(0x0004F4BB),
7254           UINT32_C(0x0040E743), UINT32_C(0x007CD878), UINT32_C(0x0010C877),
7255           UINT32_C(0x005F89C4), UINT32_C(0x00F5CB3E), UINT32_C(0x0074C6FA),
7256           UINT32_C(0x006D3B3F), UINT32_C(0x0027626C)},
7257          {UINT32_C(0x004FE9AA), UINT32_C(0x001A4C25), UINT32_C(0x005FC4B0),
7258           UINT32_C(0x00C432AF), UINT32_C(0x005E26E5), UINT32_C(0x003B434E),
7259           UINT32_C(0x0027CFF2), UINT32_C(0x0043D716), UINT32_C(0x0059B5A6),
7260           UINT32_C(0x00333789), UINT32_C(0x0011248B)}},
7261         {{UINT32_C(0x00CA0B46), UINT32_C(0x00797C4C), UINT32_C(0x0025673C),
7262           UINT32_C(0x004C5796), UINT32_C(0x000F4352), UINT32_C(0x00477E09),
7263           UINT32_C(0x007CE235), UINT32_C(0x00B62DDB), UINT32_C(0x00398769),
7264           UINT32_C(0x00598708), UINT32_C(0x002AA80B)},
7265          {UINT32_C(0x006334CD), UINT32_C(0x0007E78A), UINT32_C(0x000B78B3),
7266           UINT32_C(0x00945807), UINT32_C(0x005E6E86), UINT32_C(0x005554D4),
7267           UINT32_C(0x000A6B65), UINT32_C(0x00306D92), UINT32_C(0x005D12E8),
7268           UINT32_C(0x003DEB11), UINT32_C(0x00385DB1)},
7269          {UINT32_C(0x000A5E84), UINT32_C(0x006D3E68), UINT32_C(0x00756665),
7270           UINT32_C(0x004A1477), UINT32_C(0x00348B5C), UINT32_C(0x0048952E),
7271           UINT32_C(0x002EDCD0), UINT32_C(0x0017A1F7), UINT32_C(0x000D0B6A),
7272           UINT32_C(0x002CC6D4), UINT32_C(0x00357331)}},
7273         {{UINT32_C(0x0079D8A5), UINT32_C(0x007C1D32), UINT32_C(0x0026F73E),
7274           UINT32_C(0x00DC858C), UINT32_C(0x002CFF0F), UINT32_C(0x007FA1D8),
7275           UINT32_C(0x000AA161), UINT32_C(0x009E41A9), UINT32_C(0x0009D873),
7276           UINT32_C(0x004C0E2C), UINT32_C(0x001DB409)},
7277          {UINT32_C(0x0018D65B), UINT32_C(0x0022CD31), UINT32_C(0x00390F42),
7278           UINT32_C(0x00D8FCA4), UINT32_C(0x006663C5), UINT32_C(0x0019722C),
7279           UINT32_C(0x007F6B0A), UINT32_C(0x00A630E3), UINT32_C(0x006E4A27),
7280           UINT32_C(0x0021D1B6), UINT32_C(0x002AAC94)},
7281          {UINT32_C(0x0018C372), UINT32_C(0x0054FA42), UINT32_C(0x000EFD69),
7282           UINT32_C(0x0011780F), UINT32_C(0x001A67DB), UINT32_C(0x006E5FA4),
7283           UINT32_C(0x00414397), UINT32_C(0x007903CC), UINT32_C(0x006A8416),
7284           UINT32_C(0x007EAA7F), UINT32_C(0x002FE26B)}},
7285         {{UINT32_C(0x00E4631A), UINT32_C(0x00519A42), UINT32_C(0x004D5D8F),
7286           UINT32_C(0x00C6E606), UINT32_C(0x00053595), UINT32_C(0x004EB9D1),
7287           UINT32_C(0x005A269C), UINT32_C(0x003E8B00), UINT32_C(0x00162354),
7288           UINT32_C(0x007E07B4), UINT32_C(0x003AF53B)},
7289          {UINT32_C(0x00B6EB19), UINT32_C(0x00555D97), UINT32_C(0x00633E65),
7290           UINT32_C(0x0099187D), UINT32_C(0x00227AE7), UINT32_C(0x001674B2),
7291           UINT32_C(0x005E8C81), UINT32_C(0x005B7DF9), UINT32_C(0x0055E4BB),
7292           UINT32_C(0x0056A5E1), UINT32_C(0x0019F876)},
7293          {UINT32_C(0x00B4688B), UINT32_C(0x005F4304), UINT32_C(0x000B39BD),
7294           UINT32_C(0x004E7F2B), UINT32_C(0x00313A32), UINT32_C(0x007002F9),
7295           UINT32_C(0x0031EB5F), UINT32_C(0x00C85095), UINT32_C(0x00425A62),
7296           UINT32_C(0x00328356), UINT32_C(0x007EF956)}},
7297         {{UINT32_C(0x00E0C2E0), UINT32_C(0x00585FE0), UINT32_C(0x0075AB74),
7298           UINT32_C(0x0041E028), UINT32_C(0x006CAE63), UINT32_C(0x003C54C9),
7299           UINT32_C(0x001036EA), UINT32_C(0x002B7F12), UINT32_C(0x00144D5C),
7300           UINT32_C(0x007374DB), UINT32_C(0x00750F36)},
7301          {UINT32_C(0x0061BB41), UINT32_C(0x0036024E), UINT32_C(0x00655A71),
7302           UINT32_C(0x004FC91A), UINT32_C(0x0014B38E), UINT32_C(0x003D62DB),
7303           UINT32_C(0x0072A235), UINT32_C(0x003B2C40), UINT32_C(0x002C0290),
7304           UINT32_C(0x005FEB15), UINT32_C(0x0061089A)},
7305          {UINT32_C(0x0085ECE4), UINT32_C(0x00332265), UINT32_C(0x0042796C),
7306           UINT32_C(0x00FD5F30), UINT32_C(0x004C81DA), UINT32_C(0x00007089),
7307           UINT32_C(0x006EA425), UINT32_C(0x00B807C7), UINT32_C(0x00459E0F),
7308           UINT32_C(0x00181B93), UINT32_C(0x000B0E1B)}},
7309         {{UINT32_C(0x009EFE70), UINT32_C(0x004E468A), UINT32_C(0x0077E5AA),
7310           UINT32_C(0x001467EF), UINT32_C(0x0020C382), UINT32_C(0x0055629A),
7311           UINT32_C(0x005CA999), UINT32_C(0x00BEFB9D), UINT32_C(0x005A686B),
7312           UINT32_C(0x0010351C), UINT32_C(0x005963DB)},
7313          {UINT32_C(0x001E85F3), UINT32_C(0x0014333A), UINT32_C(0x006927C7),
7314           UINT32_C(0x00F08F00), UINT32_C(0x00634AD4), UINT32_C(0x0022A5F2),
7315           UINT32_C(0x003B4641), UINT32_C(0x00A28090), UINT32_C(0x003FC621),
7316           UINT32_C(0x002B49C0), UINT32_C(0x00555DF3)},
7317          {UINT32_C(0x007C3D87), UINT32_C(0x002EFA77), UINT32_C(0x00567EC8),
7318           UINT32_C(0x00D46233), UINT32_C(0x00590994), UINT32_C(0x0045579D),
7319           UINT32_C(0x0006388F), UINT32_C(0x004C41FA), UINT32_C(0x004C71DD),
7320           UINT32_C(0x007BF667), UINT32_C(0x0057A3C7)}},
7321         {{UINT32_C(0x0093682F), UINT32_C(0x00073EF9), UINT32_C(0x0019C616),
7322           UINT32_C(0x00C17E8F), UINT32_C(0x002702CF), UINT32_C(0x005F528E),
7323           UINT32_C(0x0019B458), UINT32_C(0x0052A2E0), UINT32_C(0x00425491),
7324           UINT32_C(0x0018AED3), UINT32_C(0x006F6DAE)},
7325          {UINT32_C(0x0082401A), UINT32_C(0x004D0E66), UINT32_C(0x003A3362),
7326           UINT32_C(0x003D1A93), UINT32_C(0x000E6BF3), UINT32_C(0x0017967B),
7327           UINT32_C(0x00117AFB), UINT32_C(0x008CB04A), UINT32_C(0x002CA224),
7328           UINT32_C(0x00067DCB), UINT32_C(0x0056DEA4)},
7329          {UINT32_C(0x005F1A62), UINT32_C(0x006AF62D), UINT32_C(0x000D1E62),
7330           UINT32_C(0x00CCEE42), UINT32_C(0x00512EC5), UINT32_C(0x002C191C),
7331           UINT32_C(0x0065B2C8), UINT32_C(0x00567D2B), UINT32_C(0x006A4BC8),
7332           UINT32_C(0x0011359A), UINT32_C(0x003AB09B)}},
7333         {{UINT32_C(0x0072355E), UINT32_C(0x00290653), UINT32_C(0x00453126),
7334           UINT32_C(0x00DA22DA), UINT32_C(0x004311EA), UINT32_C(0x000C95C7),
7335           UINT32_C(0x005DA2D6), UINT32_C(0x0048EE2E), UINT32_C(0x007AC207),
7336           UINT32_C(0x0029BC84), UINT32_C(0x000A0DFC)},
7337          {UINT32_C(0x004EF0CE), UINT32_C(0x00747296), UINT32_C(0x000818AB),
7338           UINT32_C(0x00BE8543), UINT32_C(0x0041F6F4), UINT32_C(0x00448449),
7339           UINT32_C(0x00153E5F), UINT32_C(0x00AADD33), UINT32_C(0x0035B84C),
7340           UINT32_C(0x0069EAE8), UINT32_C(0x00217DBD)},
7341          {UINT32_C(0x002DB2A4), UINT32_C(0x001158C1), UINT32_C(0x002F9514),
7342           UINT32_C(0x00428AE0), UINT32_C(0x0071D932), UINT32_C(0x002D6CE8),
7343           UINT32_C(0x0002F0FA), UINT32_C(0x001EB77A), UINT32_C(0x0041C021),
7344           UINT32_C(0x00779647), UINT32_C(0x0000B4B0)}},
7345         {{UINT32_C(0x002BCA29), UINT32_C(0x000D6E00), UINT32_C(0x002A8D45),
7346           UINT32_C(0x00E65F5F), UINT32_C(0x0032B3E8), UINT32_C(0x001DDA5D),
7347           UINT32_C(0x0017AEC6), UINT32_C(0x00CCE901), UINT32_C(0x002418B9),
7348           UINT32_C(0x003F180D), UINT32_C(0x00754B21)},
7349          {UINT32_C(0x001E8828), UINT32_C(0x004DE168), UINT32_C(0x00365565),
7350           UINT32_C(0x003E7F08), UINT32_C(0x00022EE0), UINT32_C(0x0043C370),
7351           UINT32_C(0x0066C1D6), UINT32_C(0x0033E762), UINT32_C(0x0021E80E),
7352           UINT32_C(0x0022E1CE), UINT32_C(0x0039049C)},
7353          {UINT32_C(0x001AEEAB), UINT32_C(0x004E9952), UINT32_C(0x006CD381),
7354           UINT32_C(0x00319F16), UINT32_C(0x004B6EED), UINT32_C(0x000E8C3B),
7355           UINT32_C(0x0033C702), UINT32_C(0x0074A7B1), UINT32_C(0x0055F862),
7356           UINT32_C(0x00070547), UINT32_C(0x001AB4F3)}},
7357     },
7358     {
7359         {{UINT32_C(0x002AB480), UINT32_C(0x00491F21), UINT32_C(0x007D1D9B),
7360           UINT32_C(0x0017861D), UINT32_C(0x004E0965), UINT32_C(0x004F9835),
7361           UINT32_C(0x002889AB), UINT32_C(0x00254B0E), UINT32_C(0x003F4ECE),
7362           UINT32_C(0x00645245), UINT32_C(0x003DE09E)},
7363          {UINT32_C(0x00BFFA33), UINT32_C(0x0001E566), UINT32_C(0x0048223D),
7364           UINT32_C(0x0081AC1B), UINT32_C(0x0075FACF), UINT32_C(0x00288CA5),
7365           UINT32_C(0x00319699), UINT32_C(0x00E70935), UINT32_C(0x003AFCDF),
7366           UINT32_C(0x000D446C), UINT32_C(0x001FF61C)},
7367          {UINT32_C(0x00CFC3EE), UINT32_C(0x0053EC31), UINT32_C(0x00556C71),
7368           UINT32_C(0x00B61E4F), UINT32_C(0x0019B811), UINT32_C(0x000E942F),
7369           UINT32_C(0x006B460A), UINT32_C(0x0028CECD), UINT32_C(0x0053755C),
7370           UINT32_C(0x006A36AD), UINT32_C(0x0074830B)}},
7371         {{UINT32_C(0x0032B148), UINT32_C(0x00574A20), UINT32_C(0x00258660),
7372           UINT32_C(0x00A32E9A), UINT32_C(0x00666B0C), UINT32_C(0x0050B448),
7373           UINT32_C(0x00375197), UINT32_C(0x007C7568), UINT32_C(0x0054C0EF),
7374           UINT32_C(0x003C6296), UINT32_C(0x00451E25)},
7375          {UINT32_C(0x001F0527), UINT32_C(0x0015C673), UINT32_C(0x002F100D),
7376           UINT32_C(0x0051AD70), UINT32_C(0x00120973), UINT32_C(0x002A4934),
7377           UINT32_C(0x00340AF5), UINT32_C(0x00DB9742), UINT32_C(0x00743FB7),
7378           UINT32_C(0x00457EDD), UINT32_C(0x000CEB92)},
7379          {UINT32_C(0x00F5B12C), UINT32_C(0x0053626F), UINT32_C(0x007F2969),
7380           UINT32_C(0x00F9A729), UINT32_C(0x0033C947), UINT32_C(0x0000F3BA),
7381           UINT32_C(0x00207B91), UINT32_C(0x0063F460), UINT32_C(0x0012F8FD),
7382           UINT32_C(0x000B32A2), UINT32_C(0x003E578A)}},
7383         {{UINT32_C(0x00B1FE77), UINT32_C(0x00298801), UINT32_C(0x00011596),
7384           UINT32_C(0x001AC338), UINT32_C(0x001D0E96), UINT32_C(0x005E3714),
7385           UINT32_C(0x003DE2F3), UINT32_C(0x00AF9E64), UINT32_C(0x00187EE5),
7386           UINT32_C(0x004F7E2C), UINT32_C(0x0017C5D3)},
7387          {UINT32_C(0x0071BA87), UINT32_C(0x00241D87), UINT32_C(0x0034F745),
7388           UINT32_C(0x0004090C), UINT32_C(0x000A1932), UINT32_C(0x0042ADD3),
7389           UINT32_C(0x0053459C), UINT32_C(0x007BE02E), UINT32_C(0x003D62A3),
7390           UINT32_C(0x0015988B), UINT32_C(0x006AAD49)},
7391          {UINT32_C(0x00367A73), UINT32_C(0x007F03C1), UINT32_C(0x002CAE51),
7392           UINT32_C(0x0029D218), UINT32_C(0x0014E4A9), UINT32_C(0x0054032D),
7393           UINT32_C(0x0062F02D), UINT32_C(0x00DCDDAD), UINT32_C(0x007EE1CD),
7394           UINT32_C(0x001D0B5C), UINT32_C(0x00569FE0)}},
7395         {{UINT32_C(0x00BCADF6), UINT32_C(0x0075341C), UINT32_C(0x00398E24),
7396           UINT32_C(0x003BF613), UINT32_C(0x0001E10C), UINT32_C(0x0065FEAC),
7397           UINT32_C(0x0024D15C), UINT32_C(0x00196783), UINT32_C(0x0051862B),
7398           UINT32_C(0x006C2018), UINT32_C(0x002A0826)},
7399          {UINT32_C(0x00F6EE57), UINT32_C(0x0011CD5C), UINT32_C(0x001F7638),
7400           UINT32_C(0x005F98C2), UINT32_C(0x001F7049), UINT32_C(0x003964A1),
7401           UINT32_C(0x005657BE), UINT32_C(0x00DEE9F7), UINT32_C(0x0026BEEC),
7402           UINT32_C(0x00319B9B), UINT32_C(0x00345293)},
7403          {UINT32_C(0x006BDDA7), UINT32_C(0x0030B11F), UINT32_C(0x002600EA),
7404           UINT32_C(0x00461976), UINT32_C(0x001593E9), UINT32_C(0x006F183C),
7405           UINT32_C(0x003ABB5A), UINT32_C(0x0018F1A8), UINT32_C(0x00390978),
7406           UINT32_C(0x0005156D), UINT32_C(0x00075AED)}},
7407         {{UINT32_C(0x001BD2D5), UINT32_C(0x00578B39), UINT32_C(0x007FE095),
7408           UINT32_C(0x0046AFA9), UINT32_C(0x002148E8), UINT32_C(0x0017C3CD),
7409           UINT32_C(0x006AE351), UINT32_C(0x0063F7AB), UINT32_C(0x0050AA1E),
7410           UINT32_C(0x004184F5), UINT32_C(0x0069223D)},
7411          {UINT32_C(0x0086A15A), UINT32_C(0x0033AD1F), UINT32_C(0x006A0376),
7412           UINT32_C(0x00C44A80), UINT32_C(0x001DE4DA), UINT32_C(0x000819B5),
7413           UINT32_C(0x00275A25), UINT32_C(0x005EA5CD), UINT32_C(0x0022AA1B),
7414           UINT32_C(0x004A1528), UINT32_C(0x0041A71A)},
7415          {UINT32_C(0x00F443D0), UINT32_C(0x007F9618), UINT32_C(0x005E374D),
7416           UINT32_C(0x00C0032C), UINT32_C(0x005BC03C), UINT32_C(0x00225F6A),
7417           UINT32_C(0x002F1161), UINT32_C(0x0062CB7E), UINT32_C(0x00527B02),
7418           UINT32_C(0x005AAD7F), UINT32_C(0x00585C83)}},
7419         {{UINT32_C(0x00D110A1), UINT32_C(0x004B6AF7), UINT32_C(0x00084690),
7420           UINT32_C(0x00F276EF), UINT32_C(0x0000F67B), UINT32_C(0x001870DC),
7421           UINT32_C(0x0010FCB3), UINT32_C(0x00392CFE), UINT32_C(0x002086D8),
7422           UINT32_C(0x007424AF), UINT32_C(0x00202355)},
7423          {UINT32_C(0x00077C6C), UINT32_C(0x0025E823), UINT32_C(0x006EF81B),
7424           UINT32_C(0x00540F85), UINT32_C(0x002C8AF2), UINT32_C(0x0013C77B),
7425           UINT32_C(0x001C4D2F), UINT32_C(0x001021D9), UINT32_C(0x00146F24),
7426           UINT32_C(0x003599F3), UINT32_C(0x004B4CCC)},
7427          {UINT32_C(0x004CD365), UINT32_C(0x00179717), UINT32_C(0x0039A122),
7428           UINT32_C(0x00B62616), UINT32_C(0x007AEE90), UINT32_C(0x0029164E),
7429           UINT32_C(0x0039438A), UINT32_C(0x00CBA485), UINT32_C(0x00428DC8),
7430           UINT32_C(0x00313356), UINT32_C(0x006E6A72)}},
7431         {{UINT32_C(0x00CF5614), UINT32_C(0x00163606), UINT32_C(0x002CA6AC),
7432           UINT32_C(0x006EA0B2), UINT32_C(0x006DA8EE), UINT32_C(0x0019BDF3),
7433           UINT32_C(0x006043AF), UINT32_C(0x008AA760), UINT32_C(0x002E08F1),
7434           UINT32_C(0x0037973A), UINT32_C(0x0029B40D)},
7435          {UINT32_C(0x00379A65), UINT32_C(0x0052E429), UINT32_C(0x0068686B),
7436           UINT32_C(0x00C69C90), UINT32_C(0x004E9422), UINT32_C(0x00366023),
7437           UINT32_C(0x002260F4), UINT32_C(0x005BAF5B), UINT32_C(0x000678A6),
7438           UINT32_C(0x000460DA), UINT32_C(0x004F4340)},
7439          {UINT32_C(0x00E03B58), UINT32_C(0x007B260B), UINT32_C(0x005BA74C),
7440           UINT32_C(0x00BD1A46), UINT32_C(0x0009DC7B), UINT32_C(0x00118343),
7441           UINT32_C(0x00021428), UINT32_C(0x000FFED5), UINT32_C(0x0072D7E6),
7442           UINT32_C(0x003DCFB6), UINT32_C(0x003AB926)}},
7443         {{UINT32_C(0x0077649D), UINT32_C(0x005389B7), UINT32_C(0x004D6E76),
7444           UINT32_C(0x00936F59), UINT32_C(0x00463E7C), UINT32_C(0x006D778A),
7445           UINT32_C(0x0009DB6F), UINT32_C(0x00A424F1), UINT32_C(0x0052F5CC),
7446           UINT32_C(0x007E60DE), UINT32_C(0x004279FB)},
7447          {UINT32_C(0x00A7028F), UINT32_C(0x007EA950), UINT32_C(0x001EFBD6),
7448           UINT32_C(0x00BDA79F), UINT32_C(0x007AF7CC), UINT32_C(0x00279C7C),
7449           UINT32_C(0x006C7303), UINT32_C(0x00E939AC), UINT32_C(0x00354019),
7450           UINT32_C(0x00187CF7), UINT32_C(0x00183D31)},
7451          {UINT32_C(0x0042F626), UINT32_C(0x0074EA5E), UINT32_C(0x00538C9A),
7452           UINT32_C(0x00AF163A), UINT32_C(0x004C692D), UINT32_C(0x0023FAA0),
7453           UINT32_C(0x00775E16), UINT32_C(0x0062DAB8), UINT32_C(0x007D6702),
7454           UINT32_C(0x001B38C5), UINT32_C(0x001E3974)}},
7455         {{UINT32_C(0x004F9403), UINT32_C(0x00748471), UINT32_C(0x00211B76),
7456           UINT32_C(0x001EFC08), UINT32_C(0x005B213F), UINT32_C(0x003E9002),
7457           UINT32_C(0x00785B3C), UINT32_C(0x00E45607), UINT32_C(0x003D477B),
7458           UINT32_C(0x00282DEF), UINT32_C(0x00504A42)},
7459          {UINT32_C(0x00BF7FBB), UINT32_C(0x000A066A), UINT32_C(0x000679D4),
7460           UINT32_C(0x00BB2351), UINT32_C(0x007D83CA), UINT32_C(0x00612D60),
7461           UINT32_C(0x00031501), UINT32_C(0x00F4CAB2), UINT32_C(0x002155C8),
7462           UINT32_C(0x003A8F2C), UINT32_C(0x00169BC2)},
7463          {UINT32_C(0x000357B5), UINT32_C(0x006B1266), UINT32_C(0x002BCBF3),
7464           UINT32_C(0x00A64DFF), UINT32_C(0x0066D9DE), UINT32_C(0x0057385B),
7465           UINT32_C(0x005050FF), UINT32_C(0x006FC06F), UINT32_C(0x0028E483),
7466           UINT32_C(0x0051EF87), UINT32_C(0x000CC48B)}},
7467         {{UINT32_C(0x00ED9E35), UINT32_C(0x0023A04E), UINT32_C(0x0024255C),
7468           UINT32_C(0x0070038E), UINT32_C(0x0046A52B), UINT32_C(0x004E9C3F),
7469           UINT32_C(0x006C8BA2), UINT32_C(0x00D8ED9C), UINT32_C(0x006F6A03),
7470           UINT32_C(0x003098C4), UINT32_C(0x005D825F)},
7471          {UINT32_C(0x008FA640), UINT32_C(0x000B9382), UINT32_C(0x0011CD48),
7472           UINT32_C(0x00034F5D), UINT32_C(0x0059465F), UINT32_C(0x0070DA45),
7473           UINT32_C(0x00649F15), UINT32_C(0x0054EE9E), UINT32_C(0x003D37B0),
7474           UINT32_C(0x004361C8), UINT32_C(0x002CB478)},
7475          {UINT32_C(0x0012D22E), UINT32_C(0x00674682), UINT32_C(0x0070C891),
7476           UINT32_C(0x00FC49FE), UINT32_C(0x003AF178), UINT32_C(0x0077EF15),
7477           UINT32_C(0x007CF642), UINT32_C(0x00E36298), UINT32_C(0x002FEFEF),
7478           UINT32_C(0x0070ADFB), UINT32_C(0x00674E26)}},
7479         {{UINT32_C(0x00E45F49), UINT32_C(0x0042AB1C), UINT32_C(0x005B58EE),
7480           UINT32_C(0x009A5641), UINT32_C(0x004084D4), UINT32_C(0x00776081),
7481           UINT32_C(0x004873EC), UINT32_C(0x0091B439), UINT32_C(0x0049547A),
7482           UINT32_C(0x0061EF9F), UINT32_C(0x00209C2C)},
7483          {UINT32_C(0x00ACB336), UINT32_C(0x0002E07D), UINT32_C(0x006207CB),
7484           UINT32_C(0x0044DAE2), UINT32_C(0x0017A196), UINT32_C(0x006B179D),
7485           UINT32_C(0x005CFADF), UINT32_C(0x00081BD0), UINT32_C(0x002587D0),
7486           UINT32_C(0x005AA501), UINT32_C(0x0027A6E9)},
7487          {UINT32_C(0x0094228F), UINT32_C(0x000636DC), UINT32_C(0x005A4102),
7488           UINT32_C(0x003E66B4), UINT32_C(0x0011F6CD), UINT32_C(0x0038E6FD),
7489           UINT32_C(0x000B5086), UINT32_C(0x0050E978), UINT32_C(0x005AE74C),
7490           UINT32_C(0x00246161), UINT32_C(0x007E9879)}},
7491         {{UINT32_C(0x0065CC5A), UINT32_C(0x000BD258), UINT32_C(0x00167FAC),
7492           UINT32_C(0x00E5D799), UINT32_C(0x002DCFC5), UINT32_C(0x0045B74C),
7493           UINT32_C(0x00057C88), UINT32_C(0x0038384F), UINT32_C(0x003413FE),
7494           UINT32_C(0x00625CFF), UINT32_C(0x00014CE5)},
7495          {UINT32_C(0x0038E62F), UINT32_C(0x004B5EE4), UINT32_C(0x004ADC3F),
7496           UINT32_C(0x0062FF7C), UINT32_C(0x001110E4), UINT32_C(0x007C7151),
7497           UINT32_C(0x002F8915), UINT32_C(0x0068F26B), UINT32_C(0x0038A310),
7498           UINT32_C(0x002E8D53), UINT32_C(0x0031786B)},
7499          {UINT32_C(0x004DE3F1), UINT32_C(0x00036913), UINT32_C(0x006704FB),
7500           UINT32_C(0x003944F4), UINT32_C(0x003E4AD6), UINT32_C(0x001A01BA),
7501           UINT32_C(0x002E0D68), UINT32_C(0x004A2407), UINT32_C(0x0047BA89),
7502           UINT32_C(0x003808BF), UINT32_C(0x0070E238)}},
7503         {{UINT32_C(0x001B2F70), UINT32_C(0x006F3BCD), UINT32_C(0x0020C220),
7504           UINT32_C(0x00971E3D), UINT32_C(0x0067DC3E), UINT32_C(0x00154916),
7505           UINT32_C(0x007EE08E), UINT32_C(0x009FB7E0), UINT32_C(0x00164A27),
7506           UINT32_C(0x00000D51), UINT32_C(0x00044A8C)},
7507          {UINT32_C(0x00441852), UINT32_C(0x004183C7), UINT32_C(0x000B05DA),
7508           UINT32_C(0x00765798), UINT32_C(0x002FE415), UINT32_C(0x0078F9D1),
7509           UINT32_C(0x0049FDE6), UINT32_C(0x00D85938), UINT32_C(0x00404646),
7510           UINT32_C(0x005B14A2), UINT32_C(0x00151434)},
7511          {UINT32_C(0x001ECEB3), UINT32_C(0x00723B7F), UINT32_C(0x0073FB3C),
7512           UINT32_C(0x0055508D), UINT32_C(0x002C2D2B), UINT32_C(0x0040F43E),
7513           UINT32_C(0x001CBD6A), UINT32_C(0x00015808), UINT32_C(0x0013E380),
7514           UINT32_C(0x00778472), UINT32_C(0x0014758C)}},
7515         {{UINT32_C(0x00D4475B), UINT32_C(0x00404279), UINT32_C(0x006905B8),
7516           UINT32_C(0x00F7FB57), UINT32_C(0x0073BDA7), UINT32_C(0x00269082),
7517           UINT32_C(0x006B26ED), UINT32_C(0x0027D833), UINT32_C(0x001E216F),
7518           UINT32_C(0x001360D4), UINT32_C(0x00115751)},
7519          {UINT32_C(0x00E38DD3), UINT32_C(0x0054A13C), UINT32_C(0x000EBF81),
7520           UINT32_C(0x0010F4E8), UINT32_C(0x0039AB55), UINT32_C(0x0031188E),
7521           UINT32_C(0x0027D686), UINT32_C(0x00C9A0DF), UINT32_C(0x0039BD06),
7522           UINT32_C(0x00350B58), UINT32_C(0x007D7257)},
7523          {UINT32_C(0x00A31782), UINT32_C(0x000F1C0E), UINT32_C(0x002C8F03),
7524           UINT32_C(0x00D72648), UINT32_C(0x0039C85F), UINT32_C(0x004A1C54),
7525           UINT32_C(0x000FF85A), UINT32_C(0x0026A90F), UINT32_C(0x002B4E8C),
7526           UINT32_C(0x000A4D59), UINT32_C(0x0050B904)}},
7527         {{UINT32_C(0x006238BE), UINT32_C(0x00175795), UINT32_C(0x00538917),
7528           UINT32_C(0x007BD984), UINT32_C(0x00292FC6), UINT32_C(0x00080628),
7529           UINT32_C(0x001B5D25), UINT32_C(0x00D80A64), UINT32_C(0x005B034B),
7530           UINT32_C(0x00167E5D), UINT32_C(0x00421184)},
7531          {UINT32_C(0x00BA4129), UINT32_C(0x000FC466), UINT32_C(0x003F5CA0),
7532           UINT32_C(0x00B0084A), UINT32_C(0x003B6970), UINT32_C(0x0079C8BB),
7533           UINT32_C(0x006F3E63), UINT32_C(0x00D86F54), UINT32_C(0x003A31F7),
7534           UINT32_C(0x00382189), UINT32_C(0x005CEAB5)},
7535          {UINT32_C(0x0041A489), UINT32_C(0x004B3EF7), UINT32_C(0x00591EC7),
7536           UINT32_C(0x00F08AA6), UINT32_C(0x00580111), UINT32_C(0x0006B198),
7537           UINT32_C(0x0031386E), UINT32_C(0x00EC23A3), UINT32_C(0x007F21FD),
7538           UINT32_C(0x005E25F3), UINT32_C(0x0047AC14)}},
7539         {{UINT32_C(0x00AB4BF3), UINT32_C(0x0070ED4E), UINT32_C(0x001DFAA3),
7540           UINT32_C(0x006F788D), UINT32_C(0x000470EF), UINT32_C(0x0005F6CC),
7541           UINT32_C(0x00317FCC), UINT32_C(0x00341719), UINT32_C(0x000AF8E5),
7542           UINT32_C(0x00265856), UINT32_C(0x004EA29A)},
7543          {UINT32_C(0x00BD8CE2), UINT32_C(0x0019149B), UINT32_C(0x0010C6C2),
7544           UINT32_C(0x00D9E127), UINT32_C(0x006B514E), UINT32_C(0x00755F77),
7545           UINT32_C(0x004E4772), UINT32_C(0x00398A6D), UINT32_C(0x0032566C),
7546           UINT32_C(0x00029F76), UINT32_C(0x0050B40A)},
7547          {UINT32_C(0x008B1A27), UINT32_C(0x004EC0C5), UINT32_C(0x0069ED34),
7548           UINT32_C(0x001088E0), UINT32_C(0x004CD905), UINT32_C(0x00697E9E),
7549           UINT32_C(0x000A4361), UINT32_C(0x00A3E043), UINT32_C(0x0058F3E3),
7550           UINT32_C(0x002D4E70), UINT32_C(0x006C75F0)}},
7551     },
7552     {
7553         {{UINT32_C(0x005AB8BD), UINT32_C(0x0029D680), UINT32_C(0x0006977B),
7554           UINT32_C(0x0074F696), UINT32_C(0x00048954), UINT32_C(0x0028F214),
7555           UINT32_C(0x0045A271), UINT32_C(0x000DB9C5), UINT32_C(0x00141E0B),
7556           UINT32_C(0x0064EAF4), UINT32_C(0x0016FA62)},
7557          {UINT32_C(0x00DD9A68), UINT32_C(0x0020101A), UINT32_C(0x006747C5),
7558           UINT32_C(0x00C02A2D), UINT32_C(0x00551617), UINT32_C(0x00318D4B),
7559           UINT32_C(0x003D5380), UINT32_C(0x003B36CE), UINT32_C(0x0042C7B9),
7560           UINT32_C(0x0068C9EF), UINT32_C(0x000786CD)},
7561          {UINT32_C(0x0092DAA3), UINT32_C(0x006F3072), UINT32_C(0x0025BB51),
7562           UINT32_C(0x0082E155), UINT32_C(0x002995E2), UINT32_C(0x00086EAC),
7563           UINT32_C(0x004295AF), UINT32_C(0x0015CF09), UINT32_C(0x000217DF),
7564           UINT32_C(0x0025C6FF), UINT32_C(0x006A1FF6)}},
7565         {{UINT32_C(0x0068992F), UINT32_C(0x0037A443), UINT32_C(0x004E52B8),
7566           UINT32_C(0x00EB4DD5), UINT32_C(0x00732F40), UINT32_C(0x0039E0FA),
7567           UINT32_C(0x0035516B), UINT32_C(0x00D1FF12), UINT32_C(0x007B9904),
7568           UINT32_C(0x0000D042), UINT32_C(0x0061BEA7)},
7569          {UINT32_C(0x006695E1), UINT32_C(0x0079A990), UINT32_C(0x007D995E),
7570           UINT32_C(0x008EA8CE), UINT32_C(0x0024E995), UINT32_C(0x0009615C),
7571           UINT32_C(0x003CF6CE), UINT32_C(0x00077F8E), UINT32_C(0x00350417),
7572           UINT32_C(0x0062CAC6), UINT32_C(0x0006858A)},
7573          {UINT32_C(0x0022B953), UINT32_C(0x003B5DF9), UINT32_C(0x004AEDEE),
7574           UINT32_C(0x000CEEC5), UINT32_C(0x003887F6), UINT32_C(0x000254BB),
7575           UINT32_C(0x001856BF), UINT32_C(0x00B16F48), UINT32_C(0x00226205),
7576           UINT32_C(0x001DDE25), UINT32_C(0x006802A0)}},
7577         {{UINT32_C(0x00D029FB), UINT32_C(0x0024FF9C), UINT32_C(0x003692B5),
7578           UINT32_C(0x003D6298), UINT32_C(0x005113AA), UINT32_C(0x0016BB74),
7579           UINT32_C(0x00207B6F), UINT32_C(0x00CFD145), UINT32_C(0x001A0C73),
7580           UINT32_C(0x003DD3F4), UINT32_C(0x004AC618)},
7581          {UINT32_C(0x007E0F78), UINT32_C(0x00342407), UINT32_C(0x007BF737),
7582           UINT32_C(0x008C11E4), UINT32_C(0x001D19AF), UINT32_C(0x0023A2DD),
7583           UINT32_C(0x00538E8D), UINT32_C(0x00026531), UINT32_C(0x002A0077),
7584           UINT32_C(0x002FBD3B), UINT32_C(0x000D23EE)},
7585          {UINT32_C(0x009B883D), UINT32_C(0x000C8276), UINT32_C(0x006F819D),
7586           UINT32_C(0x00FC2912), UINT32_C(0x00382987), UINT32_C(0x007E7030),
7587           UINT32_C(0x003EF8E1), UINT32_C(0x00E2007A), UINT32_C(0x0008D395),
7588           UINT32_C(0x003F0615), UINT32_C(0x00063C97)}},
7589         {{UINT32_C(0x00156CDE), UINT32_C(0x007EA553), UINT32_C(0x004022D6),
7590           UINT32_C(0x00DFB476), UINT32_C(0x000AA93D), UINT32_C(0x0075AAD5),
7591           UINT32_C(0x005CA989), UINT32_C(0x00F4319E), UINT32_C(0x006F4102),
7592           UINT32_C(0x002EBD52), UINT32_C(0x004C0F6F)},
7593          {UINT32_C(0x002F3ABE), UINT32_C(0x002C0332), UINT32_C(0x000C7B65),
7594           UINT32_C(0x00E76C78), UINT32_C(0x002AEA4E), UINT32_C(0x00419F87),
7595           UINT32_C(0x00340B29), UINT32_C(0x0039375F), UINT32_C(0x005747D0),
7596           UINT32_C(0x002FBD65), UINT32_C(0x0056D9BF)},
7597          {UINT32_C(0x00F9E607), UINT32_C(0x00092305), UINT32_C(0x005A5130),
7598           UINT32_C(0x00B7A777), UINT32_C(0x00393B42), UINT32_C(0x002198A4),
7599           UINT32_C(0x0044F3BE), UINT32_C(0x00B56C11), UINT32_C(0x000C5006),
7600           UINT32_C(0x0014F3D3), UINT32_C(0x00204C61)}},
7601         {{UINT32_C(0x00AA29BE), UINT32_C(0x00452FB8), UINT32_C(0x000DF2B9),
7602           UINT32_C(0x00F57AEA), UINT32_C(0x00309807), UINT32_C(0x0039FB85),
7603           UINT32_C(0x00505F6F), UINT32_C(0x00C3979A), UINT32_C(0x0037D4C6),
7604           UINT32_C(0x0063A3A0), UINT32_C(0x0041BB59)},
7605          {UINT32_C(0x00979A22), UINT32_C(0x0011A314), UINT32_C(0x004DCD17),
7606           UINT32_C(0x0073157E), UINT32_C(0x007EA111), UINT32_C(0x005CA164),
7607           UINT32_C(0x007D14D4), UINT32_C(0x00F4DD95), UINT32_C(0x0065EA29),
7608           UINT32_C(0x000A8618), UINT32_C(0x00458E9C)},
7609          {UINT32_C(0x00166F58), UINT32_C(0x003902F4), UINT32_C(0x005DF4F1),
7610           UINT32_C(0x00FD1412), UINT32_C(0x0065A422), UINT32_C(0x005C9158),
7611           UINT32_C(0x007FA83F), UINT32_C(0x001B6003), UINT32_C(0x003E37A1),
7612           UINT32_C(0x00558CA7), UINT32_C(0x005F8B80)}},
7613         {{UINT32_C(0x0058D515), UINT32_C(0x000E279B), UINT32_C(0x0061A7DC),
7614           UINT32_C(0x0030FF7E), UINT32_C(0x0036EF25), UINT32_C(0x00545909),
7615           UINT32_C(0x0071356E), UINT32_C(0x009FA397), UINT32_C(0x006064CF),
7616           UINT32_C(0x0023899B), UINT32_C(0x0023C04A)},
7617          {UINT32_C(0x0070B892), UINT32_C(0x003C225C), UINT32_C(0x00641506),
7618           UINT32_C(0x00BC6E0A), UINT32_C(0x0067DF77), UINT32_C(0x001C1328),
7619           UINT32_C(0x006FB16A), UINT32_C(0x00DDC3EF), UINT32_C(0x000C0A82),
7620           UINT32_C(0x0035BBBF), UINT32_C(0x0018D630)},
7621          {UINT32_C(0x00F762A4), UINT32_C(0x006436A9), UINT32_C(0x0068EFB4),
7622           UINT32_C(0x00AAEE79), UINT32_C(0x001FA040), UINT32_C(0x005BE9B2),
7623           UINT32_C(0x0068C25E), UINT32_C(0x0069171C), UINT32_C(0x0069727D),
7624           UINT32_C(0x004D3596), UINT32_C(0x007D2D07)}},
7625         {{UINT32_C(0x00E0A6B1), UINT32_C(0x00537BD4), UINT32_C(0x00732E56),
7626           UINT32_C(0x00054667), UINT32_C(0x00504F91), UINT32_C(0x005BEA24),
7627           UINT32_C(0x003816A4), UINT32_C(0x006CAC1F), UINT32_C(0x00094C1A),
7628           UINT32_C(0x007E0D77), UINT32_C(0x001F325B)},
7629          {UINT32_C(0x0056C790), UINT32_C(0x00696172), UINT32_C(0x004393F7),
7630           UINT32_C(0x0007BC7D), UINT32_C(0x0024008C), UINT32_C(0x00632185),
7631           UINT32_C(0x0039D510), UINT32_C(0x00776C63), UINT32_C(0x005303C0),
7632           UINT32_C(0x00488334), UINT32_C(0x004A46B9)},
7633          {UINT32_C(0x00CAB13C), UINT32_C(0x007B99B0), UINT32_C(0x00716826),
7634           UINT32_C(0x0090AADC), UINT32_C(0x003C39E0), UINT32_C(0x0062EF5A),
7635           UINT32_C(0x00220C12), UINT32_C(0x004D0B33), UINT32_C(0x004E1E9F),
7636           UINT32_C(0x0009FA96), UINT32_C(0x00553213)}},
7637         {{UINT32_C(0x00250F6D), UINT32_C(0x007501A6), UINT32_C(0x003B682C),
7638           UINT32_C(0x0044D730), UINT32_C(0x00649A14), UINT32_C(0x0032BFCE),
7639           UINT32_C(0x0066ADB8), UINT32_C(0x0034ED5B), UINT32_C(0x0043D7B2),
7640           UINT32_C(0x0000FFB9), UINT32_C(0x005A4861)},
7641          {UINT32_C(0x003B7613), UINT32_C(0x0001D6FB), UINT32_C(0x003D0B17),
7642           UINT32_C(0x007E0DC7), UINT32_C(0x005BC5C1), UINT32_C(0x003BB331),
7643           UINT32_C(0x0062230B), UINT32_C(0x0061ECC7), UINT32_C(0x005DDB12),
7644           UINT32_C(0x002700A7), UINT32_C(0x00258078)},
7645          {UINT32_C(0x005856C3), UINT32_C(0x0046B785), UINT32_C(0x002EE0A7),
7646           UINT32_C(0x00316F2C), UINT32_C(0x001A3AAB), UINT32_C(0x0069EF00),
7647           UINT32_C(0x0002A746), UINT32_C(0x0099DDEA), UINT32_C(0x004753D7),
7648           UINT32_C(0x0062170C), UINT32_C(0x004CA608)}},
7649         {{UINT32_C(0x0096B8DD), UINT32_C(0x004957F8), UINT32_C(0x007298E2),
7650           UINT32_C(0x008A7B5F), UINT32_C(0x0001A2BB), UINT32_C(0x004D7F56),
7651           UINT32_C(0x00560362), UINT32_C(0x001642A5), UINT32_C(0x0017F72E),
7652           UINT32_C(0x003B6605), UINT32_C(0x00390B61)},
7653          {UINT32_C(0x0015F82F), UINT32_C(0x000E8511), UINT32_C(0x00668D3B),
7654           UINT32_C(0x00C4B091), UINT32_C(0x003C935D), UINT32_C(0x005D4F5F),
7655           UINT32_C(0x0065AFF6), UINT32_C(0x00C88375), UINT32_C(0x00488074),
7656           UINT32_C(0x00260091), UINT32_C(0x0032A589)},
7657          {UINT32_C(0x00BCD3E4), UINT32_C(0x0073BD2C), UINT32_C(0x00537827),
7658           UINT32_C(0x00C860A9), UINT32_C(0x0023CB46), UINT32_C(0x004AF7E7),
7659           UINT32_C(0x0055A3FB), UINT32_C(0x00D9298A), UINT32_C(0x002A1C35),
7660           UINT32_C(0x001D8443), UINT32_C(0x00625170)}},
7661         {{UINT32_C(0x00CC32C8), UINT32_C(0x0025B8DD), UINT32_C(0x0033759B),
7662           UINT32_C(0x00B90E61), UINT32_C(0x0053232D), UINT32_C(0x00622CCA),
7663           UINT32_C(0x003F2B2B), UINT32_C(0x0012CE87), UINT32_C(0x000FED16),
7664           UINT32_C(0x00517920), UINT32_C(0x0026E2BC)},
7665          {UINT32_C(0x0033B8DF), UINT32_C(0x006BD2B2), UINT32_C(0x002C06A6),
7666           UINT32_C(0x007B255F), UINT32_C(0x0049E009), UINT32_C(0x00109815),
7667           UINT32_C(0x0041610E), UINT32_C(0x007AA99D), UINT32_C(0x004D2604),
7668           UINT32_C(0x001C2975), UINT32_C(0x00419560)},
7669          {UINT32_C(0x00F4C3F1), UINT32_C(0x00358166), UINT32_C(0x0047A4EF),
7670           UINT32_C(0x00B32B54), UINT32_C(0x007F5298), UINT32_C(0x0060C7DC),
7671           UINT32_C(0x004550B3), UINT32_C(0x00381199), UINT32_C(0x004D1985),
7672           UINT32_C(0x003008AD), UINT32_C(0x001E997E)}},
7673         {{UINT32_C(0x0080A2DD), UINT32_C(0x0011A8A1), UINT32_C(0x00763776),
7674           UINT32_C(0x0037A4E8), UINT32_C(0x002DEFD0), UINT32_C(0x005CC3A3),
7675           UINT32_C(0x0002CD3A), UINT32_C(0x003BDE69), UINT32_C(0x000D3C3B),
7676           UINT32_C(0x00468707), UINT32_C(0x002C6250)},
7677          {UINT32_C(0x00DC4853), UINT32_C(0x0013FF85), UINT32_C(0x006F92A3),
7678           UINT32_C(0x00E2DC5B), UINT32_C(0x002BA1BF), UINT32_C(0x0069003C),
7679           UINT32_C(0x00696B4A), UINT32_C(0x001FEA22), UINT32_C(0x00737E75),
7680           UINT32_C(0x002DDA93), UINT32_C(0x00682793)},
7681          {UINT32_C(0x00792D5C), UINT32_C(0x00756880), UINT32_C(0x0016DEDC),
7682           UINT32_C(0x00132FF7), UINT32_C(0x0028F65F), UINT32_C(0x00687D6B),
7683           UINT32_C(0x0042DB10), UINT32_C(0x00F60F17), UINT32_C(0x00244567),
7684           UINT32_C(0x005EA7EE), UINT32_C(0x00680EE7)}},
7685         {{UINT32_C(0x0017AD54), UINT32_C(0x00226170), UINT32_C(0x00248F16),
7686           UINT32_C(0x00E68159), UINT32_C(0x001F85B5), UINT32_C(0x005AEC69),
7687           UINT32_C(0x00207C21), UINT32_C(0x0080BD65), UINT32_C(0x0072C461),
7688           UINT32_C(0x000826BF), UINT32_C(0x00721CFE)},
7689          {UINT32_C(0x00221394), UINT32_C(0x000F6241), UINT32_C(0x00312D0B),
7690           UINT32_C(0x007310BE), UINT32_C(0x006D18ED), UINT32_C(0x0009B7DC),
7691           UINT32_C(0x0002ADC6), UINT32_C(0x009D4B71), UINT32_C(0x00652C01),
7692           UINT32_C(0x001193C0), UINT32_C(0x006CDFD9)},
7693          {UINT32_C(0x00441B95), UINT32_C(0x005F316E), UINT32_C(0x00055A1A),
7694           UINT32_C(0x008ABFDB), UINT32_C(0x0050B1C9), UINT32_C(0x00219EE2),
7695           UINT32_C(0x003C70AE), UINT32_C(0x004C49AE), UINT32_C(0x00791825),
7696           UINT32_C(0x004EA87D), UINT32_C(0x001C346C)}},
7697         {{UINT32_C(0x00633E8B), UINT32_C(0x000D64E6), UINT32_C(0x0043AD57),
7698           UINT32_C(0x0056000C), UINT32_C(0x0022A710), UINT32_C(0x001CF6E7),
7699           UINT32_C(0x0061C894), UINT32_C(0x0029FCC0), UINT32_C(0x0063A2A7),
7700           UINT32_C(0x002F042F), UINT32_C(0x006D9C7B)},
7701          {UINT32_C(0x00C0114A), UINT32_C(0x00054C9F), UINT32_C(0x00014A30),
7702           UINT32_C(0x008750DC), UINT32_C(0x0014F782), UINT32_C(0x005BDDB7),
7703           UINT32_C(0x0048FFA9), UINT32_C(0x006F51B9), UINT32_C(0x000ACD25),
7704           UINT32_C(0x001C791B), UINT32_C(0x006F027E)},
7705          {UINT32_C(0x0059BE30), UINT32_C(0x0004C8AA), UINT32_C(0x001EEFA6),
7706           UINT32_C(0x00969A3F), UINT32_C(0x002541FF), UINT32_C(0x00021EAE),
7707           UINT32_C(0x002335EF), UINT32_C(0x007B34F0), UINT32_C(0x005812F4),
7708           UINT32_C(0x0035961A), UINT32_C(0x0018E93C)}},
7709         {{UINT32_C(0x003D4ACA), UINT32_C(0x002344E6), UINT32_C(0x005AE7C9),
7710           UINT32_C(0x00C22F17), UINT32_C(0x0053F5F0), UINT32_C(0x0037ABD3),
7711           UINT32_C(0x0064DD19), UINT32_C(0x00A742A2), UINT32_C(0x00762397),
7712           UINT32_C(0x000E9EEF), UINT32_C(0x00047D34)},
7713          {UINT32_C(0x00E9B3BB), UINT32_C(0x00532D39), UINT32_C(0x004E866E),
7714           UINT32_C(0x00F7D682), UINT32_C(0x002ACA85), UINT32_C(0x00552578),
7715           UINT32_C(0x0033FA4B), UINT32_C(0x00977782), UINT32_C(0x003D410E),
7716           UINT32_C(0x0003548B), UINT32_C(0x0054FC74)},
7717          {UINT32_C(0x00C8BBFF), UINT32_C(0x0013F345), UINT32_C(0x0058E472),
7718           UINT32_C(0x00274591), UINT32_C(0x005597A6), UINT32_C(0x0013E285),
7719           UINT32_C(0x0057D3BB), UINT32_C(0x0092D7C6), UINT32_C(0x00500460),
7720           UINT32_C(0x00488CB7), UINT32_C(0x006800FE)}},
7721         {{UINT32_C(0x0000AA79), UINT32_C(0x002C098B), UINT32_C(0x00759A30),
7722           UINT32_C(0x002C7125), UINT32_C(0x00199DDC), UINT32_C(0x0075546E),
7723           UINT32_C(0x00559A27), UINT32_C(0x00DF24BF), UINT32_C(0x00151F99),
7724           UINT32_C(0x003C4C5B), UINT32_C(0x002EAF89)},
7725          {UINT32_C(0x00DC697B), UINT32_C(0x00751FA8), UINT32_C(0x0077C24F),
7726           UINT32_C(0x0038C1A6), UINT32_C(0x0013EBD3), UINT32_C(0x0023A808),
7727           UINT32_C(0x000B2621), UINT32_C(0x00C685DB), UINT32_C(0x00581796),
7728           UINT32_C(0x0057D263), UINT32_C(0x0004E256)},
7729          {UINT32_C(0x00E52262), UINT32_C(0x001D22BD), UINT32_C(0x006A26A0),
7730           UINT32_C(0x0085E1CA), UINT32_C(0x003EC7B7), UINT32_C(0x002FFB62),
7731           UINT32_C(0x0067736A), UINT32_C(0x00EF293F), UINT32_C(0x0061C4FE),
7732           UINT32_C(0x00730AA3), UINT32_C(0x000EB2F6)}},
7733         {{UINT32_C(0x00641095), UINT32_C(0x0058D612), UINT32_C(0x000AAE18),
7734           UINT32_C(0x0029DFF3), UINT32_C(0x00001553), UINT32_C(0x007F0860),
7735           UINT32_C(0x000F0ED0), UINT32_C(0x00A86E36), UINT32_C(0x000DBF80),
7736           UINT32_C(0x0031F7B2), UINT32_C(0x00229559)},
7737          {UINT32_C(0x003D6EA7), UINT32_C(0x00417EB0), UINT32_C(0x0030EED3),
7738           UINT32_C(0x0076B04C), UINT32_C(0x006404B7), UINT32_C(0x00647E89),
7739           UINT32_C(0x0038E725), UINT32_C(0x00955982), UINT32_C(0x0044F11A),
7740           UINT32_C(0x0030EB34), UINT32_C(0x0060A0E2)},
7741          {UINT32_C(0x00FFBA33), UINT32_C(0x00576743), UINT32_C(0x007B4196),
7742           UINT32_C(0x0065FCEB), UINT32_C(0x00147F68), UINT32_C(0x00753F2E),
7743           UINT32_C(0x002CE14E), UINT32_C(0x004CC9FA), UINT32_C(0x0008D7B1),
7744           UINT32_C(0x004C33D1), UINT32_C(0x0045EB11)}},
7745     },
7746     {
7747         {{UINT32_C(0x00178112), UINT32_C(0x004144EF), UINT32_C(0x0015E475),
7748           UINT32_C(0x00280993), UINT32_C(0x003DFA25), UINT32_C(0x00316893),
7749           UINT32_C(0x0013A505), UINT32_C(0x002E8E8C), UINT32_C(0x001BE3B1),
7750           UINT32_C(0x004A5354), UINT32_C(0x005737B1)},
7751          {UINT32_C(0x005EE99B), UINT32_C(0x00738EC3), UINT32_C(0x000EEBF1),
7752           UINT32_C(0x006EAA11), UINT32_C(0x006EC5B6), UINT32_C(0x00137DDE),
7753           UINT32_C(0x0077237C), UINT32_C(0x00B7F2C7), UINT32_C(0x006D2A26),
7754           UINT32_C(0x005B944F), UINT32_C(0x0077B72B)},
7755          {UINT32_C(0x00288C6E), UINT32_C(0x005166D7), UINT32_C(0x0048279B),
7756           UINT32_C(0x009E9476), UINT32_C(0x0021C271), UINT32_C(0x0071BEB4),
7757           UINT32_C(0x004E74B9), UINT32_C(0x00F2F6D4), UINT32_C(0x00498EF2),
7758           UINT32_C(0x00769444), UINT32_C(0x00393F71)}},
7759         {{UINT32_C(0x00CF7E6B), UINT32_C(0x001C84EE), UINT32_C(0x00375656),
7760           UINT32_C(0x00982B0D), UINT32_C(0x0015275A), UINT32_C(0x0037C644),
7761           UINT32_C(0x00419783), UINT32_C(0x00E2FD75), UINT32_C(0x005830C6),
7762           UINT32_C(0x003DDDEF), UINT32_C(0x001D4931)},
7763          {UINT32_C(0x006F71D9), UINT32_C(0x0013F2A3), UINT32_C(0x007E4CC9),
7764           UINT32_C(0x0048B895), UINT32_C(0x006E0B00), UINT32_C(0x00535CF4),
7765           UINT32_C(0x004F83CB), UINT32_C(0x00E80D3A), UINT32_C(0x002893B7),
7766           UINT32_C(0x0039AF63), UINT32_C(0x00756654)},
7767          {UINT32_C(0x002DD089), UINT32_C(0x005B7963), UINT32_C(0x00147EEF),
7768           UINT32_C(0x008FE97D), UINT32_C(0x0074DE7F), UINT32_C(0x0038F059),
7769           UINT32_C(0x00424B8B), UINT32_C(0x00510FF5), UINT32_C(0x002A9DB5),
7770           UINT32_C(0x0040775A), UINT32_C(0x0023EC28)}},
7771         {{UINT32_C(0x004FFE86), UINT32_C(0x005A8445), UINT32_C(0x007B9BE4),
7772           UINT32_C(0x003CB951), UINT32_C(0x003DA9E0), UINT32_C(0x000B053F),
7773           UINT32_C(0x0068F80D), UINT32_C(0x008B792C), UINT32_C(0x006E5C50),
7774           UINT32_C(0x00709425), UINT32_C(0x00695574)},
7775          {UINT32_C(0x0055360D), UINT32_C(0x00304400), UINT32_C(0x007E3E9A),
7776           UINT32_C(0x00042D95), UINT32_C(0x006A420D), UINT32_C(0x000DE570),
7777           UINT32_C(0x0012F771), UINT32_C(0x007BF1D1), UINT32_C(0x005E64D1),
7778           UINT32_C(0x001011DE), UINT32_C(0x000FD8B3)},
7779          {UINT32_C(0x0035FF69), UINT32_C(0x0066F82F), UINT32_C(0x00765895),
7780           UINT32_C(0x00F5BC13), UINT32_C(0x00559AFC), UINT32_C(0x00165B92),
7781           UINT32_C(0x001A82F9), UINT32_C(0x004B92A4), UINT32_C(0x006FF84F),
7782           UINT32_C(0x000C3427), UINT32_C(0x0062C571)}},
7783         {{UINT32_C(0x001B13D2), UINT32_C(0x001AB645), UINT32_C(0x007C40CE),
7784           UINT32_C(0x007EA6AF), UINT32_C(0x00411986), UINT32_C(0x00393A3E),
7785           UINT32_C(0x003CE614), UINT32_C(0x006D6293), UINT32_C(0x003D6770),
7786           UINT32_C(0x003CBAD3), UINT32_C(0x005F61B3)},
7787          {UINT32_C(0x007F1514), UINT32_C(0x00563424), UINT32_C(0x00333C42),
7788           UINT32_C(0x0091B025), UINT32_C(0x000AC50C), UINT32_C(0x00572275),
7789           UINT32_C(0x00592815), UINT32_C(0x002DB85E), UINT32_C(0x0012ADB7),
7790           UINT32_C(0x00696D1D), UINT32_C(0x000924E7)},
7791          {UINT32_C(0x008A69B5), UINT32_C(0x0042A7C5), UINT32_C(0x007608DB),
7792           UINT32_C(0x00E7F3E0), UINT32_C(0x005993D5), UINT32_C(0x0004961E),
7793           UINT32_C(0x0076A481), UINT32_C(0x00A7DA96), UINT32_C(0x007E1606),
7794           UINT32_C(0x00752F27), UINT32_C(0x006EA269)}},
7795         {{UINT32_C(0x00E74931), UINT32_C(0x002B3168), UINT32_C(0x0062191F),
7796           UINT32_C(0x007F0A08), UINT32_C(0x00407602), UINT32_C(0x005E821F),
7797           UINT32_C(0x004B971A), UINT32_C(0x009FAA40), UINT32_C(0x00617415),
7798           UINT32_C(0x0019AF4C), UINT32_C(0x000A1378)},
7799          {UINT32_C(0x001CF746), UINT32_C(0x00698B21), UINT32_C(0x003AF2B3),
7800           UINT32_C(0x0018D41A), UINT32_C(0x00032EA5), UINT32_C(0x006A2A53),
7801           UINT32_C(0x0021B364), UINT32_C(0x004A1660), UINT32_C(0x00524EDD),
7802           UINT32_C(0x00537B8F), UINT32_C(0x0038BE03)},
7803          {UINT32_C(0x006C56DF), UINT32_C(0x0042F0FB), UINT32_C(0x000A9D1A),
7804           UINT32_C(0x007BE0C1), UINT32_C(0x006A26F4), UINT32_C(0x0034FD46),
7805           UINT32_C(0x005C512E), UINT32_C(0x00F3B887), UINT32_C(0x00741791),
7806           UINT32_C(0x000B6109), UINT32_C(0x007ED098)}},
7807         {{UINT32_C(0x002F95C3), UINT32_C(0x0075A30D), UINT32_C(0x004F8EA8),
7808           UINT32_C(0x00D36AE9), UINT32_C(0x003B9F94), UINT32_C(0x0050D27A),
7809           UINT32_C(0x0047AFFF), UINT32_C(0x00FF1072), UINT32_C(0x006EBA0D),
7810           UINT32_C(0x007147B6), UINT32_C(0x007C9C06)},
7811          {UINT32_C(0x007D647C), UINT32_C(0x00491D36), UINT32_C(0x003D3169),
7812           UINT32_C(0x00E48196), UINT32_C(0x005C2776), UINT32_C(0x0071BB7A),
7813           UINT32_C(0x000E3716), UINT32_C(0x00EEE6BA), UINT32_C(0x007A2FD6),
7814           UINT32_C(0x0066EADE), UINT32_C(0x006A3D3C)},
7815          {UINT32_C(0x00D712D2), UINT32_C(0x0030AFB5), UINT32_C(0x000B6DE0),
7816           UINT32_C(0x00CA9B95), UINT32_C(0x003CB508), UINT32_C(0x0002574C),
7817           UINT32_C(0x004F7664), UINT32_C(0x008BDA7C), UINT32_C(0x0052F4AE),
7818           UINT32_C(0x007C9C6D), UINT32_C(0x00640826)}},
7819         {{UINT32_C(0x00E39A36), UINT32_C(0x004E864A), UINT32_C(0x0041824A),
7820           UINT32_C(0x0014E9D0), UINT32_C(0x006B0DD5), UINT32_C(0x003F0191),
7821           UINT32_C(0x006B3AA8), UINT32_C(0x000F82B6), UINT32_C(0x00646713),
7822           UINT32_C(0x004411BF), UINT32_C(0x006EC066)},
7823          {UINT32_C(0x0055A118), UINT32_C(0x001D8588), UINT32_C(0x00098B01),
7824           UINT32_C(0x005B872B), UINT32_C(0x000612D7), UINT32_C(0x0015BB6C),
7825           UINT32_C(0x003EA8DE), UINT32_C(0x00492CBB), UINT32_C(0x0002B390),
7826           UINT32_C(0x002F64C6), UINT32_C(0x00309519)},
7827          {UINT32_C(0x00BCD94C), UINT32_C(0x000453AB), UINT32_C(0x0004DF45),
7828           UINT32_C(0x000AF59E), UINT32_C(0x00224611), UINT32_C(0x0046CB1F),
7829           UINT32_C(0x0037D384), UINT32_C(0x00704C79), UINT32_C(0x004E9EAE),
7830           UINT32_C(0x005F6C61), UINT32_C(0x0033B91C)}},
7831         {{UINT32_C(0x00C4EB7B), UINT32_C(0x001BB1AE), UINT32_C(0x000DF746),
7832           UINT32_C(0x002F5C66), UINT32_C(0x00386901), UINT32_C(0x004503D0),
7833           UINT32_C(0x00243C4F), UINT32_C(0x00F631A8), UINT32_C(0x0072318C),
7834           UINT32_C(0x0067781F), UINT32_C(0x0062555B)},
7835          {UINT32_C(0x009DF20B), UINT32_C(0x007957AF), UINT32_C(0x0048E896),
7836           UINT32_C(0x00266C31), UINT32_C(0x00606385), UINT32_C(0x00182ADB),
7837           UINT32_C(0x000F2D0A), UINT32_C(0x0047F1DB), UINT32_C(0x00612A5A),
7838           UINT32_C(0x00585C22), UINT32_C(0x00138DA1)},
7839          {UINT32_C(0x002B00C5), UINT32_C(0x007C31F7), UINT32_C(0x0027D051),
7840           UINT32_C(0x009836BE), UINT32_C(0x005DD824), UINT32_C(0x003C85C8),
7841           UINT32_C(0x00037B92), UINT32_C(0x005A36F0), UINT32_C(0x00072882),
7842           UINT32_C(0x00556F25), UINT32_C(0x005C74C4)}},
7843         {{UINT32_C(0x00200CDA), UINT32_C(0x00142D7E), UINT32_C(0x000C5F19),
7844           UINT32_C(0x0033CB24), UINT32_C(0x0062D137), UINT32_C(0x00370C3B),
7845           UINT32_C(0x007C19E3), UINT32_C(0x002C37A4), UINT32_C(0x0056C3B7),
7846           UINT32_C(0x0012591E), UINT32_C(0x005C6251)},
7847          {UINT32_C(0x00B8567F), UINT32_C(0x007942F3), UINT32_C(0x002971B5),
7848           UINT32_C(0x007509BB), UINT32_C(0x004489A3), UINT32_C(0x00090D38),
7849           UINT32_C(0x0049BA67), UINT32_C(0x00A295D7), UINT32_C(0x0006DE00),
7850           UINT32_C(0x005529F0), UINT32_C(0x0068D340)},
7851          {UINT32_C(0x008E1FEE), UINT32_C(0x002BADB8), UINT32_C(0x0060B20C),
7852           UINT32_C(0x00DE49F8), UINT32_C(0x0006AE06), UINT32_C(0x005BAE81),
7853           UINT32_C(0x00153FDC), UINT32_C(0x002DCC1B), UINT32_C(0x000F1E26),
7854           UINT32_C(0x00005870), UINT32_C(0x003CB27C)}},
7855         {{UINT32_C(0x00BA06D8), UINT32_C(0x0028ABA3), UINT32_C(0x004A0A47),
7856           UINT32_C(0x000E951E), UINT32_C(0x00609146), UINT32_C(0x00213816),
7857           UINT32_C(0x005657D3), UINT32_C(0x00404103), UINT32_C(0x0041BEE3),
7858           UINT32_C(0x001CC688), UINT32_C(0x003A758E)},
7859          {UINT32_C(0x00F8BBE3), UINT32_C(0x00641D00), UINT32_C(0x00119DD5),
7860           UINT32_C(0x004610E6), UINT32_C(0x0042B1F2), UINT32_C(0x00065991),
7861           UINT32_C(0x00400456), UINT32_C(0x0031F869), UINT32_C(0x00467CE5),
7862           UINT32_C(0x002ACA8A), UINT32_C(0x004AE71F)},
7863          {UINT32_C(0x00E75B70), UINT32_C(0x0045C331), UINT32_C(0x002C67D3),
7864           UINT32_C(0x002BAD62), UINT32_C(0x006D4C0D), UINT32_C(0x003E98E0),
7865           UINT32_C(0x0025DD15), UINT32_C(0x001652BE), UINT32_C(0x00138D53),
7866           UINT32_C(0x004CC0B3), UINT32_C(0x002588D3)}},
7867         {{UINT32_C(0x0015F134), UINT32_C(0x00758619), UINT32_C(0x005ABA25),
7868           UINT32_C(0x008AE40E), UINT32_C(0x00678EB8), UINT32_C(0x0001E6CD),
7869           UINT32_C(0x006265B1), UINT32_C(0x00D3C52B), UINT32_C(0x002372C9),
7870           UINT32_C(0x0008A5C9), UINT32_C(0x006ACFA4)},
7871          {UINT32_C(0x009F8482), UINT32_C(0x0045994C), UINT32_C(0x005989D0),
7872           UINT32_C(0x0048FFCC), UINT32_C(0x00242063), UINT32_C(0x000A8DD0),
7873           UINT32_C(0x005A0F78), UINT32_C(0x000518C7), UINT32_C(0x0039D0FB),
7874           UINT32_C(0x00116011), UINT32_C(0x0074BBE1)},
7875          {UINT32_C(0x008817CF), UINT32_C(0x0035F03B), UINT32_C(0x0008E964),
7876           UINT32_C(0x00DBB160), UINT32_C(0x0017FB04), UINT32_C(0x006F931C),
7877           UINT32_C(0x0024585A), UINT32_C(0x0043E352), UINT32_C(0x005B3B89),
7878           UINT32_C(0x0041A78E), UINT32_C(0x004EE10D)}},
7879         {{UINT32_C(0x00B5B594), UINT32_C(0x00238C49), UINT32_C(0x0061A952),
7880           UINT32_C(0x00547564), UINT32_C(0x0017E9B6), UINT32_C(0x004A85C1),
7881           UINT32_C(0x00092964), UINT32_C(0x00E0030F), UINT32_C(0x0002C024),
7882           UINT32_C(0x006FDEC5), UINT32_C(0x003414A1)},
7883          {UINT32_C(0x005F899E), UINT32_C(0x00317B47), UINT32_C(0x00390FE7),
7884           UINT32_C(0x0081FD30), UINT32_C(0x00666C28), UINT32_C(0x00310591),
7885           UINT32_C(0x000A02ED), UINT32_C(0x00C5E37F), UINT32_C(0x00200BEA),
7886           UINT32_C(0x004E58B8), UINT32_C(0x0006090A)},
7887          {UINT32_C(0x009AED9F), UINT32_C(0x006353DF), UINT32_C(0x004C8001),
7888           UINT32_C(0x00684029), UINT32_C(0x00278C84), UINT32_C(0x00476EFD),
7889           UINT32_C(0x002269BF), UINT32_C(0x0061CFF8), UINT32_C(0x006308BB),
7890           UINT32_C(0x0038C1A8), UINT32_C(0x000ED4DD)}},
7891         {{UINT32_C(0x0096CDC1), UINT32_C(0x004A93DE), UINT32_C(0x0017141A),
7892           UINT32_C(0x000CAE27), UINT32_C(0x00633C72), UINT32_C(0x001DD494),
7893           UINT32_C(0x005D5019), UINT32_C(0x007B392A), UINT32_C(0x004E6770),
7894           UINT32_C(0x0057CDFA), UINT32_C(0x0070ED69)},
7895          {UINT32_C(0x00A5AAC7), UINT32_C(0x0017F8BA), UINT32_C(0x0012D3F8),
7896           UINT32_C(0x00D2AEF7), UINT32_C(0x00203DAB), UINT32_C(0x001A6E08),
7897           UINT32_C(0x000F9D07), UINT32_C(0x003CEB53), UINT32_C(0x001F11A2),
7898           UINT32_C(0x00146100), UINT32_C(0x002BF207)},
7899          {UINT32_C(0x00AE2A02), UINT32_C(0x003FEF01), UINT32_C(0x00095E8C),
7900           UINT32_C(0x001BC27F), UINT32_C(0x00579C72), UINT32_C(0x007785A3),
7901           UINT32_C(0x000CF4D0), UINT32_C(0x00B77DC2), UINT32_C(0x00771FCC),
7902           UINT32_C(0x006D028D), UINT32_C(0x0072A687)}},
7903         {{UINT32_C(0x00FB5F0C), UINT32_C(0x000952F3), UINT32_C(0x0011F5D5),
7904           UINT32_C(0x0065371A), UINT32_C(0x006D7E88), UINT32_C(0x0054191C),
7905           UINT32_C(0x0076F7CF), UINT32_C(0x006B48DC), UINT32_C(0x006FD352),
7906           UINT32_C(0x004F1AA7), UINT32_C(0x007F5B13)},
7907          {UINT32_C(0x00606E6E), UINT32_C(0x00363808), UINT32_C(0x00407081),
7908           UINT32_C(0x0004FC3F), UINT32_C(0x00448579), UINT32_C(0x005D29C4),
7909           UINT32_C(0x001A127D), UINT32_C(0x005B9EEE), UINT32_C(0x00653D8E),
7910           UINT32_C(0x0028A4DF), UINT32_C(0x00628593)},
7911          {UINT32_C(0x00AC7820), UINT32_C(0x0030A9D3), UINT32_C(0x0071BE3A),
7912           UINT32_C(0x005FB4E5), UINT32_C(0x002512AE), UINT32_C(0x006EAE7D),
7913           UINT32_C(0x001D9B40), UINT32_C(0x005C1369), UINT32_C(0x00786C22),
7914           UINT32_C(0x0047AFEE), UINT32_C(0x00784A75)}},
7915         {{UINT32_C(0x00213EE3), UINT32_C(0x006F9827), UINT32_C(0x0021482B),
7916           UINT32_C(0x00E1390C), UINT32_C(0x00560D0B), UINT32_C(0x0050DD23),
7917           UINT32_C(0x0064A528), UINT32_C(0x00BA7CFF), UINT32_C(0x002D8C84),
7918           UINT32_C(0x0016175A), UINT32_C(0x005016A4)},
7919          {UINT32_C(0x00776C25), UINT32_C(0x000CB993), UINT32_C(0x0023BE80),
7920           UINT32_C(0x005A52FE), UINT32_C(0x002D117A), UINT32_C(0x00199CDB),
7921           UINT32_C(0x0052EB5E), UINT32_C(0x008D6F49), UINT32_C(0x007D7649),
7922           UINT32_C(0x0027048D), UINT32_C(0x001A9C36)},
7923          {UINT32_C(0x00632283), UINT32_C(0x00211DC7), UINT32_C(0x005DFA7C),
7924           UINT32_C(0x00F9046B), UINT32_C(0x00588CD6), UINT32_C(0x003FAF32),
7925           UINT32_C(0x007F4AED), UINT32_C(0x00575BC2), UINT32_C(0x007DBB8A),
7926           UINT32_C(0x0005122F), UINT32_C(0x006253CC)}},
7927         {{UINT32_C(0x000D1BD2), UINT32_C(0x001AF81A), UINT32_C(0x0037C285),
7928           UINT32_C(0x00D871E6), UINT32_C(0x0062340E), UINT32_C(0x0071909A),
7929           UINT32_C(0x000F0E01), UINT32_C(0x0076262E), UINT32_C(0x007BF9C3),
7930           UINT32_C(0x007F40FC), UINT32_C(0x000B2BC5)},
7931          {UINT32_C(0x002724D3), UINT32_C(0x00504EE8), UINT32_C(0x00609955),
7932           UINT32_C(0x0075E11A), UINT32_C(0x000CB36C), UINT32_C(0x0056D4AF),
7933           UINT32_C(0x000E59E9), UINT32_C(0x003E6912), UINT32_C(0x00789AD2),
7934           UINT32_C(0x00575219), UINT32_C(0x007D7B6C)},
7935          {UINT32_C(0x0072E3DB), UINT32_C(0x0050D327), UINT32_C(0x000F9230),
7936           UINT32_C(0x00AFB63A), UINT32_C(0x0008E760), UINT32_C(0x0059EB9D),
7937           UINT32_C(0x003A4CC1), UINT32_C(0x00C1CE75), UINT32_C(0x00497AD2),
7938           UINT32_C(0x006BAB27), UINT32_C(0x002B8174)}},
7939     },
7940     {
7941         {{UINT32_C(0x00C72DC5), UINT32_C(0x00771E4C), UINT32_C(0x007FE32B),
7942           UINT32_C(0x00502045), UINT32_C(0x00047BCA), UINT32_C(0x005E99DD),
7943           UINT32_C(0x0062584D), UINT32_C(0x00C26155), UINT32_C(0x007641CF),
7944           UINT32_C(0x00519072), UINT32_C(0x0008A95B)},
7945          {UINT32_C(0x00B1CB39), UINT32_C(0x000965FD), UINT32_C(0x0031E4AF),
7946           UINT32_C(0x0030360A), UINT32_C(0x001C457C), UINT32_C(0x003BB754),
7947           UINT32_C(0x005CEAE2), UINT32_C(0x000B7485), UINT32_C(0x00211EE1),
7948           UINT32_C(0x005286E0), UINT32_C(0x00797D03)},
7949          {UINT32_C(0x00220D40), UINT32_C(0x004CA0AD), UINT32_C(0x0021A77A),
7950           UINT32_C(0x00364CE1), UINT32_C(0x006676A3), UINT32_C(0x0038EE70),
7951           UINT32_C(0x001B66BF), UINT32_C(0x00A09800), UINT32_C(0x00714B36),
7952           UINT32_C(0x0068F47C), UINT32_C(0x000FBD61)}},
7953         {{UINT32_C(0x00AADA87), UINT32_C(0x001E516D), UINT32_C(0x001DDDC1),
7954           UINT32_C(0x002496F0), UINT32_C(0x0079D73B), UINT32_C(0x006E84CA),
7955           UINT32_C(0x0001F77F), UINT32_C(0x004ED6A4), UINT32_C(0x004F9268),
7956           UINT32_C(0x002C2D9B), UINT32_C(0x00452C79)},
7957          {UINT32_C(0x005C5FB5), UINT32_C(0x001401F9), UINT32_C(0x001619FE),
7958           UINT32_C(0x0073A62F), UINT32_C(0x0027A568), UINT32_C(0x00410CA3),
7959           UINT32_C(0x007090B1), UINT32_C(0x0088392F), UINT32_C(0x00025F8C),
7960           UINT32_C(0x00470FB6), UINT32_C(0x00400202)},
7961          {UINT32_C(0x00FB4AF5), UINT32_C(0x004A6D33), UINT32_C(0x0067B3D7),
7962           UINT32_C(0x006C233F), UINT32_C(0x006659A6), UINT32_C(0x003370F0),
7963           UINT32_C(0x0071C750), UINT32_C(0x007CF562), UINT32_C(0x006B187A),
7964           UINT32_C(0x0044EC7F), UINT32_C(0x00780B9E)}},
7965         {{UINT32_C(0x007A1682), UINT32_C(0x00775D09), UINT32_C(0x000CA759),
7966           UINT32_C(0x005178EB), UINT32_C(0x001128C9), UINT32_C(0x00453CCE),
7967           UINT32_C(0x002B94ED), UINT32_C(0x00A6541E), UINT32_C(0x0029A8C4),
7968           UINT32_C(0x0029D1E3), UINT32_C(0x00318CEC)},
7969          {UINT32_C(0x002EA810), UINT32_C(0x002E2D2A), UINT32_C(0x00760A1E),
7970           UINT32_C(0x00768B26), UINT32_C(0x0012C353), UINT32_C(0x007A143A),
7971           UINT32_C(0x007F1485), UINT32_C(0x002F5E05), UINT32_C(0x006543DE),
7972           UINT32_C(0x0005DA47), UINT32_C(0x0062D462)},
7973          {UINT32_C(0x0056C417), UINT32_C(0x0020F8E7), UINT32_C(0x0021B1CB),
7974           UINT32_C(0x00DEBC01), UINT32_C(0x0049F124), UINT32_C(0x0063A3EF),
7975           UINT32_C(0x006B1EFC), UINT32_C(0x005DD025), UINT32_C(0x00579F7C),
7976           UINT32_C(0x005282E6), UINT32_C(0x003743A4)}},
7977         {{UINT32_C(0x00D850C1), UINT32_C(0x004304DD), UINT32_C(0x0031CA95),
7978           UINT32_C(0x00ABA381), UINT32_C(0x00557845), UINT32_C(0x00170B2A),
7979           UINT32_C(0x00269F01), UINT32_C(0x00F14562), UINT32_C(0x00177E37),
7980           UINT32_C(0x0000AEF5), UINT32_C(0x0016E67A)},
7981          {UINT32_C(0x008429CD), UINT32_C(0x004F3F15), UINT32_C(0x00310961),
7982           UINT32_C(0x00018EC0), UINT32_C(0x0017C520), UINT32_C(0x005A3C1E),
7983           UINT32_C(0x00069B19), UINT32_C(0x00BBC85D), UINT32_C(0x006A8255),
7984           UINT32_C(0x0005A237), UINT32_C(0x00671035)},
7985          {UINT32_C(0x00397785), UINT32_C(0x000B8DE6), UINT32_C(0x00034C5B),
7986           UINT32_C(0x00335B11), UINT32_C(0x005C7862), UINT32_C(0x002482C8),
7987           UINT32_C(0x0037A568), UINT32_C(0x00679E39), UINT32_C(0x0056810F),
7988           UINT32_C(0x0000E8F6), UINT32_C(0x003D1330)}},
7989         {{UINT32_C(0x00FAF1CD), UINT32_C(0x0060A8C5), UINT32_C(0x00508B76),
7990           UINT32_C(0x004F108E), UINT32_C(0x0054D331), UINT32_C(0x0027A7E8),
7991           UINT32_C(0x00346905), UINT32_C(0x00450F84), UINT32_C(0x001D3E9C),
7992           UINT32_C(0x000B0762), UINT32_C(0x00032396)},
7993          {UINT32_C(0x004FAD75), UINT32_C(0x00013909), UINT32_C(0x00279AA7),
7994           UINT32_C(0x00661D96), UINT32_C(0x0011C8F3), UINT32_C(0x004E1E02),
7995           UINT32_C(0x0079B899), UINT32_C(0x00219A22), UINT32_C(0x007D00F4),
7996           UINT32_C(0x0073A047), UINT32_C(0x00112302)},
7997          {UINT32_C(0x00C06EE2), UINT32_C(0x003FE63F), UINT32_C(0x0041BD79),
7998           UINT32_C(0x00096C7C), UINT32_C(0x00716A9D), UINT32_C(0x00616E56),
7999           UINT32_C(0x003FA2BD), UINT32_C(0x006CC575), UINT32_C(0x0077B6FA),
8000           UINT32_C(0x005D8484), UINT32_C(0x004EC884)}},
8001         {{UINT32_C(0x00EEDE54), UINT32_C(0x0060BECB), UINT32_C(0x00454F6A),
8002           UINT32_C(0x007CA867), UINT32_C(0x003128D5), UINT32_C(0x001A6257),
8003           UINT32_C(0x001C9D64), UINT32_C(0x0047D7B2), UINT32_C(0x0048D9D4),
8004           UINT32_C(0x00387A36), UINT32_C(0x0030150F)},
8005          {UINT32_C(0x00869B40), UINT32_C(0x004423AB), UINT32_C(0x006A0C98),
8006           UINT32_C(0x004BE18D), UINT32_C(0x000680E9), UINT32_C(0x006F03C8),
8007           UINT32_C(0x0035097A), UINT32_C(0x00163A09), UINT32_C(0x00036511),
8008           UINT32_C(0x002020C4), UINT32_C(0x0032F125)},
8009          {UINT32_C(0x006499A6), UINT32_C(0x0032DBAB), UINT32_C(0x0050F205),
8010           UINT32_C(0x00127C8C), UINT32_C(0x0071C444), UINT32_C(0x00610493),
8011           UINT32_C(0x0057B4B2), UINT32_C(0x00B0B2CA), UINT32_C(0x0034A155),
8012           UINT32_C(0x006D7797), UINT32_C(0x0063E346)}},
8013         {{UINT32_C(0x0030C824), UINT32_C(0x00393557), UINT32_C(0x002AA53A),
8014           UINT32_C(0x00232B1F), UINT32_C(0x007E74FF), UINT32_C(0x0058171D),
8015           UINT32_C(0x000328E4), UINT32_C(0x0085BA6B), UINT32_C(0x0013D154),
8016           UINT32_C(0x0018258C), UINT32_C(0x006FA2B0)},
8017          {UINT32_C(0x00C3FCC1), UINT32_C(0x006B3441), UINT32_C(0x005E8829),
8018           UINT32_C(0x00B3314C), UINT32_C(0x0004ECB2), UINT32_C(0x006B3C89),
8019           UINT32_C(0x003F2F04), UINT32_C(0x0092C88B), UINT32_C(0x001EC53B),
8020           UINT32_C(0x0031EA9C), UINT32_C(0x000BDC2A)},
8021          {UINT32_C(0x0063FFE8), UINT32_C(0x000EFB74), UINT32_C(0x0015043F),
8022           UINT32_C(0x005F290A), UINT32_C(0x001DA041), UINT32_C(0x0060291C),
8023           UINT32_C(0x007C2769), UINT32_C(0x00EB677A), UINT32_C(0x0043B7A4),
8024           UINT32_C(0x0033A181), UINT32_C(0x003F9D2D)}},
8025         {{UINT32_C(0x006CC3EF), UINT32_C(0x002F3089), UINT32_C(0x0061B741),
8026           UINT32_C(0x007537D8), UINT32_C(0x00717E80), UINT32_C(0x000BD6BF),
8027           UINT32_C(0x003D6972), UINT32_C(0x00BE0A56), UINT32_C(0x007C075B),
8028           UINT32_C(0x005C62F6), UINT32_C(0x003CA2DF)},
8029          {UINT32_C(0x00171808), UINT32_C(0x005A205B), UINT32_C(0x0005AD96),
8030           UINT32_C(0x0058D8E1), UINT32_C(0x00423531), UINT32_C(0x005C11A5),
8031           UINT32_C(0x00169496), UINT32_C(0x001AB66A), UINT32_C(0x002F6C8B),
8032           UINT32_C(0x00668CFD), UINT32_C(0x006B0027)},
8033          {UINT32_C(0x00528A82), UINT32_C(0x002B2713), UINT32_C(0x0079DE04),
8034           UINT32_C(0x00EF8CF9), UINT32_C(0x006263B9), UINT32_C(0x00720507),
8035           UINT32_C(0x0052404F), UINT32_C(0x003C93E8), UINT32_C(0x00100A85),
8036           UINT32_C(0x006D3FFA), UINT32_C(0x003B14B0)}},
8037         {{UINT32_C(0x00F84103), UINT32_C(0x002EFED0), UINT32_C(0x004DF3E6),
8038           UINT32_C(0x001A7373), UINT32_C(0x004C8064), UINT32_C(0x0032CAAE),
8039           UINT32_C(0x000E2E35), UINT32_C(0x00099871), UINT32_C(0x0043615C),
8040           UINT32_C(0x005D4D9B), UINT32_C(0x003A809B)},
8041          {UINT32_C(0x00688B18), UINT32_C(0x003E6C8B), UINT32_C(0x007DA089),
8042           UINT32_C(0x00470987), UINT32_C(0x0006E04D), UINT32_C(0x00346F12),
8043           UINT32_C(0x0054964B), UINT32_C(0x001C7FB1), UINT32_C(0x0028F4AF),
8044           UINT32_C(0x006ABA8D), UINT32_C(0x007BEAD8)},
8045          {UINT32_C(0x00A4DB09), UINT32_C(0x000F021A), UINT32_C(0x000E3BF3),
8046           UINT32_C(0x00347724), UINT32_C(0x001CD5E3), UINT32_C(0x00570A82),
8047           UINT32_C(0x001A702F), UINT32_C(0x00AF41F7), UINT32_C(0x005573E8),
8048           UINT32_C(0x007B6CC3), UINT32_C(0x000E6B2F)}},
8049         {{UINT32_C(0x00C4323E), UINT32_C(0x005E5A07), UINT32_C(0x006E0C89),
8050           UINT32_C(0x00018D1E), UINT32_C(0x00582AB5), UINT32_C(0x004E8211),
8051           UINT32_C(0x0021ED53), UINT32_C(0x006B639D), UINT32_C(0x00505AE2),
8052           UINT32_C(0x007DF924), UINT32_C(0x002AA137)},
8053          {UINT32_C(0x00C33279), UINT32_C(0x00685341), UINT32_C(0x00643C48),
8054           UINT32_C(0x00ACAC38), UINT32_C(0x005AE420), UINT32_C(0x00514A01),
8055           UINT32_C(0x006BEB21), UINT32_C(0x003CC859), UINT32_C(0x0017135D),
8056           UINT32_C(0x004ADA1B), UINT32_C(0x007CF53B)},
8057          {UINT32_C(0x006149FF), UINT32_C(0x00353234), UINT32_C(0x0000FE22),
8058           UINT32_C(0x001F09D7), UINT32_C(0x00021F65), UINT32_C(0x0049C3AD),
8059           UINT32_C(0x001C1A78), UINT32_C(0x00E00DFB), UINT32_C(0x00228A53),
8060           UINT32_C(0x005812BD), UINT32_C(0x00407161)}},
8061         {{UINT32_C(0x00AC8719), UINT32_C(0x004B5C52), UINT32_C(0x001AD60A),
8062           UINT32_C(0x001B2FAC), UINT32_C(0x004CD6B6), UINT32_C(0x002823C4),
8063           UINT32_C(0x003BE7C2), UINT32_C(0x009BDCCC), UINT32_C(0x00566B2F),
8064           UINT32_C(0x00205A09), UINT32_C(0x006C27CE)},
8065          {UINT32_C(0x0053FC77), UINT32_C(0x003F8121), UINT32_C(0x0073622F),
8066           UINT32_C(0x00775975), UINT32_C(0x007FED73), UINT32_C(0x0041C648),
8067           UINT32_C(0x00462A53), UINT32_C(0x00FFBFD4), UINT32_C(0x0011A7DF),
8068           UINT32_C(0x003092B5), UINT32_C(0x00261A53)},
8069          {UINT32_C(0x009AAFB7), UINT32_C(0x0013BCE1), UINT32_C(0x004971F6),
8070           UINT32_C(0x00EDD1B3), UINT32_C(0x002525B4), UINT32_C(0x0058D61A),
8071           UINT32_C(0x0066E9D1), UINT32_C(0x009B73B8), UINT32_C(0x0033C84A),
8072           UINT32_C(0x0006CAB6), UINT32_C(0x00008EB2)}},
8073         {{UINT32_C(0x00492C5D), UINT32_C(0x005CF97D), UINT32_C(0x0007722C),
8074           UINT32_C(0x0066F3B8), UINT32_C(0x000306A7), UINT32_C(0x007D6927),
8075           UINT32_C(0x0023F020), UINT32_C(0x00BD1D41), UINT32_C(0x00497C08),
8076           UINT32_C(0x005699EF), UINT32_C(0x00369E3D)},
8077          {UINT32_C(0x0025F79F), UINT32_C(0x005176A4), UINT32_C(0x003D2CDA),
8078           UINT32_C(0x00F5AAC3), UINT32_C(0x000A2AD0), UINT32_C(0x006D725F),
8079           UINT32_C(0x000E7277), UINT32_C(0x00B14CC5), UINT32_C(0x002D5FC8),
8080           UINT32_C(0x007F764F), UINT32_C(0x0050EF13)},
8081          {UINT32_C(0x0097E85B), UINT32_C(0x001C0CFD), UINT32_C(0x006027C7),
8082           UINT32_C(0x0038732E), UINT32_C(0x003385DC), UINT32_C(0x006F67DF),
8083           UINT32_C(0x0038EF81), UINT32_C(0x00F717C0), UINT32_C(0x000B4878),
8084           UINT32_C(0x00099CD4), UINT32_C(0x0071787D)}},
8085         {{UINT32_C(0x000EB7F2), UINT32_C(0x007F42B8), UINT32_C(0x0070653E),
8086           UINT32_C(0x00320A4F), UINT32_C(0x0016BB51), UINT32_C(0x00691D90),
8087           UINT32_C(0x00138916), UINT32_C(0x00D043DE), UINT32_C(0x00107F57),
8088           UINT32_C(0x001DCB80), UINT32_C(0x0059F0BB)},
8089          {UINT32_C(0x005CD9B5), UINT32_C(0x002A2874), UINT32_C(0x000600A5),
8090           UINT32_C(0x00235734), UINT32_C(0x002313EF), UINT32_C(0x00312DEA),
8091           UINT32_C(0x0029CA11), UINT32_C(0x00973048), UINT32_C(0x004D4134),
8092           UINT32_C(0x003E99AC), UINT32_C(0x000867B4)},
8093          {UINT32_C(0x002FA5A2), UINT32_C(0x00413E42), UINT32_C(0x00772166),
8094           UINT32_C(0x001C593A), UINT32_C(0x006949A2), UINT32_C(0x00786FF6),
8095           UINT32_C(0x003BB2E2), UINT32_C(0x002BC314), UINT32_C(0x00125CC6),
8096           UINT32_C(0x007B110C), UINT32_C(0x004E5352)}},
8097         {{UINT32_C(0x00E38B2F), UINT32_C(0x00549D88), UINT32_C(0x00451B24),
8098           UINT32_C(0x00237AB5), UINT32_C(0x000DAF24), UINT32_C(0x00028B85),
8099           UINT32_C(0x0002439F), UINT32_C(0x007FF9B1), UINT32_C(0x004B3263),
8100           UINT32_C(0x007B2514), UINT32_C(0x00130159)},
8101          {UINT32_C(0x00CBEDBE), UINT32_C(0x00164E8E), UINT32_C(0x006D1617),
8102           UINT32_C(0x00971E62), UINT32_C(0x0014CEC3), UINT32_C(0x00654E4C),
8103           UINT32_C(0x003EE5FE), UINT32_C(0x00D5DB3C), UINT32_C(0x0007E501),
8104           UINT32_C(0x0059EAD8), UINT32_C(0x0033FEF5)},
8105          {UINT32_C(0x00F396A9), UINT32_C(0x000E12CC), UINT32_C(0x0066F113),
8106           UINT32_C(0x0032A657), UINT32_C(0x00558CEA), UINT32_C(0x0035397E),
8107           UINT32_C(0x0072BA41), UINT32_C(0x001BAC1F), UINT32_C(0x00458EAD),
8108           UINT32_C(0x000176E4), UINT32_C(0x006D9827)}},
8109         {{UINT32_C(0x0054ACCB), UINT32_C(0x006837A0), UINT32_C(0x005E0E17),
8110           UINT32_C(0x002D46A3), UINT32_C(0x001EC13B), UINT32_C(0x0055ED3F),
8111           UINT32_C(0x004AD796), UINT32_C(0x009822FD), UINT32_C(0x006E60A8),
8112           UINT32_C(0x0019C052), UINT32_C(0x0047770E)},
8113          {UINT32_C(0x002D311B), UINT32_C(0x0025BEF8), UINT32_C(0x00441B88),
8114           UINT32_C(0x000175A1), UINT32_C(0x0077C008), UINT32_C(0x007C334F),
8115           UINT32_C(0x003B3992), UINT32_C(0x00CA38F0), UINT32_C(0x0002777D),
8116           UINT32_C(0x003C8B93), UINT32_C(0x0028F8C6)},
8117          {UINT32_C(0x008E76E6), UINT32_C(0x000A66B8), UINT32_C(0x0049E5D6),
8118           UINT32_C(0x00E8B276), UINT32_C(0x0032543C), UINT32_C(0x0027A563),
8119           UINT32_C(0x0000CF52), UINT32_C(0x00DEDDB7), UINT32_C(0x00401370),
8120           UINT32_C(0x000F47DB), UINT32_C(0x00502929)}},
8121         {{UINT32_C(0x00AECCC3), UINT32_C(0x0054C9AE), UINT32_C(0x002F21DC),
8122           UINT32_C(0x0059D2B0), UINT32_C(0x0033CED8), UINT32_C(0x004A2E1F),
8123           UINT32_C(0x0019B7CF), UINT32_C(0x0095A290), UINT32_C(0x0070C5C6),
8124           UINT32_C(0x002EB87D), UINT32_C(0x007DB934)},
8125          {UINT32_C(0x0078836C), UINT32_C(0x003DF99A), UINT32_C(0x005C291E),
8126           UINT32_C(0x00534356), UINT32_C(0x00247324), UINT32_C(0x002F5070),
8127           UINT32_C(0x003EEB8F), UINT32_C(0x003A920E), UINT32_C(0x0002D28C),
8128           UINT32_C(0x000FF5FB), UINT32_C(0x007336AA)},
8129          {UINT32_C(0x001FA1A5), UINT32_C(0x00212F13), UINT32_C(0x00577134),
8130           UINT32_C(0x004BA237), UINT32_C(0x0049A436), UINT32_C(0x007F6BB2),
8131           UINT32_C(0x00722AC5), UINT32_C(0x00C0532E), UINT32_C(0x007534D3),
8132           UINT32_C(0x001DCBE4), UINT32_C(0x00726554)}},
8133     },
8134     {
8135         {{UINT32_C(0x009D7F04), UINT32_C(0x003E522B), UINT32_C(0x004E8173),
8136           UINT32_C(0x001C1588), UINT32_C(0x0022E52F), UINT32_C(0x007A9393),
8137           UINT32_C(0x006F3F0A), UINT32_C(0x00537EF6), UINT32_C(0x0061C5EA),
8138           UINT32_C(0x001044A3), UINT32_C(0x005E8C14)},
8139          {UINT32_C(0x00CC8AA4), UINT32_C(0x000C72ED), UINT32_C(0x0000DF49),
8140           UINT32_C(0x00798195), UINT32_C(0x000C41B1), UINT32_C(0x005C0709),
8141           UINT32_C(0x0063F579), UINT32_C(0x00797385), UINT32_C(0x00561750),
8142           UINT32_C(0x0022408A), UINT32_C(0x0033DFF7)},
8143          {UINT32_C(0x00E72D7C), UINT32_C(0x0052E6A6), UINT32_C(0x00677E30),
8144           UINT32_C(0x00DA67FB), UINT32_C(0x0053230A), UINT32_C(0x007B8901),
8145           UINT32_C(0x0045AC83), UINT32_C(0x0010FEFC), UINT32_C(0x006E69B3),
8146           UINT32_C(0x006008DB), UINT32_C(0x006D7911)}},
8147         {{UINT32_C(0x004F7A12), UINT32_C(0x003FE9B9), UINT32_C(0x0035897D),
8148           UINT32_C(0x0092A16A), UINT32_C(0x002ABB20), UINT32_C(0x003C1F4F),
8149           UINT32_C(0x00170A77), UINT32_C(0x0014D957), UINT32_C(0x003289DC),
8150           UINT32_C(0x0005BECE), UINT32_C(0x00601138)},
8151          {UINT32_C(0x0061EEA8), UINT32_C(0x00211689), UINT32_C(0x002EAEF4),
8152           UINT32_C(0x002EE6E9), UINT32_C(0x0042698F), UINT32_C(0x002C17BC),
8153           UINT32_C(0x00153303), UINT32_C(0x000EA9B7), UINT32_C(0x00335B95),
8154           UINT32_C(0x00101F4E), UINT32_C(0x00661849)},
8155          {UINT32_C(0x00AEA3D6), UINT32_C(0x00406869), UINT32_C(0x00375EE9),
8156           UINT32_C(0x00D5E095), UINT32_C(0x00510487), UINT32_C(0x00425B84),
8157           UINT32_C(0x002933E8), UINT32_C(0x0085EA0B), UINT32_C(0x0036858A),
8158           UINT32_C(0x0015643E), UINT32_C(0x00291032)}},
8159         {{UINT32_C(0x00B19259), UINT32_C(0x0044D63D), UINT32_C(0x000D8B2C),
8160           UINT32_C(0x00F03F2A), UINT32_C(0x0075DD51), UINT32_C(0x0063574F),
8161           UINT32_C(0x00597D0C), UINT32_C(0x004CC301), UINT32_C(0x0008F143),
8162           UINT32_C(0x001955D2), UINT32_C(0x000EFE67)},
8163          {UINT32_C(0x0012F590), UINT32_C(0x0008204C), UINT32_C(0x007F0B91),
8164           UINT32_C(0x00397CAF), UINT32_C(0x00617872), UINT32_C(0x002BCC89),
8165           UINT32_C(0x00560BB9), UINT32_C(0x00755598), UINT32_C(0x006EECB1),
8166           UINT32_C(0x004BA0C7), UINT32_C(0x001A34AB)},
8167          {UINT32_C(0x008528CC), UINT32_C(0x00580BBC), UINT32_C(0x005B25D1),
8168           UINT32_C(0x007506DD), UINT32_C(0x007DC690), UINT32_C(0x007F96D8),
8169           UINT32_C(0x00392289), UINT32_C(0x00AEF1AE), UINT32_C(0x0063168D),
8170           UINT32_C(0x0072BE2C), UINT32_C(0x005157C5)}},
8171         {{UINT32_C(0x003A9FD2), UINT32_C(0x005B25BE), UINT32_C(0x004F27F7),
8172           UINT32_C(0x00BB4A51), UINT32_C(0x000662C0), UINT32_C(0x0041BBE0),
8173           UINT32_C(0x00460962), UINT32_C(0x002EF651), UINT32_C(0x0017689F),
8174           UINT32_C(0x00071079), UINT32_C(0x0001A5DF)},
8175          {UINT32_C(0x00F75DF0), UINT32_C(0x0049FC9F), UINT32_C(0x006A8F37),
8176           UINT32_C(0x00C7015B), UINT32_C(0x001EE02F), UINT32_C(0x003A578B),
8177           UINT32_C(0x004F5B70), UINT32_C(0x0046D34E), UINT32_C(0x0036C503),
8178           UINT32_C(0x004A47A8), UINT32_C(0x001555FC)},
8179          {UINT32_C(0x000C1A1C), UINT32_C(0x0018A095), UINT32_C(0x004C6DD3),
8180           UINT32_C(0x00622629), UINT32_C(0x001A4B4D), UINT32_C(0x001EC488),
8181           UINT32_C(0x007C4E62), UINT32_C(0x00F0CBDB), UINT32_C(0x0053F494),
8182           UINT32_C(0x0025E122), UINT32_C(0x006FE5D9)}},
8183         {{UINT32_C(0x001D0B59), UINT32_C(0x002BC2EB), UINT32_C(0x006C247D),
8184           UINT32_C(0x0017164C), UINT32_C(0x0016C9E8), UINT32_C(0x003FE112),
8185           UINT32_C(0x00523C8C), UINT32_C(0x00500E55), UINT32_C(0x001EBD4A),
8186           UINT32_C(0x002663A4), UINT32_C(0x002FF15B)},
8187          {UINT32_C(0x009AECD9), UINT32_C(0x00079901), UINT32_C(0x006A6241),
8188           UINT32_C(0x003D62B1), UINT32_C(0x006182F6), UINT32_C(0x001F7C9C),
8189           UINT32_C(0x0030C6A5), UINT32_C(0x00C1D9FD), UINT32_C(0x000AF3AE),
8190           UINT32_C(0x007306C0), UINT32_C(0x007180E7)},
8191          {UINT32_C(0x0072CCE1), UINT32_C(0x002EF926), UINT32_C(0x0033946B),
8192           UINT32_C(0x00DD4125), UINT32_C(0x00466F98), UINT32_C(0x005626FE),
8193           UINT32_C(0x004D69F2), UINT32_C(0x00423C76), UINT32_C(0x0065D10D),
8194           UINT32_C(0x002D6287), UINT32_C(0x002DD36E)}},
8195         {{UINT32_C(0x0060C004), UINT32_C(0x002DF8E2), UINT32_C(0x0073334C),
8196           UINT32_C(0x008C39C6), UINT32_C(0x00509B37), UINT32_C(0x007E8198),
8197           UINT32_C(0x000F62E1), UINT32_C(0x00DD92B1), UINT32_C(0x001998EC),
8198           UINT32_C(0x002CAD76), UINT32_C(0x00202123)},
8199          {UINT32_C(0x00131346), UINT32_C(0x007A9FF0), UINT32_C(0x00587E28),
8200           UINT32_C(0x005434EA), UINT32_C(0x000C2CE8), UINT32_C(0x004B1B22),
8201           UINT32_C(0x0045D4A2), UINT32_C(0x009F60D4), UINT32_C(0x0057E546),
8202           UINT32_C(0x0064D05F), UINT32_C(0x006EEC72)},
8203          {UINT32_C(0x0021F448), UINT32_C(0x0010845A), UINT32_C(0x0006B85E),
8204           UINT32_C(0x00AB9D0A), UINT32_C(0x0042FE06), UINT32_C(0x0033EE0E),
8205           UINT32_C(0x006AD2F2), UINT32_C(0x005C9579), UINT32_C(0x0067DFC7),
8206           UINT32_C(0x003C1F3B), UINT32_C(0x00699BE9)}},
8207         {{UINT32_C(0x00A66972), UINT32_C(0x005C9C52), UINT32_C(0x0033F743),
8208           UINT32_C(0x002E4131), UINT32_C(0x0018DAB0), UINT32_C(0x00451021),
8209           UINT32_C(0x004A7644), UINT32_C(0x00280CE7), UINT32_C(0x0054A55B),
8210           UINT32_C(0x0000D618), UINT32_C(0x0006EA24)},
8211          {UINT32_C(0x00836291), UINT32_C(0x005C23F3), UINT32_C(0x003EF835),
8212           UINT32_C(0x006B6300), UINT32_C(0x00459EBC), UINT32_C(0x007C3224),
8213           UINT32_C(0x0044102E), UINT32_C(0x00E2D759), UINT32_C(0x0058BA8F),
8214           UINT32_C(0x00203AA3), UINT32_C(0x006F64DB)},
8215          {UINT32_C(0x00A80AE1), UINT32_C(0x0002F426), UINT32_C(0x005F82DF),
8216           UINT32_C(0x00129B98), UINT32_C(0x0016684F), UINT32_C(0x0037C9F8),
8217           UINT32_C(0x00798FDE), UINT32_C(0x005C8F79), UINT32_C(0x0007C718),
8218           UINT32_C(0x0052B29A), UINT32_C(0x00059CBE)}},
8219         {{UINT32_C(0x00126A51), UINT32_C(0x002CB978), UINT32_C(0x00423FCC),
8220           UINT32_C(0x00B9CC4C), UINT32_C(0x002AA538), UINT32_C(0x00395FBB),
8221           UINT32_C(0x00327373), UINT32_C(0x00C23CA5), UINT32_C(0x00544D71),
8222           UINT32_C(0x00455CE2), UINT32_C(0x0077726F)},
8223          {UINT32_C(0x00E72C58), UINT32_C(0x0056C6C9), UINT32_C(0x003D49ED),
8224           UINT32_C(0x00C8F1D2), UINT32_C(0x004A8FA5), UINT32_C(0x006F3C45),
8225           UINT32_C(0x0069AB18), UINT32_C(0x00D5CE81), UINT32_C(0x000A718F),
8226           UINT32_C(0x004420F7), UINT32_C(0x002B7F53)},
8227          {UINT32_C(0x00809D3C), UINT32_C(0x005957A2), UINT32_C(0x006A3FB7),
8228           UINT32_C(0x00FC7710), UINT32_C(0x002F2CC5), UINT32_C(0x0068D0E3),
8229           UINT32_C(0x0017780D), UINT32_C(0x00B2B1F6), UINT32_C(0x001C4FDE),
8230           UINT32_C(0x0072D97A), UINT32_C(0x003E98AB)}},
8231         {{UINT32_C(0x00276A10), UINT32_C(0x0064190E), UINT32_C(0x000243B5),
8232           UINT32_C(0x00EE59AE), UINT32_C(0x0016FC7F), UINT32_C(0x0036935E),
8233           UINT32_C(0x0058A7F7), UINT32_C(0x006AAA88), UINT32_C(0x0036ED90),
8234           UINT32_C(0x00779372), UINT32_C(0x0030DC06)},
8235          {UINT32_C(0x00208159), UINT32_C(0x00170255), UINT32_C(0x00695DF5),
8236           UINT32_C(0x00411E22), UINT32_C(0x00477C68), UINT32_C(0x0032102F),
8237           UINT32_C(0x001B026A), UINT32_C(0x0038CA4D), UINT32_C(0x00235EC5),
8238           UINT32_C(0x0078C8B9), UINT32_C(0x00651C9F)},
8239          {UINT32_C(0x0067D2A4), UINT32_C(0x00446632), UINT32_C(0x003D1074),
8240           UINT32_C(0x00032AC4), UINT32_C(0x0061127F), UINT32_C(0x0004B798),
8241           UINT32_C(0x00003C2D), UINT32_C(0x00F00C4B), UINT32_C(0x00603764),
8242           UINT32_C(0x0074558D), UINT32_C(0x00375BF7)}},
8243         {{UINT32_C(0x00B4CE41), UINT32_C(0x007FBBC3), UINT32_C(0x00750477),
8244           UINT32_C(0x00DA8800), UINT32_C(0x000B20CD), UINT32_C(0x002FDE44),
8245           UINT32_C(0x0001448F), UINT32_C(0x001B1EE5), UINT32_C(0x003B0FDC),
8246           UINT32_C(0x00600D6A), UINT32_C(0x0042807B)},
8247          {UINT32_C(0x005C7646), UINT32_C(0x004F6D9A), UINT32_C(0x0047B855),
8248           UINT32_C(0x003D2CEB), UINT32_C(0x007B2B58), UINT32_C(0x0032B9DA),
8249           UINT32_C(0x00118C1E), UINT32_C(0x006DA898), UINT32_C(0x00432BB2),
8250           UINT32_C(0x0014A742), UINT32_C(0x00214F42)},
8251          {UINT32_C(0x0063536B), UINT32_C(0x0073EDC7), UINT32_C(0x00608DC1),
8252           UINT32_C(0x00757BDA), UINT32_C(0x0073293A), UINT32_C(0x00510B0D),
8253           UINT32_C(0x001C8A86), UINT32_C(0x00406F0A), UINT32_C(0x0030DAA7),
8254           UINT32_C(0x000F6F80), UINT32_C(0x0007A1D7)}},
8255         {{UINT32_C(0x00A8E90B), UINT32_C(0x007407DB), UINT32_C(0x00440BF0),
8256           UINT32_C(0x007198C8), UINT32_C(0x001A09F8), UINT32_C(0x000916B3),
8257           UINT32_C(0x0061A7D6), UINT32_C(0x00A714BE), UINT32_C(0x0039589D),
8258           UINT32_C(0x0011D76D), UINT32_C(0x00323B2D)},
8259          {UINT32_C(0x00E19A5C), UINT32_C(0x00141B92), UINT32_C(0x00409B73),
8260           UINT32_C(0x006F090B), UINT32_C(0x007E0865), UINT32_C(0x004B7DA7),
8261           UINT32_C(0x006EBE5E), UINT32_C(0x00CE6360), UINT32_C(0x003FE520),
8262           UINT32_C(0x005C6EFA), UINT32_C(0x002904A1)},
8263          {UINT32_C(0x007BF307), UINT32_C(0x00095790), UINT32_C(0x0009FCE8),
8264           UINT32_C(0x001A0547), UINT32_C(0x001C1E57), UINT32_C(0x007C07EE),
8265           UINT32_C(0x00405EE9), UINT32_C(0x004047E0), UINT32_C(0x006DE98E),
8266           UINT32_C(0x004E2A25), UINT32_C(0x0066F1F0)}},
8267         {{UINT32_C(0x00C266C9), UINT32_C(0x0078A6A6), UINT32_C(0x005AE507),
8268           UINT32_C(0x00029D74), UINT32_C(0x00025040), UINT32_C(0x004030CE),
8269           UINT32_C(0x006D0A48), UINT32_C(0x0076B699), UINT32_C(0x001E465B),
8270           UINT32_C(0x000082E1), UINT32_C(0x0069B738)},
8271          {UINT32_C(0x00BD1302), UINT32_C(0x003CA015), UINT32_C(0x00107897),
8272           UINT32_C(0x00FA47BE), UINT32_C(0x0049E714), UINT32_C(0x000B1555),
8273           UINT32_C(0x0053443D), UINT32_C(0x00EE9331), UINT32_C(0x00514330),
8274           UINT32_C(0x0039A875), UINT32_C(0x00050473)},
8275          {UINT32_C(0x00B3D5E2), UINT32_C(0x002E59A5), UINT32_C(0x00444307),
8276           UINT32_C(0x001495AA), UINT32_C(0x007E4455), UINT32_C(0x001E0A82),
8277           UINT32_C(0x002AB250), UINT32_C(0x003E1A5A), UINT32_C(0x000DB2A8),
8278           UINT32_C(0x0010A30C), UINT32_C(0x0032799B)}},
8279         {{UINT32_C(0x002DFB8B), UINT32_C(0x0056DBFB), UINT32_C(0x0067D9E7),
8280           UINT32_C(0x007E49DF), UINT32_C(0x000D0A8B), UINT32_C(0x001D2692),
8281           UINT32_C(0x006D4621), UINT32_C(0x00D98598), UINT32_C(0x0034D873),
8282           UINT32_C(0x0021CBB4), UINT32_C(0x0075EBF4)},
8283          {UINT32_C(0x00757E5C), UINT32_C(0x001F41CE), UINT32_C(0x002E6367),
8284           UINT32_C(0x00180064), UINT32_C(0x004FEBFE), UINT32_C(0x0004F8E5),
8285           UINT32_C(0x001FB594), UINT32_C(0x007471A5), UINT32_C(0x0060AE8E),
8286           UINT32_C(0x007B789E), UINT32_C(0x0072FBC1)},
8287          {UINT32_C(0x00028861), UINT32_C(0x0076CF2E), UINT32_C(0x00757BC9),
8288           UINT32_C(0x00E1A580), UINT32_C(0x00355683), UINT32_C(0x002A8FE7),
8289           UINT32_C(0x00542152), UINT32_C(0x00561514), UINT32_C(0x00725460),
8290           UINT32_C(0x007285A9), UINT32_C(0x004B1809)}},
8291         {{UINT32_C(0x00355837), UINT32_C(0x002DDA4C), UINT32_C(0x003DD1AC),
8292           UINT32_C(0x005CC538), UINT32_C(0x00647CBC), UINT32_C(0x0072DB88),
8293           UINT32_C(0x007F7C75), UINT32_C(0x002AE840), UINT32_C(0x00062A1A),
8294           UINT32_C(0x00518336), UINT32_C(0x00791C9D)},
8295          {UINT32_C(0x0007CA0E), UINT32_C(0x002EA83D), UINT32_C(0x00794D8F),
8296           UINT32_C(0x0074F12E), UINT32_C(0x00573D80), UINT32_C(0x00334BAD),
8297           UINT32_C(0x007061C7), UINT32_C(0x00EC3EB0), UINT32_C(0x004AFF19),
8298           UINT32_C(0x007B77C6), UINT32_C(0x002C2CD6)},
8299          {UINT32_C(0x00332C81), UINT32_C(0x005AEC4B), UINT32_C(0x002D4025),
8300           UINT32_C(0x000003C9), UINT32_C(0x00329780), UINT32_C(0x0045F540),
8301           UINT32_C(0x004B3238), UINT32_C(0x00A2B784), UINT32_C(0x001953EA),
8302           UINT32_C(0x00256030), UINT32_C(0x00398A20)}},
8303         {{UINT32_C(0x000EC4A0), UINT32_C(0x00641937), UINT32_C(0x006B364E),
8304           UINT32_C(0x00DA64E5), UINT32_C(0x001DC048), UINT32_C(0x002583F4),
8305           UINT32_C(0x0026D1D9), UINT32_C(0x00EDA8AF), UINT32_C(0x0047D78B),
8306           UINT32_C(0x002EEFE4), UINT32_C(0x002CC316)},
8307          {UINT32_C(0x0081CBB1), UINT32_C(0x006E1C62), UINT32_C(0x002FACAB),
8308           UINT32_C(0x00A6588F), UINT32_C(0x00250981), UINT32_C(0x0061708F),
8309           UINT32_C(0x0074479E), UINT32_C(0x003F3B34), UINT32_C(0x00140C2C),
8310           UINT32_C(0x002EBBC2), UINT32_C(0x00227AAF)},
8311          {UINT32_C(0x00DB9FC3), UINT32_C(0x0053114A), UINT32_C(0x0052ECA2),
8312           UINT32_C(0x003DC40A), UINT32_C(0x007DC659), UINT32_C(0x000D3562),
8313           UINT32_C(0x002C373C), UINT32_C(0x00FAF2D6), UINT32_C(0x002B7888),
8314           UINT32_C(0x0056EFFE), UINT32_C(0x00162CF7)}},
8315         {{UINT32_C(0x00A14EAC), UINT32_C(0x005D7C37), UINT32_C(0x002C818A),
8316           UINT32_C(0x008FB8CD), UINT32_C(0x0062E148), UINT32_C(0x004C3163),
8317           UINT32_C(0x0053D48D), UINT32_C(0x005823EA), UINT32_C(0x002D1D27),
8318           UINT32_C(0x00057B1E), UINT32_C(0x002C3DDA)},
8319          {UINT32_C(0x0053A948), UINT32_C(0x004C6EF1), UINT32_C(0x002D74B8),
8320           UINT32_C(0x001219E4), UINT32_C(0x0071C013), UINT32_C(0x00262046),
8321           UINT32_C(0x00421ADF), UINT32_C(0x00BFB901), UINT32_C(0x001E79C9),
8322           UINT32_C(0x0035B45B), UINT32_C(0x0041AC61)},
8323          {UINT32_C(0x002C184D), UINT32_C(0x0047D074), UINT32_C(0x0034003A),
8324           UINT32_C(0x005DCCFB), UINT32_C(0x00524D8F), UINT32_C(0x0059FB03),
8325           UINT32_C(0x0034304B), UINT32_C(0x00EACD9B), UINT32_C(0x002761FA),
8326           UINT32_C(0x003C9C64), UINT32_C(0x004B14DD)}},
8327     }};
8328
8329 /*-
8330  * Q := 2P, both projective, Q and P same pointers OK
8331  * Autogenerated: op3/dbl_proj_ed_eone.op3
8332  * https://www.hyperelliptic.org/EFD/g1p/auto-code/twisted/extended-1/doubling/dbl-2008-hwcd.op3
8333  * ASSERT: e = 1
8334  */
8335 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
8336     /* temporary variables */
8337     fe_t t0, t1, t2, t3;
8338     /* constants */
8339     /* set pointers for Edwards curve arith */
8340     const limb_t *X = P->X;
8341     const limb_t *Y = P->Y;
8342     const limb_t *Z = P->Z;
8343     limb_t *X3 = Q->X;
8344     limb_t *Y3 = Q->Y;
8345     limb_t *T3 = Q->T;
8346     limb_t *Z3 = Q->Z;
8347
8348     /* the curve arith formula */
8349     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t0, X);
8350     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t1, Y);
8351     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t2, Z);
8352     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, t2, t2);
8353     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X, Y);
8354     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(Y3, X3);
8355     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, Y3, t0);
8356     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, T3, t1);
8357     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, t0, t1);
8358     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t2, Y3, t3);
8359     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t3, t0, t1);
8360     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, Z3, t2);
8361     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, Z3, t3);
8362     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, t2, Y3);
8363     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y3, t3);
8364 }
8365
8366 /*-
8367  * R := Q + P where R and Q are projective, P affine.
8368  * R and Q same pointers OK
8369  * R and P same pointers not OK
8370  * Autogenerated: op3/add_mixed_ed_eone.op3
8371  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/madd-2008-hwcd.op3
8372  * ASSERT: e = 1
8373  */
8374 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
8375     /* temporary variables */
8376     fe_t t0, t1, t2, t3;
8377     /* constants */
8378     const limb_t *d = const_d;
8379     /* set pointers for Edwards curve arith */
8380     const limb_t *X1 = Q->X;
8381     const limb_t *Y1 = Q->Y;
8382     const limb_t *T1 = Q->T;
8383     const limb_t *Z1 = Q->Z;
8384     const limb_t *X2 = P->X;
8385     const limb_t *Y2 = P->Y;
8386     const limb_t *T2 = P->T;
8387     limb_t *X3 = R->X;
8388     limb_t *Y3 = R->Y;
8389     limb_t *T3 = R->T;
8390     limb_t *Z3 = R->Z;
8391
8392     /* the curve arith formula */
8393     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t0, X1, X2);
8394     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, Y1, Y2);
8395     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, d, T2);
8396     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, T1, t2);
8397     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X1, Y1);
8398     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, X2, Y2);
8399     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
8400     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t3, T3, t0);
8401     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, t3, t1);
8402     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, Z1, t2);
8403     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, Z1, t2);
8404     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, t1, t0);
8405     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Z3);
8406     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, t3, t1);
8407     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, T3, t1);
8408     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Z3, t3);
8409 }
8410
8411 /*-
8412  * R := Q + P all projective.
8413  * R and Q same pointers OK
8414  * R and P same pointers not OK
8415  * Autogenerated: op3/add_proj_ed_eone.op3
8416  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/add-2008-hwcd.op3
8417  * ASSERT: e = 1
8418  */
8419 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
8420     /* temporary variables */
8421     fe_t t0, t1, t2, t3;
8422     /* constants */
8423     const limb_t *d = const_d;
8424     /* set pointers for Edwards curve arith */
8425     const limb_t *X1 = Q->X;
8426     const limb_t *Y1 = Q->Y;
8427     const limb_t *T1 = Q->T;
8428     const limb_t *Z1 = Q->Z;
8429     const limb_t *X2 = P->X;
8430     const limb_t *Y2 = P->Y;
8431     const limb_t *T2 = P->T;
8432     const limb_t *Z2 = P->Z;
8433     limb_t *X3 = R->X;
8434     limb_t *Y3 = R->Y;
8435     limb_t *T3 = R->T;
8436     limb_t *Z3 = R->Z;
8437
8438     /* the curve arith formula */
8439     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t0, X1, X2);
8440     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, Y1, Y2);
8441     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, d, T2);
8442     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, T1, t2);
8443     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t3, Z1, Z2);
8444     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X1, Y1);
8445     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, X2, Y2);
8446     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
8447     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, T3, t0);
8448     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, Z3, t1);
8449     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, t3, t2);
8450     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, t3, t2);
8451     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, t1, t0);
8452     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Z3);
8453     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, t3, t1);
8454     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, T3, t1);
8455     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Z3, t3);
8456 }
8457
8458 /*-
8459  * from P projective Edwards to Q projective legacy: Q=P OK
8460  * Autogenerated: op3/edwards2legacy_gost.op3
8461  * https://tools.ietf.org/html/rfc7836#section-5.2
8462  */
8463 static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
8464     /* temporary variables */
8465     fe_t t0, t1;
8466     /* constants */
8467     const limb_t *T = const_T;
8468     const limb_t *S = const_S;
8469     const limb_t *X1 = P->X;
8470     const limb_t *Y1 = P->Y;
8471     const limb_t *Z1 = P->Z;
8472     limb_t *X3 = Q->X;
8473     limb_t *Y3 = Q->Y;
8474     limb_t *T3 = Q->T;
8475     limb_t *Z3 = Q->Z;
8476
8477     /* the curve arith formula */
8478     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, Z1, Y1);
8479     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, Z1, Y1);
8480     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, S, t0);
8481     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Z1, T3);
8482     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, X3, t1);
8483     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, t1, T);
8484     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, T3, t1);
8485     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, X1, t0);
8486 }
8487
8488 /*-
8489  * from P affine legacy to Q projective Edwards: Q=P not OK
8490  * Autogenerated: op3/legacy2edwards_gost.op3
8491  * https://tools.ietf.org/html/rfc7836#section-5.2
8492  */
8493 static void point_legacy2edwards(pt_prj_t *Q, const pt_aff_t *P) {
8494     /* constants */
8495     const limb_t *T = const_T;
8496     const limb_t *S = const_S;
8497     const limb_t *X1 = P->X;
8498     const limb_t *Y1 = P->Y;
8499     limb_t *X3 = Q->X;
8500     limb_t *Y3 = Q->Y;
8501     limb_t *T3 = Q->T;
8502     limb_t *Z3 = Q->Z;
8503
8504     /* the curve arith formula */
8505     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, X1, T);
8506     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, T3, S);
8507     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Y3);
8508     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Y1, Y3);
8509     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, T3, S);
8510     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y1, T3);
8511     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
8512     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, X3, Z3);
8513     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y3, Z3);
8514     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(Z3, Z3);
8515 }
8516
8517 /* constants */
8518 #define RADIX 5
8519 #define DRADIX (1 << RADIX)
8520 #define DRADIX_WNAF ((DRADIX) << 1)
8521
8522 /*-
8523  * precomp for wnaf scalar multiplication:
8524  * precomp[0] = 1P
8525  * precomp[1] = 3P
8526  * precomp[2] = 5P
8527  * precomp[3] = 7P
8528  * precomp[4] = 9P
8529  * ...
8530  */
8531 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
8532     int i;
8533
8534     /* move from legacy affine to Edwards projective */
8535     point_legacy2edwards(&precomp[0], P);
8536     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
8537
8538     for (i = 1; i < DRADIX / 2; i++)
8539         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
8540 }
8541
8542 /* fetch a scalar bit */
8543 static int scalar_get_bit(const unsigned char in[32], int idx) {
8544     int widx, rshift;
8545
8546     widx = idx >> 3;
8547     rshift = idx & 0x7;
8548
8549     if (idx < 0 || widx >= 32) return 0;
8550
8551     return (in[widx] >> rshift) & 0x1;
8552 }
8553
8554 /*-
8555  * Compute "regular" wnaf representation of a scalar.
8556  * See "Exponent Recoding and Regular Exponentiation Algorithms",
8557  * Tunstall et al., AfricaCrypt 2009, Alg 6.
8558  * It forces an odd scalar and outputs digits in
8559  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
8560  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
8561  */
8562 static void scalar_rwnaf(int8_t out[52], const unsigned char in[32]) {
8563     int i;
8564     int8_t window, d;
8565
8566     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
8567     for (i = 0; i < 51; i++) {
8568         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
8569         out[i] = d;
8570         window = (window - d) >> RADIX;
8571         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
8572         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
8573         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
8574         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
8575         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
8576     }
8577     out[i] = window;
8578 }
8579
8580 /*-
8581  * Compute "textbook" wnaf representation of a scalar.
8582  * NB: not constant time
8583  */
8584 static void scalar_wnaf(int8_t out[257], const unsigned char in[32]) {
8585     int i;
8586     int8_t window, d;
8587
8588     window = in[0] & (DRADIX_WNAF - 1);
8589     for (i = 0; i < 257; i++) {
8590         d = 0;
8591         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
8592             d -= DRADIX_WNAF;
8593         out[i] = d;
8594         window = (window - d) >> 1;
8595         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
8596     }
8597 }
8598
8599 /*-
8600  * Simulateous scalar multiplication: interleaved "textbook" wnaf.
8601  * NB: not constant time
8602  */
8603 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
8604                               const unsigned char b[32], const pt_aff_t *P) {
8605     int i, d, is_neg, is_inf = 1, flipped = 0;
8606     int8_t anaf[257] = {0};
8607     int8_t bnaf[257] = {0};
8608     pt_prj_t Q;
8609     pt_prj_t precomp[DRADIX / 2];
8610
8611     precomp_wnaf(precomp, P);
8612     scalar_wnaf(anaf, a);
8613     scalar_wnaf(bnaf, b);
8614
8615     for (i = 256; i >= 0; i--) {
8616         if (!is_inf) point_double(&Q, &Q);
8617         if ((d = bnaf[i])) {
8618             if ((is_neg = d < 0) != flipped) {
8619                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.X, Q.X);
8620                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.T, Q.T);
8621                 flipped ^= 1;
8622             }
8623             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
8624             if (is_inf) {
8625                 /* initialize accumulator */
8626                 fe_copy(Q.X, &precomp[d].X);
8627                 fe_copy(Q.Y, &precomp[d].Y);
8628                 fe_copy(Q.T, &precomp[d].T);
8629                 fe_copy(Q.Z, &precomp[d].Z);
8630                 is_inf = 0;
8631             } else
8632                 point_add_proj(&Q, &Q, &precomp[d]);
8633         }
8634         if ((d = anaf[i])) {
8635             if ((is_neg = d < 0) != flipped) {
8636                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.X, Q.X);
8637                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.T, Q.T);
8638                 flipped ^= 1;
8639             }
8640             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
8641             if (is_inf) {
8642                 /* initialize accumulator */
8643                 fe_copy(Q.X, &lut_cmb[0][d].X);
8644                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
8645                 fe_copy(Q.T, &lut_cmb[0][d].T);
8646                 fe_copy(Q.Z, const_one);
8647                 is_inf = 0;
8648             } else
8649                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
8650         }
8651     }
8652
8653     if (is_inf) {
8654         /* initialize accumulator to inf: all-zero scalars */
8655         fe_set_zero(Q.X);
8656         fe_copy(Q.Y, const_one);
8657         fe_set_zero(Q.T);
8658         fe_copy(Q.Z, const_one);
8659     }
8660
8661     if (flipped) {
8662         /* correct sign */
8663         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.X, Q.X);
8664         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.T, Q.T);
8665     }
8666
8667     /* move from Edwards projective to legacy projective */
8668     point_edwards2legacy(&Q, &Q);
8669     /* convert to affine -- NB depends on coordinate system */
8670     fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(Q.Z, Q.Z);
8671     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
8672     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
8673 }
8674
8675 /*-
8676  * Variable point scalar multiplication with "regular" wnaf.
8677  */
8678 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
8679                            const pt_aff_t *P) {
8680     int i, j, d, diff, is_neg;
8681     int8_t rnaf[52] = {0};
8682     pt_prj_t Q, lut;
8683     pt_prj_t precomp[DRADIX / 2];
8684
8685     precomp_wnaf(precomp, P);
8686     scalar_rwnaf(rnaf, scalar);
8687
8688 #if defined(_MSC_VER)
8689     /* result still unsigned: yes we know */
8690 #pragma warning(push)
8691 #pragma warning(disable : 4146)
8692 #endif
8693
8694     /* initialize accumulator to high digit */
8695     d = (rnaf[51] - 1) >> 1;
8696     for (j = 0; j < DRADIX / 2; j++) {
8697         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
8698         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, diff, Q.X,
8699                                                             precomp[j].X);
8700         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, diff, Q.Y,
8701                                                             precomp[j].Y);
8702         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, diff, Q.T,
8703                                                             precomp[j].T);
8704         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, diff, Q.Z,
8705                                                             precomp[j].Z);
8706     }
8707
8708     for (i = 50; i >= 0; i--) {
8709         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
8710         d = rnaf[i];
8711         /* is_neg = (d < 0) ? 1 : 0 */
8712         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
8713         /* d = abs(d) */
8714         d = (d ^ -is_neg) + is_neg;
8715         d = (d - 1) >> 1;
8716         for (j = 0; j < DRADIX / 2; j++) {
8717             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
8718             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8719                 lut.X, diff, lut.X, precomp[j].X);
8720             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8721                 lut.Y, diff, lut.Y, precomp[j].Y);
8722             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8723                 lut.T, diff, lut.T, precomp[j].T);
8724             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8725                 lut.Z, diff, lut.Z, precomp[j].Z);
8726         }
8727         /* negate lut point if digit is negative */
8728         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->X, lut.X);
8729         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->T, lut.T);
8730         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.X, is_neg,
8731                                                             lut.X, out->X);
8732         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.T, is_neg,
8733                                                             lut.T, out->T);
8734         point_add_proj(&Q, &Q, &lut);
8735     }
8736
8737 #if defined(_MSC_VER)
8738 #pragma warning(pop)
8739 #endif
8740
8741     /* conditionally subtract P if the scalar was even */
8742     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.X, precomp[0].X);
8743     fe_copy(lut.Y, precomp[0].Y);
8744     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.T, precomp[0].T);
8745     fe_copy(lut.Z, precomp[0].Z);
8746     point_add_proj(&lut, &lut, &Q);
8747     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, scalar[0] & 1,
8748                                                         lut.X, Q.X);
8749     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1,
8750                                                         lut.Y, Q.Y);
8751     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1,
8752                                                         lut.T, Q.T);
8753     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, scalar[0] & 1,
8754                                                         lut.Z, Q.Z);
8755
8756     /* move from Edwards projective to legacy projective */
8757     point_edwards2legacy(&Q, &Q);
8758     /* convert to affine -- NB depends on coordinate system */
8759     fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(Q.Z, Q.Z);
8760     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
8761     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
8762 }
8763
8764 /*-
8765  * Fixed scalar multiplication: comb with interleaving.
8766  */
8767 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
8768     int i, j, k, d, diff, is_neg = 0;
8769     int8_t rnaf[52] = {0};
8770     pt_prj_t Q, R;
8771     pt_aff_t lut;
8772
8773     scalar_rwnaf(rnaf, scalar);
8774
8775     /* initalize accumulator to inf */
8776     fe_set_zero(Q.X);
8777     fe_copy(Q.Y, const_one);
8778     fe_set_zero(Q.T);
8779     fe_copy(Q.Z, const_one);
8780
8781 #if defined(_MSC_VER)
8782     /* result still unsigned: yes we know */
8783 #pragma warning(push)
8784 #pragma warning(disable : 4146)
8785 #endif
8786
8787     for (i = 3; i >= 0; i--) {
8788         for (j = 0; i != 3 && j < RADIX; j++) point_double(&Q, &Q);
8789         for (j = 0; j < 14; j++) {
8790             if (j * 4 + i > 51) continue;
8791             d = rnaf[j * 4 + i];
8792             /* is_neg = (d < 0) ? 1 : 0 */
8793             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
8794             /* d = abs(d) */
8795             d = (d ^ -is_neg) + is_neg;
8796             d = (d - 1) >> 1;
8797             for (k = 0; k < DRADIX / 2; k++) {
8798                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
8799                 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8800                     lut.X, diff, lut.X, lut_cmb[j][k].X);
8801                 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8802                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
8803                 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8804                     lut.T, diff, lut.T, lut_cmb[j][k].T);
8805             }
8806             /* negate lut point if digit is negative */
8807             fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->X, lut.X);
8808             fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->T, lut.T);
8809             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.X, is_neg,
8810                                                                 lut.X, out->X);
8811             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.T, is_neg,
8812                                                                 lut.T, out->T);
8813             point_add_mixed(&Q, &Q, &lut);
8814         }
8815     }
8816
8817 #if defined(_MSC_VER)
8818 #pragma warning(pop)
8819 #endif
8820
8821     /* conditionally subtract P if the scalar was even */
8822     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.X, lut_cmb[0][0].X);
8823     fe_copy(lut.Y, lut_cmb[0][0].Y);
8824     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.T, lut_cmb[0][0].T);
8825     point_add_mixed(&R, &Q, &lut);
8826     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, scalar[0] & 1, R.X,
8827                                                         Q.X);
8828     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1, R.Y,
8829                                                         Q.Y);
8830     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1, R.T,
8831                                                         Q.T);
8832     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, scalar[0] & 1, R.Z,
8833                                                         Q.Z);
8834
8835     /* move from Edwards projective to legacy projective */
8836     point_edwards2legacy(&Q, &Q);
8837     /* convert to affine -- NB depends on coordinate system */
8838     fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(Q.Z, Q.Z);
8839     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
8840     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
8841 }
8842
8843 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
8844                           const unsigned char a[32], const unsigned char b[32],
8845                           const unsigned char inx[32],
8846                           const unsigned char iny[32]) {
8847     pt_aff_t P;
8848
8849     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.X, inx);
8850     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.Y, iny);
8851     /* simultaneous scalar multiplication */
8852     var_smul_wnaf_two(&P, a, b, &P);
8853
8854     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
8855     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
8856 }
8857
8858 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
8859                         const unsigned char scalar[32]) {
8860     pt_aff_t P;
8861
8862     /* fixed scmul function */
8863     fixed_smul_cmb(&P, scalar);
8864     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
8865     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
8866 }
8867
8868 static void point_mul(unsigned char outx[32], unsigned char outy[32],
8869                       const unsigned char scalar[32],
8870                       const unsigned char inx[32],
8871                       const unsigned char iny[32]) {
8872     pt_aff_t P;
8873
8874     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.X, inx);
8875     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.Y, iny);
8876     /* var scmul function */
8877     var_smul_rwnaf(&P, scalar, &P);
8878     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
8879     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
8880 }
8881
8882
8883 #include <openssl/ec.h>
8884
8885 static const unsigned char const_zb[32] = {0};
8886
8887     int
8888     point_mul_two_id_tc26_gost_3410_2012_256_paramSetA(
8889         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
8890         const BIGNUM *m, BN_CTX *ctx) {
8891     int ret = 0;
8892     unsigned char b_x[32];
8893     unsigned char b_y[32];
8894     unsigned char b_n[32];
8895     unsigned char b_m[32];
8896     BIGNUM *x = NULL, *y = NULL;
8897
8898     BN_CTX_start(ctx);
8899     x = BN_CTX_get(ctx);
8900     if ((y = BN_CTX_get(ctx)) == NULL
8901         /* pull out coords as bytes */
8902         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
8903         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
8904         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
8905         goto err;
8906     /* do the simultaneous scalar multiplication */
8907     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
8908     /* check for infinity */
8909     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
8910         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
8911         if (!EC_POINT_set_to_infinity(group, r)) goto err;
8912     } else {
8913         /* otherwise, pack the bytes into the result */
8914         if (BN_lebin2bn(b_x, 32, x) == NULL ||
8915             BN_lebin2bn(b_y, 32, y) == NULL ||
8916             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
8917             goto err;
8918     }
8919     ret = 1;
8920 err:
8921     BN_CTX_end(ctx);
8922     return ret;
8923 }
8924
8925     int
8926     point_mul_id_tc26_gost_3410_2012_256_paramSetA(const EC_GROUP *group,
8927                                                    EC_POINT *r,
8928                                                    const EC_POINT *q,
8929                                                    const BIGNUM *m,
8930                                                    BN_CTX *ctx) {
8931     int ret = 0;
8932     unsigned char b_x[32];
8933     unsigned char b_y[32];
8934     unsigned char b_m[32];
8935     BIGNUM *x = NULL, *y = NULL;
8936
8937     BN_CTX_start(ctx);
8938     x = BN_CTX_get(ctx);
8939     if ((y = BN_CTX_get(ctx)) == NULL
8940         /* pull out coords as bytes */
8941         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
8942         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
8943         BN_bn2lebinpad(m, b_m, 32) != 32)
8944         goto err;
8945     /* do the variable scalar multiplication */
8946     point_mul(b_x, b_y, b_m, b_x, b_y);
8947     /* check for infinity */
8948     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
8949         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
8950         if (!EC_POINT_set_to_infinity(group, r)) goto err;
8951     } else {
8952         /* otherwise, pack the bytes into the result */
8953         if (BN_lebin2bn(b_x, 32, x) == NULL ||
8954             BN_lebin2bn(b_y, 32, y) == NULL ||
8955             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
8956             goto err;
8957     }
8958     ret = 1;
8959 err:
8960     BN_CTX_end(ctx);
8961     return ret;
8962 }
8963
8964     int
8965     point_mul_g_id_tc26_gost_3410_2012_256_paramSetA(const EC_GROUP *group,
8966                                                      EC_POINT *r,
8967                                                      const BIGNUM *n,
8968                                                      BN_CTX *ctx) {
8969     int ret = 0;
8970     unsigned char b_x[32];
8971     unsigned char b_y[32];
8972     unsigned char b_n[32];
8973     BIGNUM *x = NULL, *y = NULL;
8974
8975     BN_CTX_start(ctx);
8976     x = BN_CTX_get(ctx);
8977     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
8978         goto err;
8979     /* do the fixed scalar multiplication */
8980     point_mul_g(b_x, b_y, b_n);
8981     /* check for infinity */
8982     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
8983         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
8984         if (!EC_POINT_set_to_infinity(group, r)) goto err;
8985     } else {
8986         /* otherwise, pack the bytes into the result */
8987         if (BN_lebin2bn(b_x, 32, x) == NULL ||
8988             BN_lebin2bn(b_y, 32, y) == NULL ||
8989             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
8990             goto err;
8991     }
8992     ret = 1;
8993 err:
8994     BN_CTX_end(ctx);
8995     return ret;
8996 }
8997
8998
8999
9000 #endif /* __SIZEOF_INT128__ */