]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - ecp_id_tc26_gost_3410_2012_256_paramSetA.c
[ecp] validation with coverity
[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 #ifdef OPENSSL_NO_ASM
36 #define FIAT_ID_TC26_GOST_3410_2012_256_PARAMSETA_NO_ASM
37 #endif
38
39 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
40 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
41
42 #define fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(c, a, b) \
43     fiat_id_tc26_gost_3410_2012_256_paramSetA_add(c, a, b);          \
44     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(c, c)
45 #define fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(c, a, b) \
46     fiat_id_tc26_gost_3410_2012_256_paramSetA_sub(c, a, b);          \
47     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(c, c)
48
49 /* Projective points */
50 typedef struct {
51     fe_t X;
52     fe_t Y;
53     fe_t T;
54     fe_t Z;
55 } pt_prj_t;
56
57 /* Affine points */
58 typedef struct {
59     fe_t X;
60     fe_t Y;
61     fe_t T;
62 } pt_aff_t;
63
64 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
65 /*-
66  * MIT License
67  *
68  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
69  *
70  * Permission is hereby granted, free of charge, to any person obtaining a copy
71  * of this software and associated documentation files (the "Software"), to deal
72  * in the Software without restriction, including without limitation the rights
73  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
74  * copies of the Software, and to permit persons to whom the Software is
75  * furnished to do so, subject to the following conditions:
76  *
77  * The above copyright notice and this permission notice shall be included in
78  * all copies or substantial portions of the Software.
79  *
80  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
81  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
82  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
83  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
84  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
85  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
86  * SOFTWARE.
87  */
88
89 /* Autogenerated: unsaturated_solinas --static --use-value-barrier id_tc26_gost_3410_2012_256_paramSetA 64 5 '2^256 - 617' */
90 /* curve description: id_tc26_gost_3410_2012_256_paramSetA */
91 /* machine_wordsize = 64 (from "64") */
92 /* requested operations: (all) */
93 /* n = 5 (from "5") */
94 /* s-c = 2^256 - [(1, 617)] (from "2^256 - 617") */
95 /* tight_bounds_multiplier = 1 (from "") */
96 /*  */
97 /* Computed values: */
98 /* carry_chain = [0, 1, 2, 3, 4, 0, 1] */
99 /* eval z = z[0] + (z[1] << 52) + (z[2] << 103) + (z[3] << 154) + (z[4] << 205) */
100 /* 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) */
101 /* balance = [0x1ffffffffffb2e, 0xffffffffffffe, 0xffffffffffffe, 0xffffffffffffe, 0xffffffffffffe] */
102
103 #include <stdint.h>
104 typedef unsigned char fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1;
105 typedef signed char fiat_id_tc26_gost_3410_2012_256_paramSetA_int1;
106 typedef signed __int128 fiat_id_tc26_gost_3410_2012_256_paramSetA_int128;
107 typedef unsigned __int128 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128;
108
109 #if (-1 & 3) != 3
110 #error "This code only works on a two's complement system"
111 #endif
112
113 #if !defined(FIAT_ID_TC26_GOST_3410_2012_256_PARAMSETA_NO_ASM) && \
114     (defined(__GNUC__) || defined(__clang__))
115 static __inline__ uint64_t
116 fiat_id_tc26_gost_3410_2012_256_paramSetA_value_barrier_u64(uint64_t a) {
117     __asm__("" : "+r"(a) : /* no inputs */);
118     return a;
119 }
120 #else
121 #define fiat_id_tc26_gost_3410_2012_256_paramSetA_value_barrier_u64(x) (x)
122 #endif
123
124 /*
125  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u52 is an addition with carry.
126  * Postconditions:
127  *   out1 = (arg1 + arg2 + arg3) mod 2^52
128  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^52⌋
129  *
130  * Input Bounds:
131  *   arg1: [0x0 ~> 0x1]
132  *   arg2: [0x0 ~> 0xfffffffffffff]
133  *   arg3: [0x0 ~> 0xfffffffffffff]
134  * Output Bounds:
135  *   out1: [0x0 ~> 0xfffffffffffff]
136  *   out2: [0x0 ~> 0x1]
137  */
138 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u52(
139     uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
140     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint64_t arg2,
141     uint64_t arg3) {
142     uint64_t x1;
143     uint64_t x2;
144     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x3;
145     x1 = ((arg1 + arg2) + arg3);
146     x2 = (x1 & UINT64_C(0xfffffffffffff));
147     x3 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x1 >> 52);
148     *out1 = x2;
149     *out2 = x3;
150 }
151
152 /*
153  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u52 is a subtraction with borrow.
154  * Postconditions:
155  *   out1 = (-arg1 + arg2 + -arg3) mod 2^52
156  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^52⌋
157  *
158  * Input Bounds:
159  *   arg1: [0x0 ~> 0x1]
160  *   arg2: [0x0 ~> 0xfffffffffffff]
161  *   arg3: [0x0 ~> 0xfffffffffffff]
162  * Output Bounds:
163  *   out1: [0x0 ~> 0xfffffffffffff]
164  *   out2: [0x0 ~> 0x1]
165  */
166 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u52(
167     uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
168     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint64_t arg2,
169     uint64_t arg3) {
170     int64_t x1;
171     fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
172     uint64_t x3;
173     x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
174     x2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(x1 >> 52);
175     x3 = (x1 & UINT64_C(0xfffffffffffff));
176     *out1 = x3;
177     *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
178 }
179
180 /*
181  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51 is an addition with carry.
182  * Postconditions:
183  *   out1 = (arg1 + arg2 + arg3) mod 2^51
184  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^51⌋
185  *
186  * Input Bounds:
187  *   arg1: [0x0 ~> 0x1]
188  *   arg2: [0x0 ~> 0x7ffffffffffff]
189  *   arg3: [0x0 ~> 0x7ffffffffffff]
190  * Output Bounds:
191  *   out1: [0x0 ~> 0x7ffffffffffff]
192  *   out2: [0x0 ~> 0x1]
193  */
194 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
195     uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
196     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint64_t arg2,
197     uint64_t arg3) {
198     uint64_t x1;
199     uint64_t x2;
200     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x3;
201     x1 = ((arg1 + arg2) + arg3);
202     x2 = (x1 & UINT64_C(0x7ffffffffffff));
203     x3 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x1 >> 51);
204     *out1 = x2;
205     *out2 = x3;
206 }
207
208 /*
209  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51 is a subtraction with borrow.
210  * Postconditions:
211  *   out1 = (-arg1 + arg2 + -arg3) mod 2^51
212  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^51⌋
213  *
214  * Input Bounds:
215  *   arg1: [0x0 ~> 0x1]
216  *   arg2: [0x0 ~> 0x7ffffffffffff]
217  *   arg3: [0x0 ~> 0x7ffffffffffff]
218  * Output Bounds:
219  *   out1: [0x0 ~> 0x7ffffffffffff]
220  *   out2: [0x0 ~> 0x1]
221  */
222 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
223     uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
224     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint64_t arg2,
225     uint64_t arg3) {
226     int64_t x1;
227     fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
228     uint64_t x3;
229     x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
230     x2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(x1 >> 51);
231     x3 = (x1 & UINT64_C(0x7ffffffffffff));
232     *out1 = x3;
233     *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
234 }
235
236 /*
237  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64 is a single-word conditional move.
238  * Postconditions:
239  *   out1 = (if arg1 = 0 then arg2 else arg3)
240  *
241  * Input Bounds:
242  *   arg1: [0x0 ~> 0x1]
243  *   arg2: [0x0 ~> 0xffffffffffffffff]
244  *   arg3: [0x0 ~> 0xffffffffffffffff]
245  * Output Bounds:
246  *   out1: [0x0 ~> 0xffffffffffffffff]
247  */
248 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(
249     uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1,
250     uint64_t arg2, uint64_t arg3) {
251     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x1;
252     uint64_t x2;
253     uint64_t x3;
254     x1 = (!(!arg1));
255     x2 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(0x0 - x1) &
256           UINT64_C(0xffffffffffffffff));
257     x3 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_value_barrier_u64(x2) &
258            arg3) |
259           (fiat_id_tc26_gost_3410_2012_256_paramSetA_value_barrier_u64((~x2)) &
260            arg2));
261     *out1 = x3;
262 }
263
264 /*
265  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul multiplies two field elements and reduces the result.
266  * Postconditions:
267  *   eval out1 mod m = (eval arg1 * eval arg2) mod m
268  *
269  * Input Bounds:
270  *   arg1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
271  *   arg2: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
272  * Output Bounds:
273  *   out1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
274  */
275 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(
276     uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) {
277     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x1;
278     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x2;
279     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x3;
280     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x4;
281     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x5;
282     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x6;
283     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x7;
284     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x8;
285     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x9;
286     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x10;
287     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x11;
288     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x12;
289     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x13;
290     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x14;
291     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x15;
292     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x16;
293     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x17;
294     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x18;
295     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x19;
296     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x20;
297     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x21;
298     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x22;
299     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x23;
300     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x24;
301     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x25;
302     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x26;
303     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x27;
304     uint64_t x28;
305     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x29;
306     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x30;
307     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x31;
308     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x32;
309     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x33;
310     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x34;
311     uint64_t x35;
312     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x36;
313     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x37;
314     uint64_t x38;
315     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x39;
316     uint64_t x40;
317     uint64_t x41;
318     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x42;
319     uint64_t x43;
320     uint64_t x44;
321     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x45;
322     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x46;
323     uint64_t x47;
324     uint64_t x48;
325     uint64_t x49;
326     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x50;
327     uint64_t x51;
328     uint64_t x52;
329     x1 = (UINT16_C(0x269) *
330           ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
331            (arg2[4])));
332     x2 = (UINT16_C(0x269) *
333           ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
334            (arg2[3])));
335     x3 = (UINT16_C(0x269) *
336           ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
337            (arg2[2])));
338     x4 = (UINT16_C(0x269) *
339           (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
340             (arg2[1])) *
341            0x2));
342     x5 = (UINT16_C(0x269) *
343           ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
344            (arg2[4])));
345     x6 = (UINT16_C(0x269) *
346           ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
347            (arg2[3])));
348     x7 = (UINT16_C(0x269) *
349           (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
350             (arg2[2])) *
351            0x2));
352     x8 = (UINT16_C(0x269) *
353           ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
354            (arg2[4])));
355     x9 = (UINT16_C(0x269) *
356           (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
357             (arg2[3])) *
358            0x2));
359     x10 = (UINT16_C(0x269) *
360            (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
361              (arg2[4])) *
362             0x2));
363     x11 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
364            (arg2[0]));
365     x12 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
366            ((arg2[1]) * 0x2));
367     x13 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
368            (arg2[0]));
369     x14 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
370            ((arg2[2]) * 0x2));
371     x15 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
372            ((arg2[1]) * 0x2));
373     x16 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
374            (arg2[0]));
375     x17 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
376            ((arg2[3]) * 0x2));
377     x18 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
378            ((arg2[2]) * 0x2));
379     x19 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
380            ((arg2[1]) * 0x2));
381     x20 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
382            (arg2[0]));
383     x21 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
384            (arg2[4]));
385     x22 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
386            (arg2[3]));
387     x23 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
388            (arg2[2]));
389     x24 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
390            (arg2[1]));
391     x25 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
392            (arg2[0]));
393     x26 = (x25 + (x10 + (x9 + (x7 + x4))));
394     x27 = (x26 >> 52);
395     x28 = (uint64_t)(x26 & UINT64_C(0xfffffffffffff));
396     x29 = (x21 + (x17 + (x14 + (x12 + x11))));
397     x30 = (x22 + (x18 + (x15 + (x13 + x1))));
398     x31 = (x23 + (x19 + (x16 + (x5 + x2))));
399     x32 = (x24 + (x20 + (x8 + (x6 + x3))));
400     x33 = (x27 + x32);
401     x34 = (x33 >> 51);
402     x35 = (uint64_t)(x33 & UINT64_C(0x7ffffffffffff));
403     x36 = (x34 + x31);
404     x37 = (x36 >> 51);
405     x38 = (uint64_t)(x36 & UINT64_C(0x7ffffffffffff));
406     x39 = (x37 + x30);
407     x40 = (uint64_t)(x39 >> 51);
408     x41 = (uint64_t)(x39 & UINT64_C(0x7ffffffffffff));
409     x42 = (x40 + x29);
410     x43 = (uint64_t)(x42 >> 51);
411     x44 = (uint64_t)(x42 & UINT64_C(0x7ffffffffffff));
412     x45 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)UINT16_C(0x269) *
413            x43);
414     x46 = (x28 + x45);
415     x47 = (uint64_t)(x46 >> 52);
416     x48 = (uint64_t)(x46 & UINT64_C(0xfffffffffffff));
417     x49 = (x47 + x35);
418     x50 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x49 >> 51);
419     x51 = (x49 & UINT64_C(0x7ffffffffffff));
420     x52 = (x50 + x38);
421     out1[0] = x48;
422     out1[1] = x51;
423     out1[2] = x52;
424     out1[3] = x41;
425     out1[4] = x44;
426 }
427
428 /*
429  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square squares a field element and reduces the result.
430  * Postconditions:
431  *   eval out1 mod m = (eval arg1 * eval arg1) mod m
432  *
433  * Input Bounds:
434  *   arg1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
435  * Output Bounds:
436  *   out1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
437  */
438 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(
439     uint64_t out1[5], const uint64_t arg1[5]) {
440     uint64_t x1;
441     uint64_t x2;
442     uint64_t x3;
443     uint64_t x4;
444     uint64_t x5;
445     uint64_t x6;
446     uint64_t x7;
447     uint64_t x8;
448     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x9;
449     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x10;
450     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x11;
451     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x12;
452     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x13;
453     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x14;
454     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x15;
455     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x16;
456     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x17;
457     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x18;
458     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x19;
459     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x20;
460     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x21;
461     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x22;
462     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x23;
463     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x24;
464     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x25;
465     uint64_t x26;
466     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x27;
467     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x28;
468     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x29;
469     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x30;
470     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x31;
471     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x32;
472     uint64_t x33;
473     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x34;
474     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x35;
475     uint64_t x36;
476     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x37;
477     uint64_t x38;
478     uint64_t x39;
479     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x40;
480     uint64_t x41;
481     uint64_t x42;
482     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x43;
483     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x44;
484     uint64_t x45;
485     uint64_t x46;
486     uint64_t x47;
487     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x48;
488     uint64_t x49;
489     uint64_t x50;
490     x1 = ((arg1[4]) * UINT16_C(0x269));
491     x2 = (x1 * 0x2);
492     x3 = ((arg1[4]) * 0x2);
493     x4 = ((arg1[3]) * UINT16_C(0x269));
494     x5 = (x4 * 0x2);
495     x6 = ((arg1[3]) * 0x2);
496     x7 = ((arg1[2]) * 0x2);
497     x8 = ((arg1[1]) * 0x2);
498     x9 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) * x1);
499     x10 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) * x2);
500     x11 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) * x4);
501     x12 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) * x2);
502     x13 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
503            (x5 * 0x2));
504     x14 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
505            ((arg1[2]) * 0x2));
506     x15 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
507            (x2 * 0x2));
508     x16 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
509            (x6 * 0x2));
510     x17 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
511            (x7 * 0x2));
512     x18 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
513            ((arg1[1]) * 0x2));
514     x19 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) * x3);
515     x20 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) * x6);
516     x21 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) * x7);
517     x22 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) * x8);
518     x23 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
519            (arg1[0]));
520     x24 = (x23 + (x15 + x13));
521     x25 = (x24 >> 52);
522     x26 = (uint64_t)(x24 & UINT64_C(0xfffffffffffff));
523     x27 = (x19 + (x16 + x14));
524     x28 = (x20 + (x17 + x9));
525     x29 = (x21 + (x18 + x10));
526     x30 = (x22 + (x12 + x11));
527     x31 = (x25 + x30);
528     x32 = (x31 >> 51);
529     x33 = (uint64_t)(x31 & UINT64_C(0x7ffffffffffff));
530     x34 = (x32 + x29);
531     x35 = (x34 >> 51);
532     x36 = (uint64_t)(x34 & UINT64_C(0x7ffffffffffff));
533     x37 = (x35 + x28);
534     x38 = (uint64_t)(x37 >> 51);
535     x39 = (uint64_t)(x37 & UINT64_C(0x7ffffffffffff));
536     x40 = (x38 + x27);
537     x41 = (uint64_t)(x40 >> 51);
538     x42 = (uint64_t)(x40 & UINT64_C(0x7ffffffffffff));
539     x43 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)UINT16_C(0x269) *
540            x41);
541     x44 = (x26 + x43);
542     x45 = (uint64_t)(x44 >> 52);
543     x46 = (uint64_t)(x44 & UINT64_C(0xfffffffffffff));
544     x47 = (x45 + x33);
545     x48 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x47 >> 51);
546     x49 = (x47 & UINT64_C(0x7ffffffffffff));
547     x50 = (x48 + x36);
548     out1[0] = x46;
549     out1[1] = x49;
550     out1[2] = x50;
551     out1[3] = x39;
552     out1[4] = x42;
553 }
554
555 /*
556  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry reduces a field element.
557  * Postconditions:
558  *   eval out1 mod m = eval arg1 mod m
559  *
560  * Input Bounds:
561  *   arg1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
562  * Output Bounds:
563  *   out1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
564  */
565 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(
566     uint64_t out1[5], const uint64_t arg1[5]) {
567     uint64_t x1;
568     uint64_t x2;
569     uint64_t x3;
570     uint64_t x4;
571     uint64_t x5;
572     uint64_t x6;
573     uint64_t x7;
574     uint64_t x8;
575     uint64_t x9;
576     uint64_t x10;
577     uint64_t x11;
578     uint64_t x12;
579     x1 = (arg1[0]);
580     x2 = ((x1 >> 52) + (arg1[1]));
581     x3 = ((x2 >> 51) + (arg1[2]));
582     x4 = ((x3 >> 51) + (arg1[3]));
583     x5 = ((x4 >> 51) + (arg1[4]));
584     x6 = ((x1 & UINT64_C(0xfffffffffffff)) + (UINT16_C(0x269) * (x5 >> 51)));
585     x7 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x6 >> 52) +
586           (x2 & UINT64_C(0x7ffffffffffff)));
587     x8 = (x6 & UINT64_C(0xfffffffffffff));
588     x9 = (x7 & UINT64_C(0x7ffffffffffff));
589     x10 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x7 >> 51) +
590            (x3 & UINT64_C(0x7ffffffffffff)));
591     x11 = (x4 & UINT64_C(0x7ffffffffffff));
592     x12 = (x5 & UINT64_C(0x7ffffffffffff));
593     out1[0] = x8;
594     out1[1] = x9;
595     out1[2] = x10;
596     out1[3] = x11;
597     out1[4] = x12;
598 }
599
600 /*
601  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_add adds two field elements.
602  * Postconditions:
603  *   eval out1 mod m = (eval arg1 + eval arg2) mod m
604  *
605  * Input Bounds:
606  *   arg1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
607  *   arg2: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
608  * Output Bounds:
609  *   out1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
610  */
611 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_add(
612     uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) {
613     uint64_t x1;
614     uint64_t x2;
615     uint64_t x3;
616     uint64_t x4;
617     uint64_t x5;
618     x1 = ((arg1[0]) + (arg2[0]));
619     x2 = ((arg1[1]) + (arg2[1]));
620     x3 = ((arg1[2]) + (arg2[2]));
621     x4 = ((arg1[3]) + (arg2[3]));
622     x5 = ((arg1[4]) + (arg2[4]));
623     out1[0] = x1;
624     out1[1] = x2;
625     out1[2] = x3;
626     out1[3] = x4;
627     out1[4] = x5;
628 }
629
630 /*
631  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_sub subtracts two field elements.
632  * Postconditions:
633  *   eval out1 mod m = (eval arg1 - eval arg2) mod m
634  *
635  * Input Bounds:
636  *   arg1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
637  *   arg2: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
638  * Output Bounds:
639  *   out1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
640  */
641 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_sub(
642     uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) {
643     uint64_t x1;
644     uint64_t x2;
645     uint64_t x3;
646     uint64_t x4;
647     uint64_t x5;
648     x1 = ((UINT64_C(0x1ffffffffffb2e) + (arg1[0])) - (arg2[0]));
649     x2 = ((UINT64_C(0xffffffffffffe) + (arg1[1])) - (arg2[1]));
650     x3 = ((UINT64_C(0xffffffffffffe) + (arg1[2])) - (arg2[2]));
651     x4 = ((UINT64_C(0xffffffffffffe) + (arg1[3])) - (arg2[3]));
652     x5 = ((UINT64_C(0xffffffffffffe) + (arg1[4])) - (arg2[4]));
653     out1[0] = x1;
654     out1[1] = x2;
655     out1[2] = x3;
656     out1[3] = x4;
657     out1[4] = x5;
658 }
659
660 /*
661  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_opp negates a field element.
662  * Postconditions:
663  *   eval out1 mod m = -eval arg1 mod m
664  *
665  * Input Bounds:
666  *   arg1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
667  * Output Bounds:
668  *   out1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
669  */
670 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(
671     uint64_t out1[5], const uint64_t arg1[5]) {
672     uint64_t x1;
673     uint64_t x2;
674     uint64_t x3;
675     uint64_t x4;
676     uint64_t x5;
677     x1 = (UINT64_C(0x1ffffffffffb2e) - (arg1[0]));
678     x2 = (UINT64_C(0xffffffffffffe) - (arg1[1]));
679     x3 = (UINT64_C(0xffffffffffffe) - (arg1[2]));
680     x4 = (UINT64_C(0xffffffffffffe) - (arg1[3]));
681     x5 = (UINT64_C(0xffffffffffffe) - (arg1[4]));
682     out1[0] = x1;
683     out1[1] = x2;
684     out1[2] = x3;
685     out1[3] = x4;
686     out1[4] = x5;
687 }
688
689 /*
690  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz is a multi-limb conditional select.
691  * Postconditions:
692  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
693  *
694  * Input Bounds:
695  *   arg1: [0x0 ~> 0x1]
696  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
697  *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
698  * Output Bounds:
699  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
700  */
701 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
702     uint64_t out1[5], fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1,
703     const uint64_t arg2[5], const uint64_t arg3[5]) {
704     uint64_t x1;
705     uint64_t x2;
706     uint64_t x3;
707     uint64_t x4;
708     uint64_t x5;
709     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x1, arg1, (arg2[0]),
710                                                           (arg3[0]));
711     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x2, arg1, (arg2[1]),
712                                                           (arg3[1]));
713     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x3, arg1, (arg2[2]),
714                                                           (arg3[2]));
715     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x4, arg1, (arg2[3]),
716                                                           (arg3[3]));
717     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x5, arg1, (arg2[4]),
718                                                           (arg3[4]));
719     out1[0] = x1;
720     out1[1] = x2;
721     out1[2] = x3;
722     out1[3] = x4;
723     out1[4] = x5;
724 }
725
726 /*
727  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes serializes a field element to bytes in little-endian order.
728  * Postconditions:
729  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
730  *
731  * Input Bounds:
732  *   arg1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
733  * Output Bounds:
734  *   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]]
735  */
736 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(
737     uint8_t out1[32], const uint64_t arg1[5]) {
738     uint64_t x1;
739     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x2;
740     uint64_t x3;
741     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x4;
742     uint64_t x5;
743     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x6;
744     uint64_t x7;
745     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x8;
746     uint64_t x9;
747     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x10;
748     uint64_t x11;
749     uint64_t x12;
750     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x13;
751     uint64_t x14;
752     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x15;
753     uint64_t x16;
754     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x17;
755     uint64_t x18;
756     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x19;
757     uint64_t x20;
758     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x21;
759     uint64_t x22;
760     uint64_t x23;
761     uint64_t x24;
762     uint64_t x25;
763     uint8_t x26;
764     uint64_t x27;
765     uint8_t x28;
766     uint64_t x29;
767     uint8_t x30;
768     uint64_t x31;
769     uint8_t x32;
770     uint64_t x33;
771     uint8_t x34;
772     uint64_t x35;
773     uint8_t x36;
774     uint8_t x37;
775     uint64_t x38;
776     uint8_t x39;
777     uint64_t x40;
778     uint8_t x41;
779     uint64_t x42;
780     uint8_t x43;
781     uint64_t x44;
782     uint8_t x45;
783     uint64_t x46;
784     uint8_t x47;
785     uint64_t x48;
786     uint8_t x49;
787     uint8_t x50;
788     uint64_t x51;
789     uint8_t x52;
790     uint64_t x53;
791     uint8_t x54;
792     uint64_t x55;
793     uint8_t x56;
794     uint64_t x57;
795     uint8_t x58;
796     uint64_t x59;
797     uint8_t x60;
798     uint64_t x61;
799     uint8_t x62;
800     uint64_t x63;
801     uint8_t x64;
802     uint8_t x65;
803     uint64_t x66;
804     uint8_t x67;
805     uint64_t x68;
806     uint8_t x69;
807     uint64_t x70;
808     uint8_t x71;
809     uint64_t x72;
810     uint8_t x73;
811     uint64_t x74;
812     uint8_t x75;
813     uint64_t x76;
814     uint8_t x77;
815     uint8_t x78;
816     uint64_t x79;
817     uint8_t x80;
818     uint64_t x81;
819     uint8_t x82;
820     uint64_t x83;
821     uint8_t x84;
822     uint64_t x85;
823     uint8_t x86;
824     uint64_t x87;
825     uint8_t x88;
826     uint64_t x89;
827     uint8_t x90;
828     uint8_t x91;
829     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u52(
830         &x1, &x2, 0x0, (arg1[0]), UINT64_C(0xffffffffffd97));
831     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
832         &x3, &x4, x2, (arg1[1]), UINT64_C(0x7ffffffffffff));
833     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
834         &x5, &x6, x4, (arg1[2]), UINT64_C(0x7ffffffffffff));
835     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
836         &x7, &x8, x6, (arg1[3]), UINT64_C(0x7ffffffffffff));
837     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
838         &x9, &x10, x8, (arg1[4]), UINT64_C(0x7ffffffffffff));
839     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(
840         &x11, x10, 0x0, UINT64_C(0xffffffffffffffff));
841     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u52(
842         &x12, &x13, 0x0, x1, (x11 & UINT64_C(0xffffffffffd97)));
843     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
844         &x14, &x15, x13, x3, (x11 & UINT64_C(0x7ffffffffffff)));
845     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
846         &x16, &x17, x15, x5, (x11 & UINT64_C(0x7ffffffffffff)));
847     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
848         &x18, &x19, x17, x7, (x11 & UINT64_C(0x7ffffffffffff)));
849     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
850         &x20, &x21, x19, x9, (x11 & UINT64_C(0x7ffffffffffff)));
851     x22 = (x20 << 5);
852     x23 = (x18 << 2);
853     x24 = (x16 << 7);
854     x25 = (x14 << 4);
855     x26 = (uint8_t)(x12 & UINT8_C(0xff));
856     x27 = (x12 >> 8);
857     x28 = (uint8_t)(x27 & UINT8_C(0xff));
858     x29 = (x27 >> 8);
859     x30 = (uint8_t)(x29 & UINT8_C(0xff));
860     x31 = (x29 >> 8);
861     x32 = (uint8_t)(x31 & UINT8_C(0xff));
862     x33 = (x31 >> 8);
863     x34 = (uint8_t)(x33 & UINT8_C(0xff));
864     x35 = (x33 >> 8);
865     x36 = (uint8_t)(x35 & UINT8_C(0xff));
866     x37 = (uint8_t)(x35 >> 8);
867     x38 = (x25 + (uint64_t)x37);
868     x39 = (uint8_t)(x38 & UINT8_C(0xff));
869     x40 = (x38 >> 8);
870     x41 = (uint8_t)(x40 & UINT8_C(0xff));
871     x42 = (x40 >> 8);
872     x43 = (uint8_t)(x42 & UINT8_C(0xff));
873     x44 = (x42 >> 8);
874     x45 = (uint8_t)(x44 & UINT8_C(0xff));
875     x46 = (x44 >> 8);
876     x47 = (uint8_t)(x46 & UINT8_C(0xff));
877     x48 = (x46 >> 8);
878     x49 = (uint8_t)(x48 & UINT8_C(0xff));
879     x50 = (uint8_t)(x48 >> 8);
880     x51 = (x24 + (uint64_t)x50);
881     x52 = (uint8_t)(x51 & UINT8_C(0xff));
882     x53 = (x51 >> 8);
883     x54 = (uint8_t)(x53 & UINT8_C(0xff));
884     x55 = (x53 >> 8);
885     x56 = (uint8_t)(x55 & UINT8_C(0xff));
886     x57 = (x55 >> 8);
887     x58 = (uint8_t)(x57 & UINT8_C(0xff));
888     x59 = (x57 >> 8);
889     x60 = (uint8_t)(x59 & UINT8_C(0xff));
890     x61 = (x59 >> 8);
891     x62 = (uint8_t)(x61 & UINT8_C(0xff));
892     x63 = (x61 >> 8);
893     x64 = (uint8_t)(x63 & UINT8_C(0xff));
894     x65 = (uint8_t)(x63 >> 8);
895     x66 = (x23 + (uint64_t)x65);
896     x67 = (uint8_t)(x66 & UINT8_C(0xff));
897     x68 = (x66 >> 8);
898     x69 = (uint8_t)(x68 & UINT8_C(0xff));
899     x70 = (x68 >> 8);
900     x71 = (uint8_t)(x70 & UINT8_C(0xff));
901     x72 = (x70 >> 8);
902     x73 = (uint8_t)(x72 & UINT8_C(0xff));
903     x74 = (x72 >> 8);
904     x75 = (uint8_t)(x74 & UINT8_C(0xff));
905     x76 = (x74 >> 8);
906     x77 = (uint8_t)(x76 & UINT8_C(0xff));
907     x78 = (uint8_t)(x76 >> 8);
908     x79 = (x22 + (uint64_t)x78);
909     x80 = (uint8_t)(x79 & UINT8_C(0xff));
910     x81 = (x79 >> 8);
911     x82 = (uint8_t)(x81 & UINT8_C(0xff));
912     x83 = (x81 >> 8);
913     x84 = (uint8_t)(x83 & UINT8_C(0xff));
914     x85 = (x83 >> 8);
915     x86 = (uint8_t)(x85 & UINT8_C(0xff));
916     x87 = (x85 >> 8);
917     x88 = (uint8_t)(x87 & UINT8_C(0xff));
918     x89 = (x87 >> 8);
919     x90 = (uint8_t)(x89 & UINT8_C(0xff));
920     x91 = (uint8_t)(x89 >> 8);
921     out1[0] = x26;
922     out1[1] = x28;
923     out1[2] = x30;
924     out1[3] = x32;
925     out1[4] = x34;
926     out1[5] = x36;
927     out1[6] = x39;
928     out1[7] = x41;
929     out1[8] = x43;
930     out1[9] = x45;
931     out1[10] = x47;
932     out1[11] = x49;
933     out1[12] = x52;
934     out1[13] = x54;
935     out1[14] = x56;
936     out1[15] = x58;
937     out1[16] = x60;
938     out1[17] = x62;
939     out1[18] = x64;
940     out1[19] = x67;
941     out1[20] = x69;
942     out1[21] = x71;
943     out1[22] = x73;
944     out1[23] = x75;
945     out1[24] = x77;
946     out1[25] = x80;
947     out1[26] = x82;
948     out1[27] = x84;
949     out1[28] = x86;
950     out1[29] = x88;
951     out1[30] = x90;
952     out1[31] = x91;
953 }
954
955 /*
956  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes deserializes a field element from bytes in little-endian order.
957  * Postconditions:
958  *   eval out1 mod m = bytes_eval arg1 mod m
959  *
960  * Input Bounds:
961  *   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]]
962  * Output Bounds:
963  *   out1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
964  */
965 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(
966     uint64_t out1[5], const uint8_t arg1[32]) {
967     uint64_t x1;
968     uint64_t x2;
969     uint64_t x3;
970     uint64_t x4;
971     uint64_t x5;
972     uint64_t x6;
973     uint64_t x7;
974     uint64_t x8;
975     uint64_t x9;
976     uint64_t x10;
977     uint64_t x11;
978     uint64_t x12;
979     uint64_t x13;
980     uint64_t x14;
981     uint64_t x15;
982     uint64_t x16;
983     uint64_t x17;
984     uint64_t x18;
985     uint64_t x19;
986     uint64_t x20;
987     uint64_t x21;
988     uint64_t x22;
989     uint64_t x23;
990     uint64_t x24;
991     uint64_t x25;
992     uint64_t x26;
993     uint64_t x27;
994     uint64_t x28;
995     uint64_t x29;
996     uint64_t x30;
997     uint64_t x31;
998     uint8_t x32;
999     uint64_t x33;
1000     uint64_t x34;
1001     uint64_t x35;
1002     uint64_t x36;
1003     uint64_t x37;
1004     uint64_t x38;
1005     uint64_t x39;
1006     uint8_t x40;
1007     uint64_t x41;
1008     uint64_t x42;
1009     uint64_t x43;
1010     uint64_t x44;
1011     uint64_t x45;
1012     uint64_t x46;
1013     uint64_t x47;
1014     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x48;
1015     uint64_t x49;
1016     uint64_t x50;
1017     uint64_t x51;
1018     uint64_t x52;
1019     uint64_t x53;
1020     uint64_t x54;
1021     uint64_t x55;
1022     uint64_t x56;
1023     uint8_t x57;
1024     uint64_t x58;
1025     uint64_t x59;
1026     uint64_t x60;
1027     uint64_t x61;
1028     uint64_t x62;
1029     uint64_t x63;
1030     uint64_t x64;
1031     uint8_t x65;
1032     uint64_t x66;
1033     uint64_t x67;
1034     uint64_t x68;
1035     uint64_t x69;
1036     uint64_t x70;
1037     uint64_t x71;
1038     x1 = ((uint64_t)(arg1[31]) << 43);
1039     x2 = ((uint64_t)(arg1[30]) << 35);
1040     x3 = ((uint64_t)(arg1[29]) << 27);
1041     x4 = ((uint64_t)(arg1[28]) << 19);
1042     x5 = ((uint64_t)(arg1[27]) << 11);
1043     x6 = ((uint64_t)(arg1[26]) << 3);
1044     x7 = ((uint64_t)(arg1[25]) << 46);
1045     x8 = ((uint64_t)(arg1[24]) << 38);
1046     x9 = ((uint64_t)(arg1[23]) << 30);
1047     x10 = ((uint64_t)(arg1[22]) << 22);
1048     x11 = ((uint64_t)(arg1[21]) << 14);
1049     x12 = ((uint64_t)(arg1[20]) << 6);
1050     x13 = ((uint64_t)(arg1[19]) << 49);
1051     x14 = ((uint64_t)(arg1[18]) << 41);
1052     x15 = ((uint64_t)(arg1[17]) << 33);
1053     x16 = ((uint64_t)(arg1[16]) << 25);
1054     x17 = ((uint64_t)(arg1[15]) << 17);
1055     x18 = ((uint64_t)(arg1[14]) << 9);
1056     x19 = ((uint64_t)(arg1[13]) * 0x2);
1057     x20 = ((uint64_t)(arg1[12]) << 44);
1058     x21 = ((uint64_t)(arg1[11]) << 36);
1059     x22 = ((uint64_t)(arg1[10]) << 28);
1060     x23 = ((uint64_t)(arg1[9]) << 20);
1061     x24 = ((uint64_t)(arg1[8]) << 12);
1062     x25 = ((uint64_t)(arg1[7]) << 4);
1063     x26 = ((uint64_t)(arg1[6]) << 48);
1064     x27 = ((uint64_t)(arg1[5]) << 40);
1065     x28 = ((uint64_t)(arg1[4]) << 32);
1066     x29 = ((uint64_t)(arg1[3]) << 24);
1067     x30 = ((uint64_t)(arg1[2]) << 16);
1068     x31 = ((uint64_t)(arg1[1]) << 8);
1069     x32 = (arg1[0]);
1070     x33 = (x31 + (uint64_t)x32);
1071     x34 = (x30 + x33);
1072     x35 = (x29 + x34);
1073     x36 = (x28 + x35);
1074     x37 = (x27 + x36);
1075     x38 = (x26 + x37);
1076     x39 = (x38 & UINT64_C(0xfffffffffffff));
1077     x40 = (uint8_t)(x38 >> 52);
1078     x41 = (x25 + (uint64_t)x40);
1079     x42 = (x24 + x41);
1080     x43 = (x23 + x42);
1081     x44 = (x22 + x43);
1082     x45 = (x21 + x44);
1083     x46 = (x20 + x45);
1084     x47 = (x46 & UINT64_C(0x7ffffffffffff));
1085     x48 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x46 >> 51);
1086     x49 = (x19 + (uint64_t)x48);
1087     x50 = (x18 + x49);
1088     x51 = (x17 + x50);
1089     x52 = (x16 + x51);
1090     x53 = (x15 + x52);
1091     x54 = (x14 + x53);
1092     x55 = (x13 + x54);
1093     x56 = (x55 & UINT64_C(0x7ffffffffffff));
1094     x57 = (uint8_t)(x55 >> 51);
1095     x58 = (x12 + (uint64_t)x57);
1096     x59 = (x11 + x58);
1097     x60 = (x10 + x59);
1098     x61 = (x9 + x60);
1099     x62 = (x8 + x61);
1100     x63 = (x7 + x62);
1101     x64 = (x63 & UINT64_C(0x7ffffffffffff));
1102     x65 = (uint8_t)(x63 >> 51);
1103     x66 = (x6 + (uint64_t)x65);
1104     x67 = (x5 + x66);
1105     x68 = (x4 + x67);
1106     x69 = (x3 + x68);
1107     x70 = (x2 + x69);
1108     x71 = (x1 + x70);
1109     out1[0] = x39;
1110     out1[1] = x47;
1111     out1[2] = x56;
1112     out1[3] = x64;
1113     out1[4] = x71;
1114 }
1115
1116 /* END verbatim fiat code */
1117
1118 /*-
1119  * Finite field inversion via FLT.
1120  * NB: this is not a real Fiat function, just named that way for consistency.
1121  * Autogenerated: ecp/id_tc26_gost_3410_2012_256_paramSetA/fe_inv.op3
1122  * custom repunit addition chain
1123  */
1124 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(fe_t output,
1125                                                           const fe_t t1) {
1126     int i;
1127     /* temporary variables */
1128     fe_t acc, t16, t164, t2, t246, t32, t4, t64, t8, t80, t82;
1129
1130     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t1);
1131     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, acc, t1);
1132     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t2);
1133     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1134     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t4, acc, t2);
1135     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t4);
1136     for (i = 0; i < 3; i++)
1137         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1138     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t8, acc, t4);
1139     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t8);
1140     for (i = 0; i < 7; i++)
1141         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1142     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t16, acc, t8);
1143     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t16);
1144     for (i = 0; i < 15; i++)
1145         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1146     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t32, acc, t16);
1147     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t32);
1148     for (i = 0; i < 31; i++)
1149         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1150     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t64, acc, t32);
1151     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t64);
1152     for (i = 0; i < 15; i++)
1153         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1154     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t80, acc, t16);
1155     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t80);
1156     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1157     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t82, acc, t2);
1158     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t82);
1159     for (i = 0; i < 81; i++)
1160         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1161     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t164, acc, t82);
1162     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t164);
1163     for (i = 0; i < 81; i++)
1164         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1165     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t246, acc, t82);
1166     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t246);
1167     for (i = 0; i < 2; i++)
1168         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1169     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t2);
1170     for (i = 0; i < 3; i++)
1171         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1172     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t1);
1173     for (i = 0; i < 2; i++)
1174         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1175     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t1);
1176     for (i = 0; i < 2; i++)
1177         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
1178     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(output, acc, t1);
1179 }
1180
1181 /* curve coefficient constants */
1182
1183 static const limb_t const_one[5] = {
1184     UINT64_C(0x0000000000000001), UINT64_C(0x0000000000000000),
1185     UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
1186     UINT64_C(0x0000000000000000)};
1187
1188 static const limb_t const_d[5] = {
1189     UINT64_C(0x0002C32D6DC7BFFB), UINT64_C(0x0002897009AF7E52),
1190     UINT64_C(0x0005AA3026573BEC), UINT64_C(0x0006A055E2F0E73E),
1191     UINT64_C(0x0000302FB5BE0C1F)};
1192
1193 static const limb_t const_S[5] = {
1194     UINT64_C(0x00074F34A48E0ECD), UINT64_C(0x00075DA3FD94206B),
1195     UINT64_C(0x00029573F66A3104), UINT64_C(0x000057EA8743C630),
1196     UINT64_C(0x0003F3F412907CF8)};
1197
1198 static const limb_t const_T[5] = {
1199     UINT64_C(0x000075DCE7A14AAA), UINT64_C(0x0005C192AC47EA63),
1200     UINT64_C(0x0000F1B2B10E89FC), UINT64_C(0x0007C563A5D2D135),
1201     UINT64_C(0x00000807F39FACAF)};
1202
1203 /* LUT for scalar multiplication by comb interleaving */
1204 static const pt_aff_t lut_cmb[14][16] = {
1205     {
1206         {{UINT64_C(0x000000000000000D), UINT64_C(0x0000000000000000),
1207           UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
1208           UINT64_C(0x0000000000000000)},
1209          {UINT64_C(0x000B2592DBA300E7), UINT64_C(0x0003E87F22E81F92),
1210           UINT64_C(0x00060EC939CFDF1B), UINT64_C(0x0006CD212230E3EA),
1211           UINT64_C(0x00030650F195523A)},
1212          {UINT64_C(0x0000E8752747155F), UINT64_C(0x0002CE74C5C99A73),
1213           UINT64_C(0x0006C037EF8E5465), UINT64_C(0x00006AAEBC7B92EB),
1214           UINT64_C(0x0007521C44952CFD)}},
1215         {{UINT64_C(0x000A63D93451134C), UINT64_C(0x0003F7A46C1C4CA7),
1216           UINT64_C(0x0002AF35693661CE), UINT64_C(0x0005313F13E9CC60),
1217           UINT64_C(0x00054E15958A5D97)},
1218          {UINT64_C(0x0004525DDCDB5791), UINT64_C(0x000736AACCCB7BC8),
1219           UINT64_C(0x000174F4885153CF), UINT64_C(0x0000CB27666A2367),
1220           UINT64_C(0x00016BDEBB39E143)},
1221          {UINT64_C(0x000C732788CBC030), UINT64_C(0x0005C721E676D06F),
1222           UINT64_C(0x00024101FDBBCCE2), UINT64_C(0x00059473AE8CD7CA),
1223           UINT64_C(0x000586898AC013B2)}},
1224         {{UINT64_C(0x000A894E457058AD), UINT64_C(0x00047D7F48E61013),
1225           UINT64_C(0x00035B4A672FE227), UINT64_C(0x0002A23302C060B2),
1226           UINT64_C(0x0000F011D09FB149)},
1227          {UINT64_C(0x000FB80EB0B22BCC), UINT64_C(0x000606DA3C1FAC0B),
1228           UINT64_C(0x00049BB0CE05B2EE), UINT64_C(0x000513F1BE099F41),
1229           UINT64_C(0x0002AEE30C375862)},
1230          {UINT64_C(0x0004ED5422831C0C), UINT64_C(0x0007ED2E735EF7E7),
1231           UINT64_C(0x0006F38521F75F30), UINT64_C(0x00040F086DBFA045),
1232           UINT64_C(0x0002BA6DCB264756)}},
1233         {{UINT64_C(0x000E66CD5DB0B356), UINT64_C(0x00068408F9A4857D),
1234           UINT64_C(0x0001F32E8FC1FD9F), UINT64_C(0x0006283C082BF3EE),
1235           UINT64_C(0x0007B28870E5B67C)},
1236          {UINT64_C(0x000FE1FDB8EFDCBE), UINT64_C(0x0003F21273425384),
1237           UINT64_C(0x0005870EEC15951B), UINT64_C(0x0006C844F52108D5),
1238           UINT64_C(0x0001CD6F3261AFA2)},
1239          {UINT64_C(0x000712D2BEAA7E64), UINT64_C(0x0006CA4E1492A890),
1240           UINT64_C(0x0001F6F63F92C63C), UINT64_C(0x0007E2FFA1F1C544),
1241           UINT64_C(0x0002725A45A8E238)}},
1242         {{UINT64_C(0x0003E27F874C6781), UINT64_C(0x000080BDDC3E44D5),
1243           UINT64_C(0x0005AFC7A11A0693), UINT64_C(0x0001B7278AA23AFD),
1244           UINT64_C(0x0004D7CF0D085A3B)},
1245          {UINT64_C(0x000D80090DD1AE96), UINT64_C(0x0002433971543626),
1246           UINT64_C(0x000276F2FB600A27), UINT64_C(0x0005E6BA3FC73B39),
1247           UINT64_C(0x0005F6DBA95D6230)},
1248          {UINT64_C(0x000E7885A2499A0E), UINT64_C(0x0004547B7F6C185E),
1249           UINT64_C(0x000003DCACBBA1C5), UINT64_C(0x000642667D8CF12B),
1250           UINT64_C(0x0002EA8E4237A0D7)}},
1251         {{UINT64_C(0x000FDE7B60226F30), UINT64_C(0x0006E61454CC4C1B),
1252           UINT64_C(0x000479C4C24E0377), UINT64_C(0x0000B58C33813041),
1253           UINT64_C(0x0002403059A551B8)},
1254          {UINT64_C(0x000F0EF2E06AE25F), UINT64_C(0x00065B351500FA13),
1255           UINT64_C(0x0004884D79149E34), UINT64_C(0x00020A52F78F4D69),
1256           UINT64_C(0x00052A46E43D1E6F)},
1257          {UINT64_C(0x000D0ECC557F4E9D), UINT64_C(0x0007D12B76DDBF72),
1258           UINT64_C(0x00001E35D93266D1), UINT64_C(0x00060EC982223C71),
1259           UINT64_C(0x0001388A4FBA5CC2)}},
1260         {{UINT64_C(0x000288DD0895A16C), UINT64_C(0x000602071D0EFE2E),
1261           UINT64_C(0x0007DEA3E3BA4068), UINT64_C(0x00049DB99EA55E0F),
1262           UINT64_C(0x00057C4FBA5BF59F)},
1263          {UINT64_C(0x00015BEBA4E2B732), UINT64_C(0x0001F7F8E714E8B3),
1264           UINT64_C(0x0000A952EF156C40), UINT64_C(0x00017371509C8E81),
1265           UINT64_C(0x000362B2B97378ED)},
1266          {UINT64_C(0x000A85D2D8D51136), UINT64_C(0x0005F222A81C7F67),
1267           UINT64_C(0x0007182E92B465DA), UINT64_C(0x00037F522C4E8E6D),
1268           UINT64_C(0x0004310842F64A2B)}},
1269         {{UINT64_C(0x0005A383213DC33C), UINT64_C(0x0007E9B816CD42C6),
1270           UINT64_C(0x0007FA8AE87087AA), UINT64_C(0x0004E55F40D4A3EE),
1271           UINT64_C(0x0004F6D263536B6D)},
1272          {UINT64_C(0x00020F67059F55A3), UINT64_C(0x00007763EEA276D3),
1273           UINT64_C(0x00019A17F705B71A), UINT64_C(0x0005944E63EB82FE),
1274           UINT64_C(0x0007650A0DC5D1CB)},
1275          {UINT64_C(0x000FCD65DD4C828B), UINT64_C(0x0004CA6637691EA4),
1276           UINT64_C(0x0003CCA5D1052701), UINT64_C(0x000712031F0647A6),
1277           UINT64_C(0x00021CFF42584B2A)}},
1278         {{UINT64_C(0x0006C8A92F922362), UINT64_C(0x00044311FB926B9A),
1279           UINT64_C(0x00024A255F064898), UINT64_C(0x0004502C0490E488),
1280           UINT64_C(0x000181B9C7BE07A7)},
1281          {UINT64_C(0x000AC7EB3F012FCF), UINT64_C(0x00066FE14D676159),
1282           UINT64_C(0x0000E913992C9940), UINT64_C(0x0005A66B28860B80),
1283           UINT64_C(0x0004FA013BB9A8C7)},
1284          {UINT64_C(0x0000AD18CD3393AB), UINT64_C(0x000615E7DB492BCF),
1285           UINT64_C(0x00065C59E4108193), UINT64_C(0x00001C03C21B9CD4),
1286           UINT64_C(0x00053FD4D84C40B2)}},
1287         {{UINT64_C(0x0003FC89A2C6B0CB), UINT64_C(0x0000F3FE6593C6B3),
1288           UINT64_C(0x00033E7B9EFD7774), UINT64_C(0x000202569ACD3FD6),
1289           UINT64_C(0x000304E71BD74A19)},
1290          {UINT64_C(0x00070B3E67C53736), UINT64_C(0x00062C9877C0935F),
1291           UINT64_C(0x00005596CE3DED78), UINT64_C(0x000065742F67B602),
1292           UINT64_C(0x0001F8FD1E49E6FF)},
1293          {UINT64_C(0x000C98D8B880CCBF), UINT64_C(0x0002C564715F7115),
1294           UINT64_C(0x0003131E65C288F0), UINT64_C(0x00032E11B2E67FC3),
1295           UINT64_C(0x000306235C4203E9)}},
1296         {{UINT64_C(0x0002EE57BC2F49E9), UINT64_C(0x00072B3E30AC4A02),
1297           UINT64_C(0x00007DB1E3840852), UINT64_C(0x0001DD33D665342A),
1298           UINT64_C(0x0001A7633225AEB5)},
1299          {UINT64_C(0x000B7F7B5B762A44), UINT64_C(0x000331A035435FA2),
1300           UINT64_C(0x00067E3DC1DDB9A7), UINT64_C(0x0004B831B6E64D06),
1301           UINT64_C(0x0006F2281134099E)},
1302          {UINT64_C(0x000B980EF7392E55), UINT64_C(0x0000B89E617A9CA2),
1303           UINT64_C(0x0007ABA1A8BE9857), UINT64_C(0x00039ACA46853BD7),
1304           UINT64_C(0x00075B4D3E20EED0)}},
1305         {{UINT64_C(0x000250EDAC297799), UINT64_C(0x0005F2C18C18BF27),
1306           UINT64_C(0x0001CA515336C8CA), UINT64_C(0x000559E66BDEB0DF),
1307           UINT64_C(0x0001DEEDAD609A8E)},
1308          {UINT64_C(0x000955E31C58DEDB), UINT64_C(0x000669D9C0842B27),
1309           UINT64_C(0x0006DEB790D54552), UINT64_C(0x0003F019C46019DA),
1310           UINT64_C(0x000471F509C91C79)},
1311          {UINT64_C(0x000732102C57B4C9), UINT64_C(0x0006A2A9C28278B1),
1312           UINT64_C(0x0002324651BB700F), UINT64_C(0x00035DAF397E77FD),
1313           UINT64_C(0x000663BBD174F83C)}},
1314         {{UINT64_C(0x000B929354FC042F), UINT64_C(0x00011C492ECCD647),
1315           UINT64_C(0x00009741F291BEF2), UINT64_C(0x0001B4C7302C0158),
1316           UINT64_C(0x00053AE1A0A0CF65)},
1317          {UINT64_C(0x0003EF8B2C9BC0FD), UINT64_C(0x00002CC7CA0F574C),
1318           UINT64_C(0x0006D4B65A91C0C0), UINT64_C(0x00037510A240479F),
1319           UINT64_C(0x0000C64FA252A385)},
1320          {UINT64_C(0x000A88BD59ED7C65), UINT64_C(0x0007ADDAE9CF1B08),
1321           UINT64_C(0x00019BA0F9C07F82), UINT64_C(0x000678DB16C95452),
1322           UINT64_C(0x000056623A2D43CD)}},
1323         {{UINT64_C(0x000B7E8A540D0BB7), UINT64_C(0x000584F51D57A3A5),
1324           UINT64_C(0x0001D8F204E79366), UINT64_C(0x00050AB42D36BB78),
1325           UINT64_C(0x0001F1939E53C5F0)},
1326          {UINT64_C(0x0006F36130EDF74C), UINT64_C(0x0004F887F8A3C1AE),
1327           UINT64_C(0x000287BA42F1A8B2), UINT64_C(0x00059F26236FEDC0),
1328           UINT64_C(0x0004E7E15665AB6B)},
1329          {UINT64_C(0x000BEF0A5861C3BC), UINT64_C(0x0001C09CD88554A1),
1330           UINT64_C(0x00061D92810426B4), UINT64_C(0x0000B7288E75D464),
1331           UINT64_C(0x0006309911A5EDED)}},
1332         {{UINT64_C(0x00085B811B64F095), UINT64_C(0x0005D8DFEF0DA78A),
1333           UINT64_C(0x0000FAC6BD61618C), UINT64_C(0x0004BAAA6C8B2729),
1334           UINT64_C(0x0004B56E9D2ABD89)},
1335          {UINT64_C(0x00043E639CD4D3BA), UINT64_C(0x00074DEABEABDB28),
1336           UINT64_C(0x0007E3FBA43ED6F6), UINT64_C(0x0003AEE8B7AFF1C3),
1337           UINT64_C(0x0003F53F79D2EE85)},
1338          {UINT64_C(0x000D24432D4F4AA5), UINT64_C(0x00078D7CF1ED698D),
1339           UINT64_C(0x0004FF1A468ED10E), UINT64_C(0x000401D16C0D8D9F),
1340           UINT64_C(0x0002F258FE117334)}},
1341         {{UINT64_C(0x000FB19D593A119F), UINT64_C(0x000573B9C8EF8EF8),
1342           UINT64_C(0x0003D940302F6503), UINT64_C(0x000182EF3D826EE0),
1343           UINT64_C(0x0003F7471C590F65)},
1344          {UINT64_C(0x000299B06DAA3C6C), UINT64_C(0x0007746E79EDD442),
1345           UINT64_C(0x0003AC79E8C5E3A4), UINT64_C(0x0007EEC70EB2D955),
1346           UINT64_C(0x000725068BB9E5F2)},
1347          {UINT64_C(0x0002BC325E5A930B), UINT64_C(0x000107F46E629456),
1348           UINT64_C(0x000640B07B73E5D1), UINT64_C(0x00001279DBE60561),
1349           UINT64_C(0x000225709C5657E7)}},
1350     },
1351     {
1352         {{UINT64_C(0x0000192B0CEABA3B), UINT64_C(0x0000C849471353C7),
1353           UINT64_C(0x0007933577181965), UINT64_C(0x000142C9EA69016E),
1354           UINT64_C(0x0004567E065866D3)},
1355          {UINT64_C(0x000B6B66959B52D6), UINT64_C(0x000430844ADC8F3E),
1356           UINT64_C(0x0006380BD764FFC3), UINT64_C(0x00016D901A803EAC),
1357           UINT64_C(0x000086B9A477DC01)},
1358          {UINT64_C(0x00023367321E8B93), UINT64_C(0x00032EA758921A81),
1359           UINT64_C(0x0004882218493C4B), UINT64_C(0x000363B5842D9A7D),
1360           UINT64_C(0x00015A99D8110971)}},
1361         {{UINT64_C(0x000300698CE29666), UINT64_C(0x0004EECA6154042B),
1362           UINT64_C(0x000166B994CFB4CC), UINT64_C(0x0004ACF422430E4C),
1363           UINT64_C(0x000025F72D8D2619)},
1364          {UINT64_C(0x000675E071BC36F8), UINT64_C(0x0004DFF904D1F8C7),
1365           UINT64_C(0x0003D505499703DF), UINT64_C(0x00020099265EDEB5),
1366           UINT64_C(0x0003CC88B51F7700)},
1367          {UINT64_C(0x0007D2FCAA25E5B3), UINT64_C(0x000265D6E2479291),
1368           UINT64_C(0x000011547C45B8FB), UINT64_C(0x0007BB46D4B019E2),
1369           UINT64_C(0x00056F6CD9966342)}},
1370         {{UINT64_C(0x000716456F1AF846), UINT64_C(0x0006EC66D0F766DB),
1371           UINT64_C(0x00046A2790A7CDEB), UINT64_C(0x0007D9FE58069E97),
1372           UINT64_C(0x0006F455E4C8BAF4)},
1373          {UINT64_C(0x0002DE3D52161A5B), UINT64_C(0x0001322EF1230B3D),
1374           UINT64_C(0x000064226A5D94E2), UINT64_C(0x0004F0C2721E80E3),
1375           UINT64_C(0x00055430C4FD1472)},
1376          {UINT64_C(0x000F3FE53622B34E), UINT64_C(0x000400E37E2F6B5E),
1377           UINT64_C(0x000786904CA5BE13), UINT64_C(0x000447C21E951630),
1378           UINT64_C(0x00030E6760567848)}},
1379         {{UINT64_C(0x000B726FC584B729), UINT64_C(0x000414D51BCE0A43),
1380           UINT64_C(0x000618F6813D930C), UINT64_C(0x00040A56D66C1756),
1381           UINT64_C(0x0003D984C56008C4)},
1382          {UINT64_C(0x000EB2683ACBED46), UINT64_C(0x000652CB350659D6),
1383           UINT64_C(0x00013634382FCA77), UINT64_C(0x0002F5D25E61B8FF),
1384           UINT64_C(0x0000B4620F79B12A)},
1385          {UINT64_C(0x0001E7A57930B5B8), UINT64_C(0x00073653EC2B76D1),
1386           UINT64_C(0x000613302FE0B30D), UINT64_C(0x0000A6C4E5761F63),
1387           UINT64_C(0x0006ADF86A72CC92)}},
1388         {{UINT64_C(0x00019186A824FDD7), UINT64_C(0x00011924F7F2750C),
1389           UINT64_C(0x00029AD4044367A7), UINT64_C(0x0007E9538B9DECCA),
1390           UINT64_C(0x000280D45D483E14)},
1391          {UINT64_C(0x000BB52AB225DCB5), UINT64_C(0x00028B165CB1E4DA),
1392           UINT64_C(0x0005BC09B05FCBE4), UINT64_C(0x000381D12C463328),
1393           UINT64_C(0x00076D0B0F76F027)},
1394          {UINT64_C(0x000FEDF306C25C01), UINT64_C(0x0003FECB41117000),
1395           UINT64_C(0x0002FD6A35E50E23), UINT64_C(0x000337ED65B03733),
1396           UINT64_C(0x0000574ECBAE7CDC)}},
1397         {{UINT64_C(0x0006DB58E6ED0D33), UINT64_C(0x0006B3191FF18B0A),
1398           UINT64_C(0x0003EA3B063F5E91), UINT64_C(0x00046C617AC41DAE),
1399           UINT64_C(0x00055B8985867163)},
1400          {UINT64_C(0x000FE332D0609F49), UINT64_C(0x00029E2B6C0590BB),
1401           UINT64_C(0x00027B083A8281E3), UINT64_C(0x00023F54A6691576),
1402           UINT64_C(0x0001F9B2324B7AF4)},
1403          {UINT64_C(0x000B28B2B17C7FE4), UINT64_C(0x0006080357FBA43E),
1404           UINT64_C(0x000615C5B81FBEF7), UINT64_C(0x0003954270A7909A),
1405           UINT64_C(0x0001A2F47D0A04EB)}},
1406         {{UINT64_C(0x000BA17581986197), UINT64_C(0x00034870F30008DA),
1407           UINT64_C(0x00013CA300CCA469), UINT64_C(0x0000B162692148B6),
1408           UINT64_C(0x0003F7CF95609F4D)},
1409          {UINT64_C(0x000BAE83E74F002F), UINT64_C(0x00069841112F14B8),
1410           UINT64_C(0x00078C4EFE35A991), UINT64_C(0x00060BCE9ED310B3),
1411           UINT64_C(0x000754449FD8083C)},
1412          {UINT64_C(0x000AF607F5B16E11), UINT64_C(0x000353A2B8ACC91E),
1413           UINT64_C(0x0000EF1D9E0EF391), UINT64_C(0x0004541CFF0EA8DF),
1414           UINT64_C(0x00016AEAE7B3F2F0)}},
1415         {{UINT64_C(0x0004D0C351D81066), UINT64_C(0x0000558E4F8F8B3B),
1416           UINT64_C(0x00016AB2E6954DA6), UINT64_C(0x0001322A57507762),
1417           UINT64_C(0x000048180B80AB80)},
1418          {UINT64_C(0x0008458BFFCB303A), UINT64_C(0x00022F59A0891BA3),
1419           UINT64_C(0x00015FD6CA3084EF), UINT64_C(0x000096545EB531A3),
1420           UINT64_C(0x0006E575563BC013)},
1421          {UINT64_C(0x00051F33B08869E8), UINT64_C(0x00026605DC18D15D),
1422           UINT64_C(0x00055CAC08CDE2C6), UINT64_C(0x000688FFA5C8BAE7),
1423           UINT64_C(0x0001B5E984904B9C)}},
1424         {{UINT64_C(0x0006B8B443814972), UINT64_C(0x00055FB9A76E0CC9),
1425           UINT64_C(0x00009CE2AAB60A30), UINT64_C(0x0003EF83A2F57151),
1426           UINT64_C(0x00054D67D9A4F513)},
1427          {UINT64_C(0x0007BECDA40A587F), UINT64_C(0x00066610E3756505),
1428           UINT64_C(0x000667AED7C671A5), UINT64_C(0x00045C3E37289FA8),
1429           UINT64_C(0x0003EE1DEB8BF15F)},
1430          {UINT64_C(0x00036DA9491A8276), UINT64_C(0x0007F3BA7F45D5F3),
1431           UINT64_C(0x0005491780986582), UINT64_C(0x00017D2A21BAB7FA),
1432           UINT64_C(0x00002173C231405F)}},
1433         {{UINT64_C(0x000F3DB9923407C2), UINT64_C(0x00034756D5DCF8D4),
1434           UINT64_C(0x00012004CC7C2A34), UINT64_C(0x000333FE8258F7D8),
1435           UINT64_C(0x00022BB7C7E2AFDF)},
1436          {UINT64_C(0x0000F405EE8CE31C), UINT64_C(0x0000EAD90D22334E),
1437           UINT64_C(0x00033D2A3C4C1541), UINT64_C(0x0000C208CD2F4BA6),
1438           UINT64_C(0x000531D1A514C9B5)},
1439          {UINT64_C(0x0009F9F19D9C76D2), UINT64_C(0x00050FDE66CC4397),
1440           UINT64_C(0x00007E0C2178203B), UINT64_C(0x0002A55E72D96E80),
1441           UINT64_C(0x0003C184A5AB3FAA)}},
1442         {{UINT64_C(0x0001563D94E10FCD), UINT64_C(0x0002F2A35D0DB543),
1443           UINT64_C(0x0006E7768E05CFD7), UINT64_C(0x000275C5FC14D586),
1444           UINT64_C(0x000433EC2F348324)},
1445          {UINT64_C(0x0004D3D54C94DA0B), UINT64_C(0x000794DDFDB2EE1E),
1446           UINT64_C(0x000682353D05BB00), UINT64_C(0x00062D8667C93A51),
1447           UINT64_C(0x0004DADCA5A8CE84)},
1448          {UINT64_C(0x0008950DCBA27A08), UINT64_C(0x00059BB3D4E3ABE9),
1449           UINT64_C(0x0003822C18A53312), UINT64_C(0x000244B26BFD9780),
1450           UINT64_C(0x00021363F385A671)}},
1451         {{UINT64_C(0x0008D4A03FC03231), UINT64_C(0x00023E2A19529871),
1452           UINT64_C(0x0007E6F5F8C1E22D), UINT64_C(0x0005603802B4085E),
1453           UINT64_C(0x0003FFA733F66BE0)},
1454          {UINT64_C(0x000CC0D81C2C08E7), UINT64_C(0x00018D23FC4F115C),
1455           UINT64_C(0x00003051462BF328), UINT64_C(0x0004DB5D451FA8EB),
1456           UINT64_C(0x00010ACD436DB7AA)},
1457          {UINT64_C(0x000316FC2858C718), UINT64_C(0x0001C94A21AE0F16),
1458           UINT64_C(0x0007FCCA25487FEF), UINT64_C(0x00075860E5CD985C),
1459           UINT64_C(0x0005097BC8151C25)}},
1460         {{UINT64_C(0x000DD0D0A35B9B1D), UINT64_C(0x00069BAAA4B56FF0),
1461           UINT64_C(0x0004C778899053BE), UINT64_C(0x00002FDC9FA10ADD),
1462           UINT64_C(0x0007A47AFD52F5E3)},
1463          {UINT64_C(0x000E3285C26BE9BF), UINT64_C(0x00033A7071D32E1A),
1464           UINT64_C(0x0005D4D66BCC2FAF), UINT64_C(0x00048588A74F8EA8),
1465           UINT64_C(0x00067F167FCDC66E)},
1466          {UINT64_C(0x0008784A422379C4), UINT64_C(0x0007470006E5302B),
1467           UINT64_C(0x000021E9843D3B99), UINT64_C(0x0003D41527492DDA),
1468           UINT64_C(0x0006326EC5940067)}},
1469         {{UINT64_C(0x000FF43284BB2391), UINT64_C(0x00053CD58E6D70AA),
1470           UINT64_C(0x0006AE6FA42E6DDF), UINT64_C(0x00028B006426C7D9),
1471           UINT64_C(0x00052B4EB53AA929)},
1472          {UINT64_C(0x0005CDDE09C1B9A5), UINT64_C(0x0000A96E981F65EC),
1473           UINT64_C(0x0001B2C7538B9E62), UINT64_C(0x000441A392439DEB),
1474           UINT64_C(0x0006A2B722DC6381)},
1475          {UINT64_C(0x000900CFD32A9792), UINT64_C(0x0001A7B4A6CF54D6),
1476           UINT64_C(0x0003CBAB4ADCD36D), UINT64_C(0x0007B9C1AA60B86D),
1477           UINT64_C(0x0000702520E53679)}},
1478         {{UINT64_C(0x000C9A305D7834CB), UINT64_C(0x0005B7B9FE0CCCE7),
1479           UINT64_C(0x000016A6095A241B), UINT64_C(0x0004B712FDF75B13),
1480           UINT64_C(0x0002C53655BBD91A)},
1481          {UINT64_C(0x0008A6ED2314DDC8), UINT64_C(0x0007DA70CDF279E7),
1482           UINT64_C(0x0006D2D0C3606E50), UINT64_C(0x0003283DAAA8966F),
1483           UINT64_C(0x0006EF64B4E41560)},
1484          {UINT64_C(0x00042A16ECAEB238), UINT64_C(0x0005A981B79EAFF2),
1485           UINT64_C(0x0005427BFC071A2B), UINT64_C(0x00049349A5AB5626),
1486           UINT64_C(0x00041BC86960BD2C)}},
1487         {{UINT64_C(0x000ABCDBE3A9E5D5), UINT64_C(0x000405363A4B3483),
1488           UINT64_C(0x000120CFBB24A873), UINT64_C(0x0005AAE474A462D0),
1489           UINT64_C(0x00035D540394697D)},
1490          {UINT64_C(0x000A64659EFE52C3), UINT64_C(0x0004DB773D047E7A),
1491           UINT64_C(0x0002162ABB1CFD3D), UINT64_C(0x00015B391C39D9D5),
1492           UINT64_C(0x00045B7D89DC266B)},
1493          {UINT64_C(0x000B2D1FBC9FC441), UINT64_C(0x00012722CD49F3E8),
1494           UINT64_C(0x0004A0CFFD68110C), UINT64_C(0x0001B6ECFF11A156),
1495           UINT64_C(0x0007D2F58CE5E926)}},
1496     },
1497     {
1498         {{UINT64_C(0x000E1788C8C3CC62), UINT64_C(0x00043FD128363765),
1499           UINT64_C(0x00069AE472062EAB), UINT64_C(0x00035D256FE91217),
1500           UINT64_C(0x00067910C5563600)},
1501          {UINT64_C(0x000F768B1233A3DB), UINT64_C(0x0007DF4C7CD2EA86),
1502           UINT64_C(0x0002CAE86EF8DA2A), UINT64_C(0x0002329535DE9283),
1503           UINT64_C(0x0005A07C9F89C3C4)},
1504          {UINT64_C(0x000054FF768F9CA3), UINT64_C(0x00043D9E4B66B860),
1505           UINT64_C(0x0007DF913CA8B203), UINT64_C(0x000719B3B558DDAA),
1506           UINT64_C(0x00049B2BB9B923F3)}},
1507         {{UINT64_C(0x000890BE7F18CD54), UINT64_C(0x00044AEBC732FC6C),
1508           UINT64_C(0x0000F98B4946A855), UINT64_C(0x00012B28B7A38B2D),
1509           UINT64_C(0x00030C9FAD322292)},
1510          {UINT64_C(0x0009D307A4D23D40), UINT64_C(0x00056FC224E7F4C7),
1511           UINT64_C(0x00054A676DE6F4D3), UINT64_C(0x0006E886B5E9AB59),
1512           UINT64_C(0x0005165D23A85BC8)},
1513          {UINT64_C(0x000ED25967873511), UINT64_C(0x0006C6A9C182B080),
1514           UINT64_C(0x0006978A72802608), UINT64_C(0x0006BF34B9518468),
1515           UINT64_C(0x0006871D973DF84B)}},
1516         {{UINT64_C(0x000F875D00421E67), UINT64_C(0x00042EDCCB1C82C1),
1517           UINT64_C(0x000048FC0A2E1BB9), UINT64_C(0x000733FCF9823770),
1518           UINT64_C(0x00049255AE9DEDFF)},
1519          {UINT64_C(0x000B76A27F806A6B), UINT64_C(0x0002C8618FECD22F),
1520           UINT64_C(0x0007CA416389DB51), UINT64_C(0x00072B231F4E3DF8),
1521           UINT64_C(0x00037E6C81D4C8A3)},
1522          {UINT64_C(0x000315AE714C164A), UINT64_C(0x0000651074CD146C),
1523           UINT64_C(0x00070A110B6FA83C), UINT64_C(0x000292BEB2445915),
1524           UINT64_C(0x0007BAE86E66340A)}},
1525         {{UINT64_C(0x0005A42303FA5032), UINT64_C(0x00079C0EED4C5482),
1526           UINT64_C(0x00070FAF28317AA9), UINT64_C(0x000252F900BCA786),
1527           UINT64_C(0x0004C6DF6AC32D72)},
1528          {UINT64_C(0x000899EF622C1092), UINT64_C(0x00024300EA163F80),
1529           UINT64_C(0x0005D78541F9C58D), UINT64_C(0x0000A82CF29A5335),
1530           UINT64_C(0x00057651841E4857)},
1531          {UINT64_C(0x0002DDAF4534E914), UINT64_C(0x0005C3F8E3CEDF3D),
1532           UINT64_C(0x0007E428DFE30ABB), UINT64_C(0x0000CFA8EF984856),
1533           UINT64_C(0x0007F54DE1239314)}},
1534         {{UINT64_C(0x0003E194BB770B21), UINT64_C(0x0005FE5004F0D44C),
1535           UINT64_C(0x00000E420E05B0CD), UINT64_C(0x0007F4C1EB04ADEA),
1536           UINT64_C(0x00042CF75F5849CB)},
1537          {UINT64_C(0x000DFBFF2F58474E), UINT64_C(0x000023E38CACC0A2),
1538           UINT64_C(0x0007940AAA1D2AEF), UINT64_C(0x00066B3671EF7D12),
1539           UINT64_C(0x0002262304E8FD69)},
1540          {UINT64_C(0x0008190A96FA31A5), UINT64_C(0x000342B2840B29B6),
1541           UINT64_C(0x000692023CF41B60), UINT64_C(0x000438CCB9AD9326),
1542           UINT64_C(0x0006A74AEEF91383)}},
1543         {{UINT64_C(0x00018FBC15EE9825), UINT64_C(0x000471ADE4E86042),
1544           UINT64_C(0x000460985BA9C276), UINT64_C(0x0000273A2CD2F02D),
1545           UINT64_C(0x0003D497885E0289)},
1546          {UINT64_C(0x000FB3F88C29D5D7), UINT64_C(0x00006A92797F73B7),
1547           UINT64_C(0x00040AF0BB921EC0), UINT64_C(0x00056F0E3B22C834),
1548           UINT64_C(0x0002624649A67166)},
1549          {UINT64_C(0x00027A77B2D5B395), UINT64_C(0x000485B55DD21EC2),
1550           UINT64_C(0x00018F0DD390533C), UINT64_C(0x0002C22DC574DCED),
1551           UINT64_C(0x0002023C88609399)}},
1552         {{UINT64_C(0x0000652B6A1715E4), UINT64_C(0x00010936CCCDBCBB),
1553           UINT64_C(0x00075D99584830CC), UINT64_C(0x00013967DE55AE9B),
1554           UINT64_C(0x000497B11ABB2BA5)},
1555          {UINT64_C(0x00029098D0D4B7BF), UINT64_C(0x000148C12832BF02),
1556           UINT64_C(0x0001ACF592227FC4), UINT64_C(0x000361B3459461F5),
1557           UINT64_C(0x00017789D92B4734)},
1558          {UINT64_C(0x00051C79B949CE9C), UINT64_C(0x0003A90D40F0533B),
1559           UINT64_C(0x0000FF1DE7855E3C), UINT64_C(0x00063C0B316F0292),
1560           UINT64_C(0x00079EE9916B16AB)}},
1561         {{UINT64_C(0x000BAF756382E001), UINT64_C(0x00074E66D14AA815),
1562           UINT64_C(0x0005B5DA0DFB4345), UINT64_C(0x0006A98DDBA8EDB0),
1563           UINT64_C(0x00036757B46A7CB2)},
1564          {UINT64_C(0x000D2030D203D167), UINT64_C(0x0003C138F45B97D2),
1565           UINT64_C(0x0000D68249398DBC), UINT64_C(0x00024992D9AC907A),
1566           UINT64_C(0x00054B2D81985107)},
1567          {UINT64_C(0x000C135EB42B443B), UINT64_C(0x000459E57D3F091F),
1568           UINT64_C(0x0007365731E3CB09), UINT64_C(0x00037913422A2661),
1569           UINT64_C(0x00022EB791C1E99D)}},
1570         {{UINT64_C(0x000DBBF41597ABD7), UINT64_C(0x00047A1841FA5CB7),
1571           UINT64_C(0x0005DFFB8D0489BA), UINT64_C(0x000207F59D5AFDD6),
1572           UINT64_C(0x0005862958391C33)},
1573          {UINT64_C(0x00023D6607BF974F), UINT64_C(0x000447A73195D140),
1574           UINT64_C(0x0001CEA4FE1AACB4), UINT64_C(0x00009432CE509804),
1575           UINT64_C(0x0002E2C660E2C2A9)},
1576          {UINT64_C(0x00076405764963F7), UINT64_C(0x0007B075E1B18E3F),
1577           UINT64_C(0x0003C86F3DB152BE), UINT64_C(0x000717D762BDBB19),
1578           UINT64_C(0x00009430702D8371)}},
1579         {{UINT64_C(0x000AF7F915E85486), UINT64_C(0x0000B0BBC2BBB069),
1580           UINT64_C(0x0004A8AC30D65B82), UINT64_C(0x0001A98BB8FFCCD1),
1581           UINT64_C(0x0000A60C0955A82C)},
1582          {UINT64_C(0x00028B7AA8D6E8B3), UINT64_C(0x000599AA3AFD1F06),
1583           UINT64_C(0x000495C8A53271EA), UINT64_C(0x00010D4AB4581526),
1584           UINT64_C(0x00005A91911011B4)},
1585          {UINT64_C(0x00091E63537A8EAF), UINT64_C(0x0004DDC52ABAE41E),
1586           UINT64_C(0x0003DD0926FDA797), UINT64_C(0x00053806DE4C5BB3),
1587           UINT64_C(0x0005E6F1B98E4E5F)}},
1588         {{UINT64_C(0x000ED0D0E611D440), UINT64_C(0x00028F43B4F900C1),
1589           UINT64_C(0x0004C3467D15A321), UINT64_C(0x0003FA40B92F63A1),
1590           UINT64_C(0x0004EB1D7C0F97C7)},
1591          {UINT64_C(0x000F31CB2B424218), UINT64_C(0x00028FC2CBD4B770),
1592           UINT64_C(0x000049E2E21B9426), UINT64_C(0x0004FBA6C0CA6B59),
1593           UINT64_C(0x0000910A8BCBADA6)},
1594          {UINT64_C(0x000062AA84E5A1E8), UINT64_C(0x00055785384B963C),
1595           UINT64_C(0x000718EE20099ACE), UINT64_C(0x0001AAE6F92CB06B),
1596           UINT64_C(0x0005C36213B6B09F)}},
1597         {{UINT64_C(0x00042CD518E7BB1F), UINT64_C(0x000621C5EDE20FF0),
1598           UINT64_C(0x000784AA45E52004), UINT64_C(0x0001EF5EE32943D1),
1599           UINT64_C(0x00020EB45F6DCE70)},
1600          {UINT64_C(0x0001A99725161F74), UINT64_C(0x0000C92D8DE52D6B),
1601           UINT64_C(0x0004943C545783B6), UINT64_C(0x0000F2A34F6C04CA),
1602           UINT64_C(0x0004BA95172EB757)},
1603          {UINT64_C(0x00058B38359EEF2E), UINT64_C(0x00072A003FEEF0E3),
1604           UINT64_C(0x0005A1A497C5B5E4), UINT64_C(0x0007346A30D5043D),
1605           UINT64_C(0x0004DCC170CE73B1)}},
1606         {{UINT64_C(0x0007FCA11D67A5F5), UINT64_C(0x00051F99020E8DA7),
1607           UINT64_C(0x00032448AD151580), UINT64_C(0x0002D682339FD143),
1608           UINT64_C(0x0005C59954328210)},
1609          {UINT64_C(0x000065B65920EA67), UINT64_C(0x00064F016ACC8DB2),
1610           UINT64_C(0x0002B54FD32DCADE), UINT64_C(0x0007514AC407F433),
1611           UINT64_C(0x0006FB8E73CDEC87)},
1612          {UINT64_C(0x0008D3F0CEB6FEF4), UINT64_C(0x000008CD1DAF58F2),
1613           UINT64_C(0x0005E29BD86720C8), UINT64_C(0x0001F89E2EA7D372),
1614           UINT64_C(0x0000F12D2FEBC32E)}},
1615         {{UINT64_C(0x00074C08FE9F6EBB), UINT64_C(0x00019BC5A03773E2),
1616           UINT64_C(0x0002DC6D42FDA236), UINT64_C(0x00026B76B5DD35AA),
1617           UINT64_C(0x0004AC140E7698BA)},
1618          {UINT64_C(0x00007B671BE5225C), UINT64_C(0x00075E4E1423B035),
1619           UINT64_C(0x0005C5078EE3FB12), UINT64_C(0x00018FE0631F18BA),
1620           UINT64_C(0x00049C97C216ADA7)},
1621          {UINT64_C(0x000288CA79DE3FDD), UINT64_C(0x0005F95B9694502C),
1622           UINT64_C(0x0007A90B27755E7B), UINT64_C(0x0000D6B962A5D7B4),
1623           UINT64_C(0x0002B73E8EABF5E7)}},
1624         {{UINT64_C(0x000CF4B90C4F175B), UINT64_C(0x00038B2E4ADFE275),
1625           UINT64_C(0x00051C55B83D6C95), UINT64_C(0x00055A2D1264C7D4),
1626           UINT64_C(0x00062E83FE154821)},
1627          {UINT64_C(0x0008971A5D058482), UINT64_C(0x0000037DDD623E19),
1628           UINT64_C(0x00032867F2B615A5), UINT64_C(0x000623016E6AEBA8),
1629           UINT64_C(0x00012A36AB822905)},
1630          {UINT64_C(0x000120EE148C51AE), UINT64_C(0x00040334FADAA4FB),
1631           UINT64_C(0x000334965ACA2453), UINT64_C(0x0006D3E8020844BE),
1632           UINT64_C(0x00067F6DE44BCF25)}},
1633         {{UINT64_C(0x000105D43C9E9178), UINT64_C(0x0004721A89809540),
1634           UINT64_C(0x0006FC38C213B1E4), UINT64_C(0x0002647D42F65B1A),
1635           UINT64_C(0x0000376348D66B34)},
1636          {UINT64_C(0x000C9949B00A3DA8), UINT64_C(0x0000A0919FC02F1D),
1637           UINT64_C(0x00028254055C25E6), UINT64_C(0x0001D9499A0AE6F5),
1638           UINT64_C(0x0001AACE22F92850)},
1639          {UINT64_C(0x0000AD0E76427572), UINT64_C(0x0004C84545B77E18),
1640           UINT64_C(0x000288F5B54FDDB7), UINT64_C(0x00038ED121222ABA),
1641           UINT64_C(0x0003A0976AA7E43F)}},
1642     },
1643     {
1644         {{UINT64_C(0x00081FCF9F18835D), UINT64_C(0x000431F4C3B0D6B0),
1645           UINT64_C(0x0004948FEC6A3648), UINT64_C(0x0004A9B64ED01851),
1646           UINT64_C(0x0005A8976BDBA97F)},
1647          {UINT64_C(0x000B16BF1437E1C3), UINT64_C(0x00037D028CF83551),
1648           UINT64_C(0x0001D4890BE8B6E0), UINT64_C(0x00014CEE0109B29D),
1649           UINT64_C(0x0001D11B49FC55FA)},
1650          {UINT64_C(0x000FF921373DC1C7), UINT64_C(0x00038DE820056599),
1651           UINT64_C(0x0000120CE481802B), UINT64_C(0x0006FFC1F2C088F4),
1652           UINT64_C(0x0001EE2D0C6B1DF4)}},
1653         {{UINT64_C(0x00000FF81329CB03), UINT64_C(0x00068780226033B3),
1654           UINT64_C(0x0006A2545BA20041), UINT64_C(0x0005B2BDDF462150),
1655           UINT64_C(0x0003958DB9028FB7)},
1656          {UINT64_C(0x000C6BC63284596C), UINT64_C(0x000348523D1DBF57),
1657           UINT64_C(0x00046E3F936916F1), UINT64_C(0x0005F78F7E010886),
1658           UINT64_C(0x0004BAEFBF32EDCF)},
1659          {UINT64_C(0x0006B10E2C0DA1C1), UINT64_C(0x000039C183458580),
1660           UINT64_C(0x00012DB6C7B007C5), UINT64_C(0x0003F3B7176CF39B),
1661           UINT64_C(0x0003C1F7265871AC)}},
1662         {{UINT64_C(0x00085B51F8BCFE19), UINT64_C(0x00014E262925BD43),
1663           UINT64_C(0x00012F59369D7DEC), UINT64_C(0x0005891E437C785D),
1664           UINT64_C(0x000079EFC6B4ADC9)},
1665          {UINT64_C(0x00057113F86AEFDE), UINT64_C(0x00031D2A3CBB809F),
1666           UINT64_C(0x00033DCF8AE19C6C), UINT64_C(0x00002213DF3BA392),
1667           UINT64_C(0x0002650EDFE84235)},
1668          {UINT64_C(0x0004FEF6E8E8730E), UINT64_C(0x0002E2C593B029F4),
1669           UINT64_C(0x0002D3E99D33A67F), UINT64_C(0x00014E290C55B9BF),
1670           UINT64_C(0x0004403429D2BE3D)}},
1671         {{UINT64_C(0x000409570F86A1D1), UINT64_C(0x00022B63BCCD0F01),
1672           UINT64_C(0x0004F7D7B94F1868), UINT64_C(0x0001450E62B7DF7C),
1673           UINT64_C(0x000694DAA72BBCAC)},
1674          {UINT64_C(0x000F24FC804E499A), UINT64_C(0x0001C5150B7A2ED2),
1675           UINT64_C(0x0004AA24EEC36D37), UINT64_C(0x0002132213761A03),
1676           UINT64_C(0x00075A13822D103C)},
1677          {UINT64_C(0x000067187C39EB19), UINT64_C(0x0007765373B31B66),
1678           UINT64_C(0x00029CEAE18E4D79), UINT64_C(0x0002C737CC0BD795),
1679           UINT64_C(0x0003193EDEEA0158)}},
1680         {{UINT64_C(0x0005B52C3101E326), UINT64_C(0x0007176502D653B5),
1681           UINT64_C(0x0001FD26BF9CB194), UINT64_C(0x0004FB67EADB3779),
1682           UINT64_C(0x0004D0C770A8ACCF)},
1683          {UINT64_C(0x00011F79B7B344FC), UINT64_C(0x00006663499E87A4),
1684           UINT64_C(0x000450DAEF594E13), UINT64_C(0x00078C2F195A18D1),
1685           UINT64_C(0x0007978E36566E63)},
1686          {UINT64_C(0x0002EB14A8C94333), UINT64_C(0x0001C2F764E483AE),
1687           UINT64_C(0x00031C462060C077), UINT64_C(0x0003EF30123095CE),
1688           UINT64_C(0x00021B6A8AF629FF)}},
1689         {{UINT64_C(0x0006C49C35F232E3), UINT64_C(0x0000B80EEFEC6616),
1690           UINT64_C(0x000680164DFC3701), UINT64_C(0x00072FF54666B634),
1691           UINT64_C(0x00068AB4AFC182CD)},
1692          {UINT64_C(0x000176EF0C655243), UINT64_C(0x00019A1EE66FD2EB),
1693           UINT64_C(0x0006AF04A498FFA9), UINT64_C(0x0002514F98E20D4A),
1694           UINT64_C(0x0001A0821E95F930)},
1695          {UINT64_C(0x000D58CC3800FE7F), UINT64_C(0x00050C9E092A5673),
1696           UINT64_C(0x00051CB3347178DD), UINT64_C(0x0002C9C1FB2FE677),
1697           UINT64_C(0x00015EE68A8526B0)}},
1698         {{UINT64_C(0x000CD72A8856201E), UINT64_C(0x00038E8C397ED335),
1699           UINT64_C(0x0000B8E2262FC710), UINT64_C(0x000027DC02E17AF3),
1700           UINT64_C(0x0006A5F450F30E8E)},
1701          {UINT64_C(0x000B680DE0C07AE0), UINT64_C(0x00054D907D909686),
1702           UINT64_C(0x000757C2922B0737), UINT64_C(0x000660842FC9A0BA),
1703           UINT64_C(0x0003FC7B58E7239A)},
1704          {UINT64_C(0x0004651B7E8AE200), UINT64_C(0x000484D3CB6C7A8E),
1705           UINT64_C(0x0002F474BA01A0C0), UINT64_C(0x00044AA7003C772D),
1706           UINT64_C(0x0000371F52FFC53B)}},
1707         {{UINT64_C(0x0005C3B547E0B571), UINT64_C(0x000209CCABD0AB4B),
1708           UINT64_C(0x0002D25C9DBF3DB1), UINT64_C(0x000032A6A6DE8522),
1709           UINT64_C(0x00017A0AD8ECF369)},
1710          {UINT64_C(0x0009010B6E71332D), UINT64_C(0x0007B69ECC73F71C),
1711           UINT64_C(0x0000FFC2CCAF6490), UINT64_C(0x00064FDB227E8E46),
1712           UINT64_C(0x00055085B8768622)},
1713          {UINT64_C(0x00039AD933E2C137), UINT64_C(0x000171F8E3C0681B),
1714           UINT64_C(0x0001BCC516668190), UINT64_C(0x00063314F511F47A),
1715           UINT64_C(0x0002FE194634EA7D)}},
1716         {{UINT64_C(0x000FE52986682B6C), UINT64_C(0x0007C7793C6CFA0B),
1717           UINT64_C(0x0002F120DB9FC778), UINT64_C(0x00056B1B5D1B696B),
1718           UINT64_C(0x0006F7B105C7285D)},
1719          {UINT64_C(0x000F08F3C79E5FA2), UINT64_C(0x0006714A9E5021DE),
1720           UINT64_C(0x000556DFCA302233), UINT64_C(0x00036A6272A322E0),
1721           UINT64_C(0x0007958876DF034E)},
1722          {UINT64_C(0x0001B28B59F70354), UINT64_C(0x0007AB27CE51E80D),
1723           UINT64_C(0x0000567BCD43D179), UINT64_C(0x00041EF880C69F63),
1724           UINT64_C(0x00057CCC9DA97DCC)}},
1725         {{UINT64_C(0x00006BDC7393E9B9), UINT64_C(0x00056D46935E2D25),
1726           UINT64_C(0x00040C99AE846E20), UINT64_C(0x000277C2A48B7D6B),
1727           UINT64_C(0x0006F9657DBA5EC0)},
1728          {UINT64_C(0x000E84FD78E1468C), UINT64_C(0x0001F647949AC006),
1729           UINT64_C(0x000373B20611C903), UINT64_C(0x00015E6FAFF6FA2A),
1730           UINT64_C(0x00053520AB3070E2)},
1731          {UINT64_C(0x000CC15CC69411F0), UINT64_C(0x000552FB8719E7D5),
1732           UINT64_C(0x0007C3B5010848F9), UINT64_C(0x0000E8AF5525076D),
1733           UINT64_C(0x00058459D1B894E4)}},
1734         {{UINT64_C(0x000B9009E3531F14), UINT64_C(0x0000237005679DB2),
1735           UINT64_C(0x0007BF223FD5732A), UINT64_C(0x0006429263F091F4),
1736           UINT64_C(0x0007493705D2ADC2)},
1737          {UINT64_C(0x000793C60C5EACBA), UINT64_C(0x000332F859C4D8EE),
1738           UINT64_C(0x0000D090DF892E4A), UINT64_C(0x00041A3040EC7085),
1739           UINT64_C(0x0001F585E3FC2C2A)},
1740          {UINT64_C(0x00084D3FD3FF468A), UINT64_C(0x00038C0475145DFA),
1741           UINT64_C(0x00056070E08A4838), UINT64_C(0x0002AC8E15465366),
1742           UINT64_C(0x0000F1485199EC2C)}},
1743         {{UINT64_C(0x000012693C9129E3), UINT64_C(0x00011009F59E7410),
1744           UINT64_C(0x0005E068432FB821), UINT64_C(0x000509F6A285BC64),
1745           UINT64_C(0x00064B88E6E8B8A6)},
1746          {UINT64_C(0x000739F7074FD4A7), UINT64_C(0x00032712493D3F9E),
1747           UINT64_C(0x0002E3550E33660D), UINT64_C(0x0006EE093485A6A5),
1748           UINT64_C(0x0004CAE5F8CDBF10)},
1749          {UINT64_C(0x000BB27495CF7ED3), UINT64_C(0x00001CEB73051EC2),
1750           UINT64_C(0x000686DC320D7C1D), UINT64_C(0x0007C5AD5EC9F58E),
1751           UINT64_C(0x0001B98ED417D210)}},
1752         {{UINT64_C(0x000BCF4C24A4C93E), UINT64_C(0x00002415C387FA3B),
1753           UINT64_C(0x0004B3C58228DDFC), UINT64_C(0x0002037F66598FCF),
1754           UINT64_C(0x000793FF104F8F35)},
1755          {UINT64_C(0x000F1F6A9319DCA8), UINT64_C(0x0007F0E26C6BFDCF),
1756           UINT64_C(0x00024F06F6521950), UINT64_C(0x0001BF65931AAD98),
1757           UINT64_C(0x0004DA8B59BE0CB7)},
1758          {UINT64_C(0x000C49B7018AF82E), UINT64_C(0x0000264DF5E55202),
1759           UINT64_C(0x00004C1B40891F09), UINT64_C(0x00037D39139B0395),
1760           UINT64_C(0x000545CEBFF22B6C)}},
1761         {{UINT64_C(0x0000535E19606923), UINT64_C(0x000389F3CEB25CB9),
1762           UINT64_C(0x000771A87A5F04FF), UINT64_C(0x000712E80B91B905),
1763           UINT64_C(0x00001F1EA4402629)},
1764          {UINT64_C(0x0003A2CFFE51751A), UINT64_C(0x0001780B59BF2F57),
1765           UINT64_C(0x00033B2134560E7F), UINT64_C(0x0000C2FD87484CD4),
1766           UINT64_C(0x0000C1E827BF8C54)},
1767          {UINT64_C(0x000BB159A554E7F7), UINT64_C(0x000679D0F2669B49),
1768           UINT64_C(0x0007C8AF96EB162D), UINT64_C(0x000739F8391987C4),
1769           UINT64_C(0x0004FD6BA815924D)}},
1770         {{UINT64_C(0x000CD58A76375AB1), UINT64_C(0x0000E0B8DB7493B2),
1771           UINT64_C(0x0001F26DC2178BD2), UINT64_C(0x000267C3B843A318),
1772           UINT64_C(0x0003B57558845D7B)},
1773          {UINT64_C(0x00062248E93DA9D4), UINT64_C(0x0001B750D5841F57),
1774           UINT64_C(0x0005825717C4CDF9), UINT64_C(0x000395BD7231BF89),
1775           UINT64_C(0x0005BB6B5E2E6AF9)},
1776          {UINT64_C(0x0009C6B9394024E3), UINT64_C(0x00075C5446BE7237),
1777           UINT64_C(0x00065E6C801E7BB5), UINT64_C(0x00002DB2F90A55CC),
1778           UINT64_C(0x00045DBB4D1CCBDE)}},
1779         {{UINT64_C(0x00053CBFDBE0980A), UINT64_C(0x0001407AA377A7AD),
1780           UINT64_C(0x0001290C47515626), UINT64_C(0x0006B6C6AB3118E7),
1781           UINT64_C(0x0002C22D483E81D6)},
1782          {UINT64_C(0x00012ACDC7AE7440), UINT64_C(0x00069C66640BC7A6),
1783           UINT64_C(0x00002A4F768809CC), UINT64_C(0x00014168BEC8D796),
1784           UINT64_C(0x000052716E75E07B)},
1785          {UINT64_C(0x0001BB2F947F80B6), UINT64_C(0x000073A86D41B9DC),
1786           UINT64_C(0x0000F191E9DE78B6), UINT64_C(0x00065DF33E390DB9),
1787           UINT64_C(0x00003308F79176BD)}},
1788     },
1789     {
1790         {{UINT64_C(0x000BA39C423A0F8A), UINT64_C(0x0006FF2C4C49644C),
1791           UINT64_C(0x000527B0CF9945D1), UINT64_C(0x000462BF78F17E13),
1792           UINT64_C(0x000072F5DF073B45)},
1793          {UINT64_C(0x000A52B0C9431B86), UINT64_C(0x00007413199BDB5A),
1794           UINT64_C(0x0006FF18C34250CB), UINT64_C(0x0005F22C96AC669A),
1795           UINT64_C(0x00009930CFA11CAD)},
1796          {UINT64_C(0x00049D54A46B4F00), UINT64_C(0x0001AA620DEF496D),
1797           UINT64_C(0x0001FF21C12D3280), UINT64_C(0x0006DA8184B69B09),
1798           UINT64_C(0x000387F6AA984BF6)}},
1799         {{UINT64_C(0x0001654E2D2F5512), UINT64_C(0x00078F8B53D7341A),
1800           UINT64_C(0x0000470E5BC40FE6), UINT64_C(0x0006C2A23BF4231D),
1801           UINT64_C(0x00008AD4AC154BD4)},
1802          {UINT64_C(0x00025588B0E427F0), UINT64_C(0x00004B7426292145),
1803           UINT64_C(0x0004EFE16DBDD657), UINT64_C(0x000737056241360D),
1804           UINT64_C(0x000503BBEF8BB0A2)},
1805          {UINT64_C(0x000E71495D3F3EE8), UINT64_C(0x0003B55E84166513),
1806           UINT64_C(0x0005A32066E89C7A), UINT64_C(0x00060FD619143FDC),
1807           UINT64_C(0x0007AF54E13C9A0B)}},
1808         {{UINT64_C(0x000F35F2359ED4D4), UINT64_C(0x0006DAD5A1EDD9F7),
1809           UINT64_C(0x00033E72BB06FA4C), UINT64_C(0x0004CB0BF2699447),
1810           UINT64_C(0x00078ADC100A9438)},
1811          {UINT64_C(0x00058677010F1D44), UINT64_C(0x0000EE3DA34D7805),
1812           UINT64_C(0x0003C19261DBCE0E), UINT64_C(0x0000BE1D2B1915F1),
1813           UINT64_C(0x0004C27417301A56)},
1814          {UINT64_C(0x00010519E74F0FD3), UINT64_C(0x000667928B6E2AED),
1815           UINT64_C(0x000112B7D96F8351), UINT64_C(0x00025AC5C3C73843),
1816           UINT64_C(0x00064F071A913A63)}},
1817         {{UINT64_C(0x000134221F75E904), UINT64_C(0x0001E877FC436184),
1818           UINT64_C(0x0001043119533F1B), UINT64_C(0x00036E12894B6885),
1819           UINT64_C(0x0001A97DC3A85DD9)},
1820          {UINT64_C(0x0005B0E5800AD26D), UINT64_C(0x0003C8403B9B7909),
1821           UINT64_C(0x000578BF28F187B8), UINT64_C(0x0006F76A622B025F),
1822           UINT64_C(0x00001A581506806A)},
1823          {UINT64_C(0x000B1B3A779043A2), UINT64_C(0x0002BD2CCEFC7D40),
1824           UINT64_C(0x0006880561392822), UINT64_C(0x000470820DC7AD05),
1825           UINT64_C(0x0000A8A6DFE39EFC)}},
1826         {{UINT64_C(0x0003B4AE7341A857), UINT64_C(0x0006F61AE4525D94),
1827           UINT64_C(0x00047463C3F47708), UINT64_C(0x00013CE30C0E6CD4),
1828           UINT64_C(0x0001A4D6B43BC1E8)},
1829          {UINT64_C(0x000448110CF677D7), UINT64_C(0x0002B26F500047C8),
1830           UINT64_C(0x0000A9EDEE30B5CA), UINT64_C(0x00074CEAB89A5F26),
1831           UINT64_C(0x00069DC9E784890E)},
1832          {UINT64_C(0x0002384FEB025EE8), UINT64_C(0x000760169DF0E4ED),
1833           UINT64_C(0x000679A94C441675), UINT64_C(0x0006E39A8B9E9323),
1834           UINT64_C(0x0004F60517E33211)}},
1835         {{UINT64_C(0x000D1F112D03827C), UINT64_C(0x0003E266C25B8CB9),
1836           UINT64_C(0x0004DDAE5E9A861A), UINT64_C(0x0003FDDD5A19E3FC),
1837           UINT64_C(0x000525AC4177127A)},
1838          {UINT64_C(0x0005E3FBAF1DE590), UINT64_C(0x00006D0AC9D49EBF),
1839           UINT64_C(0x00071A842BB0750F), UINT64_C(0x00030A965193BEB1),
1840           UINT64_C(0x00000074F0F13CF1)},
1841          {UINT64_C(0x000569358B8229BF), UINT64_C(0x0004D8605014C12D),
1842           UINT64_C(0x00067CF8F3ABB9E2), UINT64_C(0x0001913D15FE7E56),
1843           UINT64_C(0x0004E005335EB124)}},
1844         {{UINT64_C(0x000DB4B52128B9C8), UINT64_C(0x000286D98EC1991F),
1845           UINT64_C(0x00057D6985B266D5), UINT64_C(0x0000D63A8186A6CA),
1846           UINT64_C(0x0003E458C6D43002)},
1847          {UINT64_C(0x000FAC1001DCF643), UINT64_C(0x0001A63A60E69551),
1848           UINT64_C(0x000770074385A527), UINT64_C(0x000716E487ACFCBE),
1849           UINT64_C(0x0003AFC421F39471)},
1850          {UINT64_C(0x0001FF85BA0DD581), UINT64_C(0x000185663E421B6B),
1851           UINT64_C(0x0003D0CC19588A5B), UINT64_C(0x00050A4ED90A0BD8),
1852           UINT64_C(0x0001ADEA0DFB4B55)}},
1853         {{UINT64_C(0x000F8CD682890618), UINT64_C(0x0001B4C0FC4BF1B7),
1854           UINT64_C(0x0004593054904595), UINT64_C(0x00044163E1D05297),
1855           UINT64_C(0x0004FF913B7848EE)},
1856          {UINT64_C(0x00044061A1C77BF2), UINT64_C(0x000118C6EAF78CBE),
1857           UINT64_C(0x000121317990C4B0), UINT64_C(0x00014F94111D4DBF),
1858           UINT64_C(0x00050FC488F73A1C)},
1859          {UINT64_C(0x0003F8A423FF3B98), UINT64_C(0x00057AB9DDB49662),
1860           UINT64_C(0x000307128F5CD0A4), UINT64_C(0x0005C206361126E4),
1861           UINT64_C(0x00058F1A9B6F58C2)}},
1862         {{UINT64_C(0x00026D3D15CAFC7E), UINT64_C(0x00011891BC41E2F2),
1863           UINT64_C(0x0006F04870D432A4), UINT64_C(0x000745C21E77AAA6),
1864           UINT64_C(0x0003DAC061530272)},
1865          {UINT64_C(0x0001DAF75081BEA5), UINT64_C(0x00056D5195DD18E2),
1866           UINT64_C(0x0001DCAC8C45410E), UINT64_C(0x0004D2DA16F980D8),
1867           UINT64_C(0x00063744829E7170)},
1868          {UINT64_C(0x000DF1C42FA10272), UINT64_C(0x0000741CA2FAA037),
1869           UINT64_C(0x0000467C87311FE7), UINT64_C(0x000523429446FA40),
1870           UINT64_C(0x00068BD1A87367D1)}},
1871         {{UINT64_C(0x000C458B0171251B), UINT64_C(0x0001FE9DE818F3CF),
1872           UINT64_C(0x00054A1370707A2C), UINT64_C(0x000062F84AA462F0),
1873           UINT64_C(0x0007CF5A9BF230F7)},
1874          {UINT64_C(0x00054404A1098FC2), UINT64_C(0x0002411906266825),
1875           UINT64_C(0x0000A193956A70E8), UINT64_C(0x0000FE137D04BC1F),
1876           UINT64_C(0x0004E42D21EFFD81)},
1877          {UINT64_C(0x000F2EAC10355E39), UINT64_C(0x00054F7E065688EB),
1878           UINT64_C(0x0001A95E0CA9F2C6), UINT64_C(0x0007E704C61469A2),
1879           UINT64_C(0x0007B68ADBD82DC6)}},
1880         {{UINT64_C(0x000899180C1E2363), UINT64_C(0x0007958932146E24),
1881           UINT64_C(0x00043C3BDBE7E084), UINT64_C(0x00059983B137251C),
1882           UINT64_C(0x000181505C38246A)},
1883          {UINT64_C(0x0000FD89855EFABB), UINT64_C(0x0003B63D1B15E2DE),
1884           UINT64_C(0x000255391D67495A), UINT64_C(0x0004DD2784B95163),
1885           UINT64_C(0x000512AAAA077953)},
1886          {UINT64_C(0x000F74E51E9D1E14), UINT64_C(0x0007A0923F8922E5),
1887           UINT64_C(0x000481DF01D3BA5E), UINT64_C(0x00078147FE69A25E),
1888           UINT64_C(0x0002677F7C367D95)}},
1889         {{UINT64_C(0x000C31AE3ACBF754), UINT64_C(0x00015B533DE0199D),
1890           UINT64_C(0x00037F5398951F25), UINT64_C(0x0007F6D8289614BF),
1891           UINT64_C(0x0007A746B03A9AD8)},
1892          {UINT64_C(0x000A5E8B067361B9), UINT64_C(0x000753D2A11E2709),
1893           UINT64_C(0x00068EB1296DD194), UINT64_C(0x0007F60FCC2F2F13),
1894           UINT64_C(0x000241ECD0A2E455)},
1895          {UINT64_C(0x000AB9A10A22A500), UINT64_C(0x0001B6D59F5E169E),
1896           UINT64_C(0x00031BBC448574D5), UINT64_C(0x0004717C01E2B0BB),
1897           UINT64_C(0x0003D21E8ACA1878)}},
1898         {{UINT64_C(0x000499194C8B1C66), UINT64_C(0x00023DD23CF4A5FF),
1899           UINT64_C(0x000260F22A1F1E67), UINT64_C(0x00046F48D856E7A8),
1900           UINT64_C(0x00027B4E0522C56B)},
1901          {UINT64_C(0x000197955EC21F63), UINT64_C(0x0004F7579537C60A),
1902           UINT64_C(0x0001EED38E27A397), UINT64_C(0x000642709A47DD6D),
1903           UINT64_C(0x0000CEC4BAE6CE94)},
1904          {UINT64_C(0x0007E224BD3DE334), UINT64_C(0x0002BC2A4E547CE3),
1905           UINT64_C(0x0006C9441E441A2F), UINT64_C(0x00066ABBA46DB7C3),
1906           UINT64_C(0x0007D6D7B2C94D89)}},
1907         {{UINT64_C(0x00094A1B918036C4), UINT64_C(0x0007000DC73238D4),
1908           UINT64_C(0x00077504C3F1AB6E), UINT64_C(0x0004E6A5D5C7C6A1),
1909           UINT64_C(0x0003821648B33D3A)},
1910          {UINT64_C(0x00081E39CDB93F79), UINT64_C(0x0004EBBC689100FB),
1911           UINT64_C(0x0001DD37C191E986), UINT64_C(0x000036795A799602),
1912           UINT64_C(0x000041C1B41711DB)},
1913          {UINT64_C(0x000A4A21AC6CAF3D), UINT64_C(0x000744CF7594E6F1),
1914           UINT64_C(0x000030561165E9A9), UINT64_C(0x00074B8AB965B245),
1915           UINT64_C(0x000244902E385A94)}},
1916         {{UINT64_C(0x000464BD11AFA1E1), UINT64_C(0x0002E00B44F4A68C),
1917           UINT64_C(0x0006C58D5152071B), UINT64_C(0x0007CC78F1BEA1EE),
1918           UINT64_C(0x0003D52810ACC281)},
1919          {UINT64_C(0x000C04B80D28DBA4), UINT64_C(0x0007C5EAA4A27BFF),
1920           UINT64_C(0x00066248F5BFC255), UINT64_C(0x0006BDB404771492),
1921           UINT64_C(0x00019FA7BB5E292E)},
1922          {UINT64_C(0x0006358792FF5820), UINT64_C(0x0003BB145A4D0D14),
1923           UINT64_C(0x000647A0D099804C), UINT64_C(0x0001CE6985BBEA5D),
1924           UINT64_C(0x00071F7ADDB5DEC0)}},
1925         {{UINT64_C(0x000FF792012E3AD1), UINT64_C(0x000318FC42C34144),
1926           UINT64_C(0x00018AA9596D5383), UINT64_C(0x0004A1E0677AA264),
1927           UINT64_C(0x0007C9D08A010323)},
1928          {UINT64_C(0x000B38DA3FFA9D8B), UINT64_C(0x0007B37A58DB49D5),
1929           UINT64_C(0x0003CAB96E3D6DD9), UINT64_C(0x0004877EC3C59320),
1930           UINT64_C(0x0005F79E6AB22005)},
1931          {UINT64_C(0x000D9227D42E392D), UINT64_C(0x000383E4A65149E3),
1932           UINT64_C(0x0001FC4C8988D7D7), UINT64_C(0x0000301C333E8D0D),
1933           UINT64_C(0x000566D13B877137)}},
1934     },
1935     {
1936         {{UINT64_C(0x0002819CD64EC5D5), UINT64_C(0x000718864EB85DEA),
1937           UINT64_C(0x0000B38F635D18B2), UINT64_C(0x0000FA0D19EC1914),
1938           UINT64_C(0x0007FC6E0B53A132)},
1939          {UINT64_C(0x000681A57637B42A), UINT64_C(0x00009516D77453A8),
1940           UINT64_C(0x00041747D2AFF787), UINT64_C(0x000484C8CAA8775B),
1941           UINT64_C(0x00069B6EDB5BEB15)},
1942          {UINT64_C(0x000F673ED008533F), UINT64_C(0x00005983AE2E9902),
1943           UINT64_C(0x000696120C054601), UINT64_C(0x0002DD10C21D3665),
1944           UINT64_C(0x0003650B63683F24)}},
1945         {{UINT64_C(0x0001C85E071E87C9), UINT64_C(0x00038E791D5639BC),
1946           UINT64_C(0x0007EB7B3E0A3BD5), UINT64_C(0x00067F05BA2C2992),
1947           UINT64_C(0x0005A217D19B8E87)},
1948          {UINT64_C(0x0009CC57757E7DC9), UINT64_C(0x0004C152B026BBF3),
1949           UINT64_C(0x0007CE941D2BB495), UINT64_C(0x00022801029CDB1F),
1950           UINT64_C(0x00015E56AA9988B8)},
1951          {UINT64_C(0x0001F20BB815BF7F), UINT64_C(0x00045BBFD494947D),
1952           UINT64_C(0x000752E00CADD615), UINT64_C(0x00030A1ADE235D5B),
1953           UINT64_C(0x00004F475EAAC468)}},
1954         {{UINT64_C(0x0005DEC978DC22CC), UINT64_C(0x00069E99CC23AF7D),
1955           UINT64_C(0x0001A491C445CF0B), UINT64_C(0x0001A2B80570EAF4),
1956           UINT64_C(0x000519998F23DA17)},
1957          {UINT64_C(0x00033F2D4F6DFC80), UINT64_C(0x0003473C4B91929A),
1958           UINT64_C(0x000657675912C778), UINT64_C(0x00027483C8C74BA9),
1959           UINT64_C(0x00045AEDD79F572E)},
1960          {UINT64_C(0x0005B55CF68CF232), UINT64_C(0x0005978D5F58C198),
1961           UINT64_C(0x000463464AA8D74F), UINT64_C(0x00000768A84F1143),
1962           UINT64_C(0x0004D85E72D498F7)}},
1963         {{UINT64_C(0x00065396EB5E1B7C), UINT64_C(0x0003AD9BC86D4A9D),
1964           UINT64_C(0x0007D80AED5F83A2), UINT64_C(0x0007BF7E181211DD),
1965           UINT64_C(0x00053259A33A1C38)},
1966          {UINT64_C(0x0004ED7967092AA9), UINT64_C(0x00037E220CEFD1A7),
1967           UINT64_C(0x0007D56552E4BE39), UINT64_C(0x000467E0E1384212),
1968           UINT64_C(0x0007CB81AF42B8E6)},
1969          {UINT64_C(0x000F60010D427117), UINT64_C(0x0003FE077DD17DAC),
1970           UINT64_C(0x0003D70C978E0E1D), UINT64_C(0x0004EC475F514EFA),
1971           UINT64_C(0x000678A033281D8A)}},
1972         {{UINT64_C(0x0001DDD15D89D0DA), UINT64_C(0x0005AE12E0DC3F81),
1973           UINT64_C(0x00021725313E6CD1), UINT64_C(0x00058E25DD51CD68),
1974           UINT64_C(0x00051CC1640E208C)},
1975          {UINT64_C(0x000A5BFACD788203), UINT64_C(0x00076782156DA54A),
1976           UINT64_C(0x0006546FAACEBFB5), UINT64_C(0x0000751697EBD387),
1977           UINT64_C(0x000403792F66F908)},
1978          {UINT64_C(0x0001ED1BA791D84F), UINT64_C(0x0007C0C66505B59A),
1979           UINT64_C(0x0003039E8770455C), UINT64_C(0x000176EBE864CCC6),
1980           UINT64_C(0x0000A9D7490BB5E2)}},
1981         {{UINT64_C(0x000ADBB841243625), UINT64_C(0x00070EF045AE92E4),
1982           UINT64_C(0x0003ED707AC6DC1C), UINT64_C(0x0002EC569D895E88),
1983           UINT64_C(0x0007A1F82B8A9F9B)},
1984          {UINT64_C(0x000480ED4CC26515), UINT64_C(0x0007142FB964F1D8),
1985           UINT64_C(0x0002D589D76131D9), UINT64_C(0x0002041F5E307B5D),
1986           UINT64_C(0x0004DC0C8DC698E2)},
1987          {UINT64_C(0x000639BA125B4EB0), UINT64_C(0x0006735AE5885BC9),
1988           UINT64_C(0x000402130AA29EFE), UINT64_C(0x0006483ECF5F928A),
1989           UINT64_C(0x0005C0C2A7450215)}},
1990         {{UINT64_C(0x00011E1BA90F4D05), UINT64_C(0x0003C4ACA739B18D),
1991           UINT64_C(0x0006DA6C4D05BB4B), UINT64_C(0x0006C9D11A68C07A),
1992           UINT64_C(0x0007E4FF60853DCC)},
1993          {UINT64_C(0x000FC3B1EAB98C72), UINT64_C(0x000194A565C0D2C0),
1994           UINT64_C(0x0006774E78078878), UINT64_C(0x0002845C8FBE34B8),
1995           UINT64_C(0x0003FA8FFB470A30)},
1996          {UINT64_C(0x000DF02100A29B8E), UINT64_C(0x0001EDB288FCEFEF),
1997           UINT64_C(0x0003A1F05EE527CB), UINT64_C(0x0000800DA11B67CF),
1998           UINT64_C(0x0000F28747F25BA7)}},
1999         {{UINT64_C(0x000AB1FE778D5AC8), UINT64_C(0x0007AC5F7720F73D),
2000           UINT64_C(0x0001F29E35DE087B), UINT64_C(0x0006594AE6F4B147),
2001           UINT64_C(0x0003BD0E462820EB)},
2002          {UINT64_C(0x00046E4EE5708B31), UINT64_C(0x0005F6D4A65795AD),
2003           UINT64_C(0x00065A6A14FD4DBD), UINT64_C(0x0005175D21ECC1C7),
2004           UINT64_C(0x0007FE00455D7273)},
2005          {UINT64_C(0x0007B6F8CC74B2E7), UINT64_C(0x000741AB0632D05A),
2006           UINT64_C(0x00049D46261751F0), UINT64_C(0x0006736BD5AEA112),
2007           UINT64_C(0x00069AD164B202C5)}},
2008         {{UINT64_C(0x00012BDCF8236C6C), UINT64_C(0x000367FF9D0F9B9A),
2009           UINT64_C(0x0003F319B67073D2), UINT64_C(0x000760E8B33BDBA0),
2010           UINT64_C(0x00056660C3661195)},
2011          {UINT64_C(0x0006A7EA308B1685), UINT64_C(0x0006C261A0B19E51),
2012           UINT64_C(0x0004E083123A5FB3), UINT64_C(0x00047A0C38DD3BA2),
2013           UINT64_C(0x00053C6D2A152664)},
2014          {UINT64_C(0x000FAF64FB917431), UINT64_C(0x000565756E7FAAF4),
2015           UINT64_C(0x0003D721A24A3704), UINT64_C(0x00013317369CBD42),
2016           UINT64_C(0x00016612511B5AA0)}},
2017         {{UINT64_C(0x000E652B12074C2E), UINT64_C(0x00059D0BAF050179),
2018           UINT64_C(0x00003B5736856800), UINT64_C(0x000647959933E44E),
2019           UINT64_C(0x0003D56153518775)},
2020          {UINT64_C(0x0000F380F6F1A960), UINT64_C(0x0001ACBBE16F804F),
2021           UINT64_C(0x0002997050169D92), UINT64_C(0x0006923F3FB9A04C),
2022           UINT64_C(0x000760D8364CDE1D)},
2023          {UINT64_C(0x00087864C2C7818E), UINT64_C(0x00065BCE2C21225E),
2024           UINT64_C(0x0000829D71C17447), UINT64_C(0x000624DD657FE09E),
2025           UINT64_C(0x000078584F6FEFD9)}},
2026         {{UINT64_C(0x0006D584A0FE7A46), UINT64_C(0x00069D33D6A2E6E8),
2027           UINT64_C(0x00067E621C9A0CE7), UINT64_C(0x00077A830F59FBFF),
2028           UINT64_C(0x00014C1BD946B545)},
2029          {UINT64_C(0x0001B2A1355A4052), UINT64_C(0x000675CBE17382B6),
2030           UINT64_C(0x000641AF5CC81253), UINT64_C(0x0005EB097D44D21F),
2031           UINT64_C(0x00009FC2AAAE02CC)},
2032          {UINT64_C(0x000D414D936E58DD), UINT64_C(0x0000B296AC88EB92),
2033           UINT64_C(0x00076AB84DD6056C), UINT64_C(0x000685E1AB03C5DC),
2034           UINT64_C(0x00028348D45F6358)}},
2035         {{UINT64_C(0x00016CC86D940FFC), UINT64_C(0x0006FA98A7F59E71),
2036           UINT64_C(0x00029CA45E235967), UINT64_C(0x0001DDB48758B49F),
2037           UINT64_C(0x00061464300AF54F)},
2038          {UINT64_C(0x00043C3AC9312B0D), UINT64_C(0x000064FC92BC9377),
2039           UINT64_C(0x000239F95BD3C366), UINT64_C(0x0000529C3D8CF33A),
2040           UINT64_C(0x000181E4547EBD24)},
2041          {UINT64_C(0x000E16213D8C28C0), UINT64_C(0x000231D13CE48188),
2042           UINT64_C(0x0007F4B9BEA03675), UINT64_C(0x0004042E3AC3D778),
2043           UINT64_C(0x0001EAA475E87AA7)}},
2044         {{UINT64_C(0x0001DAA732854120), UINT64_C(0x0002D8C6031F046B),
2045           UINT64_C(0x00048CA4CD8BA89E), UINT64_C(0x00006937503A6724),
2046           UINT64_C(0x00061B37A983648E)},
2047          {UINT64_C(0x00013AC756B13B17), UINT64_C(0x0007F99EB1FE63B2),
2048           UINT64_C(0x00012EF62AA29F91), UINT64_C(0x000275A63AC0B82C),
2049           UINT64_C(0x00041F85AC1748DC)},
2050          {UINT64_C(0x0003C3A345E37216), UINT64_C(0x0000BC95899511A0),
2051           UINT64_C(0x00067984E11988E2), UINT64_C(0x0003790C6A6BD91C),
2052           UINT64_C(0x0004AE8857A370C0)}},
2053         {{UINT64_C(0x00059767D1DC7159), UINT64_C(0x00059021E287D705),
2054           UINT64_C(0x00059EECEC3BE7D9), UINT64_C(0x0001EAA18D4EADD0),
2055           UINT64_C(0x00065A975E23F03E)},
2056          {UINT64_C(0x000A95AFCF439414), UINT64_C(0x00015B75C723F702),
2057           UINT64_C(0x0000BF98929522FB), UINT64_C(0x0003085D78E648C0),
2058           UINT64_C(0x00037D7D62CA4475)},
2059          {UINT64_C(0x0004A0DA8919F5F5), UINT64_C(0x000367D06413644F),
2060           UINT64_C(0x000354956C041EA1), UINT64_C(0x00010755634E2C5D),
2061           UINT64_C(0x000170791147DD80)}},
2062         {{UINT64_C(0x000827F7944FE6CC), UINT64_C(0x00001C751F20EF72),
2063           UINT64_C(0x00035F7CA3D66415), UINT64_C(0x0005210C82C852BA),
2064           UINT64_C(0x00004C02A5485650)},
2065          {UINT64_C(0x0003B5BDD64B5C0A), UINT64_C(0x0004689EBDCCFF34),
2066           UINT64_C(0x00070E43EECF0D36), UINT64_C(0x0006DE61D82DCC84),
2067           UINT64_C(0x00012E98D82A7298)},
2068          {UINT64_C(0x0001E9E5518D471A), UINT64_C(0x0007A1BB46DE49D9),
2069           UINT64_C(0x00035B2927B223D1), UINT64_C(0x0001CCAE464874F4),
2070           UINT64_C(0x00039DDDEF590E1E)}},
2071         {{UINT64_C(0x00024A7A1C775995), UINT64_C(0x0007157DD78B8376),
2072           UINT64_C(0x000135892F3211E4), UINT64_C(0x00068F7235FB1FF7),
2073           UINT64_C(0x0007B084D8E8F5BA)},
2074          {UINT64_C(0x00047354D60A9B5C), UINT64_C(0x0005528D484B558C),
2075           UINT64_C(0x0005EA409EB39DEF), UINT64_C(0x0001301D88A26EAB),
2076           UINT64_C(0x0003E8EEEA1E9E16)},
2077          {UINT64_C(0x0007E18F66EB4040), UINT64_C(0x0003D687AAC18DF1),
2078           UINT64_C(0x000043407B1B01C5), UINT64_C(0x00076026A3612E1D),
2079           UINT64_C(0x00036AC22C1DA7F0)}},
2080     },
2081     {
2082         {{UINT64_C(0x000A1DB3FDA77DAC), UINT64_C(0x0004D9593DB5C4FA),
2083           UINT64_C(0x0002D0C711ADB1E7), UINT64_C(0x0004FA1FD3056EC4),
2084           UINT64_C(0x0001AEA89A06C580)},
2085          {UINT64_C(0x0000B6E56502BC8A), UINT64_C(0x00030FB5DA75A109),
2086           UINT64_C(0x00061CCC955CD549), UINT64_C(0x00072ED7E235BE62),
2087           UINT64_C(0x0004FFC550D2C672)},
2088          {UINT64_C(0x0001401B07FD2FC2), UINT64_C(0x0001363A97814A08),
2089           UINT64_C(0x00040A250BB0D833), UINT64_C(0x0003FDC7EADB00FF),
2090           UINT64_C(0x0006D0C5F0015D6E)}},
2091         {{UINT64_C(0x0006C4A3C3DD75D0), UINT64_C(0x00035FB0DFF6D283),
2092           UINT64_C(0x00008EC03452D8B5), UINT64_C(0x0000660AA38D2E81),
2093           UINT64_C(0x00070999FB1B3622)},
2094          {UINT64_C(0x00076C0468E5E93B), UINT64_C(0x000691D7E3FC4A00),
2095           UINT64_C(0x00049CB4185CDAF8), UINT64_C(0x00016C0C829B0E8D),
2096           UINT64_C(0x0006AA160D0C7282)},
2097          {UINT64_C(0x0005FA2B7F6BD2E2), UINT64_C(0x000158DA48E6F8A3),
2098           UINT64_C(0x000604218B1883CE), UINT64_C(0x0000CFFE74536FDE),
2099           UINT64_C(0x00005D042AB776AA)}},
2100         {{UINT64_C(0x00027DD79FD8B383), UINT64_C(0x0004E3C07F0FC4F0),
2101           UINT64_C(0x00071E194BBE44D0), UINT64_C(0x000516439A5B3612),
2102           UINT64_C(0x0003F479BE23976A)},
2103          {UINT64_C(0x000D07783284BAF3), UINT64_C(0x00044583E7D6E11C),
2104           UINT64_C(0x0001D132C130CABE), UINT64_C(0x000625DDBFB712E6),
2105           UINT64_C(0x00070A1B85622B32)},
2106          {UINT64_C(0x00034C89E9034A6C), UINT64_C(0x00078F18070D16D9),
2107           UINT64_C(0x0005C48940FE1968), UINT64_C(0x0007B463D52BFF8C),
2108           UINT64_C(0x0004F9CB24AA3CA3)}},
2109         {{UINT64_C(0x0000210FBD862AF4), UINT64_C(0x00042D00326CF364),
2110           UINT64_C(0x0005909CDA828553), UINT64_C(0x000765038B375968),
2111           UINT64_C(0x00061244E59E8942)},
2112          {UINT64_C(0x000316B2C8856415), UINT64_C(0x0002A4748F779AB3),
2113           UINT64_C(0x000239C5E875089A), UINT64_C(0x00036401DD98269B),
2114           UINT64_C(0x00011DDAE2A7E2F2)},
2115          {UINT64_C(0x000E9134B0007750), UINT64_C(0x0005EF4908EA5F8B),
2116           UINT64_C(0x00079BE217CC5E96), UINT64_C(0x0000599ECA99A489),
2117           UINT64_C(0x0004C47BBF939482)}},
2118         {{UINT64_C(0x00003A337C362E13), UINT64_C(0x0007780615B15DD1),
2119           UINT64_C(0x000773A3946A0160), UINT64_C(0x000700FAAF105D15),
2120           UINT64_C(0x0001A74BE2B6494D)},
2121          {UINT64_C(0x0005CA35FE3DB4CB), UINT64_C(0x00071DF8C08DEDDD),
2122           UINT64_C(0x0005F7E4ACF08CA7), UINT64_C(0x00036F543C236FDD),
2123           UINT64_C(0x00069ABF13BDA30B)},
2124          {UINT64_C(0x000D0BDB4C5FE93D), UINT64_C(0x0002B22A4FA5285B),
2125           UINT64_C(0x0006FA80F65CB79E), UINT64_C(0x000379BFA1F4BF5E),
2126           UINT64_C(0x00046594A6F4C0D4)}},
2127         {{UINT64_C(0x0007305A30FD1F79), UINT64_C(0x0001C6FFD9905695),
2128           UINT64_C(0x0004645BE794D673), UINT64_C(0x000342101D707890),
2129           UINT64_C(0x0001BB588F62A0A3)},
2130          {UINT64_C(0x000105A272D17F2A), UINT64_C(0x0007B3D6FA991E49),
2131           UINT64_C(0x000227280611E9A7), UINT64_C(0x0001A93AAA75915F),
2132           UINT64_C(0x00023FA441B3482E)},
2133          {UINT64_C(0x00049C1150A4394C), UINT64_C(0x00040C4F9BAC625E),
2134           UINT64_C(0x000019D525AD587E), UINT64_C(0x0004FF7128EF9688),
2135           UINT64_C(0x0004FD444389AB05)}},
2136         {{UINT64_C(0x000238E42AD5EEEC), UINT64_C(0x0005DE60189ED21B),
2137           UINT64_C(0x0001C3ED84BF7F92), UINT64_C(0x00051D4CE9A6E138),
2138           UINT64_C(0x0004D7509030CE74)},
2139          {UINT64_C(0x00014535B829610F), UINT64_C(0x0006763BE3F420BB),
2140           UINT64_C(0x000224420EC61552), UINT64_C(0x0001D944B492451E),
2141           UINT64_C(0x00043B7C34AD7E8B)},
2142          {UINT64_C(0x0008748FB4B47D51), UINT64_C(0x0005ABB8E9B2C218),
2143           UINT64_C(0x0001F774AE8AEF2A), UINT64_C(0x0004E251530C1540),
2144           UINT64_C(0x0002C17E01A2CD3E)}},
2145         {{UINT64_C(0x000A5AEDEE07B0B0), UINT64_C(0x0005F89D3947B76A),
2146           UINT64_C(0x0002BB62F90E7DE8), UINT64_C(0x000654A1AF24BC3B),
2147           UINT64_C(0x0003546F95E0EE6F)},
2148          {UINT64_C(0x00085679601B8BC5), UINT64_C(0x0004BB095D71C7D0),
2149           UINT64_C(0x00053ECC1C751399), UINT64_C(0x00041FE3795CBDE2),
2150           UINT64_C(0x0006EA98F1D1D81D)},
2151          {UINT64_C(0x00064ED26F676ADD), UINT64_C(0x0005A7A5BEE185B3),
2152           UINT64_C(0x000130CC8FEC6AE2), UINT64_C(0x000629FDE7C00F10),
2153           UINT64_C(0x000585D5A1CBFA57)}},
2154         {{UINT64_C(0x000AE0784632D10F), UINT64_C(0x00027BFA28563B52),
2155           UINT64_C(0x0004DECE15823B3A), UINT64_C(0x00010DA131FF58A7),
2156           UINT64_C(0x00048DEFFB0FE190)},
2157          {UINT64_C(0x000C811EC58F82EA), UINT64_C(0x000326DA9E04E555),
2158           UINT64_C(0x00071F177799421B), UINT64_C(0x0003E3A474D3E8B8),
2159           UINT64_C(0x0003D5D6D4DE3CEF)},
2160          {UINT64_C(0x000D9FFAF07322DD), UINT64_C(0x000628E14EB89510),
2161           UINT64_C(0x00075D001D2380EC), UINT64_C(0x00050D7E5EF7D399),
2162           UINT64_C(0x00079765D0A00A45)}},
2163         {{UINT64_C(0x00090F5A32267E76), UINT64_C(0x00019A1B8E57CC65),
2164           UINT64_C(0x00048B29601AC029), UINT64_C(0x00069FA23DE54FFB),
2165           UINT64_C(0x00002FCBE3187F20)},
2166          {UINT64_C(0x000125C2704C278B), UINT64_C(0x00028493D1EF2120),
2167           UINT64_C(0x00054F9AD9FF374B), UINT64_C(0x0006985537375711),
2168           UINT64_C(0x00007534EB65121D)},
2169          {UINT64_C(0x0004BD9A12979647), UINT64_C(0x000788B5BC284E24),
2170           UINT64_C(0x0004CBD296C6FF6B), UINT64_C(0x0007FA0CD5EE5D70),
2171           UINT64_C(0x0002BC98A33DCE4E)}},
2172         {{UINT64_C(0x000753D51E36094F), UINT64_C(0x00011309101DCED4),
2173           UINT64_C(0x0000279505A1BAA2), UINT64_C(0x0006AEDE7A85AAE1),
2174           UINT64_C(0x000037AE84B6FE0A)},
2175          {UINT64_C(0x0007739A4BFF6011), UINT64_C(0x000710D32F9567E8),
2176           UINT64_C(0x00040FE60EC00E34), UINT64_C(0x0000E77282D60FC2),
2177           UINT64_C(0x00012AF7C9905886)},
2178          {UINT64_C(0x00010065259DAB06), UINT64_C(0x00002C1EC736FA56),
2179           UINT64_C(0x00041E7AC35292DC), UINT64_C(0x0000DDF0A6E3C65E),
2180           UINT64_C(0x00060CA6ABEF89FE)}},
2181         {{UINT64_C(0x000C71B130D21942), UINT64_C(0x000650CBCD04857A),
2182           UINT64_C(0x00003A21705F79DE), UINT64_C(0x000441B7586ABB4B),
2183           UINT64_C(0x00044FFAB824B35E)},
2184          {UINT64_C(0x0004FC14956E331F), UINT64_C(0x0002DF101A872454),
2185           UINT64_C(0x0001ACAC797EC78F), UINT64_C(0x0006FBE58D90CBB2),
2186           UINT64_C(0x0002083D4F2ED3D2)},
2187          {UINT64_C(0x0002485E01980997), UINT64_C(0x000679010A4C7EE8),
2188           UINT64_C(0x00057361E75E0DF0), UINT64_C(0x0000548EBB7B0F63),
2189           UINT64_C(0x0000ADFA873F0ADC)}},
2190         {{UINT64_C(0x000CEBAD25601C16), UINT64_C(0x00040CF38C58593E),
2191           UINT64_C(0x000548AC165085FC), UINT64_C(0x00000EC8D84A3956),
2192           UINT64_C(0x0006990D99B70E27)},
2193          {UINT64_C(0x0002D6F54C35029C), UINT64_C(0x000194EECC0B8D55),
2194           UINT64_C(0x000599D2C75B688B), UINT64_C(0x000646453AC905E4),
2195           UINT64_C(0x0003DAEFFC1F7F77)},
2196          {UINT64_C(0x0002FB3C155DFF91), UINT64_C(0x000666676455E39E),
2197           UINT64_C(0x000094B59579A3D7), UINT64_C(0x000131163E64B240),
2198           UINT64_C(0x0002BE896BAC1C14)}},
2199         {{UINT64_C(0x0005372C822B631C), UINT64_C(0x0002C792A5D553F9),
2200           UINT64_C(0x00079A45AF14B5DB), UINT64_C(0x0005728AC606211C),
2201           UINT64_C(0x00059EF170252365)},
2202          {UINT64_C(0x0000B216D3837D4E), UINT64_C(0x00049608E9DA7038),
2203           UINT64_C(0x00071C88398BEB38), UINT64_C(0x0001D39322C696DB),
2204           UINT64_C(0x0003270FEE25BE63)},
2205          {UINT64_C(0x000F312227C8BD36), UINT64_C(0x0006EA625A52C28E),
2206           UINT64_C(0x00022DD277705C08), UINT64_C(0x0002D9A720B669E6),
2207           UINT64_C(0x00075102EDD2BA08)}},
2208         {{UINT64_C(0x000CA132F90FE15B), UINT64_C(0x0007F9D119339816),
2209           UINT64_C(0x0006E56945E2B2A2), UINT64_C(0x0004514FE66AAADD),
2210           UINT64_C(0x00017AF1BC738FB9)},
2211          {UINT64_C(0x0004346FAA16001E), UINT64_C(0x0001C1A89BB2AE60),
2212           UINT64_C(0x0001399CEC955395), UINT64_C(0x0003C0BBC0A6E99B),
2213           UINT64_C(0x00064D29AE483CCC)},
2214          {UINT64_C(0x00040ACC3E0904B8), UINT64_C(0x00036DC23E8EE05E),
2215           UINT64_C(0x00066D427ADA3210), UINT64_C(0x00011F6E098F35F7),
2216           UINT64_C(0x00039151730A7BBA)}},
2217         {{UINT64_C(0x00091ADA9145C93C), UINT64_C(0x00024194BA72DF78),
2218           UINT64_C(0x0003678D46D1C849), UINT64_C(0x000389372773D592),
2219           UINT64_C(0x00018C36FC253B2C)},
2220          {UINT64_C(0x0005F6DDFD39F849), UINT64_C(0x0002633241A26C74),
2221           UINT64_C(0x000474A8B991D2BE), UINT64_C(0x0002CE50E2C4FE43),
2222           UINT64_C(0x000293E1C206D813)},
2223          {UINT64_C(0x000F47D948A0883B), UINT64_C(0x000489F014B14B93),
2224           UINT64_C(0x0006D2AC8A2E3258), UINT64_C(0x0000CE310A0B2212),
2225           UINT64_C(0x0001253D16B5D0A2)}},
2226     },
2227     {
2228         {{UINT64_C(0x0001FC6BA4B27045), UINT64_C(0x00038F66C4585DD0),
2229           UINT64_C(0x00044510A543BBBA), UINT64_C(0x0001FFA25BB30E5E),
2230           UINT64_C(0x0002D3C1BD993CDE)},
2231          {UINT64_C(0x000A2BB5F0A56D1F), UINT64_C(0x00026C278F22FDAC),
2232           UINT64_C(0x0000972239E1602A), UINT64_C(0x0006D636075CCB7A),
2233           UINT64_C(0x000255FEE96DB6F1)},
2234          {UINT64_C(0x000D53D8C21D2AC3), UINT64_C(0x00073D8BC6569D5D),
2235           UINT64_C(0x000611171F31EC1E), UINT64_C(0x0007BF39C3FB085A),
2236           UINT64_C(0x00078CDD196C484E)}},
2237         {{UINT64_C(0x0007AA3E7172E704), UINT64_C(0x00041E6CDC54B308),
2238           UINT64_C(0x0000B05762F3EFE5), UINT64_C(0x000444BD48FEF0C8),
2239           UINT64_C(0x0004428AB2D08617)},
2240          {UINT64_C(0x000BDD2F9B4370E5), UINT64_C(0x0002F2670834C4F7),
2241           UINT64_C(0x0003BB1958A52A76), UINT64_C(0x00047CD537305248),
2242           UINT64_C(0x0001EFD0574CCBFF)},
2243          {UINT64_C(0x000AEB5EF88DCA62), UINT64_C(0x000117EAA2E61A6B),
2244           UINT64_C(0x0004FCBB9750C8D0), UINT64_C(0x000495792CD27339),
2245           UINT64_C(0x0001B23C157916F6)}},
2246         {{UINT64_C(0x0007891B674E71F0), UINT64_C(0x0007C4F6FCAD4468),
2247           UINT64_C(0x000476D6C5509A66), UINT64_C(0x0005F5A8B9CC77CD),
2248           UINT64_C(0x0004199343D1FC80)},
2249          {UINT64_C(0x0003F18F3D8F0055), UINT64_C(0x000752C7D8BA3224),
2250           UINT64_C(0x000436F715E78E8E), UINT64_C(0x0001036795BF501D),
2251           UINT64_C(0x000236B8319E54B6)},
2252          {UINT64_C(0x0002E41C100EDD83), UINT64_C(0x00058577EB7BBD8B),
2253           UINT64_C(0x0001F51303AAC160), UINT64_C(0x0005DC3CA305853E),
2254           UINT64_C(0x00072B9415F81A28)}},
2255         {{UINT64_C(0x0005265E75BE3284), UINT64_C(0x0007167FAA26A5DF),
2256           UINT64_C(0x000123D1A2FDB52D), UINT64_C(0x00061BBE43A46D84),
2257           UINT64_C(0x000261B8D88701BD)},
2258          {UINT64_C(0x000C87F87048B464), UINT64_C(0x00053BAEC34F322B),
2259           UINT64_C(0x0004DC58AFE19A7D), UINT64_C(0x000090CE2820F2C2),
2260           UINT64_C(0x0006C48AC43ECD33)},
2261          {UINT64_C(0x000B402CCF1F1A30), UINT64_C(0x000429DB8F417641),
2262           UINT64_C(0x000249FD2DC1A2A4), UINT64_C(0x00049F1F51516171),
2263           UINT64_C(0x00065C94E325A506)}},
2264         {{UINT64_C(0x0005D0EAFD053602), UINT64_C(0x0000B2EB6445EFF1),
2265           UINT64_C(0x0003EBD9F65805D5), UINT64_C(0x0003CA4B8EBF6A36),
2266           UINT64_C(0x00078BFD685BE998)},
2267          {UINT64_C(0x000F64B891DDF860), UINT64_C(0x000529576B60556C),
2268           UINT64_C(0x0001B37FD3E24669), UINT64_C(0x0000033818EEF5C8),
2269           UINT64_C(0x0002B11EBF7E5937)},
2270          {UINT64_C(0x0003152B742C702B), UINT64_C(0x0006632B1ECD6036),
2271           UINT64_C(0x0007923AFB88728F), UINT64_C(0x0006244DA1C3448B),
2272           UINT64_C(0x0000AD2FB0196EC3)}},
2273         {{UINT64_C(0x000AD563EB3B07A3), UINT64_C(0x0001213A17B47AC3),
2274           UINT64_C(0x00053EC21980E6FC), UINT64_C(0x0002C4ACC165507F),
2275           UINT64_C(0x0007A622F28DA7BE)},
2276          {UINT64_C(0x000C8F45E5659E8D), UINT64_C(0x0002A78FCB23CE95),
2277           UINT64_C(0x00024430FD4597D0), UINT64_C(0x000347620F5EDF93),
2278           UINT64_C(0x0003DC647EA1BA77)},
2279          {UINT64_C(0x0007F8F8703A7DCA), UINT64_C(0x000795C87DAACF66),
2280           UINT64_C(0x00007534BD87B9EE), UINT64_C(0x0005099B2C521F78),
2281           UINT64_C(0x000273750C74E81D)}},
2282         {{UINT64_C(0x00024EDC3D8ABF8E), UINT64_C(0x000300DFA97BDDE9),
2283           UINT64_C(0x000446C6F830946C), UINT64_C(0x00068F06F4ACDD60),
2284           UINT64_C(0x00018F286BEDB687)},
2285          {UINT64_C(0x0003287C7040CAF8), UINT64_C(0x0005A30953D9648B),
2286           UINT64_C(0x0004C0CED1BF2F16), UINT64_C(0x0005022BA173833A),
2287           UINT64_C(0x000471670E5DD4C8)},
2288          {UINT64_C(0x000575C7D920A1FA), UINT64_C(0x000028011ACAA137),
2289           UINT64_C(0x000267F433A9BB5D), UINT64_C(0x0000C0E4B91042B4),
2290           UINT64_C(0x0001740F314FE330)}},
2291         {{UINT64_C(0x0009146BFD90884A), UINT64_C(0x00024724AE1312FD),
2292           UINT64_C(0x0000CC37AB3544BD), UINT64_C(0x0002E4F30E1D877C),
2293           UINT64_C(0x00078F98059C7CDB)},
2294          {UINT64_C(0x00080EF557A2B367), UINT64_C(0x00034596D52275E4),
2295           UINT64_C(0x0003D07B43BC2723), UINT64_C(0x000485142DA02EA6),
2296           UINT64_C(0x00052ED77068B052)},
2297          {UINT64_C(0x00050C37F84E0B1E), UINT64_C(0x0007F90DAF676333),
2298           UINT64_C(0x000014A034E40FE3), UINT64_C(0x0001A1CCC5B06FA4),
2299           UINT64_C(0x0002B57B6AAF5AFB)}},
2300         {{UINT64_C(0x0005A1EC835F93D9), UINT64_C(0x00027C73660ABD19),
2301           UINT64_C(0x00051ED4ACB98418), UINT64_C(0x0005934D9A8C4481),
2302           UINT64_C(0x000056DCE5E599B7)},
2303          {UINT64_C(0x000D82F2893E91E9), UINT64_C(0x00007DB2ED2F5FC8),
2304           UINT64_C(0x000470BFB2A14A2D), UINT64_C(0x000243357800B12B),
2305           UINT64_C(0x0001586B880D973F)},
2306          {UINT64_C(0x0002894A1AEE30F0), UINT64_C(0x00000A56EEFC3625),
2307           UINT64_C(0x000328B708D399DB), UINT64_C(0x0001E0245E856F01),
2308           UINT64_C(0x000331A120A8FA38)}},
2309         {{UINT64_C(0x0000B01B89AE8C48), UINT64_C(0x000160C2BE55859D),
2310           UINT64_C(0x00032ED748BC62AF), UINT64_C(0x0003A96EF5B049CB),
2311           UINT64_C(0x0007D5C6C7C53881)},
2312          {UINT64_C(0x000F575F2E610488), UINT64_C(0x00050DD2D252D63F),
2313           UINT64_C(0x00032900A6CAB78A), UINT64_C(0x00052436AFB000AE),
2314           UINT64_C(0x0001058C522E70B4)},
2315          {UINT64_C(0x000C32E693EA545B), UINT64_C(0x000363FF953257C4),
2316           UINT64_C(0x0006BB224E619CF6), UINT64_C(0x0004725D9B6CC315),
2317           UINT64_C(0x00028D022032739E)}},
2318         {{UINT64_C(0x000130FFBDDA7B5B), UINT64_C(0x00008B75F47AA474),
2319           UINT64_C(0x000704583AA71B9F), UINT64_C(0x000003F123BF1718),
2320           UINT64_C(0x0000C86888DA8826)},
2321          {UINT64_C(0x0001E99131EE0CC8), UINT64_C(0x00015BD0E81C213F),
2322           UINT64_C(0x00060DB057C2D8C7), UINT64_C(0x0003931F8CDBD796),
2323           UINT64_C(0x0000B711D1643ABA)},
2324          {UINT64_C(0x000CAE2E3BD0339C), UINT64_C(0x000535FE10F2B9B9),
2325           UINT64_C(0x0003BAC64D32897B), UINT64_C(0x0002E04FBE091647),
2326           UINT64_C(0x00069D6BFB6020F3)}},
2327         {{UINT64_C(0x0003BF20FBF44C75), UINT64_C(0x0003DFDF8AA48E71),
2328           UINT64_C(0x000755E830F9348A), UINT64_C(0x0004DCF2FBC753A0),
2329           UINT64_C(0x000563C950DED5E7)},
2330          {UINT64_C(0x00095173064904B2), UINT64_C(0x0001AD16621A4F26),
2331           UINT64_C(0x0000190EBCA98F19), UINT64_C(0x00025C88E57E353D),
2332           UINT64_C(0x0007235C78DDE09A)},
2333          {UINT64_C(0x000AB2477B99C193), UINT64_C(0x000787D92E572642),
2334           UINT64_C(0x000254AE25CB36B6), UINT64_C(0x00014FF7F61A68BA),
2335           UINT64_C(0x0002AE23C86DA540)}},
2336         {{UINT64_C(0x000AA69FC65B55EE), UINT64_C(0x000602BFEB958D5E),
2337           UINT64_C(0x00041B4D60AAC3E7), UINT64_C(0x0006E4587652A12A),
2338           UINT64_C(0x000538D39DB42EA9)},
2339          {UINT64_C(0x000A78E9FAE803AA), UINT64_C(0x00050F1F50C82CCF),
2340           UINT64_C(0x0000690C7B716417), UINT64_C(0x00009E9B33D5B1F8),
2341           UINT64_C(0x00046AD0D9B59A8E)},
2342          {UINT64_C(0x000E0FB21CA97546), UINT64_C(0x000796398B48AA4B),
2343           UINT64_C(0x0005BFE2E571682E), UINT64_C(0x00079B204C96268F),
2344           UINT64_C(0x00036514FC4F006A)}},
2345         {{UINT64_C(0x000AB6ADDA89E077), UINT64_C(0x000456219E30B23F),
2346           UINT64_C(0x00073DF2B5B296A7), UINT64_C(0x0007416CF096B608),
2347           UINT64_C(0x000506FAF22F148F)},
2348          {UINT64_C(0x0004D01231B41F08), UINT64_C(0x00004E0DE454C9D9),
2349           UINT64_C(0x0001C359EA53295F), UINT64_C(0x0005C16FFE73D620),
2350           UINT64_C(0x0001FD9A40888D64)},
2351          {UINT64_C(0x00082DD110EAA0DA), UINT64_C(0x0002885D3B8FB45F),
2352           UINT64_C(0x0007AAD0C23075A0), UINT64_C(0x000013BF01DF39A9),
2353           UINT64_C(0x000025FFC049C3BB)}},
2354         {{UINT64_C(0x000188B1DC7CFBB3), UINT64_C(0x00073B99A1AD10BA),
2355           UINT64_C(0x000799A4C5F58A95), UINT64_C(0x0005036A5F90050D),
2356           UINT64_C(0x0007A61558C47079)},
2357          {UINT64_C(0x0008E5B50FC0616E), UINT64_C(0x0006BE2B98B6BAB1),
2358           UINT64_C(0x000214A72D8A4D1E), UINT64_C(0x000761E21C815E1A),
2359           UINT64_C(0x0003D750B6148769)},
2360          {UINT64_C(0x000A9F7E8D06E7C1), UINT64_C(0x000028F98763EEF5),
2361           UINT64_C(0x00079EA1FD1DE978), UINT64_C(0x00021613CA3BB40B),
2362           UINT64_C(0x00070E4362C5401C)}},
2363         {{UINT64_C(0x0009D08B1089B486), UINT64_C(0x000165F2FBD68266),
2364           UINT64_C(0x00035E25AA132009), UINT64_C(0x00044F5F944F1D77),
2365           UINT64_C(0x00025F71B14DA654)},
2366          {UINT64_C(0x000BD353769CE1F9), UINT64_C(0x0006FA3F3DDDC54C),
2367           UINT64_C(0x0002B84C2EC34B40), UINT64_C(0x0002BC5399680FE7),
2368           UINT64_C(0x00077DF80D7D51A4)},
2369          {UINT64_C(0x0004E2691B0328F3), UINT64_C(0x00050F4537961493),
2370           UINT64_C(0x00044E2C41C84DCA), UINT64_C(0x00052B780EFDCD69),
2371           UINT64_C(0x0005376F2A050E19)}},
2372     },
2373     {
2374         {{UINT64_C(0x000DA03985F38262), UINT64_C(0x00037D5F62914A3C),
2375           UINT64_C(0x000793B68F7811A9), UINT64_C(0x00032B90BCD39CE3),
2376           UINT64_C(0x00075AA44FE7E19C)},
2377          {UINT64_C(0x000F05AB91A2B12A), UINT64_C(0x00059AF4F8982C00),
2378           UINT64_C(0x00048CCE588AE51A), UINT64_C(0x00049E4C670BBE65),
2379           UINT64_C(0x0006B3D82691A651)},
2380          {UINT64_C(0x0008F5698465745B), UINT64_C(0x00075BE3EB74331D),
2381           UINT64_C(0x000737D69788EE86), UINT64_C(0x00062141377DCE86),
2382           UINT64_C(0x0006EFBEF11283CC)}},
2383         {{UINT64_C(0x000FB2D42C8285AF), UINT64_C(0x0006FD40664A5490),
2384           UINT64_C(0x00057F0694D97426), UINT64_C(0x0002A7A28B3356DA),
2385           UINT64_C(0x00028920886AF6EC)},
2386          {UINT64_C(0x000A8C24C0BF2760), UINT64_C(0x00068C3EC242BF3A),
2387           UINT64_C(0x0000CE0D0E1B7F97), UINT64_C(0x00061C58FABECF34),
2388           UINT64_C(0x00004CA319E801FD)},
2389          {UINT64_C(0x000325DE46C5736B), UINT64_C(0x000468915384C263),
2390           UINT64_C(0x0006347A5799363C), UINT64_C(0x0007210BB1344417),
2391           UINT64_C(0x00011E398C2404CC)}},
2392         {{UINT64_C(0x0006351562580ED8), UINT64_C(0x0006220AA1C9D62B),
2393           UINT64_C(0x0001CDF640634049), UINT64_C(0x0002FA7088B01B0A),
2394           UINT64_C(0x00019ACCA28277EE)},
2395          {UINT64_C(0x000C65B688EBF493), UINT64_C(0x0005B03149C63AE5),
2396           UINT64_C(0x0006AFA8197C4FD1), UINT64_C(0x0002D0DA5C748E78),
2397           UINT64_C(0x000662C002D4D15F)},
2398          {UINT64_C(0x0001118B8CBBB7E7), UINT64_C(0x0004CBAB82FD2BF5),
2399           UINT64_C(0x0002348B0CE469A5), UINT64_C(0x00023EB3398A797E),
2400           UINT64_C(0x0004E228589713E3)}},
2401         {{UINT64_C(0x0000B4E4D027C85C), UINT64_C(0x0000D803053DA772),
2402           UINT64_C(0x00065984BB60A337), UINT64_C(0x0007DC2376F7272A),
2403           UINT64_C(0x0000E9430E355BA4)},
2404          {UINT64_C(0x000A8E389D48606F), UINT64_C(0x00021F690AA2DBC8),
2405           UINT64_C(0x000142274ABC9F41), UINT64_C(0x00072BF593710713),
2406           UINT64_C(0x0002FD7F4AE2EE22)},
2407          {UINT64_C(0x000BF1C20DDD2691), UINT64_C(0x0005411630C2A271),
2408           UINT64_C(0x0002D6C2990BAF6C), UINT64_C(0x00016E01E690E20C),
2409           UINT64_C(0x0000E8F8FFA954EC)}},
2410         {{UINT64_C(0x0005A3AB6DAFDFD3), UINT64_C(0x0000D9D486BDD09A),
2411           UINT64_C(0x0002D2E51B7C9711), UINT64_C(0x00017CE407134280),
2412           UINT64_C(0x0003AD3997FA1672)},
2413          {UINT64_C(0x0003D8F172453802), UINT64_C(0x0002317FA3185EC2),
2414           UINT64_C(0x0000BA91852E2031), UINT64_C(0x0005EC464B3ED108),
2415           UINT64_C(0x00057C6D8CF0E0FD)},
2416          {UINT64_C(0x0008CA2766DB4A5B), UINT64_C(0x00073D443B130A20),
2417           UINT64_C(0x00058BF472C3BA39), UINT64_C(0x0006F5CC0907C053),
2418           UINT64_C(0x0003FC5C6F14BD87)}},
2419         {{UINT64_C(0x0004B65645E73CF6), UINT64_C(0x0007C5AB1C053774),
2420           UINT64_C(0x0005018E4FF1FC18), UINT64_C(0x000769511D97D00F),
2421           UINT64_C(0x0006AD6BD6EAA9E9)},
2422          {UINT64_C(0x00046576871857E4), UINT64_C(0x000215AA0839B591),
2423           UINT64_C(0x0004E1CAA9F6A2CA), UINT64_C(0x0007AB0F33E726C5),
2424           UINT64_C(0x00067F4BE171AA28)},
2425          {UINT64_C(0x0006531996604B7F), UINT64_C(0x000453BF42EC79D2),
2426           UINT64_C(0x00032113012CCEA4), UINT64_C(0x00006D0B5464300F),
2427           UINT64_C(0x0002176B1E5D6D50)}},
2428         {{UINT64_C(0x0001D3C100DC72D5), UINT64_C(0x0003654CB2834C97),
2429           UINT64_C(0x0005E965AC7DA69D), UINT64_C(0x00078DC0DD9AE1DD),
2430           UINT64_C(0x00019E21FECCAAF3)},
2431          {UINT64_C(0x00013C3FDF2B1672), UINT64_C(0x000619ED60AD922A),
2432           UINT64_C(0x0006A134A3138156), UINT64_C(0x000074D7A0EB94F4),
2433           UINT64_C(0x000655B9265AD61E)},
2434          {UINT64_C(0x00091D8E2767E0B1), UINT64_C(0x00065AEFAC257813),
2435           UINT64_C(0x00038076D1470BE1), UINT64_C(0x0003C981EA0EB22B),
2436           UINT64_C(0x00015A7A2D75B203)}},
2437         {{UINT64_C(0x000CC309EA9DA550), UINT64_C(0x000167109F6B7EEA),
2438           UINT64_C(0x00036256E39C62A5), UINT64_C(0x00023FE04A59A8D0),
2439           UINT64_C(0x00048F3DCFC704E4)},
2440          {UINT64_C(0x000DD13D87BC3FD8), UINT64_C(0x0001E1039D0C27A5),
2441           UINT64_C(0x00013884321DFE6C), UINT64_C(0x00018DF5EB967D7E),
2442           UINT64_C(0x00027626CDA767FD)},
2443          {UINT64_C(0x00081A4C254FE9AA), UINT64_C(0x00039710CABEFE25),
2444           UINT64_C(0x0001FE4ED0D3AF13), UINT64_C(0x00036B4C87AE2C9F),
2445           UINT64_C(0x00011248B666F136)}},
2446         {{UINT64_C(0x000E797C4CCA0B46), UINT64_C(0x000549315E592B39),
2447           UINT64_C(0x000446B1DF8247A1), UINT64_C(0x00030ED36C5BB7F3),
2448           UINT64_C(0x0002AA80BB30E10E)},
2449          {UINT64_C(0x000987E78A6334CD), UINT64_C(0x00021A51601C5BC5),
2450           UINT64_C(0x00056CB555352F37), UINT64_C(0x000225D060DB2429),
2451           UINT64_C(0x000385DB17BD6237)},
2452          {UINT64_C(0x0002ED3E680A5E84), UINT64_C(0x0005712851DFAB33),
2453           UINT64_C(0x00039A12254B9A45), UINT64_C(0x000216D42F43EEBB),
2454           UINT64_C(0x000357331598DA83)}},
2455         {{UINT64_C(0x000F7C1D3279D8A5), UINT64_C(0x00043F72163137B9),
2456           UINT64_C(0x00042C3FE876167F), UINT64_C(0x0003B0E73C83522A),
2457           UINT64_C(0x0001DB409981C582)},
2458          {UINT64_C(0x000122CD3118D65B), UINT64_C(0x00071763F291C87A),
2459           UINT64_C(0x000561465C8B3331), UINT64_C(0x0004944F4C61C7FD),
2460           UINT64_C(0x0002AAC9443A36DB)},
2461          {UINT64_C(0x0004D4FA4218C372), UINT64_C(0x00076C45E03C77EB),
2462           UINT64_C(0x000072FB97E90D33), UINT64_C(0x0005082CF2079905),
2463           UINT64_C(0x0002FE26BFD54FFA)}},
2464         {{UINT64_C(0x0007D19A42E4631A), UINT64_C(0x0006571B981A6AEC),
2465           UINT64_C(0x0004D393AE74429A), UINT64_C(0x000446A87D160168),
2466           UINT64_C(0x0003AF53BFC0F685)},
2467          {UINT64_C(0x0002D55D97B6EB19), UINT64_C(0x00039E6461F719F3),
2468           UINT64_C(0x000190259D2C913D), UINT64_C(0x0003C976B6FBF37A),
2469           UINT64_C(0x00019F876AD4BC35)},
2470          {UINT64_C(0x000EDF4304B4688B), UINT64_C(0x0000C939FCAC59CD),
2471           UINT64_C(0x00056BFC00BE589D), UINT64_C(0x0004B4C590A12AC7),
2472           UINT64_C(0x0007EF9566506AD0)}},
2473         {{UINT64_C(0x000A585FE0E0C2E0), UINT64_C(0x00018D0780A3AD5B),
2474           UINT64_C(0x0006DD4F15327657), UINT64_C(0x00009AB856FE2440),
2475           UINT64_C(0x000750F36E6E9B65)},
2476          {UINT64_C(0x0008B6024E61BB41), UINT64_C(0x0006393F246B2AD3),
2477           UINT64_C(0x000446AF58B6CA59), UINT64_C(0x00000520765881CA),
2478           UINT64_C(0x00061089ABFD62AB)},
2479          {UINT64_C(0x000633226585ECE4), UINT64_C(0x00076BF57CC213CB),
2480           UINT64_C(0x000484A01C226640), UINT64_C(0x00033C1F700F8FBA),
2481           UINT64_C(0x0000B0E1B3037271)}},
2482         {{UINT64_C(0x00054E468A9EFE70), UINT64_C(0x000608519FBFBF2D),
2483           UINT64_C(0x0005333558A69061), UINT64_C(0x0004D0D77DF73B72),
2484           UINT64_C(0x0005963DB206A396)},
2485          {UINT64_C(0x000394333A1E85F3), UINT64_C(0x000353C23C03493E),
2486           UINT64_C(0x0000C828A97CB1A5), UINT64_C(0x00078C43450120ED),
2487           UINT64_C(0x000555DF3569380F)},
2488          {UINT64_C(0x00042EFA777C3D87), UINT64_C(0x0006535188CEB3F6),
2489           UINT64_C(0x000711F155E76C84), UINT64_C(0x0000E3BA9883F418),
2490           UINT64_C(0x00057A3C7F7ECCF3)}},
2491         {{UINT64_C(0x000B073EF993682F), UINT64_C(0x00033F05FA3CCE30),
2492           UINT64_C(0x00068B17D4A39381), UINT64_C(0x0004A922A545C066),
2493           UINT64_C(0x0006F6DAE315DA70)},
2494          {UINT64_C(0x00014D0E6682401A), UINT64_C(0x0007CCF46A4DD19B),
2495           UINT64_C(0x00075F65E59EC735), UINT64_C(0x0001444919609445),
2496           UINT64_C(0x00056DEA40CFB96B)},
2497          {UINT64_C(0x00016AF62D5F1A62), UINT64_C(0x00031733B90868F3),
2498           UINT64_C(0x0006590B06472897), UINT64_C(0x00049790ACFA5796),
2499           UINT64_C(0x0003AB09B226B35A)}},
2500         {{UINT64_C(0x000329065372355E), UINT64_C(0x0007AB688B6A2989),
2501           UINT64_C(0x00045AC32571E188), UINT64_C(0x0005840E91DC5D76),
2502           UINT64_C(0x0000A0DFC537909E)},
2503          {UINT64_C(0x0005F472964EF0CE), UINT64_C(0x0003D2FA150C40C5),
2504           UINT64_C(0x0007CBF1211260FB), UINT64_C(0x0003709955BA6654),
2505           UINT64_C(0x000217DBDD3D5D0D)},
2506          {UINT64_C(0x000A1158C12DB2A4), UINT64_C(0x0004C90A2B817CA8),
2507           UINT64_C(0x00061F4B5B3A38EC), UINT64_C(0x000380423D6EF40B),
2508           UINT64_C(0x00000B4B0EF2C8F0)}},
2509         {{UINT64_C(0x00028D6E002BCA29), UINT64_C(0x0007A3997D7D546A),
2510           UINT64_C(0x0005D8C776975959), UINT64_C(0x0000317399D2025E),
2511           UINT64_C(0x000754B217E301A9)},
2512          {UINT64_C(0x0002CDE1681E8828), UINT64_C(0x000380F9FC21B2AB),
2513           UINT64_C(0x00003AD0F0DC0117), UINT64_C(0x0003D01C67CEC59B),
2514           UINT64_C(0x00039049C45C39C8)},
2515          {UINT64_C(0x0000CE99521AEEAB), UINT64_C(0x0003B4C67C5B669C),
2516           UINT64_C(0x0000E043A30EE5B7), UINT64_C(0x0003F0C4E94F62CF),
2517           UINT64_C(0x0001AB4F30E0A8F5)}},
2518     },
2519     {
2520         {{UINT64_C(0x000DC91F212AB480), UINT64_C(0x0005945E1877E8EC),
2521           UINT64_C(0x00013573E60D6704), UINT64_C(0x00069D9C4A961CA2),
2522           UINT64_C(0x0003DE09EC8A48AF)},
2523          {UINT64_C(0x000E81E566BFFA33), UINT64_C(0x00033E06B06E4111),
2524           UINT64_C(0x0002D32A23297AFD), UINT64_C(0x0005F9BFCE126AC6),
2525           UINT64_C(0x0001FF61C1A88D8E)},
2526          {UINT64_C(0x0008D3EC31CFC3EE), UINT64_C(0x000046D8793EAB63),
2527           UINT64_C(0x0000C143A50BCCDC), UINT64_C(0x0006EAB8519D9BAD),
2528           UINT64_C(0x00074830BD46D5B4)}},
2529         {{UINT64_C(0x0000574A2032B148), UINT64_C(0x0004328CBA692C33),
2530           UINT64_C(0x000232F42D123335), UINT64_C(0x000181DEF8EAD0DD),
2531           UINT64_C(0x000451E2578C52D5)},
2532          {UINT64_C(0x000695C6731F0527), UINT64_C(0x0005CD46B5C17880),
2533           UINT64_C(0x00015EAA924D0904), UINT64_C(0x00007F6FB72E84D0),
2534           UINT64_C(0x0000CEB928AFDBBD)},
2535          {UINT64_C(0x0004D3626FF5B12C), UINT64_C(0x00051FE69CA7F94B),
2536           UINT64_C(0x000772203CEE99E4), UINT64_C(0x0005F1FAC7E8C081),
2537           UINT64_C(0x0003E578A1665444)}},
2538         {{UINT64_C(0x000B298801B1FE77), UINT64_C(0x0002586B0CE008AC),
2539           UINT64_C(0x00045E778DC50E87), UINT64_C(0x0000FDCB5F3CC8F7),
2540           UINT64_C(0x00017C5D39EFC586)},
2541          {UINT64_C(0x0002A41D8771BA87), UINT64_C(0x0004C8102431A7BA),
2542           UINT64_C(0x0000B390AB74C50C), UINT64_C(0x0002C546F7C05D4D),
2543           UINT64_C(0x0006AAD492B3116F)},
2544          {UINT64_C(0x0008FF03C1367A73), UINT64_C(0x0002A4A748616572),
2545           UINT64_C(0x000605B500CB4A72), UINT64_C(0x0005C39BB9BB5B8B),
2546           UINT64_C(0x000569FE03A16B9F)}},
2547         {{UINT64_C(0x000275341CBCADF6), UINT64_C(0x000430EFD84DCC71),
2548           UINT64_C(0x00022B997FAB00F0), UINT64_C(0x00030C5632CF0693),
2549           UINT64_C(0x0002A0826D840314)},
2550          {UINT64_C(0x000C11CD5CF6EE57), UINT64_C(0x0001257E6308FBB1),
2551           UINT64_C(0x0002F7CE59284FB8), UINT64_C(0x00057DD9BDD3EF59),
2552           UINT64_C(0x0003452936337369)},
2553          {UINT64_C(0x000530B11F6BDDA7), UINT64_C(0x0007A51865D93007),
2554           UINT64_C(0x00076B5BC60F0AC9), UINT64_C(0x000212F031E350EA),
2555           UINT64_C(0x000075AED0A2ADAE)}},
2556         {{UINT64_C(0x000AD78B391BD2D5), UINT64_C(0x0003A11ABEA7FF04),
2557           UINT64_C(0x00046A25F0F350A4), UINT64_C(0x0001543CC7EF57AB),
2558           UINT64_C(0x00069223D8309EB4)},
2559          {UINT64_C(0x000B33AD1F86A15A), UINT64_C(0x00036B112A03501B),
2560           UINT64_C(0x000344A2066D4EF2), UINT64_C(0x00055436BD4B9A9D),
2561           UINT64_C(0x00041A71A942A508)},
2562          {UINT64_C(0x0006FF9618F443D0), UINT64_C(0x0000F3000CB2F1BA),
2563           UINT64_C(0x00022C2897DAADE0), UINT64_C(0x0004F604C596FCBC),
2564           UINT64_C(0x000585C83B55AFF4)}},
2565         {{UINT64_C(0x00084B6AF7D110A1), UINT64_C(0x0001EFC9DBBC4234),
2566           UINT64_C(0x000796661C37007B), UINT64_C(0x00010DB07259FC43),
2567           UINT64_C(0x000202355E8495E8)},
2568          {UINT64_C(0x000DA5E823077C6C), UINT64_C(0x0003C9503E1777C0),
2569           UINT64_C(0x0001A5E4F1DED645), UINT64_C(0x0000DE482043B271),
2570           UINT64_C(0x0004B4CCC6B33E65)},
2571          {UINT64_C(0x00011797174CD365), UINT64_C(0x000242D89859CD09),
2572           UINT64_C(0x0000714A4593BD77), UINT64_C(0x00051B9197490AE5),
2573           UINT64_C(0x0006E6A726266AD0)}},
2574         {{UINT64_C(0x0006163606CF5614), UINT64_C(0x0003B9BA82C96535),
2575           UINT64_C(0x000075E66F7CF6D4), UINT64_C(0x000411E3154EC181),
2576           UINT64_C(0x00029B40D6F2E74B)},
2577          {UINT64_C(0x0005D2E429379A65), UINT64_C(0x00008B1A72434343),
2578           UINT64_C(0x00041E8D9808E74A), UINT64_C(0x0004F14CB75EB689),
2579           UINT64_C(0x0004F434008C1B41)},
2580          {UINT64_C(0x00067B260BE03B58), UINT64_C(0x0001EEF4691ADD3A),
2581           UINT64_C(0x0002850460D0C4EE), UINT64_C(0x0005AFCC1FFDAA08),
2582           UINT64_C(0x0003AB9267B9F6DC)}},
2583         {{UINT64_C(0x000B5389B777649D), UINT64_C(0x0001F24DBD666B73),
2584           UINT64_C(0x00036DFB5DE2A31F), UINT64_C(0x0005EB994849E227),
2585           UINT64_C(0x0004279FBFCC1BD4)},
2586          {UINT64_C(0x000B7EA950A7028F), UINT64_C(0x000732F69E7CF7DE),
2587           UINT64_C(0x00066069E71F3D7B), UINT64_C(0x00028033D27359B1),
2588           UINT64_C(0x000183D3130F9EED)},
2589          {UINT64_C(0x000D74EA5E42F626), UINT64_C(0x0004B6BC58EA9C64),
2590           UINT64_C(0x0003C2C8FEA82634), UINT64_C(0x0002CE04C5B571DD),
2591           UINT64_C(0x0001E397436718BF)}},
2592         {{UINT64_C(0x000B7484714F9403), UINT64_C(0x0004FC7BF02108DB),
2593           UINT64_C(0x0003678FA400AD90), UINT64_C(0x00028EF7C8AC0FE1),
2594           UINT64_C(0x000504A42505BDEF)},
2595          {UINT64_C(0x000A0A066ABF7FBB), UINT64_C(0x00072AEC8D4433CE),
2596           UINT64_C(0x0002A0384B583EC1), UINT64_C(0x0002AB91E995640C),
2597           UINT64_C(0x000169BC2751E588)},
2598          {UINT64_C(0x0009EB12660357B5), UINT64_C(0x00077A9937FD5E5F),
2599           UINT64_C(0x00021FF5CE16F36C), UINT64_C(0x0001C906DF80DF41),
2600           UINT64_C(0x0000CC48BA3DF0EA)}},
2601         {{UINT64_C(0x000E23A04EED9E35), UINT64_C(0x0004ADC00E39212A),
2602           UINT64_C(0x00017453A70FE352), UINT64_C(0x0006D407B1DB39B2),
2603           UINT64_C(0x0005D825F613189B)},
2604          {UINT64_C(0x00040B93828FA640), UINT64_C(0x00017C0D3D748E6A),
2605           UINT64_C(0x0003E2BC36916CA3), UINT64_C(0x00026F60A9DD3D92),
2606           UINT64_C(0x0002CB47886C390F)},
2607          {UINT64_C(0x0008E7468212D22E), UINT64_C(0x0005E3F127FB8644),
2608           UINT64_C(0x0006C85DFBC55D78), UINT64_C(0x0007DFDFC6C531F3),
2609           UINT64_C(0x000674E26E15BF6B)}},
2610         {{UINT64_C(0x000742AB1CE45F49), UINT64_C(0x000352695906DAC7),
2611           UINT64_C(0x00067D9DD8206042), UINT64_C(0x0002A8F523687321),
2612           UINT64_C(0x000209C2CC3DF3F2)},
2613          {UINT64_C(0x000582E07DACB336), UINT64_C(0x000659136B8B103E),
2614           UINT64_C(0x00075BFAC5E74BD0), UINT64_C(0x00030FA01037A173),
2615           UINT64_C(0x00027A6E9B54A029)},
2616          {UINT64_C(0x00010636DC94228F), UINT64_C(0x000334F99AD2D208),
2617           UINT64_C(0x000210CE39BF48FB), UINT64_C(0x0005CE98A1D2F02D),
2618           UINT64_C(0x0007E987948C2C36)}},
2619         {{UINT64_C(0x00060BD25865CC5A), UINT64_C(0x000717975E64B3FD),
2620           UINT64_C(0x000791116DD316E7), UINT64_C(0x000027FC70709E15),
2621           UINT64_C(0x000014CE5C4B9FED)},
2622          {UINT64_C(0x000FCB5EE438E62F), UINT64_C(0x0003918BFDF256E1),
2623           UINT64_C(0x000122BF1C544888), UINT64_C(0x00014620D1E4D6BE),
2624           UINT64_C(0x00031786B5D1AA6E)},
2625          {UINT64_C(0x000D8369134DE3F1), UINT64_C(0x000358E513D33827),
2626           UINT64_C(0x0001AD06806E9F25), UINT64_C(0x0007751294480EB8),
2627           UINT64_C(0x00070E23870117F1)}},
2628         {{UINT64_C(0x00006F3BCD1B2F70), UINT64_C(0x0000FA5C78F50611),
2629           UINT64_C(0x000411C55245B3EE), UINT64_C(0x0004944F3F6FC1FB),
2630           UINT64_C(0x000044A8C001AA25)},
2631          {UINT64_C(0x000D4183C7441852), UINT64_C(0x000055D95E60582E),
2632           UINT64_C(0x0007BCDE3E7457F2), UINT64_C(0x00008C8DB0B27127),
2633           UINT64_C(0x000151434B629450)},
2634          {UINT64_C(0x000E723B7F1ECEB3), UINT64_C(0x0004AD5542379FD9),
2635           UINT64_C(0x0007AD503D0F9616), UINT64_C(0x0007C70002B01072),
2636           UINT64_C(0x00014758CEF08E44)}},
2637         {{UINT64_C(0x000C404279D4475B), UINT64_C(0x00069FDFED5F482D),
2638           UINT64_C(0x0004DDA9A420B9DE), UINT64_C(0x000442DE4FB067AC),
2639           UINT64_C(0x00011575126C1A87)},
2640          {UINT64_C(0x0000D4A13CE38DD3), UINT64_C(0x00055443D3A075FC),
2641           UINT64_C(0x0002D0CC46239CD5), UINT64_C(0x00037A0D9341BE9F),
2642           UINT64_C(0x0007D72576A16B0E)},
2643          {UINT64_C(0x00018F1C0EA31782), UINT64_C(0x00017F5C99216478),
2644           UINT64_C(0x00070B5287151CE4), UINT64_C(0x00069D184D521E3F),
2645           UINT64_C(0x00050B904149AB2A)}},
2646         {{UINT64_C(0x000B9757956238BE), UINT64_C(0x000719EF66129C48),
2647           UINT64_C(0x0003A4A2018A1497), UINT64_C(0x00060697B014C86D),
2648           UINT64_C(0x0004211842CFCBB6)},
2649          {UINT64_C(0x00000FC466BA4129), UINT64_C(0x0005C2C02129FAE5),
2650           UINT64_C(0x0007CC7E722EDDB4), UINT64_C(0x000463EFB0DEA9BC),
2651           UINT64_C(0x0005CEAB5704312E)},
2652          {UINT64_C(0x0003CB3EF741A489), UINT64_C(0x000447C22A9AC8F6),
2653           UINT64_C(0x00070DC1AC662C00), UINT64_C(0x000643FBD84746C4),
2654           UINT64_C(0x00047AC14BC4BE7F)}},
2655         {{UINT64_C(0x0001F0ED4EAB4BF3), UINT64_C(0x0003BDBDE234EFD5),
2656           UINT64_C(0x0007F9817DB30238), UINT64_C(0x0005F1CA682E32C5),
2657           UINT64_C(0x0004EA29A4CB0AC2)},
2658          {UINT64_C(0x000119149BBD8CE2), UINT64_C(0x00053B67849C8636),
2659           UINT64_C(0x0000EE5D57DDF5A8), UINT64_C(0x0004ACD87314DB39),
2660           UINT64_C(0x00050B40A053EECC)},
2661          {UINT64_C(0x000A4EC0C58B1A27), UINT64_C(0x0004144223834F69),
2662           UINT64_C(0x00006C3A5FA7A66C), UINT64_C(0x0001E7C747C08629),
2663           UINT64_C(0x0006C75F05A9CE16)}},
2664     },
2665     {
2666         {{UINT64_C(0x000DA9D6805AB8BD), UINT64_C(0x000551D3DA5834BB),
2667           UINT64_C(0x00044E2A3C850244), UINT64_C(0x00003C161B738B16),
2668           UINT64_C(0x00016FA62C9D5E85)},
2669          {UINT64_C(0x0002A0101ADD9A68), UINT64_C(0x00005F00A8B73A3E),
2670           UINT64_C(0x0002700C6352EA8B), UINT64_C(0x00058F72766D9CF5),
2671           UINT64_C(0x0000786CDD193DF0)},
2672          {UINT64_C(0x0008EF307292DAA3), UINT64_C(0x00078A0B85552DDA),
2673           UINT64_C(0x0002B5E21BAB14CA), UINT64_C(0x00042FBE2B9E130A),
2674           UINT64_C(0x0006A1FF64B8DFE0)}},
2675         {{UINT64_C(0x000C37A44368992F), UINT64_C(0x000503AD37567295),
2676           UINT64_C(0x00022D6E783EB997), UINT64_C(0x00073209A3FE24D5),
2677           UINT64_C(0x00061BEA701A085E)},
2678          {UINT64_C(0x000F79A9906695E1), UINT64_C(0x0006563AA33BECCA),
2679           UINT64_C(0x0006D9C258571274), UINT64_C(0x0002082E0EFF1CF3),
2680           UINT64_C(0x00006858AC5958CD)},
2681          {UINT64_C(0x00073B5DF922B953), UINT64_C(0x0007D833BB16576F),
2682           UINT64_C(0x0002D7E0952EDC43), UINT64_C(0x0004C40B62DE9061),
2683           UINT64_C(0x0006802A03BBC4A8)}},
2684         {{UINT64_C(0x000AA4FF9CD029FB), UINT64_C(0x0006A8F58A61B495),
2685           UINT64_C(0x00076DE5AEDD2889), UINT64_C(0x000418E79FA28A81),
2686           UINT64_C(0x0004AC6187BA7E86)},
2687          {UINT64_C(0x000BB424077E0F78), UINT64_C(0x0006BE304793DFB9),
2688           UINT64_C(0x0001D1A8E8B74E8C), UINT64_C(0x000400EE04CA634E),
2689           UINT64_C(0x0000D23EE5F7A76A)},
2690          {UINT64_C(0x000E8C82769B883D), UINT64_C(0x00061FF0A44B7C0C),
2691           UINT64_C(0x00071C3F9C0C1C14), UINT64_C(0x0001A72BC400F4FB),
2692           UINT64_C(0x000063C977E0C2A2)}},
2693         {{UINT64_C(0x000B7EA553156CDE), UINT64_C(0x0004F77ED1DA0116),
2694           UINT64_C(0x0005313D6AB54554), UINT64_C(0x00068205E8633D72),
2695           UINT64_C(0x0004C0F6F5D7AA5B)},
2696          {UINT64_C(0x0002AC03322F3ABE), UINT64_C(0x00013B9DB1E063DB),
2697           UINT64_C(0x0001653067E1D575), UINT64_C(0x00068FA0726EBED0),
2698           UINT64_C(0x00056D9BF5F7ACB5)},
2699          {UINT64_C(0x0008092305F9E607), UINT64_C(0x00050ADE9DDED289),
2700           UINT64_C(0x000677C866291C9D), UINT64_C(0x0000A00D6AD82313),
2701           UINT64_C(0x000204C6129E7A63)}},
2702         {{UINT64_C(0x000CC52FB8AA29BE), UINT64_C(0x00001FD5EBA86F95),
2703           UINT64_C(0x0003EDEE7EE1584C), UINT64_C(0x0007A98D872F3541),
2704           UINT64_C(0x00041BB59C74740D)},
2705          {UINT64_C(0x000B91A314979A22), UINT64_C(0x000445CC55FA6E68),
2706           UINT64_C(0x00029A9728593F50), UINT64_C(0x0003D453E9BB2BF4),
2707           UINT64_C(0x000458E9C150C319)},
2708          {UINT64_C(0x0008B902F4166F58), UINT64_C(0x00008BF4504AEFA7),
2709           UINT64_C(0x000507F7245632D2), UINT64_C(0x00046F4236C007FE),
2710           UINT64_C(0x0005F8B80AB194EF)}},
2711         {{UINT64_C(0x000E0E279B58D515), UINT64_C(0x000494C3FDFB0D3E),
2712           UINT64_C(0x0006ADD516425B77), UINT64_C(0x0000C99F3F472FC4),
2713           UINT64_C(0x00023C04A4713378)},
2714          {UINT64_C(0x00033C225C70B892), UINT64_C(0x0005DEF1B82B20A8),
2715           UINT64_C(0x00062D4704CA33EF), UINT64_C(0x00001505BB87DFBE),
2716           UINT64_C(0x00018D6306B777E3)},
2717          {UINT64_C(0x000A6436A9F762A4), UINT64_C(0x000102ABB9E7477D),
2718           UINT64_C(0x00004BD6FA6C8FD0), UINT64_C(0x0002E4FAD22E39A3),
2719           UINT64_C(0x0007D2D079A6B2DA)}},
2720         {{UINT64_C(0x000B537BD4E0A6B1), UINT64_C(0x00064415199F9972),
2721           UINT64_C(0x0002D496FA892827), UINT64_C(0x00029834D9583EE0),
2722           UINT64_C(0x0001F325BFC1AEE2)},
2723          {UINT64_C(0x000BE9617256C790), UINT64_C(0x0002301EF1F61C9F),
2724           UINT64_C(0x0002A218C8615200), UINT64_C(0x00060780EED8C6E7),
2725           UINT64_C(0x0004A46B99106694)},
2726          {UINT64_C(0x00037B99B0CAB13C), UINT64_C(0x00078242AB738B41),
2727           UINT64_C(0x00018258BBD69E1C), UINT64_C(0x00043D3E9A166688),
2728           UINT64_C(0x00055321313F52D3)}},
2729         {{UINT64_C(0x00067501A6250F6D), UINT64_C(0x000051135CC1DB41),
2730           UINT64_C(0x0005B70CAFF3B24D), UINT64_C(0x0007AF6469DAB79A),
2731           UINT64_C(0x0005A486101FF730)},
2732          {UINT64_C(0x000B81D6FB3B7613), UINT64_C(0x000705F8371DE858),
2733           UINT64_C(0x0004616EECCC6DE2), UINT64_C(0x0003B624C3D98F88),
2734           UINT64_C(0x0002580784E014F7)},
2735          {UINT64_C(0x0003C6B7855856C3), UINT64_C(0x0002ACC5BCB17705),
2736           UINT64_C(0x0004E8DA7BC00D1D), UINT64_C(0x0006A7AF33BBD40A),
2737           UINT64_C(0x0004CA608C42E191)}},
2738         {{UINT64_C(0x00014957F896B8DD), UINT64_C(0x0002EE29ED7F94C7),
2739           UINT64_C(0x00006C535FD580D1), UINT64_C(0x0007EE5C2C854B58),
2740           UINT64_C(0x000390B6176CC0A5)},
2741          {UINT64_C(0x000D8E851115F82F), UINT64_C(0x00057712C2473469),
2742           UINT64_C(0x0005FED753D7DE49), UINT64_C(0x000100E99106EB96),
2743           UINT64_C(0x00032A5894C01232)},
2744          {UINT64_C(0x0003F3BD2CBCD3E4), UINT64_C(0x00051B2182A69BC1),
2745           UINT64_C(0x00047F72BDF9D1E5), UINT64_C(0x0004386BB2531556),
2746           UINT64_C(0x0006251703B0886A)}},
2747         {{UINT64_C(0x000DA5B8DDCC32C8), UINT64_C(0x0004B6E439859BAC),
2748           UINT64_C(0x000565788B32A991), UINT64_C(0x0007DA2C259D0EFC),
2749           UINT64_C(0x00026E2BCA2F2403)},
2750          {UINT64_C(0x00036BD2B233B8DF), UINT64_C(0x000025EC957D6035),
2751           UINT64_C(0x000421C4260564F0), UINT64_C(0x00024C08F5533B05),
2752           UINT64_C(0x0004195603852EB3)},
2753          {UINT64_C(0x0007B58166F4C3F1), UINT64_C(0x000262CCAD523D27),
2754           UINT64_C(0x0002167831F73FA9), UINT64_C(0x0002330A70233315),
2755           UINT64_C(0x0001E997E60115B3)}},
2756         {{UINT64_C(0x000B11A8A180A2DD), UINT64_C(0x000740DE93A3B1BB),
2757           UINT64_C(0x0001A75730E8D6F7), UINT64_C(0x0002787677BCD20B),
2758           UINT64_C(0x0002C62508D0E0E3)},
2759          {UINT64_C(0x000193FF85DC4853), UINT64_C(0x0006FF8B716F7C95),
2760           UINT64_C(0x0005695A400F15D0), UINT64_C(0x0006FCEA3FD445A5),
2761           UINT64_C(0x0006827935BB527C)},
2762          {UINT64_C(0x000E756880792D5C), UINT64_C(0x00017C4CBFDCB6F6),
2763           UINT64_C(0x0003621A1F5AD47B), UINT64_C(0x00008ACFEC1E2F0B),
2764           UINT64_C(0x000680EE7BD4FDC9)}},
2765         {{UINT64_C(0x000B22617017AD54), UINT64_C(0x0006D79A05652478),
2766           UINT64_C(0x00078436BB1A4FC2), UINT64_C(0x000588C3017ACA81),
2767           UINT64_C(0x000721CFE104D7FC)},
2768          {UINT64_C(0x00058F6241221394), UINT64_C(0x0003B5CC42F98968),
2769           UINT64_C(0x0005B8C26DF7368C), UINT64_C(0x000258033A96E20A),
2770           UINT64_C(0x0006CDFD92327819)},
2771          {UINT64_C(0x000D5F316E441B95), UINT64_C(0x0007262AFF6C2AD0),
2772           UINT64_C(0x000615C867B8A858), UINT64_C(0x0002304A98935CF1),
2773           UINT64_C(0x0001C346C9D50FBE)}},
2774         {{UINT64_C(0x000B8D64E6633E8B), UINT64_C(0x0004415800321D6A),
2775           UINT64_C(0x000112873DB9D153), UINT64_C(0x0007454E53F98187),
2776           UINT64_C(0x0006D9C7B5E085F8)},
2777          {UINT64_C(0x0008054C9FC0114A), UINT64_C(0x00060A1D43700A51),
2778           UINT64_C(0x0007F536F76DCA7B), UINT64_C(0x00059A4ADEA37323),
2779           UINT64_C(0x0006F027E38F2362)},
2780          {UINT64_C(0x000304C8AA59BE30), UINT64_C(0x0007FE5A68FCF77D),
2781           UINT64_C(0x0006BDE087AB92A0), UINT64_C(0x000025E8F669E08C),
2782           UINT64_C(0x00018E93C6B2C356)}},
2783         {{UINT64_C(0x0004A344E63D4ACA), UINT64_C(0x0007C308BC5ED73E),
2784           UINT64_C(0x0003A32DEAF4E9FA), UINT64_C(0x0004472F4E854593),
2785           UINT64_C(0x000047D341D3DDFD)},
2786          {UINT64_C(0x0007532D39E9B3BB), UINT64_C(0x000217DF5A0A7433),
2787           UINT64_C(0x00074975495E1565), UINT64_C(0x0002821D2EEF04CF),
2788           UINT64_C(0x00054FC7406A916F)},
2789          {UINT64_C(0x000913F345C8BBFF), UINT64_C(0x0006989D1646C723),
2790           UINT64_C(0x00027764F8A16ACB), UINT64_C(0x000008C125AF8D5F),
2791           UINT64_C(0x0006800FE91196F4)}},
2792         {{UINT64_C(0x00082C098B00AA79), UINT64_C(0x000770B1C497ACD1),
2793           UINT64_C(0x000344FD551B8CCE), UINT64_C(0x00023F33BE497F56),
2794           UINT64_C(0x0002EAF897898B65)},
2795          {UINT64_C(0x0007F51FA8DC697B), UINT64_C(0x00074CE3069BBE12),
2796           UINT64_C(0x0004C428EA0209F5), UINT64_C(0x00002F2D8D0BB62C),
2797           UINT64_C(0x00004E256AFA4C76)},
2798          {UINT64_C(0x00001D22BDE52262), UINT64_C(0x0006DE17872B5135),
2799           UINT64_C(0x00066D4BFED89F63), UINT64_C(0x000389FDDE527F9D),
2800           UINT64_C(0x0000EB2F6E615478)}},
2801         {{UINT64_C(0x000C58D612641095), UINT64_C(0x00054CA77FCC5570),
2802           UINT64_C(0x0001DA1FC218000A), UINT64_C(0x00037F0150DC6C3C),
2803           UINT64_C(0x00022955963EF643)},
2804          {UINT64_C(0x0009C17EB03D6EA7), UINT64_C(0x0002DDDAC1318776),
2805           UINT64_C(0x0004E4B91FA27202), UINT64_C(0x0001E2352AB304E3),
2806           UINT64_C(0x00060A0E261D6691)},
2807          {UINT64_C(0x000B576743FFBA33), UINT64_C(0x0005A197F3AFDA0C),
2808           UINT64_C(0x000429DD4FCB8A3F), UINT64_C(0x0001AF629993F4B3),
2809           UINT64_C(0x00045EB119867A22)}},
2810     },
2811     {
2812         {{UINT64_C(0x000AC144EF178112), UINT64_C(0x000094A0264CAF23),
2813           UINT64_C(0x0004A0AC5A24DEFD), UINT64_C(0x0007C7625D1D184E),
2814           UINT64_C(0x0005737B194A6A86)},
2815          {UINT64_C(0x0008F38EC35EE99B), UINT64_C(0x0006D9BAA844775F),
2816           UINT64_C(0x00046F84DF77B762), UINT64_C(0x0002544D6FE58FDC),
2817           UINT64_C(0x00077B72BB7289FB)},
2818          {UINT64_C(0x000DD166D7288C6E), UINT64_C(0x0001C67A51DA413C),
2819           UINT64_C(0x0006973C6FAD10E1), UINT64_C(0x00031DE5E5EDA939),
2820           UINT64_C(0x000393F71ED28892)}},
2821         {{UINT64_C(0x000B1C84EECF7E6B), UINT64_C(0x00056A60AC35BAB2),
2822           UINT64_C(0x0002F06DF1910A93), UINT64_C(0x0000618DC5FAEB06),
2823           UINT64_C(0x0001D49317BBBDF6)},
2824          {UINT64_C(0x000493F2A36F71D9), UINT64_C(0x00040122E257F266),
2825           UINT64_C(0x00007974D73D3705), UINT64_C(0x0001276FD01A753E),
2826           UINT64_C(0x000756654735EC6A)},
2827          {UINT64_C(0x0007DB79632DD089), UINT64_C(0x0001FE3FA5F4A3F7),
2828           UINT64_C(0x0001716E3C167A6F), UINT64_C(0x00053B6AA21FEB09),
2829           UINT64_C(0x00023EC2880EEB4A)}},
2830         {{UINT64_C(0x00025A84454FFE86), UINT64_C(0x000780F2E547DCDF),
2831           UINT64_C(0x000701A2C14FDED4), UINT64_C(0x0004B8A116F259A3),
2832           UINT64_C(0x000695574E1284BB)},
2833          {UINT64_C(0x000D30440055360D), UINT64_C(0x00003410B657F1F4),
2834           UINT64_C(0x0006EE23795C3521), UINT64_C(0x0004C9A2F7E3A24B),
2835           UINT64_C(0x0000FD8B32023BD7)},
2836          {UINT64_C(0x000AE6F82F35FF69), UINT64_C(0x0003F3D6F04FB2C4),
2837           UINT64_C(0x00005F2596E4AACD), UINT64_C(0x0007F09E9725486A),
2838           UINT64_C(0x00062C57118684FB)}},
2839         {{UINT64_C(0x00071AB6451B13D2), UINT64_C(0x000619FA9ABFE206),
2840           UINT64_C(0x0004C28E4E8FA08C), UINT64_C(0x0002CEE0DAC526F3),
2841           UINT64_C(0x0005F61B37975A6F)},
2842          {UINT64_C(0x00015634247F1514), UINT64_C(0x00043246C09599E2),
2843           UINT64_C(0x000502B5C89D4562), UINT64_C(0x00055B6E5B70BD64),
2844           UINT64_C(0x0000924E7D2DA3A4)},
2845          {UINT64_C(0x000DC2A7C58A69B5), UINT64_C(0x0007579FCF83B046),
2846           UINT64_C(0x000490212587ACC9), UINT64_C(0x00042C0D4FB52DDA),
2847           UINT64_C(0x0006EA269EA5E4FF)}},
2848         {{UINT64_C(0x000FAB3168E74931), UINT64_C(0x000009FC282310C8),
2849           UINT64_C(0x0002E357A087E03B), UINT64_C(0x0002E82B3F54812E),
2850           UINT64_C(0x0000A1378335E998)},
2851          {UINT64_C(0x0009E98B211CF746), UINT64_C(0x000294635069D795),
2852           UINT64_C(0x00066C9A8A94C197), UINT64_C(0x00049DBA942CC086),
2853           UINT64_C(0x00038BE03A6F71F4)},
2854          {UINT64_C(0x000D42F0FB6C56DF), UINT64_C(0x0003D1EF830454E8),
2855           UINT64_C(0x000225CD3F51B513), UINT64_C(0x00002F23E7710F71),
2856           UINT64_C(0x0007ED09816C213D)}},
2857         {{UINT64_C(0x000475A30D2F95C3), UINT64_C(0x0006534DABA67C75),
2858           UINT64_C(0x0005FFF4349E9DCF), UINT64_C(0x0005741BFE20E51E),
2859           UINT64_C(0x0007C9C06E28F6DB)},
2860          {UINT64_C(0x0004C91D367D647C), UINT64_C(0x0005DB920659E98B),
2861           UINT64_C(0x0006E2DC6EDEAE13), UINT64_C(0x00045FADDDCD7438),
2862           UINT64_C(0x0006A3D3CCDD5BDE)},
2863          {UINT64_C(0x000030AFB5D712D2), UINT64_C(0x0004232A6E545B6F),
2864           UINT64_C(0x0006CC8095D31E5A), UINT64_C(0x0005E95D17B4F93D),
2865           UINT64_C(0x000640826F938DB4)}},
2866         {{UINT64_C(0x00054E864AE39A36), UINT64_C(0x00075453A7420C12),
2867           UINT64_C(0x0007550FC0647586), UINT64_C(0x0000CE261F056DAC),
2868           UINT64_C(0x0006EC06688237F9)},
2869          {UINT64_C(0x00009D858855A118), UINT64_C(0x00035D6E1CAC4C58),
2870           UINT64_C(0x00051BC56EDB0309), UINT64_C(0x00056720925976FA),
2871           UINT64_C(0x0003095195EC98C0)},
2872          {UINT64_C(0x00028453ABBCD94C), UINT64_C(0x0000442BD67826FA),
2873           UINT64_C(0x00027091B2C7D123), UINT64_C(0x00053D5CE098F2DF),
2874           UINT64_C(0x00033B91CBED8C33)}},
2875         {{UINT64_C(0x00031BB1AEC4EB7B), UINT64_C(0x000404BD71986FBA),
2876           UINT64_C(0x000789F140F41C34), UINT64_C(0x00046319EC635090),
2877           UINT64_C(0x00062555BCEF03FC)},
2878          {UINT64_C(0x000B7957AF9DF20B), UINT64_C(0x00061499B0C64744),
2879           UINT64_C(0x0005A1460AB6F031), UINT64_C(0x000254B48FE3B63C),
2880           UINT64_C(0x000138DA1B0B8458)},
2881          {UINT64_C(0x0008FC31F72B00C5), UINT64_C(0x00009260DAF93E82),
2882           UINT64_C(0x0007724F21722EEC), UINT64_C(0x00065104B46DE00D),
2883           UINT64_C(0x0005C74C4AADE4A1)}},
2884         {{UINT64_C(0x000C942D7E200CDA), UINT64_C(0x0004DCCF2C9062F8),
2885           UINT64_C(0x00033C6DC30EF168), UINT64_C(0x0005876E586F49F0),
2886           UINT64_C(0x0005C625124B23D5)},
2887          {UINT64_C(0x000AF942F3B8567F), UINT64_C(0x00068DD426ED4B8D),
2888           UINT64_C(0x00074CE2434E2244), UINT64_C(0x0005BC01452BAF26),
2889           UINT64_C(0x00068D340AA53E01)},
2890          {UINT64_C(0x00062BADB88E1FEE), UINT64_C(0x00001B7927E30590),
2891           UINT64_C(0x0007FB96EBA04357), UINT64_C(0x00063C4C5B983654),
2892           UINT64_C(0x0003CB27C00B0E03)}},
2893         {{UINT64_C(0x0003A8ABA3BA06D8), UINT64_C(0x0005183A547A5052),
2894           UINT64_C(0x0002FA684E05B048), UINT64_C(0x00037DC680820759),
2895           UINT64_C(0x0003A758E398D110)},
2896          {UINT64_C(0x000AE41D00F8BBE3), UINT64_C(0x0007C91843988CEE),
2897           UINT64_C(0x00008AC196646158), UINT64_C(0x0004F9CA63F0D300),
2898           UINT64_C(0x0004AE71F5595151)},
2899          {UINT64_C(0x0009C5C331E75B70), UINT64_C(0x000034AEB589633E),
2900           UINT64_C(0x0003A2AFA63836A6), UINT64_C(0x00071AA62CA57C97),
2901           UINT64_C(0x0002588D39981664)}},
2902         {{UINT64_C(0x0002F5861915F134), UINT64_C(0x0002E22B903AD5D1),
2903           UINT64_C(0x0004B62079B373C7), UINT64_C(0x0006E593A78A5789),
2904           UINT64_C(0x0006ACFA4114B928)},
2905          {UINT64_C(0x000845994C9F8482), UINT64_C(0x00018D23FF32CC4E),
2906           UINT64_C(0x0001EF02A3741210), UINT64_C(0x0003A1F60A318F68),
2907           UINT64_C(0x00074BBE122C022E)},
2908          {UINT64_C(0x000235F03B8817CF), UINT64_C(0x0004136EC580474B),
2909           UINT64_C(0x00030B5BE4C70BFD), UINT64_C(0x0006771287C6A491),
2910           UINT64_C(0x0004EE10D834F1D6)}},
2911         {{UINT64_C(0x0009238C49B5B594), UINT64_C(0x0006D951D5930D4A),
2912           UINT64_C(0x00052C92A1704BF4), UINT64_C(0x00058049C0061E24),
2913           UINT64_C(0x0003414A1DFBD8A0)},
2914          {UINT64_C(0x0003B17B475F899E), UINT64_C(0x0000A207F4C1C87F),
2915           UINT64_C(0x00005DAC41647336), UINT64_C(0x000017D58BC6FE28),
2916           UINT64_C(0x00006090A9CB1708)},
2917          {UINT64_C(0x0000E353DF9AED9F), UINT64_C(0x000211A100A66400),
2918           UINT64_C(0x000537F1DBBF53C6), UINT64_C(0x00061176C39FF089),
2919           UINT64_C(0x0000ED4DD7183518)}},
2920         {{UINT64_C(0x000D4A93DE96CDC1), UINT64_C(0x0001C832B89CB8A0),
2921           UINT64_C(0x000203277525319E), UINT64_C(0x0004CEE0F6725575),
2922           UINT64_C(0x00070ED69AF9BF53)},
2923          {UINT64_C(0x000C17F8BAA5AAC7), UINT64_C(0x0006AF4ABBDC969F),
2924           UINT64_C(0x0003A0E69B82101E), UINT64_C(0x0006234479D6A63E),
2925           UINT64_C(0x0002BF20728C2007)},
2926          {UINT64_C(0x00063FEF01AE2A02), UINT64_C(0x0001C86F09FC4AF4),
2927           UINT64_C(0x00069A1DE168EBCE), UINT64_C(0x00063F996EFB8433),
2928           UINT64_C(0x00072A687DA051BD)}},
2929         {{UINT64_C(0x000A8952F3FB5F0C), UINT64_C(0x00022194DC688FAE),
2930           UINT64_C(0x0006F9F5064736BF), UINT64_C(0x0007A6A4D691B9DB),
2931           UINT64_C(0x0007F5B139E354FB)},
2932          {UINT64_C(0x0000B63808606E6E), UINT64_C(0x0005E413F0FE0384),
2933           UINT64_C(0x00024FB74A712242), UINT64_C(0x00027B1CB73DDC68),
2934           UINT64_C(0x0006285935149BF9)},
2935          {UINT64_C(0x000D30A9D3AC7820), UINT64_C(0x0002B97ED3978DF1),
2936           UINT64_C(0x0003681BAB9F5289), UINT64_C(0x0000D844B826D276),
2937           UINT64_C(0x000784A758F5FDDE)}},
2938         {{UINT64_C(0x0005EF9827213EE3), UINT64_C(0x00042F84E4310A41),
2939           UINT64_C(0x0004A5143748EB06), UINT64_C(0x0003190974F9FF92),
2940           UINT64_C(0x0005016A42C2EB4B)},
2941          {UINT64_C(0x00000CB993776C25), UINT64_C(0x0005E9694BF91DF4),
2942           UINT64_C(0x00056BC66736D688), UINT64_C(0x0002EC931ADE934B),
2943           UINT64_C(0x0001A9C364E091BF)},
2944          {UINT64_C(0x000E211DC7632283), UINT64_C(0x00035BE411AEEFD3),
2945           UINT64_C(0x00015DAFEBCCAC46), UINT64_C(0x00037714AEB785FD),
2946           UINT64_C(0x0006253CC0A245FF)}},
2947         {{UINT64_C(0x00029AF81A0D1BD2), UINT64_C(0x00003B61C799BE14),
2948           UINT64_C(0x0001C03C6426B11A), UINT64_C(0x0007F386EC4C5C3C),
2949           UINT64_C(0x0000B2BC5FE81F9E)},
2950          {UINT64_C(0x000AD04EE82724D3), UINT64_C(0x0005B1D7846B04CA),
2951           UINT64_C(0x00033D35B52BC659), UINT64_C(0x000135A47CD22439),
2952           UINT64_C(0x0007D7B6CAEA433E)},
2953          {UINT64_C(0x000850D32772E3DB), UINT64_C(0x000582BED8E87C91),
2954           UINT64_C(0x000198367AE74473), UINT64_C(0x0002F5A5839CEAE9),
2955           UINT64_C(0x0002B8174D7564F2)}},
2956     },
2957     {
2958         {{UINT64_C(0x0005F71E4CC72DC5), UINT64_C(0x000729408117FF19),
2959           UINT64_C(0x000309B7A677423D), UINT64_C(0x0004839F84C2AB89),
2960           UINT64_C(0x00008A95BA320E5D)},
2961          {UINT64_C(0x00078965FDB1CB39), UINT64_C(0x0005F0C0D8298F25),
2962           UINT64_C(0x00055C4EEDD50E22), UINT64_C(0x00023DC216E90B73),
2963           UINT64_C(0x000797D03A50DC08)},
2964          {UINT64_C(0x000D4CA0AD220D40), UINT64_C(0x00028CD933850D3B),
2965           UINT64_C(0x0004D7EE3B9C333B), UINT64_C(0x0002966D4130006D),
2966           UINT64_C(0x0000FBD61D1E8F9C)}},
2967         {{UINT64_C(0x00009E516DAADA87), UINT64_C(0x0004EC925BC0EEEE),
2968           UINT64_C(0x0006EFFBA132BCEB), UINT64_C(0x000724D09DAD4807),
2969           UINT64_C(0x000452C79585B373)},
2970          {UINT64_C(0x000F1401F95C5FB5), UINT64_C(0x0005A1CE98BCB0CF),
2971           UINT64_C(0x000216304328D3D2), UINT64_C(0x0004BF1910725FC2),
2972           UINT64_C(0x0004002028E1F6C0)},
2973          {UINT64_C(0x000BCA6D33FB4AF5), UINT64_C(0x000699B08CFF3D9E),
2974           UINT64_C(0x0000EA0CDC3C332C), UINT64_C(0x000630F4F9EAC5C7),
2975           UINT64_C(0x000780B9E89D8FFA)}},
2976         {{UINT64_C(0x000CF75D097A1682), UINT64_C(0x00032545E3AC653A),
2977           UINT64_C(0x00029DB14F338894), UINT64_C(0x000351894CA83CAE),
2978           UINT64_C(0x000318CEC53A3C6A)},
2979          {UINT64_C(0x000F2E2D2A2EA810), UINT64_C(0x00054DDA2C9BB050),
2980           UINT64_C(0x000290BE850E8961), UINT64_C(0x000287BC5EBC0BFC),
2981           UINT64_C(0x00062D4620BB48F9)},
2982          {UINT64_C(0x0005A0F8E756C417), UINT64_C(0x0004937AF0050D8E),
2983           UINT64_C(0x0003DF98E8FBE4F8), UINT64_C(0x00073EF8BBA04BAC),
2984           UINT64_C(0x0003743A4A505CD5)}},
2985         {{UINT64_C(0x000AC304DDD850C1), UINT64_C(0x000116AE8E058E54),
2986           UINT64_C(0x0003E025C2CAAABC), UINT64_C(0x0006FC6FE28AC49A),
2987           UINT64_C(0x00016E67A015DEA5)},
2988          {UINT64_C(0x0000CF3F158429CD), UINT64_C(0x000480063B01884B),
2989           UINT64_C(0x000363368F078BE2), UINT64_C(0x000504AB7790BA1A),
2990           UINT64_C(0x0006710350B446FA)},
2991          {UINT64_C(0x000D8B8DE6397785), UINT64_C(0x000188CD6C441A62),
2992           UINT64_C(0x0004AD0920B22E3C), UINT64_C(0x0005021ECF3C72DE),
2993           UINT64_C(0x0003D133001D1ED5)}},
2994         {{UINT64_C(0x000B60A8C5FAF1CD), UINT64_C(0x0004C53C423A845B),
2995           UINT64_C(0x000520A9E9FA2A69), UINT64_C(0x00027D388A1F08D1),
2996           UINT64_C(0x000032396160EC47)},
2997          {UINT64_C(0x00038139094FAD75), UINT64_C(0x0003CD9876593CD5),
2998           UINT64_C(0x00071333878088E4), UINT64_C(0x000201E8433445E6),
2999           UINT64_C(0x000112302E7408FF)},
3000          {UINT64_C(0x000CBFE63FC06EE2), UINT64_C(0x00027425B1F20DEB),
3001           UINT64_C(0x000457B85B95B8B5), UINT64_C(0x00076DF4D98AEAFE),
3002           UINT64_C(0x0004EC884BB0909D)}},
3003         {{UINT64_C(0x000560BECBEEDE54), UINT64_C(0x000355F2A19E2A7B),
3004           UINT64_C(0x0003AC869895D894), UINT64_C(0x0001B3A88FAF6472),
3005           UINT64_C(0x00030150F70F46D2)},
3006          {UINT64_C(0x000C4423AB869B40), UINT64_C(0x0003A52F86375064),
3007           UINT64_C(0x00012F5BC0F20340), UINT64_C(0x0006CA222C7412D4),
3008           UINT64_C(0x00032F1254041880)},
3009          {UINT64_C(0x0002B2DBAB6499A6), UINT64_C(0x00011049F2328790),
3010           UINT64_C(0x000696584124F8E2), UINT64_C(0x000142AB6165955E),
3011           UINT64_C(0x00063E346DAEF2ED)}},
3012         {{UINT64_C(0x000D39355730C824), UINT64_C(0x0003FC8CAC7D5529),
3013           UINT64_C(0x00051C9605C77F3A), UINT64_C(0x0007A2A90B74D60C),
3014           UINT64_C(0x0006FA2B0304B184)},
3015          {UINT64_C(0x0004EB3441C3FCC1), UINT64_C(0x0002CACCC532F441),
3016           UINT64_C(0x0005E09ACF224276), UINT64_C(0x00058A77259116FC),
3017           UINT64_C(0x0000BDC2A63D5387)},
3018          {UINT64_C(0x000F8EFB7463FFE8), UINT64_C(0x0001057CA428A821),
3019           UINT64_C(0x0004ED380A470ED0), UINT64_C(0x00076F49D6CEF5F0),
3020           UINT64_C(0x0003F9D2D6743030)}},
3021         {{UINT64_C(0x0000AF30896CC3EF), UINT64_C(0x000201D4DF630DBA),
3022           UINT64_C(0x00052E42F5AFF8BF), UINT64_C(0x00000EB77C14ACF5),
3023           UINT64_C(0x0003CA2DFB8C5EDF)},
3024          {UINT64_C(0x000B5A205B171808), UINT64_C(0x0004C56363842D6C),
3025           UINT64_C(0x000292D70469611A), UINT64_C(0x0006D916356CD45A),
3026           UINT64_C(0x0006B0027CD19FAB)},
3027          {UINT64_C(0x00022B2713528A82), UINT64_C(0x0006E7BE33E7CEF0),
3028           UINT64_C(0x000009FC8141F131), UINT64_C(0x0000150A7927D149),
3029           UINT64_C(0x0003B14B0DA7FF44)}},
3030         {{UINT64_C(0x00032EFED0F84103), UINT64_C(0x00019069CDCE6F9F),
3031           UINT64_C(0x0005C6ACB2ABA640), UINT64_C(0x0006C2B81330E238),
3032           UINT64_C(0x0003A809BBA9B370)},
3033          {UINT64_C(0x0004BE6C8B688B18), UINT64_C(0x0001351C261FED04),
3034           UINT64_C(0x0002C96D1BC48370), UINT64_C(0x0001E95E38FF6352),
3035           UINT64_C(0x0007BEAD8D5751AA)},
3036          {UINT64_C(0x00098F021AA4DB09), UINT64_C(0x00078CD1DC9071DF),
3037           UINT64_C(0x000605F5C2A08E6A), UINT64_C(0x0002E7D15E83EE69),
3038           UINT64_C(0x0000E6B2FF6D9875)}},
3039         {{UINT64_C(0x0004DE5A07C4323E), UINT64_C(0x0002D406347B7064),
3040           UINT64_C(0x0005AA73A0846C15), UINT64_C(0x0000B5C4D6C73A87),
3041           UINT64_C(0x0002AA137FBF2494)},
3042          {UINT64_C(0x0004685341C33279), UINT64_C(0x000082B2B0E321E2),
3043           UINT64_C(0x0005643452806D72), UINT64_C(0x000626BA7990B3AF),
3044           UINT64_C(0x0007CF53B95B4365)},
3045          {UINT64_C(0x00013532346149FF), UINT64_C(0x0005947C275C07F1),
3046           UINT64_C(0x00034F1270EB410F), UINT64_C(0x000514A7C01BF670),
3047           UINT64_C(0x000407161B0257A8)}},
3048         {{UINT64_C(0x00054B5C52AC8719), UINT64_C(0x0002D86CBEB0D6B0),
3049           UINT64_C(0x0004F84A08F1266B), UINT64_C(0x0004D65F37B998EF),
3050           UINT64_C(0x0006C27CE40B4135)},
3051          {UINT64_C(0x0007BF812153FC77), UINT64_C(0x0005CDDD65D79B11),
3052           UINT64_C(0x00054A7071923FF6), UINT64_C(0x00034FBFFF7FA918),
3053           UINT64_C(0x000261A5361256A4)},
3054          {UINT64_C(0x000B13BCE19AAFB7), UINT64_C(0x0006D3B746CE4B8F),
3055           UINT64_C(0x00053A3635869292), UINT64_C(0x0007909536E7719B),
3056           UINT64_C(0x000008EB20D956CC)}},
3057         {{UINT64_C(0x00065CF97D492C5D), UINT64_C(0x00029D9BCEE03B91),
3058           UINT64_C(0x0006041F5A49C183), UINT64_C(0x0002F8117A3A828F),
3059           UINT64_C(0x000369E3DAD33DF2)},
3060          {UINT64_C(0x000D5176A425F79F), UINT64_C(0x000343D6AB0DE966),
3061           UINT64_C(0x00064EFB5C97C515), UINT64_C(0x0002BF9162998A39),
3062           UINT64_C(0x00050EF13FEEC9EB)},
3063          {UINT64_C(0x00039C0CFD97E85B), UINT64_C(0x000770E1CCBB013E),
3064           UINT64_C(0x0005F03BD9F7D9C2), UINT64_C(0x000690F1EE2F80E3),
3065           UINT64_C(0x00071787D1339A82)}},
3066         {{UINT64_C(0x000F7F42B80EB7F2), UINT64_C(0x000544C8293F8329),
3067           UINT64_C(0x000122DA47640B5D), UINT64_C(0x0000FEAFA087BC4E),
3068           UINT64_C(0x00059F0BB3B97004)},
3069          {UINT64_C(0x0002AA28745CD9B5), UINT64_C(0x0007BC8D5CD03005),
3070           UINT64_C(0x0001422C4B7A9189), UINT64_C(0x000282692E6090A7),
3071           UINT64_C(0x0000867B47D33593)},
3072          {UINT64_C(0x0003413E422FA5A2), UINT64_C(0x0006887164EBB90B),
3073           UINT64_C(0x00065C5E1BFDB4A4), UINT64_C(0x0004B98C578628EE),
3074           UINT64_C(0x0004E5352F622184)}},
3075         {{UINT64_C(0x0002549D88E38B2F), UINT64_C(0x0004908DEAD628D9),
3076           UINT64_C(0x000073E0A2E146D7), UINT64_C(0x000664C6FFF36209),
3077           UINT64_C(0x000130159F64A292)},
3078          {UINT64_C(0x000B964E8ECBEDBE), UINT64_C(0x00030E5C798B68B0),
3079           UINT64_C(0x0004BFD953930A67), UINT64_C(0x0007CA03ABB678FB),
3080           UINT64_C(0x00033FEF5B3D5B01)},
3081          {UINT64_C(0x00098E12CCF396A9), UINT64_C(0x0003A8CA995F3788),
3082           UINT64_C(0x0007482D4E5FAAC6), UINT64_C(0x00031D5A37583FCA),
3083           UINT64_C(0x0006D982702EDC91)}},
3084         {{UINT64_C(0x000BE837A054ACCB), UINT64_C(0x0004ECB51A8EF070),
3085           UINT64_C(0x0002F2D57B4FCF60), UINT64_C(0x0004C1513045FB2B),
3086           UINT64_C(0x00047770E3380A5B)},
3087          {UINT64_C(0x000425BEF82D311B), UINT64_C(0x00002005D68620DC),
3088           UINT64_C(0x0007325F0CD3FBE0), UINT64_C(0x0004EEFB9471E0EC),
3089           UINT64_C(0x00028F8C67917260)},
3090          {UINT64_C(0x000B0A66B88E76E6), UINT64_C(0x0000F3A2C9DA4F2E),
3091           UINT64_C(0x0001EA49E958D92A), UINT64_C(0x000026E1BDBB6E03),
3092           UINT64_C(0x0005029291E8FB70)}},
3093         {{UINT64_C(0x000E54C9AEAECCC3), UINT64_C(0x000361674AC1790E),
3094           UINT64_C(0x0006F9F28B87D9E7), UINT64_C(0x00018B8D2B452066),
3095           UINT64_C(0x0007DB9345D70FBC)},
3096          {UINT64_C(0x000F3DF99A78836C), UINT64_C(0x0004914D0D5AE148),
3097           UINT64_C(0x000571EBD41C1239), UINT64_C(0x0005A51875241CFB),
3098           UINT64_C(0x0007336AA1FEBF60)},
3099          {UINT64_C(0x000A212F131FA1A5), UINT64_C(0x0000D92E88DEBB89),
3100           UINT64_C(0x000558BFDAECA4D2), UINT64_C(0x000269A780A65DC8),
3101           UINT64_C(0x0007265543B97C9D)}},
3102     },
3103     {
3104         {{UINT64_C(0x0009BE522B9D7F04), UINT64_C(0x0004BC705622740B),
3105           UINT64_C(0x0007E15EA4E4D172), UINT64_C(0x00038BD4A6FDEDBC),
3106           UINT64_C(0x0005E8C142089478)},
3107          {UINT64_C(0x00048C72EDCC8AA4), UINT64_C(0x0006C5E6065406FA),
3108           UINT64_C(0x0006AF3701C24620), UINT64_C(0x00042EA0F2E70B8F),
3109           UINT64_C(0x00033DFF74481155)},
3110          {UINT64_C(0x000852E6A6E72D7C), UINT64_C(0x00042B699FEF3BF1),
3111           UINT64_C(0x0005907EE2406991), UINT64_C(0x0004D36621FDF916),
3112           UINT64_C(0x0006D7911C011B7B)}},
3113         {{UINT64_C(0x000EBFE9B94F7A12), UINT64_C(0x0004824A85A9AC4B),
3114           UINT64_C(0x00014EEF07D3D55D), UINT64_C(0x000513B829B2AE5C),
3115           UINT64_C(0x0006011380B7D9CC)},
3116          {UINT64_C(0x000A21168961EEA8), UINT64_C(0x00063CBB9BA57577),
3117           UINT64_C(0x0006606B05EF2134), UINT64_C(0x0006B72A1D536E54),
3118           UINT64_C(0x000661849203E9CC)},
3119          {UINT64_C(0x0004C06869AEA3D6), UINT64_C(0x00021F578255BAF7),
3120           UINT64_C(0x00067D1096E12882), UINT64_C(0x00050B150BD416A4),
3121           UINT64_C(0x0002910322AC87CD)}},
3122         {{UINT64_C(0x000644D63DB19259), UINT64_C(0x000547C0FCA86C59),
3123           UINT64_C(0x0007A198D5D3FAEE), UINT64_C(0x0001E28699860365),
3124           UINT64_C(0x0000EFE6732ABA42)},
3125          {UINT64_C(0x000888204C12F590), UINT64_C(0x0001C8E5F2BFF85C),
3126           UINT64_C(0x0001772AF32270BC), UINT64_C(0x0005D962EAAB3158),
3127           UINT64_C(0x0001A34AB97418FB)},
3128          {UINT64_C(0x0008D80BBC8528CC), UINT64_C(0x000241D41B76D92E),
3129           UINT64_C(0x0004513FE5B63EE3), UINT64_C(0x00062D1B5DE35CE4),
3130           UINT64_C(0x0005157C5E57C598)}},
3131         {{UINT64_C(0x000BDB25BE3A9FD2), UINT64_C(0x000302ED2946793F),
3132           UINT64_C(0x00012C506EF80331), UINT64_C(0x0006D13E5DECA318),
3133           UINT64_C(0x00001A5DF0E20F25)},
3134          {UINT64_C(0x000BC9FC9FF75DF0), UINT64_C(0x0000BF1C056F5479),
3135           UINT64_C(0x00036E0E95E2CF70), UINT64_C(0x00058A068DA69D3D),
3136           UINT64_C(0x0001555FC948F50D)},
3137          {UINT64_C(0x000998A0950C1A1C), UINT64_C(0x0005358898A6636E),
3138           UINT64_C(0x0001CC47B1220D25), UINT64_C(0x0007E929E197B7F1),
3139           UINT64_C(0x0006FE5D94BC2454)}},
3140         {{UINT64_C(0x000EABC2EB1D0B59), UINT64_C(0x0007A05C59336123),
3141           UINT64_C(0x0007918FF8448B64), UINT64_C(0x00057A94A01CAB48),
3142           UINT64_C(0x0002FF15B4CC7487)},
3143          {UINT64_C(0x00008799019AECD9), UINT64_C(0x0003D8F58AC75312),
3144           UINT64_C(0x0000D4A7DF2730C1), UINT64_C(0x0005E75D83B3FAC3),
3145           UINT64_C(0x0007180E7E60D802)},
3146          {UINT64_C(0x0005AEF92672CCE1), UINT64_C(0x0006637504959CA3),
3147           UINT64_C(0x00053E5589BFA337), UINT64_C(0x0003A21A8478ED35),
3148           UINT64_C(0x0002DD36E5AC50F9)}},
3149         {{UINT64_C(0x00062DF8E260C004), UINT64_C(0x0004DE30E71B999A),
3150           UINT64_C(0x00045C3FA066284D), UINT64_C(0x000331D9BB25623D),
3151           UINT64_C(0x000202123595AEC6)},
3152          {UINT64_C(0x00047A9FF0131346), UINT64_C(0x0003A150D3AAC3F1),
3153           UINT64_C(0x00029452C6C88616), UINT64_C(0x0007CA8D3EC1A917),
3154           UINT64_C(0x0006EEC72C9A0BF5)},
3155          {UINT64_C(0x000F10845A21F448), UINT64_C(0x00001AAE742835C2),
3156           UINT64_C(0x00025E4CFB83A17F), UINT64_C(0x0007BF8EB92AF3AB),
3157           UINT64_C(0x000699BE9783E779)}},
3158         {{UINT64_C(0x0001DC9C52A66972), UINT64_C(0x0002C0B904C59FBA),
3159           UINT64_C(0x0006C89144084C6D), UINT64_C(0x00014AB65019CF29),
3160           UINT64_C(0x00006EA2401AC315)},
3161          {UINT64_C(0x000ADC23F3836291), UINT64_C(0x0002F1AD8C01F7C1),
3162           UINT64_C(0x000205DF0C8922CF), UINT64_C(0x0001751FC5AEB310),
3163           UINT64_C(0x0006F64DB4075476)},
3164          {UINT64_C(0x000F82F426A80AE1), UINT64_C(0x00013C4A6E62FC16),
3165           UINT64_C(0x0001FBCDF27E0B34), UINT64_C(0x00078E30B91EF3E6),
3166           UINT64_C(0x000059CBEA565341)}},
3167         {{UINT64_C(0x00062CB978126A51), UINT64_C(0x0004E2E7313211FE),
3168           UINT64_C(0x00066E6E57EED552), UINT64_C(0x00009AE384794AC9),
3169           UINT64_C(0x00077726F8AB9C55)},
3170          {UINT64_C(0x0006D6C6C9E72C58), UINT64_C(0x00069723C749EA4F),
3171           UINT64_C(0x0005631BCF116547), UINT64_C(0x0004E31FAB9D03A6),
3172           UINT64_C(0x0002B7F538841EE2)},
3173          {UINT64_C(0x000BD957A2809D3C), UINT64_C(0x000317F1DC4351FD),
3174           UINT64_C(0x000701BA3438D796), UINT64_C(0x00009FBD6563EC5D),
3175           UINT64_C(0x0003E98ABE5B2F47)}},
3176         {{UINT64_C(0x000AE4190E276A10), UINT64_C(0x0001FFB966B8121D),
3177           UINT64_C(0x0004FEEDA4D78B7E), UINT64_C(0x0005DB20D5551162),
3178           UINT64_C(0x00030DC06EF26E4D)},
3179          {UINT64_C(0x000A970255208159), UINT64_C(0x0001A104788B4AEF),
3180           UINT64_C(0x00004D4C840BE3BE), UINT64_C(0x0006BD8A71949A6C),
3181           UINT64_C(0x000651C9FF191728)},
3182          {UINT64_C(0x000A44663267D2A4), UINT64_C(0x0001FC0CAB11E883),
3183           UINT64_C(0x000785A12DE63089), UINT64_C(0x00006EC9E0189600),
3184           UINT64_C(0x000375BF7E8AB1B8)}},
3185         {{UINT64_C(0x000BFFBBC3B4CE41), UINT64_C(0x0003376A2003A823),
3186           UINT64_C(0x000091EBF7910590), UINT64_C(0x00061FB8363DCA05),
3187           UINT64_C(0x00042807BC01AD4E)},
3188          {UINT64_C(0x000ACF6D9A5C7646), UINT64_C(0x000560F4B3AE3DC2),
3189           UINT64_C(0x000183CCAE76BD95), UINT64_C(0x00065764DB513046),
3190           UINT64_C(0x000214F42294E850)},
3191          {UINT64_C(0x0000F3EDC763536B), UINT64_C(0x0004E9D5EF6B046E),
3192           UINT64_C(0x000150D442C37994), UINT64_C(0x0001B54E80DE1472),
3193           UINT64_C(0x00007A1D71EDF00C)}},
3194         {{UINT64_C(0x00087407DBA8E90B), UINT64_C(0x0007E1C66322205F),
3195           UINT64_C(0x0004FAC245ACCD04), UINT64_C(0x0002B13B4E297D86),
3196           UINT64_C(0x000323B2D23AEDAE)},
3197          {UINT64_C(0x0009941B92E19A5C), UINT64_C(0x000195BC242E04DB),
3198           UINT64_C(0x0007CBD2DF69FF04), UINT64_C(0x0007CA419CC6C1BA),
3199           UINT64_C(0x0002904A1B8DDF4F)},
3200          {UINT64_C(0x00040957907BF307), UINT64_C(0x00015C68151C4FE7),
3201           UINT64_C(0x0003DD3F01FB8E0F), UINT64_C(0x0003D31C808FC101),
3202           UINT64_C(0x00066F1F09C544BB)}},
3203         {{UINT64_C(0x0003F8A6A6C266C9), UINT64_C(0x0001000A75D2D728),
3204           UINT64_C(0x000149100C338128), UINT64_C(0x00048CB6ED6D33B4),
3205           UINT64_C(0x00069B7380105C27)},
3206          {UINT64_C(0x000BBCA015BD1302), UINT64_C(0x000453E91EF883C4),
3207           UINT64_C(0x000087A2C55564F3), UINT64_C(0x00028661DD26634D),
3208           UINT64_C(0x0000504737350EB4)},
3209          {UINT64_C(0x0003AE59A5B3D5E2), UINT64_C(0x0001545256AA2218),
3210           UINT64_C(0x00064A0782A0BF22), UINT64_C(0x000365507C34B4AA),
3211           UINT64_C(0x00032799B2146183)}},
3212         {{UINT64_C(0x0003D6DBFB2DFB8B), UINT64_C(0x00022DF9277F3ECF),
3213           UINT64_C(0x0000C42749A48685), UINT64_C(0x0001B0E7B30B31B5),
3214           UINT64_C(0x00075EBF4439768D)},
3215          {UINT64_C(0x00039F41CE757E5C), UINT64_C(0x0007F8600191731B),
3216           UINT64_C(0x0006B2813E3967F5), UINT64_C(0x00015D1CE8E34A7E),
3217           UINT64_C(0x00072FBC1F6F13D8)},
3218          {UINT64_C(0x0004F6CF2E028861), UINT64_C(0x00020F869603ABDE),
3219           UINT64_C(0x00042A4AA3F9DAAB), UINT64_C(0x0004A8C0AC2A2950),
3220           UINT64_C(0x0004B1809E50B53C)}},
3221         {{UINT64_C(0x00062DDA4C355837), UINT64_C(0x0002F17314E1EE8D),
3222           UINT64_C(0x00078EBCB6E2323E), UINT64_C(0x0004543455D081FD),
3223           UINT64_C(0x000791C9DA3066C1)},
3224          {UINT64_C(0x0007AEA83D07CA0E), UINT64_C(0x000601D3C4BBCA6C),
3225           UINT64_C(0x000438ECD2EB6B9E), UINT64_C(0x0005FE33D87D61C1),
3226           UINT64_C(0x0002C2CD6F6EF8D2)},
3227          {UINT64_C(0x0002DAEC4B332C81), UINT64_C(0x000600000F256A01),
3228           UINT64_C(0x000647117D50194B), UINT64_C(0x0002A7D5456F092C),
3229           UINT64_C(0x000398A204AC0606)}},
3230         {{UINT64_C(0x00076419370EC4A0), UINT64_C(0x00012369939759B2),
3231           UINT64_C(0x00023B2960FD0EE0), UINT64_C(0x0007AF17DB515E9B),
3232           UINT64_C(0x0002CC3165DDFC91)},
3233          {UINT64_C(0x0005EE1C6281CBB1), UINT64_C(0x00060699623D7D65),
3234           UINT64_C(0x0000F3D85C23D284), UINT64_C(0x000018587E7669D1),
3235           UINT64_C(0x000227AAF5D77845)},
3236          {UINT64_C(0x000153114ADB9FC3), UINT64_C(0x000164F7102A9765),
3237           UINT64_C(0x0006E7834D58BEE3), UINT64_C(0x0006F111F5E5ACB0),
3238           UINT64_C(0x000162CF7ADDFFCA)}},
3239         {{UINT64_C(0x00055D7C37A14EAC), UINT64_C(0x0005223EE335640C),
3240           UINT64_C(0x000291B30C58F170), UINT64_C(0x00023A4EB047D54F),
3241           UINT64_C(0x0002C3DDA0AF63CB)},
3242          {UINT64_C(0x000C4C6EF153A948), UINT64_C(0x00004C4867916BA5),
3243           UINT64_C(0x00035BE98811B8E0), UINT64_C(0x0004F3937F720308),
3244           UINT64_C(0x00041AC616B68B67)},
3245          {UINT64_C(0x000D47D0742C184D), UINT64_C(0x00063D7733EDA001),
3246           UINT64_C(0x000609767EC0E926), UINT64_C(0x0006C3F5D59B36D0),
3247           UINT64_C(0x0004B14DD7938C89)}},
3248     }};
3249
3250 /*-
3251  * Q := 2P, both projective, Q and P same pointers OK
3252  * Autogenerated: op3/dbl_proj_ed_eone.op3
3253  * https://www.hyperelliptic.org/EFD/g1p/auto-code/twisted/extended-1/doubling/dbl-2008-hwcd.op3
3254  * ASSERT: e = 1
3255  */
3256 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
3257     /* temporary variables */
3258     fe_t t0, t1, t2, t3;
3259     /* constants */
3260     /* set pointers for Edwards curve arith */
3261     const limb_t *X = P->X;
3262     const limb_t *Y = P->Y;
3263     const limb_t *Z = P->Z;
3264     limb_t *X3 = Q->X;
3265     limb_t *Y3 = Q->Y;
3266     limb_t *T3 = Q->T;
3267     limb_t *Z3 = Q->Z;
3268
3269     /* the curve arith formula */
3270     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t0, X);
3271     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t1, Y);
3272     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t2, Z);
3273     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, t2, t2);
3274     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X, Y);
3275     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(Y3, X3);
3276     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, Y3, t0);
3277     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, T3, t1);
3278     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, t0, t1);
3279     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t2, Y3, t3);
3280     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t3, t0, t1);
3281     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, Z3, t2);
3282     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, Z3, t3);
3283     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, t2, Y3);
3284     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y3, t3);
3285 }
3286
3287 /*-
3288  * R := Q + P where R and Q are projective, P affine.
3289  * R and Q same pointers OK
3290  * R and P same pointers not OK
3291  * Autogenerated: op3/add_mixed_ed_eone.op3
3292  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/madd-2008-hwcd.op3
3293  * ASSERT: e = 1
3294  */
3295 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
3296     /* temporary variables */
3297     fe_t t0, t1, t2, t3;
3298     /* constants */
3299     const limb_t *d = const_d;
3300     /* set pointers for Edwards curve arith */
3301     const limb_t *X1 = Q->X;
3302     const limb_t *Y1 = Q->Y;
3303     const limb_t *T1 = Q->T;
3304     const limb_t *Z1 = Q->Z;
3305     const limb_t *X2 = P->X;
3306     const limb_t *Y2 = P->Y;
3307     const limb_t *T2 = P->T;
3308     limb_t *X3 = R->X;
3309     limb_t *Y3 = R->Y;
3310     limb_t *T3 = R->T;
3311     limb_t *Z3 = R->Z;
3312
3313     /* the curve arith formula */
3314     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t0, X1, X2);
3315     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, Y1, Y2);
3316     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, d, T2);
3317     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, T1, t2);
3318     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X1, Y1);
3319     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, X2, Y2);
3320     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
3321     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t3, T3, t0);
3322     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, t3, t1);
3323     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, Z1, t2);
3324     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, Z1, t2);
3325     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, t1, t0);
3326     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Z3);
3327     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, t3, t1);
3328     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, T3, t1);
3329     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Z3, t3);
3330 }
3331
3332 /*-
3333  * R := Q + P all projective.
3334  * R and Q same pointers OK
3335  * R and P same pointers not OK
3336  * Autogenerated: op3/add_proj_ed_eone.op3
3337  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/add-2008-hwcd.op3
3338  * ASSERT: e = 1
3339  */
3340 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
3341     /* temporary variables */
3342     fe_t t0, t1, t2, t3;
3343     /* constants */
3344     const limb_t *d = const_d;
3345     /* set pointers for Edwards curve arith */
3346     const limb_t *X1 = Q->X;
3347     const limb_t *Y1 = Q->Y;
3348     const limb_t *T1 = Q->T;
3349     const limb_t *Z1 = Q->Z;
3350     const limb_t *X2 = P->X;
3351     const limb_t *Y2 = P->Y;
3352     const limb_t *T2 = P->T;
3353     const limb_t *Z2 = P->Z;
3354     limb_t *X3 = R->X;
3355     limb_t *Y3 = R->Y;
3356     limb_t *T3 = R->T;
3357     limb_t *Z3 = R->Z;
3358
3359     /* the curve arith formula */
3360     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t0, X1, X2);
3361     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, Y1, Y2);
3362     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, d, T2);
3363     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, T1, t2);
3364     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t3, Z1, Z2);
3365     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X1, Y1);
3366     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, X2, Y2);
3367     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
3368     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, T3, t0);
3369     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, Z3, t1);
3370     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, t3, t2);
3371     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, t3, t2);
3372     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, t1, t0);
3373     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Z3);
3374     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, t3, t1);
3375     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, T3, t1);
3376     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Z3, t3);
3377 }
3378
3379 /*-
3380  * from P projective Edwards to Q projective legacy: Q=P OK
3381  * Autogenerated: op3/edwards2legacy_gost.op3
3382  * https://tools.ietf.org/html/rfc7836#section-5.2
3383  */
3384 static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
3385     /* temporary variables */
3386     fe_t t0;
3387     /* constants */
3388     const limb_t *S = const_S;
3389     const limb_t *T = const_T;
3390     const limb_t *X1 = P->X;
3391     const limb_t *Y1 = P->Y;
3392     const limb_t *Z1 = P->Z;
3393     limb_t *X3 = Q->X;
3394     limb_t *Y3 = Q->Y;
3395     limb_t *T3 = Q->T;
3396     limb_t *Z3 = Q->Z;
3397
3398     /* the curve arith formula */
3399     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(T3, Z1, Y1);
3400     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t0, Z1, Y1);
3401     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, S, T3);
3402     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Z1, T3);
3403     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, X1, t0);
3404     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t0, t0, T);
3405     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, T3, t0);
3406     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, X1, t0);
3407 }
3408
3409 /*-
3410  * from P affine legacy to Q projective Edwards: Q=P not OK
3411  * Autogenerated: op3/legacy2edwards_gost.op3
3412  * https://tools.ietf.org/html/rfc7836#section-5.2
3413  */
3414 static void point_legacy2edwards(pt_prj_t *Q, const pt_aff_t *P) {
3415     /* constants */
3416     const limb_t *S = const_S;
3417     const limb_t *T = const_T;
3418     const limb_t *X1 = P->X;
3419     const limb_t *Y1 = P->Y;
3420     limb_t *X3 = Q->X;
3421     limb_t *Y3 = Q->Y;
3422     limb_t *T3 = Q->T;
3423     limb_t *Z3 = Q->Z;
3424
3425     /* the curve arith formula */
3426     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, X1, T);
3427     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, T3, S);
3428     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Y3);
3429     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Y1, Y3);
3430     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, T3, S);
3431     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y1, T3);
3432     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
3433     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, X3, Z3);
3434     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y3, Z3);
3435     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(Z3, Z3);
3436 }
3437
3438 /* constants */
3439 #define RADIX 5
3440 #define DRADIX (1 << RADIX)
3441 #define DRADIX_WNAF ((DRADIX) << 1)
3442
3443 /*-
3444  * precomp for wnaf scalar multiplication:
3445  * precomp[0] = 1P
3446  * precomp[1] = 3P
3447  * precomp[2] = 5P
3448  * precomp[3] = 7P
3449  * precomp[4] = 9P
3450  * ...
3451  */
3452 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
3453     int i;
3454
3455     /* move from legacy affine to Edwards projective */
3456     point_legacy2edwards(&precomp[0], P);
3457     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
3458
3459     for (i = 1; i < DRADIX / 2; i++)
3460         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
3461 }
3462
3463 /* fetch a scalar bit */
3464 static int scalar_get_bit(const unsigned char in[32], int idx) {
3465     int widx, rshift;
3466
3467     widx = idx >> 3;
3468     rshift = idx & 0x7;
3469
3470     if (idx < 0 || widx >= 32) return 0;
3471
3472     return (in[widx] >> rshift) & 0x1;
3473 }
3474
3475 /*-
3476  * Compute "regular" wnaf representation of a scalar.
3477  * See "Exponent Recoding and Regular Exponentiation Algorithms",
3478  * Tunstall et al., AfricaCrypt 2009, Alg 6.
3479  * It forces an odd scalar and outputs digits in
3480  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
3481  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
3482  */
3483 static void scalar_rwnaf(int8_t out[52], const unsigned char in[32]) {
3484     int i;
3485     int8_t window, d;
3486
3487     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
3488     for (i = 0; i < 51; i++) {
3489         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
3490         out[i] = d;
3491         window = (window - d) >> RADIX;
3492         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
3493         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
3494         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
3495         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
3496         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
3497     }
3498     out[i] = window;
3499 }
3500
3501 /*-
3502  * Compute "textbook" wnaf representation of a scalar.
3503  * NB: not constant time
3504  */
3505 static void scalar_wnaf(int8_t out[257], const unsigned char in[32]) {
3506     int i;
3507     int8_t window, d;
3508
3509     window = in[0] & (DRADIX_WNAF - 1);
3510     for (i = 0; i < 257; i++) {
3511         d = 0;
3512         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
3513             d -= DRADIX_WNAF;
3514         out[i] = d;
3515         window = (window - d) >> 1;
3516         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
3517     }
3518 }
3519
3520 /*-
3521  * Simultaneous scalar multiplication: interleaved "textbook" wnaf.
3522  * NB: not constant time
3523  */
3524 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
3525                               const unsigned char b[32], const pt_aff_t *P) {
3526     int i, d, is_neg, is_inf = 1, flipped = 0;
3527     int8_t anaf[257] = {0};
3528     int8_t bnaf[257] = {0};
3529     pt_prj_t Q = {0};
3530     pt_prj_t precomp[DRADIX / 2];
3531
3532     precomp_wnaf(precomp, P);
3533     scalar_wnaf(anaf, a);
3534     scalar_wnaf(bnaf, b);
3535
3536     for (i = 256; i >= 0; i--) {
3537         if (!is_inf) point_double(&Q, &Q);
3538         if ((d = bnaf[i])) {
3539             if ((is_neg = d < 0) != flipped) {
3540                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.X, Q.X);
3541                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.T, Q.T);
3542                 flipped ^= 1;
3543             }
3544             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
3545             if (is_inf) {
3546                 /* initialize accumulator */
3547                 fe_copy(Q.X, &precomp[d].X);
3548                 fe_copy(Q.Y, &precomp[d].Y);
3549                 fe_copy(Q.T, &precomp[d].T);
3550                 fe_copy(Q.Z, &precomp[d].Z);
3551                 is_inf = 0;
3552             } else
3553                 point_add_proj(&Q, &Q, &precomp[d]);
3554         }
3555         if ((d = anaf[i])) {
3556             if ((is_neg = d < 0) != flipped) {
3557                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.X, Q.X);
3558                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.T, Q.T);
3559                 flipped ^= 1;
3560             }
3561             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
3562             if (is_inf) {
3563                 /* initialize accumulator */
3564                 fe_copy(Q.X, &lut_cmb[0][d].X);
3565                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
3566                 fe_copy(Q.T, &lut_cmb[0][d].T);
3567                 fe_copy(Q.Z, const_one);
3568                 is_inf = 0;
3569             } else
3570                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
3571         }
3572     }
3573
3574     if (is_inf) {
3575         /* initialize accumulator to inf: all-zero scalars */
3576         fe_set_zero(Q.X);
3577         fe_copy(Q.Y, const_one);
3578         fe_set_zero(Q.T);
3579         fe_copy(Q.Z, const_one);
3580     }
3581
3582     if (flipped) {
3583         /* correct sign */
3584         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.X, Q.X);
3585         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.T, Q.T);
3586     }
3587
3588     /* move from Edwards projective to legacy projective */
3589     point_edwards2legacy(&Q, &Q);
3590     /* convert to affine -- NB depends on coordinate system */
3591     fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(Q.Z, Q.Z);
3592     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
3593     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
3594 }
3595
3596 /*-
3597  * Variable point scalar multiplication with "regular" wnaf.
3598  */
3599 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
3600                            const pt_aff_t *P) {
3601     int i, j, d, diff, is_neg;
3602     int8_t rnaf[52] = {0};
3603     pt_prj_t Q = {0}, lut = {0};
3604     pt_prj_t precomp[DRADIX / 2];
3605
3606     precomp_wnaf(precomp, P);
3607     scalar_rwnaf(rnaf, scalar);
3608
3609 #if defined(_MSC_VER)
3610     /* result still unsigned: yes we know */
3611 #pragma warning(push)
3612 #pragma warning(disable : 4146)
3613 #endif
3614
3615     /* initialize accumulator to high digit */
3616     d = (rnaf[51] - 1) >> 1;
3617     for (j = 0; j < DRADIX / 2; j++) {
3618         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
3619         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, diff, Q.X,
3620                                                             precomp[j].X);
3621         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, diff, Q.Y,
3622                                                             precomp[j].Y);
3623         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, diff, Q.T,
3624                                                             precomp[j].T);
3625         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, diff, Q.Z,
3626                                                             precomp[j].Z);
3627     }
3628
3629     for (i = 50; i >= 0; i--) {
3630         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
3631         d = rnaf[i];
3632         /* is_neg = (d < 0) ? 1 : 0 */
3633         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
3634         /* d = abs(d) */
3635         d = (d ^ -is_neg) + is_neg;
3636         d = (d - 1) >> 1;
3637         for (j = 0; j < DRADIX / 2; j++) {
3638             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
3639             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3640                 lut.X, diff, lut.X, precomp[j].X);
3641             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3642                 lut.Y, diff, lut.Y, precomp[j].Y);
3643             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3644                 lut.T, diff, lut.T, precomp[j].T);
3645             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3646                 lut.Z, diff, lut.Z, precomp[j].Z);
3647         }
3648         /* negate lut point if digit is negative */
3649         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->X, lut.X);
3650         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->T, lut.T);
3651         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.X, is_neg,
3652                                                             lut.X, out->X);
3653         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.T, is_neg,
3654                                                             lut.T, out->T);
3655         point_add_proj(&Q, &Q, &lut);
3656     }
3657
3658 #if defined(_MSC_VER)
3659 #pragma warning(pop)
3660 #endif
3661
3662     /* conditionally subtract P if the scalar was even */
3663     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.X, precomp[0].X);
3664     fe_copy(lut.Y, precomp[0].Y);
3665     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.T, precomp[0].T);
3666     fe_copy(lut.Z, precomp[0].Z);
3667     point_add_proj(&lut, &lut, &Q);
3668     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, scalar[0] & 1,
3669                                                         lut.X, Q.X);
3670     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1,
3671                                                         lut.Y, Q.Y);
3672     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1,
3673                                                         lut.T, Q.T);
3674     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, scalar[0] & 1,
3675                                                         lut.Z, Q.Z);
3676
3677     /* move from Edwards projective to legacy projective */
3678     point_edwards2legacy(&Q, &Q);
3679     /* convert to affine -- NB depends on coordinate system */
3680     fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(Q.Z, Q.Z);
3681     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
3682     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
3683 }
3684
3685 /*-
3686  * Fixed scalar multiplication: comb with interleaving.
3687  */
3688 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
3689     int i, j, k, d, diff, is_neg = 0;
3690     int8_t rnaf[52] = {0};
3691     pt_prj_t Q = {0}, R = {0};
3692     pt_aff_t lut = {0};
3693
3694     scalar_rwnaf(rnaf, scalar);
3695
3696     /* initalize accumulator to inf */
3697     fe_set_zero(Q.X);
3698     fe_copy(Q.Y, const_one);
3699     fe_set_zero(Q.T);
3700     fe_copy(Q.Z, const_one);
3701
3702 #if defined(_MSC_VER)
3703     /* result still unsigned: yes we know */
3704 #pragma warning(push)
3705 #pragma warning(disable : 4146)
3706 #endif
3707
3708     for (i = 3; i >= 0; i--) {
3709         for (j = 0; i != 3 && j < RADIX; j++) point_double(&Q, &Q);
3710         for (j = 0; j < 14; j++) {
3711             if (j * 4 + i > 51) continue;
3712             d = rnaf[j * 4 + i];
3713             /* is_neg = (d < 0) ? 1 : 0 */
3714             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
3715             /* d = abs(d) */
3716             d = (d ^ -is_neg) + is_neg;
3717             d = (d - 1) >> 1;
3718             for (k = 0; k < DRADIX / 2; k++) {
3719                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
3720                 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3721                     lut.X, diff, lut.X, lut_cmb[j][k].X);
3722                 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3723                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
3724                 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
3725                     lut.T, diff, lut.T, lut_cmb[j][k].T);
3726             }
3727             /* negate lut point if digit is negative */
3728             fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->X, lut.X);
3729             fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->T, lut.T);
3730             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.X, is_neg,
3731                                                                 lut.X, out->X);
3732             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.T, is_neg,
3733                                                                 lut.T, out->T);
3734             point_add_mixed(&Q, &Q, &lut);
3735         }
3736     }
3737
3738 #if defined(_MSC_VER)
3739 #pragma warning(pop)
3740 #endif
3741
3742     /* conditionally subtract P if the scalar was even */
3743     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.X, lut_cmb[0][0].X);
3744     fe_copy(lut.Y, lut_cmb[0][0].Y);
3745     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.T, lut_cmb[0][0].T);
3746     point_add_mixed(&R, &Q, &lut);
3747     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, scalar[0] & 1, R.X,
3748                                                         Q.X);
3749     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1, R.Y,
3750                                                         Q.Y);
3751     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1, R.T,
3752                                                         Q.T);
3753     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, scalar[0] & 1, R.Z,
3754                                                         Q.Z);
3755
3756     /* move from Edwards projective to legacy projective */
3757     point_edwards2legacy(&Q, &Q);
3758     /* convert to affine -- NB depends on coordinate system */
3759     fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(Q.Z, Q.Z);
3760     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
3761     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
3762 }
3763
3764 /*-
3765  * Wrapper: simultaneous scalar mutiplication.
3766  * outx, outy := a * G + b * P
3767  * where P = (inx, iny).
3768  * Everything is LE byte ordering.
3769  */
3770 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
3771                           const unsigned char a[32], const unsigned char b[32],
3772                           const unsigned char inx[32],
3773                           const unsigned char iny[32]) {
3774     pt_aff_t P;
3775
3776     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.X, inx);
3777     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.Y, iny);
3778     /* simultaneous scalar multiplication */
3779     var_smul_wnaf_two(&P, a, b, &P);
3780
3781     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
3782     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
3783 }
3784
3785 /*-
3786  * Wrapper: fixed scalar mutiplication.
3787  * outx, outy := scalar * G
3788  * Everything is LE byte ordering.
3789  */
3790 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
3791                         const unsigned char scalar[32]) {
3792     pt_aff_t P;
3793
3794     /* fixed scmul function */
3795     fixed_smul_cmb(&P, scalar);
3796     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
3797     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
3798 }
3799
3800 /*-
3801  * Wrapper: variable point scalar mutiplication.
3802  * outx, outy := scalar * P
3803  * where P = (inx, iny).
3804  * Everything is LE byte ordering.
3805  */
3806 static void point_mul(unsigned char outx[32], unsigned char outy[32],
3807                       const unsigned char scalar[32],
3808                       const unsigned char inx[32],
3809                       const unsigned char iny[32]) {
3810     pt_aff_t P;
3811
3812     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.X, inx);
3813     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.Y, iny);
3814     /* var scmul function */
3815     var_smul_rwnaf(&P, scalar, &P);
3816     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
3817     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
3818 }
3819
3820
3821 #include <openssl/ec.h>
3822
3823 /* the zero field element */
3824 static const unsigned char const_zb[32] = {0};
3825
3826 /*-
3827  * An OpenSSL wrapper for simultaneous scalar multiplication.
3828  * r := n * G + m * q
3829  */
3830     int
3831     point_mul_two_id_tc26_gost_3410_2012_256_paramSetA(
3832         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
3833         const BIGNUM *m, BN_CTX *ctx) {
3834     int ret = 0;
3835     unsigned char b_x[32];
3836     unsigned char b_y[32];
3837     unsigned char b_n[32];
3838     unsigned char b_m[32];
3839     BIGNUM *x = NULL, *y = NULL;
3840
3841     BN_CTX_start(ctx);
3842     x = BN_CTX_get(ctx);
3843     if ((y = BN_CTX_get(ctx)) == NULL
3844         /* pull out coords as bytes */
3845         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
3846         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
3847         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
3848         goto err;
3849     /* do the simultaneous scalar multiplication */
3850     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
3851     /* check for infinity */
3852     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
3853         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
3854         if (!EC_POINT_set_to_infinity(group, r)) goto err;
3855     } else {
3856         /* otherwise, pack the bytes into the result */
3857         if (BN_lebin2bn(b_x, 32, x) == NULL ||
3858             BN_lebin2bn(b_y, 32, y) == NULL ||
3859             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
3860             goto err;
3861     }
3862     ret = 1;
3863 err:
3864     BN_CTX_end(ctx);
3865     return ret;
3866 }
3867
3868 /*-
3869  * An OpenSSL wrapper for variable point scalar multiplication.
3870  * r := m * q
3871  */
3872     int
3873     point_mul_id_tc26_gost_3410_2012_256_paramSetA(const EC_GROUP *group,
3874                                                    EC_POINT *r,
3875                                                    const EC_POINT *q,
3876                                                    const BIGNUM *m,
3877                                                    BN_CTX *ctx) {
3878     int ret = 0;
3879     unsigned char b_x[32];
3880     unsigned char b_y[32];
3881     unsigned char b_m[32];
3882     BIGNUM *x = NULL, *y = NULL;
3883
3884     BN_CTX_start(ctx);
3885     x = BN_CTX_get(ctx);
3886     if ((y = BN_CTX_get(ctx)) == NULL
3887         /* pull out coords as bytes */
3888         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
3889         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
3890         BN_bn2lebinpad(m, b_m, 32) != 32)
3891         goto err;
3892     /* do the variable scalar multiplication */
3893     point_mul(b_x, b_y, b_m, b_x, b_y);
3894     /* check for infinity */
3895     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
3896         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
3897         if (!EC_POINT_set_to_infinity(group, r)) goto err;
3898     } else {
3899         /* otherwise, pack the bytes into the result */
3900         if (BN_lebin2bn(b_x, 32, x) == NULL ||
3901             BN_lebin2bn(b_y, 32, y) == NULL ||
3902             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
3903             goto err;
3904     }
3905     ret = 1;
3906 err:
3907     BN_CTX_end(ctx);
3908     return ret;
3909 }
3910
3911 /*-
3912  * An OpenSSL wrapper for fixed scalar multiplication.
3913  * r := n * G
3914  */
3915     int
3916     point_mul_g_id_tc26_gost_3410_2012_256_paramSetA(const EC_GROUP *group,
3917                                                      EC_POINT *r,
3918                                                      const BIGNUM *n,
3919                                                      BN_CTX *ctx) {
3920     int ret = 0;
3921     unsigned char b_x[32];
3922     unsigned char b_y[32];
3923     unsigned char b_n[32];
3924     BIGNUM *x = NULL, *y = NULL;
3925
3926     BN_CTX_start(ctx);
3927     x = BN_CTX_get(ctx);
3928     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
3929         goto err;
3930     /* do the fixed scalar multiplication */
3931     point_mul_g(b_x, b_y, b_n);
3932     /* check for infinity */
3933     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
3934         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
3935         if (!EC_POINT_set_to_infinity(group, r)) goto err;
3936     } else {
3937         /* otherwise, pack the bytes into the result */
3938         if (BN_lebin2bn(b_x, 32, x) == NULL ||
3939             BN_lebin2bn(b_y, 32, y) == NULL ||
3940             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
3941             goto err;
3942     }
3943     ret = 1;
3944 err:
3945     BN_CTX_end(ctx);
3946     return ret;
3947 }
3948
3949
3950
3951 #else /* __SIZEOF_INT128__ */
3952
3953 #include <stdint.h>
3954 #include <string.h>
3955 #define LIMB_BITS 32
3956 #define LIMB_CNT 11
3957 /* Field elements */
3958 typedef uint32_t fe_t[LIMB_CNT];
3959 typedef uint32_t limb_t;
3960
3961 #ifdef OPENSSL_NO_ASM
3962 #define FIAT_ID_TC26_GOST_3410_2012_256_PARAMSETA_NO_ASM
3963 #endif
3964
3965 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
3966 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
3967
3968 #define fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(c, a, b) \
3969     fiat_id_tc26_gost_3410_2012_256_paramSetA_add(c, a, b);          \
3970     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(c, c)
3971 #define fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(c, a, b) \
3972     fiat_id_tc26_gost_3410_2012_256_paramSetA_sub(c, a, b);          \
3973     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(c, c)
3974
3975 /* Projective points */
3976 typedef struct {
3977     fe_t X;
3978     fe_t Y;
3979     fe_t T;
3980     fe_t Z;
3981 } pt_prj_t;
3982
3983 /* Affine points */
3984 typedef struct {
3985     fe_t X;
3986     fe_t Y;
3987     fe_t T;
3988 } pt_aff_t;
3989
3990 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
3991 /*-
3992  * MIT License
3993  *
3994  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
3995  *
3996  * Permission is hereby granted, free of charge, to any person obtaining a copy
3997  * of this software and associated documentation files (the "Software"), to deal
3998  * in the Software without restriction, including without limitation the rights
3999  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4000  * copies of the Software, and to permit persons to whom the Software is
4001  * furnished to do so, subject to the following conditions:
4002  *
4003  * The above copyright notice and this permission notice shall be included in
4004  * all copies or substantial portions of the Software.
4005  *
4006  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4007  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4008  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4009  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4010  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4011  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4012  * SOFTWARE.
4013  */
4014
4015 /* Autogenerated: unsaturated_solinas --static --use-value-barrier id_tc26_gost_3410_2012_256_paramSetA 32 '(auto)' '2^256 - 617' */
4016 /* curve description: id_tc26_gost_3410_2012_256_paramSetA */
4017 /* machine_wordsize = 32 (from "32") */
4018 /* requested operations: (all) */
4019 /* n = 11 (from "(auto)") */
4020 /* s-c = 2^256 - [(1, 617)] (from "2^256 - 617") */
4021 /* tight_bounds_multiplier = 1 (from "") */
4022 /*  */
4023 /* Computed values: */
4024 /* carry_chain = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 1] */
4025 /* 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) */
4026 /* 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) */
4027 /* balance = [0x1fffb2e, 0xfffffe, 0xfffffe, 0x1fffffe, 0xfffffe, 0xfffffe, 0xfffffe, 0x1fffffe, 0xfffffe, 0xfffffe, 0xfffffe] */
4028
4029 #include <stdint.h>
4030 typedef unsigned char fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1;
4031 typedef signed char fiat_id_tc26_gost_3410_2012_256_paramSetA_int1;
4032
4033 #if (-1 & 3) != 3
4034 #error "This code only works on a two's complement system"
4035 #endif
4036
4037 #if !defined(FIAT_ID_TC26_GOST_3410_2012_256_PARAMSETA_NO_ASM) && \
4038     (defined(__GNUC__) || defined(__clang__))
4039 static __inline__ uint32_t
4040 fiat_id_tc26_gost_3410_2012_256_paramSetA_value_barrier_u32(uint32_t a) {
4041     __asm__("" : "+r"(a) : /* no inputs */);
4042     return a;
4043 }
4044 #else
4045 #define fiat_id_tc26_gost_3410_2012_256_paramSetA_value_barrier_u32(x) (x)
4046 #endif
4047
4048 /*
4049  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24 is an addition with carry.
4050  * Postconditions:
4051  *   out1 = (arg1 + arg2 + arg3) mod 2^24
4052  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^24⌋
4053  *
4054  * Input Bounds:
4055  *   arg1: [0x0 ~> 0x1]
4056  *   arg2: [0x0 ~> 0xffffff]
4057  *   arg3: [0x0 ~> 0xffffff]
4058  * Output Bounds:
4059  *   out1: [0x0 ~> 0xffffff]
4060  *   out2: [0x0 ~> 0x1]
4061  */
4062 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24(
4063     uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
4064     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint32_t arg2,
4065     uint32_t arg3) {
4066     uint32_t x1;
4067     uint32_t x2;
4068     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x3;
4069     x1 = ((arg1 + arg2) + arg3);
4070     x2 = (x1 & UINT32_C(0xffffff));
4071     x3 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x1 >> 24);
4072     *out1 = x2;
4073     *out2 = x3;
4074 }
4075
4076 /*
4077  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24 is a subtraction with borrow.
4078  * Postconditions:
4079  *   out1 = (-arg1 + arg2 + -arg3) mod 2^24
4080  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^24⌋
4081  *
4082  * Input Bounds:
4083  *   arg1: [0x0 ~> 0x1]
4084  *   arg2: [0x0 ~> 0xffffff]
4085  *   arg3: [0x0 ~> 0xffffff]
4086  * Output Bounds:
4087  *   out1: [0x0 ~> 0xffffff]
4088  *   out2: [0x0 ~> 0x1]
4089  */
4090 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24(
4091     uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
4092     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint32_t arg2,
4093     uint32_t arg3) {
4094     int32_t x1;
4095     fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
4096     uint32_t x3;
4097     x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
4098     x2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(x1 >> 24);
4099     x3 = (x1 & UINT32_C(0xffffff));
4100     *out1 = x3;
4101     *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
4102 }
4103
4104 /*
4105  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23 is an addition with carry.
4106  * Postconditions:
4107  *   out1 = (arg1 + arg2 + arg3) mod 2^23
4108  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^23⌋
4109  *
4110  * Input Bounds:
4111  *   arg1: [0x0 ~> 0x1]
4112  *   arg2: [0x0 ~> 0x7fffff]
4113  *   arg3: [0x0 ~> 0x7fffff]
4114  * Output Bounds:
4115  *   out1: [0x0 ~> 0x7fffff]
4116  *   out2: [0x0 ~> 0x1]
4117  */
4118 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
4119     uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
4120     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint32_t arg2,
4121     uint32_t arg3) {
4122     uint32_t x1;
4123     uint32_t x2;
4124     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x3;
4125     x1 = ((arg1 + arg2) + arg3);
4126     x2 = (x1 & UINT32_C(0x7fffff));
4127     x3 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x1 >> 23);
4128     *out1 = x2;
4129     *out2 = x3;
4130 }
4131
4132 /*
4133  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23 is a subtraction with borrow.
4134  * Postconditions:
4135  *   out1 = (-arg1 + arg2 + -arg3) mod 2^23
4136  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^23⌋
4137  *
4138  * Input Bounds:
4139  *   arg1: [0x0 ~> 0x1]
4140  *   arg2: [0x0 ~> 0x7fffff]
4141  *   arg3: [0x0 ~> 0x7fffff]
4142  * Output Bounds:
4143  *   out1: [0x0 ~> 0x7fffff]
4144  *   out2: [0x0 ~> 0x1]
4145  */
4146 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
4147     uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
4148     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint32_t arg2,
4149     uint32_t arg3) {
4150     int32_t x1;
4151     fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
4152     uint32_t x3;
4153     x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
4154     x2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(x1 >> 23);
4155     x3 = (x1 & UINT32_C(0x7fffff));
4156     *out1 = x3;
4157     *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
4158 }
4159
4160 /*
4161  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32 is a single-word conditional move.
4162  * Postconditions:
4163  *   out1 = (if arg1 = 0 then arg2 else arg3)
4164  *
4165  * Input Bounds:
4166  *   arg1: [0x0 ~> 0x1]
4167  *   arg2: [0x0 ~> 0xffffffff]
4168  *   arg3: [0x0 ~> 0xffffffff]
4169  * Output Bounds:
4170  *   out1: [0x0 ~> 0xffffffff]
4171  */
4172 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(
4173     uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1,
4174     uint32_t arg2, uint32_t arg3) {
4175     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x1;
4176     uint32_t x2;
4177     uint32_t x3;
4178     x1 = (!(!arg1));
4179     x2 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(0x0 - x1) &
4180           UINT32_C(0xffffffff));
4181     x3 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_value_barrier_u32(x2) &
4182            arg3) |
4183           (fiat_id_tc26_gost_3410_2012_256_paramSetA_value_barrier_u32((~x2)) &
4184            arg2));
4185     *out1 = x3;
4186 }
4187
4188 /*
4189  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul multiplies two field elements and reduces the result.
4190  * Postconditions:
4191  *   eval out1 mod m = (eval arg1 * eval arg2) mod m
4192  *
4193  * Input Bounds:
4194  *   arg1: [[0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000]]
4195  *   arg2: [[0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000]]
4196  * Output Bounds:
4197  *   out1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
4198  */
4199 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(
4200     uint32_t out1[11], const uint32_t arg1[11], const uint32_t arg2[11]) {
4201     uint64_t x1;
4202     uint64_t x2;
4203     uint64_t x3;
4204     uint64_t x4;
4205     uint64_t x5;
4206     uint64_t x6;
4207     uint64_t x7;
4208     uint64_t x8;
4209     uint64_t x9;
4210     uint64_t x10;
4211     uint64_t x11;
4212     uint64_t x12;
4213     uint64_t x13;
4214     uint64_t x14;
4215     uint64_t x15;
4216     uint64_t x16;
4217     uint64_t x17;
4218     uint64_t x18;
4219     uint64_t x19;
4220     uint64_t x20;
4221     uint64_t x21;
4222     uint64_t x22;
4223     uint64_t x23;
4224     uint64_t x24;
4225     uint64_t x25;
4226     uint64_t x26;
4227     uint64_t x27;
4228     uint64_t x28;
4229     uint64_t x29;
4230     uint64_t x30;
4231     uint64_t x31;
4232     uint64_t x32;
4233     uint64_t x33;
4234     uint64_t x34;
4235     uint64_t x35;
4236     uint64_t x36;
4237     uint64_t x37;
4238     uint64_t x38;
4239     uint64_t x39;
4240     uint64_t x40;
4241     uint64_t x41;
4242     uint64_t x42;
4243     uint64_t x43;
4244     uint64_t x44;
4245     uint64_t x45;
4246     uint64_t x46;
4247     uint64_t x47;
4248     uint64_t x48;
4249     uint64_t x49;
4250     uint64_t x50;
4251     uint64_t x51;
4252     uint64_t x52;
4253     uint64_t x53;
4254     uint64_t x54;
4255     uint64_t x55;
4256     uint64_t x56;
4257     uint64_t x57;
4258     uint64_t x58;
4259     uint64_t x59;
4260     uint64_t x60;
4261     uint64_t x61;
4262     uint64_t x62;
4263     uint64_t x63;
4264     uint64_t x64;
4265     uint64_t x65;
4266     uint64_t x66;
4267     uint64_t x67;
4268     uint64_t x68;
4269     uint64_t x69;
4270     uint64_t x70;
4271     uint64_t x71;
4272     uint64_t x72;
4273     uint64_t x73;
4274     uint64_t x74;
4275     uint64_t x75;
4276     uint64_t x76;
4277     uint64_t x77;
4278     uint64_t x78;
4279     uint64_t x79;
4280     uint64_t x80;
4281     uint64_t x81;
4282     uint64_t x82;
4283     uint64_t x83;
4284     uint64_t x84;
4285     uint64_t x85;
4286     uint64_t x86;
4287     uint64_t x87;
4288     uint64_t x88;
4289     uint64_t x89;
4290     uint64_t x90;
4291     uint64_t x91;
4292     uint64_t x92;
4293     uint64_t x93;
4294     uint64_t x94;
4295     uint64_t x95;
4296     uint64_t x96;
4297     uint64_t x97;
4298     uint64_t x98;
4299     uint64_t x99;
4300     uint64_t x100;
4301     uint64_t x101;
4302     uint64_t x102;
4303     uint64_t x103;
4304     uint64_t x104;
4305     uint64_t x105;
4306     uint64_t x106;
4307     uint64_t x107;
4308     uint64_t x108;
4309     uint64_t x109;
4310     uint64_t x110;
4311     uint64_t x111;
4312     uint64_t x112;
4313     uint64_t x113;
4314     uint64_t x114;
4315     uint64_t x115;
4316     uint64_t x116;
4317     uint64_t x117;
4318     uint64_t x118;
4319     uint64_t x119;
4320     uint64_t x120;
4321     uint64_t x121;
4322     uint64_t x122;
4323     uint64_t x123;
4324     uint32_t x124;
4325     uint64_t x125;
4326     uint64_t x126;
4327     uint64_t x127;
4328     uint64_t x128;
4329     uint64_t x129;
4330     uint64_t x130;
4331     uint64_t x131;
4332     uint64_t x132;
4333     uint64_t x133;
4334     uint64_t x134;
4335     uint64_t x135;
4336     uint64_t x136;
4337     uint32_t x137;
4338     uint64_t x138;
4339     uint64_t x139;
4340     uint32_t x140;
4341     uint64_t x141;
4342     uint64_t x142;
4343     uint32_t x143;
4344     uint64_t x144;
4345     uint64_t x145;
4346     uint32_t x146;
4347     uint64_t x147;
4348     uint64_t x148;
4349     uint32_t x149;
4350     uint64_t x150;
4351     uint64_t x151;
4352     uint32_t x152;
4353     uint64_t x153;
4354     uint64_t x154;
4355     uint32_t x155;
4356     uint64_t x156;
4357     uint64_t x157;
4358     uint32_t x158;
4359     uint64_t x159;
4360     uint64_t x160;
4361     uint32_t x161;
4362     uint64_t x162;
4363     uint32_t x163;
4364     uint32_t x164;
4365     uint64_t x165;
4366     uint64_t x166;
4367     uint32_t x167;
4368     uint32_t x168;
4369     uint32_t x169;
4370     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x170;
4371     uint32_t x171;
4372     uint32_t x172;
4373     x1 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[10])));
4374     x2 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[9])));
4375     x3 = (UINT16_C(0x269) * (((uint64_t)(arg1[10]) * (arg2[8])) * 0x2));
4376     x4 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[7])));
4377     x5 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[6])));
4378     x6 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[5])));
4379     x7 = (UINT16_C(0x269) * (((uint64_t)(arg1[10]) * (arg2[4])) * 0x2));
4380     x8 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[3])));
4381     x9 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[2])));
4382     x10 = (UINT16_C(0x269) * (((uint64_t)(arg1[10]) * (arg2[1])) * 0x2));
4383     x11 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[10])));
4384     x12 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[9])) * 0x2));
4385     x13 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[8])) * 0x2));
4386     x14 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[7])));
4387     x15 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[6])));
4388     x16 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[5])) * 0x2));
4389     x17 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[4])) * 0x2));
4390     x18 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[3])));
4391     x19 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[2])) * 0x2));
4392     x20 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[10])) * 0x2));
4393     x21 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[9])) * 0x2));
4394     x22 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[8])) * 0x2));
4395     x23 = (UINT16_C(0x269) * ((uint64_t)(arg1[8]) * (arg2[7])));
4396     x24 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[6])) * 0x2));
4397     x25 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[5])) * 0x2));
4398     x26 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[4])) * 0x2));
4399     x27 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[3])) * 0x2));
4400     x28 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[10])));
4401     x29 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[9])));
4402     x30 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[8])));
4403     x31 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[7])));
4404     x32 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[6])));
4405     x33 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[5])));
4406     x34 = (UINT16_C(0x269) * (((uint64_t)(arg1[7]) * (arg2[4])) * 0x2));
4407     x35 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[10])));
4408     x36 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[9])));
4409     x37 = (UINT16_C(0x269) * (((uint64_t)(arg1[6]) * (arg2[8])) * 0x2));
4410     x38 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[7])));
4411     x39 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[6])));
4412     x40 = (UINT16_C(0x269) * (((uint64_t)(arg1[6]) * (arg2[5])) * 0x2));
4413     x41 = (UINT16_C(0x269) * ((uint64_t)(arg1[5]) * (arg2[10])));
4414     x42 = (UINT16_C(0x269) * (((uint64_t)(arg1[5]) * (arg2[9])) * 0x2));
4415     x43 = (UINT16_C(0x269) * (((uint64_t)(arg1[5]) * (arg2[8])) * 0x2));
4416     x44 = (UINT16_C(0x269) * ((uint64_t)(arg1[5]) * (arg2[7])));
4417     x45 = (UINT16_C(0x269) * (((uint64_t)(arg1[5]) * (arg2[6])) * 0x2));
4418     x46 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[10])) * 0x2));
4419     x47 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[9])) * 0x2));
4420     x48 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[8])) * 0x2));
4421     x49 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[7])) * 0x2));
4422     x50 = (UINT16_C(0x269) * ((uint64_t)(arg1[3]) * (arg2[10])));
4423     x51 = (UINT16_C(0x269) * ((uint64_t)(arg1[3]) * (arg2[9])));
4424     x52 = (UINT16_C(0x269) * (((uint64_t)(arg1[3]) * (arg2[8])) * 0x2));
4425     x53 = (UINT16_C(0x269) * ((uint64_t)(arg1[2]) * (arg2[10])));
4426     x54 = (UINT16_C(0x269) * (((uint64_t)(arg1[2]) * (arg2[9])) * 0x2));
4427     x55 = (UINT16_C(0x269) * (((uint64_t)(arg1[1]) * (arg2[10])) * 0x2));
4428     x56 = ((uint64_t)(arg1[10]) * (arg2[0]));
4429     x57 = ((uint64_t)(arg1[9]) * ((arg2[1]) * 0x2));
4430     x58 = ((uint64_t)(arg1[9]) * (arg2[0]));
4431     x59 = ((uint64_t)(arg1[8]) * ((arg2[2]) * 0x2));
4432     x60 = ((uint64_t)(arg1[8]) * ((arg2[1]) * 0x2));
4433     x61 = ((uint64_t)(arg1[8]) * (arg2[0]));
4434     x62 = ((uint64_t)(arg1[7]) * (arg2[3]));
4435     x63 = ((uint64_t)(arg1[7]) * (arg2[2]));
4436     x64 = ((uint64_t)(arg1[7]) * (arg2[1]));
4437     x65 = ((uint64_t)(arg1[7]) * (arg2[0]));
4438     x66 = ((uint64_t)(arg1[6]) * ((arg2[4]) * 0x2));
4439     x67 = ((uint64_t)(arg1[6]) * (arg2[3]));
4440     x68 = ((uint64_t)(arg1[6]) * (arg2[2]));
4441     x69 = ((uint64_t)(arg1[6]) * ((arg2[1]) * 0x2));
4442     x70 = ((uint64_t)(arg1[6]) * (arg2[0]));
4443     x71 = ((uint64_t)(arg1[5]) * ((arg2[5]) * 0x2));
4444     x72 = ((uint64_t)(arg1[5]) * ((arg2[4]) * 0x2));
4445     x73 = ((uint64_t)(arg1[5]) * (arg2[3]));
4446     x74 = ((uint64_t)(arg1[5]) * ((arg2[2]) * 0x2));
4447     x75 = ((uint64_t)(arg1[5]) * ((arg2[1]) * 0x2));
4448     x76 = ((uint64_t)(arg1[5]) * (arg2[0]));
4449     x77 = ((uint64_t)(arg1[4]) * ((arg2[6]) * 0x2));
4450     x78 = ((uint64_t)(arg1[4]) * ((arg2[5]) * 0x2));
4451     x79 = ((uint64_t)(arg1[4]) * ((arg2[4]) * 0x2));
4452     x80 = ((uint64_t)(arg1[4]) * ((arg2[3]) * 0x2));
4453     x81 = ((uint64_t)(arg1[4]) * ((arg2[2]) * 0x2));
4454     x82 = ((uint64_t)(arg1[4]) * ((arg2[1]) * 0x2));
4455     x83 = ((uint64_t)(arg1[4]) * (arg2[0]));
4456     x84 = ((uint64_t)(arg1[3]) * (arg2[7]));
4457     x85 = ((uint64_t)(arg1[3]) * (arg2[6]));
4458     x86 = ((uint64_t)(arg1[3]) * (arg2[5]));
4459     x87 = ((uint64_t)(arg1[3]) * ((arg2[4]) * 0x2));
4460     x88 = ((uint64_t)(arg1[3]) * (arg2[3]));
4461     x89 = ((uint64_t)(arg1[3]) * (arg2[2]));
4462     x90 = ((uint64_t)(arg1[3]) * (arg2[1]));
4463     x91 = ((uint64_t)(arg1[3]) * (arg2[0]));
4464     x92 = ((uint64_t)(arg1[2]) * ((arg2[8]) * 0x2));
4465     x93 = ((uint64_t)(arg1[2]) * (arg2[7]));
4466     x94 = ((uint64_t)(arg1[2]) * (arg2[6]));
4467     x95 = ((uint64_t)(arg1[2]) * ((arg2[5]) * 0x2));
4468     x96 = ((uint64_t)(arg1[2]) * ((arg2[4]) * 0x2));
4469     x97 = ((uint64_t)(arg1[2]) * (arg2[3]));
4470     x98 = ((uint64_t)(arg1[2]) * (arg2[2]));
4471     x99 = ((uint64_t)(arg1[2]) * ((arg2[1]) * 0x2));
4472     x100 = ((uint64_t)(arg1[2]) * (arg2[0]));
4473     x101 = ((uint64_t)(arg1[1]) * ((arg2[9]) * 0x2));
4474     x102 = ((uint64_t)(arg1[1]) * ((arg2[8]) * 0x2));
4475     x103 = ((uint64_t)(arg1[1]) * (arg2[7]));
4476     x104 = ((uint64_t)(arg1[1]) * ((arg2[6]) * 0x2));
4477     x105 = ((uint64_t)(arg1[1]) * ((arg2[5]) * 0x2));
4478     x106 = ((uint64_t)(arg1[1]) * ((arg2[4]) * 0x2));
4479     x107 = ((uint64_t)(arg1[1]) * (arg2[3]));
4480     x108 = ((uint64_t)(arg1[1]) * ((arg2[2]) * 0x2));
4481     x109 = ((uint64_t)(arg1[1]) * ((arg2[1]) * 0x2));
4482     x110 = ((uint64_t)(arg1[1]) * (arg2[0]));
4483     x111 = ((uint64_t)(arg1[0]) * (arg2[10]));
4484     x112 = ((uint64_t)(arg1[0]) * (arg2[9]));
4485     x113 = ((uint64_t)(arg1[0]) * (arg2[8]));
4486     x114 = ((uint64_t)(arg1[0]) * (arg2[7]));
4487     x115 = ((uint64_t)(arg1[0]) * (arg2[6]));
4488     x116 = ((uint64_t)(arg1[0]) * (arg2[5]));
4489     x117 = ((uint64_t)(arg1[0]) * (arg2[4]));
4490     x118 = ((uint64_t)(arg1[0]) * (arg2[3]));
4491     x119 = ((uint64_t)(arg1[0]) * (arg2[2]));
4492     x120 = ((uint64_t)(arg1[0]) * (arg2[1]));
4493     x121 = ((uint64_t)(arg1[0]) * (arg2[0]));
4494     x122 =
4495         (x121 +
4496          (x55 +
4497           (x54 + (x52 + (x49 + (x45 + (x40 + (x34 + (x27 + (x19 + x10))))))))));
4498     x123 = (x122 >> 24);
4499     x124 = (uint32_t)(x122 & UINT32_C(0xffffff));
4500     x125 =
4501         (x111 +
4502          (x101 +
4503           (x92 + (x84 + (x77 + (x71 + (x66 + (x62 + (x59 + (x57 + x56))))))))));
4504     x126 =
4505         (x112 +
4506          (x102 +
4507           (x93 + (x85 + (x78 + (x72 + (x67 + (x63 + (x60 + (x58 + x1))))))))));
4508     x127 =
4509         (x113 +
4510          (x103 +
4511           (x94 + (x86 + (x79 + (x73 + (x68 + (x64 + (x61 + (x11 + x2))))))))));
4512     x128 =
4513         (x114 +
4514          (x104 +
4515           (x95 + (x87 + (x80 + (x74 + (x69 + (x65 + (x20 + (x12 + x3))))))))));
4516     x129 =
4517         (x115 +
4518          (x105 +
4519           (x96 + (x88 + (x81 + (x75 + (x70 + (x28 + (x21 + (x13 + x4))))))))));
4520     x130 =
4521         (x116 +
4522          (x106 +
4523           (x97 + (x89 + (x82 + (x76 + (x35 + (x29 + (x22 + (x14 + x5))))))))));
4524     x131 =
4525         (x117 +
4526          (x107 +
4527           (x98 + (x90 + (x83 + (x41 + (x36 + (x30 + (x23 + (x15 + x6))))))))));
4528     x132 =
4529         (x118 +
4530          (x108 +
4531           (x99 + (x91 + (x46 + (x42 + (x37 + (x31 + (x24 + (x16 + x7))))))))));
4532     x133 =
4533         (x119 +
4534          (x109 +
4535           (x100 + (x50 + (x47 + (x43 + (x38 + (x32 + (x25 + (x17 + x8))))))))));
4536     x134 =
4537         (x120 +
4538          (x110 +
4539           (x53 + (x51 + (x48 + (x44 + (x39 + (x33 + (x26 + (x18 + x9))))))))));
4540     x135 = (x123 + x134);
4541     x136 = (x135 >> 23);
4542     x137 = (uint32_t)(x135 & UINT32_C(0x7fffff));
4543     x138 = (x136 + x133);
4544     x139 = (x138 >> 23);
4545     x140 = (uint32_t)(x138 & UINT32_C(0x7fffff));
4546     x141 = (x139 + x132);
4547     x142 = (x141 >> 24);
4548     x143 = (uint32_t)(x141 & UINT32_C(0xffffff));
4549     x144 = (x142 + x131);
4550     x145 = (x144 >> 23);
4551     x146 = (uint32_t)(x144 & UINT32_C(0x7fffff));
4552     x147 = (x145 + x130);
4553     x148 = (x147 >> 23);
4554     x149 = (uint32_t)(x147 & UINT32_C(0x7fffff));
4555     x150 = (x148 + x129);
4556     x151 = (x150 >> 23);
4557     x152 = (uint32_t)(x150 & UINT32_C(0x7fffff));
4558     x153 = (x151 + x128);
4559     x154 = (x153 >> 24);
4560     x155 = (uint32_t)(x153 & UINT32_C(0xffffff));
4561     x156 = (x154 + x127);
4562     x157 = (x156 >> 23);
4563     x158 = (uint32_t)(x156 & UINT32_C(0x7fffff));
4564     x159 = (x157 + x126);
4565     x160 = (x159 >> 23);
4566     x161 = (uint32_t)(x159 & UINT32_C(0x7fffff));
4567     x162 = (x160 + x125);
4568     x163 = (uint32_t)(x162 >> 23);
4569     x164 = (uint32_t)(x162 & UINT32_C(0x7fffff));
4570     x165 = ((uint64_t)UINT16_C(0x269) * x163);
4571     x166 = (x124 + x165);
4572     x167 = (uint32_t)(x166 >> 24);
4573     x168 = (uint32_t)(x166 & UINT32_C(0xffffff));
4574     x169 = (x167 + x137);
4575     x170 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x169 >> 23);
4576     x171 = (x169 & UINT32_C(0x7fffff));
4577     x172 = (x170 + x140);
4578     out1[0] = x168;
4579     out1[1] = x171;
4580     out1[2] = x172;
4581     out1[3] = x143;
4582     out1[4] = x146;
4583     out1[5] = x149;
4584     out1[6] = x152;
4585     out1[7] = x155;
4586     out1[8] = x158;
4587     out1[9] = x161;
4588     out1[10] = x164;
4589 }
4590
4591 /*
4592  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square squares a field element and reduces the result.
4593  * Postconditions:
4594  *   eval out1 mod m = (eval arg1 * eval arg1) mod m
4595  *
4596  * Input Bounds:
4597  *   arg1: [[0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000]]
4598  * Output Bounds:
4599  *   out1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
4600  */
4601 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(
4602     uint32_t out1[11], const uint32_t arg1[11]) {
4603     uint64_t x1;
4604     uint64_t x2;
4605     uint32_t x3;
4606     uint64_t x4;
4607     uint64_t x5;
4608     uint32_t x6;
4609     uint64_t x7;
4610     uint64_t x8;
4611     uint32_t x9;
4612     uint64_t x10;
4613     uint64_t x11;
4614     uint32_t x12;
4615     uint64_t x13;
4616     uint64_t x14;
4617     uint32_t x15;
4618     uint32_t x16;
4619     uint32_t x17;
4620     uint32_t x18;
4621     uint32_t x19;
4622     uint32_t x20;
4623     uint64_t x21;
4624     uint64_t x22;
4625     uint64_t x23;
4626     uint64_t x24;
4627     uint64_t x25;
4628     uint64_t x26;
4629     uint64_t x27;
4630     uint64_t x28;
4631     uint64_t x29;
4632     uint64_t x30;
4633     uint64_t x31;
4634     uint64_t x32;
4635     uint64_t x33;
4636     uint64_t x34;
4637     uint64_t x35;
4638     uint64_t x36;
4639     uint64_t x37;
4640     uint64_t x38;
4641     uint64_t x39;
4642     uint64_t x40;
4643     uint64_t x41;
4644     uint64_t x42;
4645     uint64_t x43;
4646     uint64_t x44;
4647     uint64_t x45;
4648     uint64_t x46;
4649     uint64_t x47;
4650     uint64_t x48;
4651     uint64_t x49;
4652     uint64_t x50;
4653     uint64_t x51;
4654     uint64_t x52;
4655     uint64_t x53;
4656     uint64_t x54;
4657     uint64_t x55;
4658     uint64_t x56;
4659     uint64_t x57;
4660     uint64_t x58;
4661     uint64_t x59;
4662     uint64_t x60;
4663     uint64_t x61;
4664     uint64_t x62;
4665     uint64_t x63;
4666     uint64_t x64;
4667     uint64_t x65;
4668     uint64_t x66;
4669     uint64_t x67;
4670     uint64_t x68;
4671     uint64_t x69;
4672     uint64_t x70;
4673     uint64_t x71;
4674     uint64_t x72;
4675     uint64_t x73;
4676     uint64_t x74;
4677     uint64_t x75;
4678     uint64_t x76;
4679     uint64_t x77;
4680     uint64_t x78;
4681     uint64_t x79;
4682     uint64_t x80;
4683     uint64_t x81;
4684     uint64_t x82;
4685     uint64_t x83;
4686     uint64_t x84;
4687     uint64_t x85;
4688     uint64_t x86;
4689     uint64_t x87;
4690     uint64_t x88;
4691     uint32_t x89;
4692     uint64_t x90;
4693     uint64_t x91;
4694     uint64_t x92;
4695     uint64_t x93;
4696     uint64_t x94;
4697     uint64_t x95;
4698     uint64_t x96;
4699     uint64_t x97;
4700     uint64_t x98;
4701     uint64_t x99;
4702     uint64_t x100;
4703     uint64_t x101;
4704     uint32_t x102;
4705     uint64_t x103;
4706     uint64_t x104;
4707     uint32_t x105;
4708     uint64_t x106;
4709     uint64_t x107;
4710     uint32_t x108;
4711     uint64_t x109;
4712     uint64_t x110;
4713     uint32_t x111;
4714     uint64_t x112;
4715     uint64_t x113;
4716     uint32_t x114;
4717     uint64_t x115;
4718     uint64_t x116;
4719     uint32_t x117;
4720     uint64_t x118;
4721     uint64_t x119;
4722     uint32_t x120;
4723     uint64_t x121;
4724     uint64_t x122;
4725     uint32_t x123;
4726     uint64_t x124;
4727     uint64_t x125;
4728     uint32_t x126;
4729     uint64_t x127;
4730     uint32_t x128;
4731     uint32_t x129;
4732     uint64_t x130;
4733     uint64_t x131;
4734     uint32_t x132;
4735     uint32_t x133;
4736     uint32_t x134;
4737     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x135;
4738     uint32_t x136;
4739     uint32_t x137;
4740     x1 = ((uint64_t)(arg1[10]) * UINT16_C(0x269));
4741     x2 = (x1 * 0x2);
4742     x3 = ((arg1[10]) * 0x2);
4743     x4 = ((uint64_t)(arg1[9]) * UINT16_C(0x269));
4744     x5 = (x4 * 0x2);
4745     x6 = ((arg1[9]) * 0x2);
4746     x7 = ((uint64_t)(arg1[8]) * UINT16_C(0x269));
4747     x8 = (x7 * 0x2);
4748     x9 = ((arg1[8]) * 0x2);
4749     x10 = ((uint64_t)(arg1[7]) * UINT16_C(0x269));
4750     x11 = (x10 * 0x2);
4751     x12 = ((arg1[7]) * 0x2);
4752     x13 = ((uint64_t)(arg1[6]) * UINT16_C(0x269));
4753     x14 = (x13 * 0x2);
4754     x15 = ((arg1[6]) * 0x2);
4755     x16 = ((arg1[5]) * 0x2);
4756     x17 = ((arg1[4]) * 0x2);
4757     x18 = ((arg1[3]) * 0x2);
4758     x19 = ((arg1[2]) * 0x2);
4759     x20 = ((arg1[1]) * 0x2);
4760     x21 = ((arg1[10]) * x1);
4761     x22 = ((arg1[9]) * x2);
4762     x23 = ((arg1[9]) * (x4 * 0x2));
4763     x24 = ((arg1[8]) * (x2 * 0x2));
4764     x25 = ((arg1[8]) * (x5 * 0x2));
4765     x26 = ((arg1[8]) * (x7 * 0x2));
4766     x27 = ((arg1[7]) * x2);
4767     x28 = ((arg1[7]) * x5);
4768     x29 = ((arg1[7]) * x8);
4769     x30 = ((arg1[7]) * x10);
4770     x31 = ((arg1[6]) * x2);
4771     x32 = ((arg1[6]) * x5);
4772     x33 = ((arg1[6]) * (x8 * 0x2));
4773     x34 = ((arg1[6]) * x11);
4774     x35 = ((arg1[6]) * x13);
4775     x36 = ((arg1[5]) * x2);
4776     x37 = ((arg1[5]) * (x5 * 0x2));
4777     x38 = ((arg1[5]) * (x8 * 0x2));
4778     x39 = ((arg1[5]) * x11);
4779     x40 = ((arg1[5]) * (x14 * 0x2));
4780     x41 = ((uint64_t)(arg1[5]) * ((arg1[5]) * 0x2));
4781     x42 = ((arg1[4]) * (x2 * 0x2));
4782     x43 = ((arg1[4]) * (x5 * 0x2));
4783     x44 = ((arg1[4]) * (x8 * 0x2));
4784     x45 = ((arg1[4]) * (x11 * 0x2));
4785     x46 = ((uint64_t)(arg1[4]) * (x15 * 0x2));
4786     x47 = ((uint64_t)(arg1[4]) * (x16 * 0x2));
4787     x48 = ((uint64_t)(arg1[4]) * ((arg1[4]) * 0x2));
4788     x49 = ((arg1[3]) * x2);
4789     x50 = ((arg1[3]) * x5);
4790     x51 = ((arg1[3]) * (x8 * 0x2));
4791     x52 = ((uint64_t)(arg1[3]) * x12);
4792     x53 = ((uint64_t)(arg1[3]) * x15);
4793     x54 = ((uint64_t)(arg1[3]) * x16);
4794     x55 = ((uint64_t)(arg1[3]) * (x17 * 0x2));
4795     x56 = ((uint64_t)(arg1[3]) * (arg1[3]));
4796     x57 = ((arg1[2]) * x2);
4797     x58 = ((arg1[2]) * (x5 * 0x2));
4798     x59 = ((uint64_t)(arg1[2]) * (x9 * 0x2));
4799     x60 = ((uint64_t)(arg1[2]) * x12);
4800     x61 = ((uint64_t)(arg1[2]) * x15);
4801     x62 = ((uint64_t)(arg1[2]) * (x16 * 0x2));
4802     x63 = ((uint64_t)(arg1[2]) * (x17 * 0x2));
4803     x64 = ((uint64_t)(arg1[2]) * x18);
4804     x65 = ((uint64_t)(arg1[2]) * (arg1[2]));
4805     x66 = ((arg1[1]) * (x2 * 0x2));
4806     x67 = ((uint64_t)(arg1[1]) * (x6 * 0x2));
4807     x68 = ((uint64_t)(arg1[1]) * (x9 * 0x2));
4808     x69 = ((uint64_t)(arg1[1]) * x12);
4809     x70 = ((uint64_t)(arg1[1]) * (x15 * 0x2));
4810     x71 = ((uint64_t)(arg1[1]) * (x16 * 0x2));
4811     x72 = ((uint64_t)(arg1[1]) * (x17 * 0x2));
4812     x73 = ((uint64_t)(arg1[1]) * x18);
4813     x74 = ((uint64_t)(arg1[1]) * (x19 * 0x2));
4814     x75 = ((uint64_t)(arg1[1]) * ((arg1[1]) * 0x2));
4815     x76 = ((uint64_t)(arg1[0]) * x3);
4816     x77 = ((uint64_t)(arg1[0]) * x6);
4817     x78 = ((uint64_t)(arg1[0]) * x9);
4818     x79 = ((uint64_t)(arg1[0]) * x12);
4819     x80 = ((uint64_t)(arg1[0]) * x15);
4820     x81 = ((uint64_t)(arg1[0]) * x16);
4821     x82 = ((uint64_t)(arg1[0]) * x17);
4822     x83 = ((uint64_t)(arg1[0]) * x18);
4823     x84 = ((uint64_t)(arg1[0]) * x19);
4824     x85 = ((uint64_t)(arg1[0]) * x20);
4825     x86 = ((uint64_t)(arg1[0]) * (arg1[0]));
4826     x87 = (x86 + (x66 + (x58 + (x51 + (x45 + x40)))));
4827     x88 = (x87 >> 24);
4828     x89 = (uint32_t)(x87 & UINT32_C(0xffffff));
4829     x90 = (x76 + (x67 + (x59 + (x52 + (x46 + x41)))));
4830     x91 = (x77 + (x68 + (x60 + (x53 + (x47 + x21)))));
4831     x92 = (x78 + (x69 + (x61 + (x54 + (x48 + x22)))));
4832     x93 = (x79 + (x70 + (x62 + (x55 + (x24 + x23)))));
4833     x94 = (x80 + (x71 + (x63 + (x56 + (x27 + x25)))));
4834     x95 = (x81 + (x72 + (x64 + (x31 + (x28 + x26)))));
4835     x96 = (x82 + (x73 + (x65 + (x36 + (x32 + x29)))));
4836     x97 = (x83 + (x74 + (x42 + (x37 + (x33 + x30)))));
4837     x98 = (x84 + (x75 + (x49 + (x43 + (x38 + x34)))));
4838     x99 = (x85 + (x57 + (x50 + (x44 + (x39 + x35)))));
4839     x100 = (x88 + x99);
4840     x101 = (x100 >> 23);
4841     x102 = (uint32_t)(x100 & UINT32_C(0x7fffff));
4842     x103 = (x101 + x98);
4843     x104 = (x103 >> 23);
4844     x105 = (uint32_t)(x103 & UINT32_C(0x7fffff));
4845     x106 = (x104 + x97);
4846     x107 = (x106 >> 24);
4847     x108 = (uint32_t)(x106 & UINT32_C(0xffffff));
4848     x109 = (x107 + x96);
4849     x110 = (x109 >> 23);
4850     x111 = (uint32_t)(x109 & UINT32_C(0x7fffff));
4851     x112 = (x110 + x95);
4852     x113 = (x112 >> 23);
4853     x114 = (uint32_t)(x112 & UINT32_C(0x7fffff));
4854     x115 = (x113 + x94);
4855     x116 = (x115 >> 23);
4856     x117 = (uint32_t)(x115 & UINT32_C(0x7fffff));
4857     x118 = (x116 + x93);
4858     x119 = (x118 >> 24);
4859     x120 = (uint32_t)(x118 & UINT32_C(0xffffff));
4860     x121 = (x119 + x92);
4861     x122 = (x121 >> 23);
4862     x123 = (uint32_t)(x121 & UINT32_C(0x7fffff));
4863     x124 = (x122 + x91);
4864     x125 = (x124 >> 23);
4865     x126 = (uint32_t)(x124 & UINT32_C(0x7fffff));
4866     x127 = (x125 + x90);
4867     x128 = (uint32_t)(x127 >> 23);
4868     x129 = (uint32_t)(x127 & UINT32_C(0x7fffff));
4869     x130 = ((uint64_t)UINT16_C(0x269) * x128);
4870     x131 = (x89 + x130);
4871     x132 = (uint32_t)(x131 >> 24);
4872     x133 = (uint32_t)(x131 & UINT32_C(0xffffff));
4873     x134 = (x132 + x102);
4874     x135 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x134 >> 23);
4875     x136 = (x134 & UINT32_C(0x7fffff));
4876     x137 = (x135 + x105);
4877     out1[0] = x133;
4878     out1[1] = x136;
4879     out1[2] = x137;
4880     out1[3] = x108;
4881     out1[4] = x111;
4882     out1[5] = x114;
4883     out1[6] = x117;
4884     out1[7] = x120;
4885     out1[8] = x123;
4886     out1[9] = x126;
4887     out1[10] = x129;
4888 }
4889
4890 /*
4891  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry reduces a field element.
4892  * Postconditions:
4893  *   eval out1 mod m = eval arg1 mod m
4894  *
4895  * Input Bounds:
4896  *   arg1: [[0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000]]
4897  * Output Bounds:
4898  *   out1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
4899  */
4900 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(
4901     uint32_t out1[11], const uint32_t arg1[11]) {
4902     uint32_t x1;
4903     uint32_t x2;
4904     uint32_t x3;
4905     uint32_t x4;
4906     uint32_t x5;
4907     uint32_t x6;
4908     uint32_t x7;
4909     uint32_t x8;
4910     uint32_t x9;
4911     uint32_t x10;
4912     uint32_t x11;
4913     uint32_t x12;
4914     uint32_t x13;
4915     uint32_t x14;
4916     uint32_t x15;
4917     uint32_t x16;
4918     uint32_t x17;
4919     uint32_t x18;
4920     uint32_t x19;
4921     uint32_t x20;
4922     uint32_t x21;
4923     uint32_t x22;
4924     uint32_t x23;
4925     uint32_t x24;
4926     x1 = (arg1[0]);
4927     x2 = ((x1 >> 24) + (arg1[1]));
4928     x3 = ((x2 >> 23) + (arg1[2]));
4929     x4 = ((x3 >> 23) + (arg1[3]));
4930     x5 = ((x4 >> 24) + (arg1[4]));
4931     x6 = ((x5 >> 23) + (arg1[5]));
4932     x7 = ((x6 >> 23) + (arg1[6]));
4933     x8 = ((x7 >> 23) + (arg1[7]));
4934     x9 = ((x8 >> 24) + (arg1[8]));
4935     x10 = ((x9 >> 23) + (arg1[9]));
4936     x11 = ((x10 >> 23) + (arg1[10]));
4937     x12 = ((x1 & UINT32_C(0xffffff)) + (UINT16_C(0x269) * (x11 >> 23)));
4938     x13 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x12 >> 24) +
4939            (x2 & UINT32_C(0x7fffff)));
4940     x14 = (x12 & UINT32_C(0xffffff));
4941     x15 = (x13 & UINT32_C(0x7fffff));
4942     x16 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x13 >> 23) +
4943            (x3 & UINT32_C(0x7fffff)));
4944     x17 = (x4 & UINT32_C(0xffffff));
4945     x18 = (x5 & UINT32_C(0x7fffff));
4946     x19 = (x6 & UINT32_C(0x7fffff));
4947     x20 = (x7 & UINT32_C(0x7fffff));
4948     x21 = (x8 & UINT32_C(0xffffff));
4949     x22 = (x9 & UINT32_C(0x7fffff));
4950     x23 = (x10 & UINT32_C(0x7fffff));
4951     x24 = (x11 & UINT32_C(0x7fffff));
4952     out1[0] = x14;
4953     out1[1] = x15;
4954     out1[2] = x16;
4955     out1[3] = x17;
4956     out1[4] = x18;
4957     out1[5] = x19;
4958     out1[6] = x20;
4959     out1[7] = x21;
4960     out1[8] = x22;
4961     out1[9] = x23;
4962     out1[10] = x24;
4963 }
4964
4965 /*
4966  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_add adds two field elements.
4967  * Postconditions:
4968  *   eval out1 mod m = (eval arg1 + eval arg2) mod m
4969  *
4970  * Input Bounds:
4971  *   arg1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
4972  *   arg2: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
4973  * Output Bounds:
4974  *   out1: [[0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000]]
4975  */
4976 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_add(
4977     uint32_t out1[11], const uint32_t arg1[11], const uint32_t arg2[11]) {
4978     uint32_t x1;
4979     uint32_t x2;
4980     uint32_t x3;
4981     uint32_t x4;
4982     uint32_t x5;
4983     uint32_t x6;
4984     uint32_t x7;
4985     uint32_t x8;
4986     uint32_t x9;
4987     uint32_t x10;
4988     uint32_t x11;
4989     x1 = ((arg1[0]) + (arg2[0]));
4990     x2 = ((arg1[1]) + (arg2[1]));
4991     x3 = ((arg1[2]) + (arg2[2]));
4992     x4 = ((arg1[3]) + (arg2[3]));
4993     x5 = ((arg1[4]) + (arg2[4]));
4994     x6 = ((arg1[5]) + (arg2[5]));
4995     x7 = ((arg1[6]) + (arg2[6]));
4996     x8 = ((arg1[7]) + (arg2[7]));
4997     x9 = ((arg1[8]) + (arg2[8]));
4998     x10 = ((arg1[9]) + (arg2[9]));
4999     x11 = ((arg1[10]) + (arg2[10]));
5000     out1[0] = x1;
5001     out1[1] = x2;
5002     out1[2] = x3;
5003     out1[3] = x4;
5004     out1[4] = x5;
5005     out1[5] = x6;
5006     out1[6] = x7;
5007     out1[7] = x8;
5008     out1[8] = x9;
5009     out1[9] = x10;
5010     out1[10] = x11;
5011 }
5012
5013 /*
5014  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_sub subtracts two field elements.
5015  * Postconditions:
5016  *   eval out1 mod m = (eval arg1 - eval arg2) mod m
5017  *
5018  * Input Bounds:
5019  *   arg1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
5020  *   arg2: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
5021  * Output Bounds:
5022  *   out1: [[0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000]]
5023  */
5024 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_sub(
5025     uint32_t out1[11], const uint32_t arg1[11], const uint32_t arg2[11]) {
5026     uint32_t x1;
5027     uint32_t x2;
5028     uint32_t x3;
5029     uint32_t x4;
5030     uint32_t x5;
5031     uint32_t x6;
5032     uint32_t x7;
5033     uint32_t x8;
5034     uint32_t x9;
5035     uint32_t x10;
5036     uint32_t x11;
5037     x1 = ((UINT32_C(0x1fffb2e) + (arg1[0])) - (arg2[0]));
5038     x2 = ((UINT32_C(0xfffffe) + (arg1[1])) - (arg2[1]));
5039     x3 = ((UINT32_C(0xfffffe) + (arg1[2])) - (arg2[2]));
5040     x4 = ((UINT32_C(0x1fffffe) + (arg1[3])) - (arg2[3]));
5041     x5 = ((UINT32_C(0xfffffe) + (arg1[4])) - (arg2[4]));
5042     x6 = ((UINT32_C(0xfffffe) + (arg1[5])) - (arg2[5]));
5043     x7 = ((UINT32_C(0xfffffe) + (arg1[6])) - (arg2[6]));
5044     x8 = ((UINT32_C(0x1fffffe) + (arg1[7])) - (arg2[7]));
5045     x9 = ((UINT32_C(0xfffffe) + (arg1[8])) - (arg2[8]));
5046     x10 = ((UINT32_C(0xfffffe) + (arg1[9])) - (arg2[9]));
5047     x11 = ((UINT32_C(0xfffffe) + (arg1[10])) - (arg2[10]));
5048     out1[0] = x1;
5049     out1[1] = x2;
5050     out1[2] = x3;
5051     out1[3] = x4;
5052     out1[4] = x5;
5053     out1[5] = x6;
5054     out1[6] = x7;
5055     out1[7] = x8;
5056     out1[8] = x9;
5057     out1[9] = x10;
5058     out1[10] = x11;
5059 }
5060
5061 /*
5062  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_opp negates a field element.
5063  * Postconditions:
5064  *   eval out1 mod m = -eval arg1 mod m
5065  *
5066  * Input Bounds:
5067  *   arg1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
5068  * Output Bounds:
5069  *   out1: [[0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000]]
5070  */
5071 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(
5072     uint32_t out1[11], const uint32_t arg1[11]) {
5073     uint32_t x1;
5074     uint32_t x2;
5075     uint32_t x3;
5076     uint32_t x4;
5077     uint32_t x5;
5078     uint32_t x6;
5079     uint32_t x7;
5080     uint32_t x8;
5081     uint32_t x9;
5082     uint32_t x10;
5083     uint32_t x11;
5084     x1 = (UINT32_C(0x1fffb2e) - (arg1[0]));
5085     x2 = (UINT32_C(0xfffffe) - (arg1[1]));
5086     x3 = (UINT32_C(0xfffffe) - (arg1[2]));
5087     x4 = (UINT32_C(0x1fffffe) - (arg1[3]));
5088     x5 = (UINT32_C(0xfffffe) - (arg1[4]));
5089     x6 = (UINT32_C(0xfffffe) - (arg1[5]));
5090     x7 = (UINT32_C(0xfffffe) - (arg1[6]));
5091     x8 = (UINT32_C(0x1fffffe) - (arg1[7]));
5092     x9 = (UINT32_C(0xfffffe) - (arg1[8]));
5093     x10 = (UINT32_C(0xfffffe) - (arg1[9]));
5094     x11 = (UINT32_C(0xfffffe) - (arg1[10]));
5095     out1[0] = x1;
5096     out1[1] = x2;
5097     out1[2] = x3;
5098     out1[3] = x4;
5099     out1[4] = x5;
5100     out1[5] = x6;
5101     out1[6] = x7;
5102     out1[7] = x8;
5103     out1[8] = x9;
5104     out1[9] = x10;
5105     out1[10] = x11;
5106 }
5107
5108 /*
5109  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz is a multi-limb conditional select.
5110  * Postconditions:
5111  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
5112  *
5113  * Input Bounds:
5114  *   arg1: [0x0 ~> 0x1]
5115  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5116  *   arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5117  * Output Bounds:
5118  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5119  */
5120 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
5121     uint32_t out1[11], fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1,
5122     const uint32_t arg2[11], const uint32_t arg3[11]) {
5123     uint32_t x1;
5124     uint32_t x2;
5125     uint32_t x3;
5126     uint32_t x4;
5127     uint32_t x5;
5128     uint32_t x6;
5129     uint32_t x7;
5130     uint32_t x8;
5131     uint32_t x9;
5132     uint32_t x10;
5133     uint32_t x11;
5134     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x1, arg1, (arg2[0]),
5135                                                           (arg3[0]));
5136     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x2, arg1, (arg2[1]),
5137                                                           (arg3[1]));
5138     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x3, arg1, (arg2[2]),
5139                                                           (arg3[2]));
5140     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x4, arg1, (arg2[3]),
5141                                                           (arg3[3]));
5142     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x5, arg1, (arg2[4]),
5143                                                           (arg3[4]));
5144     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x6, arg1, (arg2[5]),
5145                                                           (arg3[5]));
5146     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x7, arg1, (arg2[6]),
5147                                                           (arg3[6]));
5148     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x8, arg1, (arg2[7]),
5149                                                           (arg3[7]));
5150     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x9, arg1, (arg2[8]),
5151                                                           (arg3[8]));
5152     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x10, arg1, (arg2[9]),
5153                                                           (arg3[9]));
5154     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(
5155         &x11, arg1, (arg2[10]), (arg3[10]));
5156     out1[0] = x1;
5157     out1[1] = x2;
5158     out1[2] = x3;
5159     out1[3] = x4;
5160     out1[4] = x5;
5161     out1[5] = x6;
5162     out1[6] = x7;
5163     out1[7] = x8;
5164     out1[8] = x9;
5165     out1[9] = x10;
5166     out1[10] = x11;
5167 }
5168
5169 /*
5170  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes serializes a field element to bytes in little-endian order.
5171  * Postconditions:
5172  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
5173  *
5174  * Input Bounds:
5175  *   arg1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
5176  * Output Bounds:
5177  *   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]]
5178  */
5179 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(
5180     uint8_t out1[32], const uint32_t arg1[11]) {
5181     uint32_t x1;
5182     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x2;
5183     uint32_t x3;
5184     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x4;
5185     uint32_t x5;
5186     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x6;
5187     uint32_t x7;
5188     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x8;
5189     uint32_t x9;
5190     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x10;
5191     uint32_t x11;
5192     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x12;
5193     uint32_t x13;
5194     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x14;
5195     uint32_t x15;
5196     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x16;
5197     uint32_t x17;
5198     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x18;
5199     uint32_t x19;
5200     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x20;
5201     uint32_t x21;
5202     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x22;
5203     uint32_t x23;
5204     uint32_t x24;
5205     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x25;
5206     uint32_t x26;
5207     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x27;
5208     uint32_t x28;
5209     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x29;
5210     uint32_t x30;
5211     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x31;
5212     uint32_t x32;
5213     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x33;
5214     uint32_t x34;
5215     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x35;
5216     uint32_t x36;
5217     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x37;
5218     uint32_t x38;
5219     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x39;
5220     uint32_t x40;
5221     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x41;
5222     uint32_t x42;
5223     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x43;
5224     uint32_t x44;
5225     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x45;
5226     uint32_t x46;
5227     uint32_t x47;
5228     uint32_t x48;
5229     uint32_t x49;
5230     uint32_t x50;
5231     uint32_t x51;
5232     uint32_t x52;
5233     uint32_t x53;
5234     uint32_t x54;
5235     uint8_t x55;
5236     uint32_t x56;
5237     uint8_t x57;
5238     uint8_t x58;
5239     uint8_t x59;
5240     uint32_t x60;
5241     uint8_t x61;
5242     uint8_t x62;
5243     uint32_t x63;
5244     uint8_t x64;
5245     uint32_t x65;
5246     uint8_t x66;
5247     uint32_t x67;
5248     uint8_t x68;
5249     uint8_t x69;
5250     uint32_t x70;
5251     uint8_t x71;
5252     uint32_t x72;
5253     uint8_t x73;
5254     uint32_t x74;
5255     uint8_t x75;
5256     uint8_t x76;
5257     uint32_t x77;
5258     uint8_t x78;
5259     uint32_t x79;
5260     uint8_t x80;
5261     uint32_t x81;
5262     uint8_t x82;
5263     uint8_t x83;
5264     uint32_t x84;
5265     uint8_t x85;
5266     uint32_t x86;
5267     uint8_t x87;
5268     uint32_t x88;
5269     uint8_t x89;
5270     uint8_t x90;
5271     uint32_t x91;
5272     uint8_t x92;
5273     uint32_t x93;
5274     uint8_t x94;
5275     uint32_t x95;
5276     uint8_t x96;
5277     uint8_t x97;
5278     uint32_t x98;
5279     uint8_t x99;
5280     uint32_t x100;
5281     uint8_t x101;
5282     uint32_t x102;
5283     uint8_t x103;
5284     uint8_t x104;
5285     uint32_t x105;
5286     uint8_t x106;
5287     uint32_t x107;
5288     uint8_t x108;
5289     uint32_t x109;
5290     uint8_t x110;
5291     uint8_t x111;
5292     uint32_t x112;
5293     uint8_t x113;
5294     uint32_t x114;
5295     uint8_t x115;
5296     uint32_t x116;
5297     uint8_t x117;
5298     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x118;
5299     uint32_t x119;
5300     uint8_t x120;
5301     uint32_t x121;
5302     uint8_t x122;
5303     uint8_t x123;
5304     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24(
5305         &x1, &x2, 0x0, (arg1[0]), UINT32_C(0xfffd97));
5306     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5307         &x3, &x4, x2, (arg1[1]), UINT32_C(0x7fffff));
5308     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5309         &x5, &x6, x4, (arg1[2]), UINT32_C(0x7fffff));
5310     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24(
5311         &x7, &x8, x6, (arg1[3]), UINT32_C(0xffffff));
5312     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5313         &x9, &x10, x8, (arg1[4]), UINT32_C(0x7fffff));
5314     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5315         &x11, &x12, x10, (arg1[5]), UINT32_C(0x7fffff));
5316     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5317         &x13, &x14, x12, (arg1[6]), UINT32_C(0x7fffff));
5318     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24(
5319         &x15, &x16, x14, (arg1[7]), UINT32_C(0xffffff));
5320     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5321         &x17, &x18, x16, (arg1[8]), UINT32_C(0x7fffff));
5322     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5323         &x19, &x20, x18, (arg1[9]), UINT32_C(0x7fffff));
5324     fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
5325         &x21, &x22, x20, (arg1[10]), UINT32_C(0x7fffff));
5326     fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x23, x22, 0x0,
5327                                                           UINT32_C(0xffffffff));
5328     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24(
5329         &x24, &x25, 0x0, x1, (x23 & UINT32_C(0xfffd97)));
5330     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5331         &x26, &x27, x25, x3, (x23 & UINT32_C(0x7fffff)));
5332     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5333         &x28, &x29, x27, x5, (x23 & UINT32_C(0x7fffff)));
5334     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24(
5335         &x30, &x31, x29, x7, (x23 & UINT32_C(0xffffff)));
5336     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5337         &x32, &x33, x31, x9, (x23 & UINT32_C(0x7fffff)));
5338     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5339         &x34, &x35, x33, x11, (x23 & UINT32_C(0x7fffff)));
5340     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5341         &x36, &x37, x35, x13, (x23 & UINT32_C(0x7fffff)));
5342     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24(
5343         &x38, &x39, x37, x15, (x23 & UINT32_C(0xffffff)));
5344     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5345         &x40, &x41, x39, x17, (x23 & UINT32_C(0x7fffff)));
5346     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5347         &x42, &x43, x41, x19, (x23 & UINT32_C(0x7fffff)));
5348     fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
5349         &x44, &x45, x43, x21, (x23 & UINT32_C(0x7fffff)));
5350     x46 = (x44 * (uint32_t)0x2);
5351     x47 = (x42 << 2);
5352     x48 = (x40 << 3);
5353     x49 = (x38 << 3);
5354     x50 = (x36 << 4);
5355     x51 = (x34 << 5);
5356     x52 = (x32 << 6);
5357     x53 = (x30 << 6);
5358     x54 = (x28 << 7);
5359     x55 = (uint8_t)(x24 & UINT8_C(0xff));
5360     x56 = (x24 >> 8);
5361     x57 = (uint8_t)(x56 & UINT8_C(0xff));
5362     x58 = (uint8_t)(x56 >> 8);
5363     x59 = (uint8_t)(x26 & UINT8_C(0xff));
5364     x60 = (x26 >> 8);
5365     x61 = (uint8_t)(x60 & UINT8_C(0xff));
5366     x62 = (uint8_t)(x60 >> 8);
5367     x63 = (x54 + (uint32_t)x62);
5368     x64 = (uint8_t)(x63 & UINT8_C(0xff));
5369     x65 = (x63 >> 8);
5370     x66 = (uint8_t)(x65 & UINT8_C(0xff));
5371     x67 = (x65 >> 8);
5372     x68 = (uint8_t)(x67 & UINT8_C(0xff));
5373     x69 = (uint8_t)(x67 >> 8);
5374     x70 = (x53 + (uint32_t)x69);
5375     x71 = (uint8_t)(x70 & UINT8_C(0xff));
5376     x72 = (x70 >> 8);
5377     x73 = (uint8_t)(x72 & UINT8_C(0xff));
5378     x74 = (x72 >> 8);
5379     x75 = (uint8_t)(x74 & UINT8_C(0xff));
5380     x76 = (uint8_t)(x74 >> 8);
5381     x77 = (x52 + (uint32_t)x76);
5382     x78 = (uint8_t)(x77 & UINT8_C(0xff));
5383     x79 = (x77 >> 8);
5384     x80 = (uint8_t)(x79 & UINT8_C(0xff));
5385     x81 = (x79 >> 8);
5386     x82 = (uint8_t)(x81 & UINT8_C(0xff));
5387     x83 = (uint8_t)(x81 >> 8);
5388     x84 = (x51 + (uint32_t)x83);
5389     x85 = (uint8_t)(x84 & UINT8_C(0xff));
5390     x86 = (x84 >> 8);
5391     x87 = (uint8_t)(x86 & UINT8_C(0xff));
5392     x88 = (x86 >> 8);
5393     x89 = (uint8_t)(x88 & UINT8_C(0xff));
5394     x90 = (uint8_t)(x88 >> 8);
5395     x91 = (x50 + (uint32_t)x90);
5396     x92 = (uint8_t)(x91 & UINT8_C(0xff));
5397     x93 = (x91 >> 8);
5398     x94 = (uint8_t)(x93 & UINT8_C(0xff));
5399     x95 = (x93 >> 8);
5400     x96 = (uint8_t)(x95 & UINT8_C(0xff));
5401     x97 = (uint8_t)(x95 >> 8);
5402     x98 = (x49 + (uint32_t)x97);
5403     x99 = (uint8_t)(x98 & UINT8_C(0xff));
5404     x100 = (x98 >> 8);
5405     x101 = (uint8_t)(x100 & UINT8_C(0xff));
5406     x102 = (x100 >> 8);
5407     x103 = (uint8_t)(x102 & UINT8_C(0xff));
5408     x104 = (uint8_t)(x102 >> 8);
5409     x105 = (x48 + (uint32_t)x104);
5410     x106 = (uint8_t)(x105 & UINT8_C(0xff));
5411     x107 = (x105 >> 8);
5412     x108 = (uint8_t)(x107 & UINT8_C(0xff));
5413     x109 = (x107 >> 8);
5414     x110 = (uint8_t)(x109 & UINT8_C(0xff));
5415     x111 = (uint8_t)(x109 >> 8);
5416     x112 = (x47 + (uint32_t)x111);
5417     x113 = (uint8_t)(x112 & UINT8_C(0xff));
5418     x114 = (x112 >> 8);
5419     x115 = (uint8_t)(x114 & UINT8_C(0xff));
5420     x116 = (x114 >> 8);
5421     x117 = (uint8_t)(x116 & UINT8_C(0xff));
5422     x118 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x116 >> 8);
5423     x119 = (x46 + (uint32_t)x118);
5424     x120 = (uint8_t)(x119 & UINT8_C(0xff));
5425     x121 = (x119 >> 8);
5426     x122 = (uint8_t)(x121 & UINT8_C(0xff));
5427     x123 = (uint8_t)(x121 >> 8);
5428     out1[0] = x55;
5429     out1[1] = x57;
5430     out1[2] = x58;
5431     out1[3] = x59;
5432     out1[4] = x61;
5433     out1[5] = x64;
5434     out1[6] = x66;
5435     out1[7] = x68;
5436     out1[8] = x71;
5437     out1[9] = x73;
5438     out1[10] = x75;
5439     out1[11] = x78;
5440     out1[12] = x80;
5441     out1[13] = x82;
5442     out1[14] = x85;
5443     out1[15] = x87;
5444     out1[16] = x89;
5445     out1[17] = x92;
5446     out1[18] = x94;
5447     out1[19] = x96;
5448     out1[20] = x99;
5449     out1[21] = x101;
5450     out1[22] = x103;
5451     out1[23] = x106;
5452     out1[24] = x108;
5453     out1[25] = x110;
5454     out1[26] = x113;
5455     out1[27] = x115;
5456     out1[28] = x117;
5457     out1[29] = x120;
5458     out1[30] = x122;
5459     out1[31] = x123;
5460 }
5461
5462 /*
5463  * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes deserializes a field element from bytes in little-endian order.
5464  * Postconditions:
5465  *   eval out1 mod m = bytes_eval arg1 mod m
5466  *
5467  * Input Bounds:
5468  *   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]]
5469  * Output Bounds:
5470  *   out1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
5471  */
5472 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(
5473     uint32_t out1[11], const uint8_t arg1[32]) {
5474     uint32_t x1;
5475     uint32_t x2;
5476     uint32_t x3;
5477     uint32_t x4;
5478     uint32_t x5;
5479     uint32_t x6;
5480     uint32_t x7;
5481     uint32_t x8;
5482     uint32_t x9;
5483     uint32_t x10;
5484     uint32_t x11;
5485     uint32_t x12;
5486     uint32_t x13;
5487     uint32_t x14;
5488     uint32_t x15;
5489     uint32_t x16;
5490     uint32_t x17;
5491     uint32_t x18;
5492     uint32_t x19;
5493     uint32_t x20;
5494     uint32_t x21;
5495     uint32_t x22;
5496     uint32_t x23;
5497     uint32_t x24;
5498     uint32_t x25;
5499     uint32_t x26;
5500     uint32_t x27;
5501     uint32_t x28;
5502     uint8_t x29;
5503     uint32_t x30;
5504     uint32_t x31;
5505     uint8_t x32;
5506     uint32_t x33;
5507     uint32_t x34;
5508     uint32_t x35;
5509     uint32_t x36;
5510     uint32_t x37;
5511     fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x38;
5512     uint32_t x39;
5513     uint32_t x40;
5514     uint32_t x41;
5515     uint32_t x42;
5516     uint8_t x43;
5517     uint32_t x44;
5518     uint32_t x45;
5519     uint32_t x46;
5520     uint32_t x47;
5521     uint8_t x48;
5522     uint32_t x49;
5523     uint32_t x50;
5524     uint32_t x51;
5525     uint32_t x52;
5526     uint8_t x53;
5527     uint32_t x54;
5528     uint32_t x55;
5529     uint32_t x56;
5530     uint32_t x57;
5531     uint8_t x58;
5532     uint32_t x59;
5533     uint32_t x60;
5534     uint32_t x61;
5535     uint32_t x62;
5536     uint8_t x63;
5537     uint32_t x64;
5538     uint32_t x65;
5539     uint32_t x66;
5540     uint32_t x67;
5541     uint8_t x68;
5542     uint32_t x69;
5543     uint32_t x70;
5544     uint32_t x71;
5545     uint32_t x72;
5546     uint8_t x73;
5547     uint32_t x74;
5548     uint32_t x75;
5549     uint32_t x76;
5550     uint32_t x77;
5551     uint8_t x78;
5552     uint32_t x79;
5553     uint32_t x80;
5554     x1 = ((uint32_t)(arg1[31]) << 15);
5555     x2 = ((uint32_t)(arg1[30]) << 7);
5556     x3 = ((uint32_t)(arg1[29]) << 22);
5557     x4 = ((uint32_t)(arg1[28]) << 14);
5558     x5 = ((uint32_t)(arg1[27]) << 6);
5559     x6 = ((uint32_t)(arg1[26]) << 21);
5560     x7 = ((uint32_t)(arg1[25]) << 13);
5561     x8 = ((uint32_t)(arg1[24]) << 5);
5562     x9 = ((uint32_t)(arg1[23]) << 21);
5563     x10 = ((uint32_t)(arg1[22]) << 13);
5564     x11 = ((uint32_t)(arg1[21]) << 5);
5565     x12 = ((uint32_t)(arg1[20]) << 20);
5566     x13 = ((uint32_t)(arg1[19]) << 12);
5567     x14 = ((uint32_t)(arg1[18]) << 4);
5568     x15 = ((uint32_t)(arg1[17]) << 19);
5569     x16 = ((uint32_t)(arg1[16]) << 11);
5570     x17 = ((uint32_t)(arg1[15]) << 3);
5571     x18 = ((uint32_t)(arg1[14]) << 18);
5572     x19 = ((uint32_t)(arg1[13]) << 10);
5573     x20 = ((uint32_t)(arg1[12]) << 2);
5574     x21 = ((uint32_t)(arg1[11]) << 18);
5575     x22 = ((uint32_t)(arg1[10]) << 10);
5576     x23 = ((uint32_t)(arg1[9]) << 2);
5577     x24 = ((uint32_t)(arg1[8]) << 17);
5578     x25 = ((uint32_t)(arg1[7]) << 9);
5579     x26 = ((uint32_t)(arg1[6]) * 0x2);
5580     x27 = ((uint32_t)(arg1[5]) << 16);
5581     x28 = ((uint32_t)(arg1[4]) << 8);
5582     x29 = (arg1[3]);
5583     x30 = ((uint32_t)(arg1[2]) << 16);
5584     x31 = ((uint32_t)(arg1[1]) << 8);
5585     x32 = (arg1[0]);
5586     x33 = (x31 + (uint32_t)x32);
5587     x34 = (x30 + x33);
5588     x35 = (x28 + (uint32_t)x29);
5589     x36 = (x27 + x35);
5590     x37 = (x36 & UINT32_C(0x7fffff));
5591     x38 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x36 >> 23);
5592     x39 = (x26 + (uint32_t)x38);
5593     x40 = (x25 + x39);
5594     x41 = (x24 + x40);
5595     x42 = (x41 & UINT32_C(0x7fffff));
5596     x43 = (uint8_t)(x41 >> 23);
5597     x44 = (x23 + (uint32_t)x43);
5598     x45 = (x22 + x44);
5599     x46 = (x21 + x45);
5600     x47 = (x46 & UINT32_C(0xffffff));
5601     x48 = (uint8_t)(x46 >> 24);
5602     x49 = (x20 + (uint32_t)x48);
5603     x50 = (x19 + x49);
5604     x51 = (x18 + x50);
5605     x52 = (x51 & UINT32_C(0x7fffff));
5606     x53 = (uint8_t)(x51 >> 23);
5607     x54 = (x17 + (uint32_t)x53);
5608     x55 = (x16 + x54);
5609     x56 = (x15 + x55);
5610     x57 = (x56 & UINT32_C(0x7fffff));
5611     x58 = (uint8_t)(x56 >> 23);
5612     x59 = (x14 + (uint32_t)x58);
5613     x60 = (x13 + x59);
5614     x61 = (x12 + x60);
5615     x62 = (x61 & UINT32_C(0x7fffff));
5616     x63 = (uint8_t)(x61 >> 23);
5617     x64 = (x11 + (uint32_t)x63);
5618     x65 = (x10 + x64);
5619     x66 = (x9 + x65);
5620     x67 = (x66 & UINT32_C(0xffffff));
5621     x68 = (uint8_t)(x66 >> 24);
5622     x69 = (x8 + (uint32_t)x68);
5623     x70 = (x7 + x69);
5624     x71 = (x6 + x70);
5625     x72 = (x71 & UINT32_C(0x7fffff));
5626     x73 = (uint8_t)(x71 >> 23);
5627     x74 = (x5 + (uint32_t)x73);
5628     x75 = (x4 + x74);
5629     x76 = (x3 + x75);
5630     x77 = (x76 & UINT32_C(0x7fffff));
5631     x78 = (uint8_t)(x76 >> 23);
5632     x79 = (x2 + (uint32_t)x78);
5633     x80 = (x1 + x79);
5634     out1[0] = x34;
5635     out1[1] = x37;
5636     out1[2] = x42;
5637     out1[3] = x47;
5638     out1[4] = x52;
5639     out1[5] = x57;
5640     out1[6] = x62;
5641     out1[7] = x67;
5642     out1[8] = x72;
5643     out1[9] = x77;
5644     out1[10] = x80;
5645 }
5646
5647 /* END verbatim fiat code */
5648
5649 /*-
5650  * Finite field inversion via FLT.
5651  * NB: this is not a real Fiat function, just named that way for consistency.
5652  * Autogenerated: ecp/id_tc26_gost_3410_2012_256_paramSetA/fe_inv.op3
5653  * custom repunit addition chain
5654  */
5655 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(fe_t output,
5656                                                           const fe_t t1) {
5657     int i;
5658     /* temporary variables */
5659     fe_t acc, t16, t164, t2, t246, t32, t4, t64, t8, t80, t82;
5660
5661     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t1);
5662     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, acc, t1);
5663     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t2);
5664     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5665     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t4, acc, t2);
5666     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t4);
5667     for (i = 0; i < 3; i++)
5668         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5669     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t8, acc, t4);
5670     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t8);
5671     for (i = 0; i < 7; i++)
5672         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5673     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t16, acc, t8);
5674     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t16);
5675     for (i = 0; i < 15; i++)
5676         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5677     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t32, acc, t16);
5678     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t32);
5679     for (i = 0; i < 31; i++)
5680         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5681     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t64, acc, t32);
5682     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t64);
5683     for (i = 0; i < 15; i++)
5684         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5685     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t80, acc, t16);
5686     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t80);
5687     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5688     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t82, acc, t2);
5689     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t82);
5690     for (i = 0; i < 81; i++)
5691         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5692     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t164, acc, t82);
5693     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t164);
5694     for (i = 0; i < 81; i++)
5695         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5696     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t246, acc, t82);
5697     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t246);
5698     for (i = 0; i < 2; i++)
5699         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5700     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t2);
5701     for (i = 0; i < 3; i++)
5702         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5703     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t1);
5704     for (i = 0; i < 2; i++)
5705         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5706     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t1);
5707     for (i = 0; i < 2; i++)
5708         fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
5709     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(output, acc, t1);
5710 }
5711
5712 /* curve coefficient constants */
5713
5714 static const limb_t const_one[11] = {
5715     UINT32_C(0x00000001), UINT32_C(0x00000000), UINT32_C(0x00000000),
5716     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
5717     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
5718     UINT32_C(0x00000000), UINT32_C(0x00000000)};
5719
5720 static const limb_t const_d[11] = {
5721     UINT32_C(0x00C7BFFB), UINT32_C(0x00432D6D), UINT32_C(0x006FCA45),
5722     UINT32_C(0x005C026B), UINT32_C(0x0077D8A2), UINT32_C(0x0040995C),
5723     UINT32_C(0x004FAD51), UINT32_C(0x00F17873), UINT32_C(0x007F502A),
5724     UINT32_C(0x002DF060), UINT32_C(0x000302FB)};
5725
5726 static const limb_t const_S[11] = {
5727     UINT32_C(0x008E0ECD), UINT32_C(0x004F34A4), UINT32_C(0x00040D6E),
5728     UINT32_C(0x0068FF65), UINT32_C(0x006209D7), UINT32_C(0x004FD9A8),
5729     UINT32_C(0x000C14AB), UINT32_C(0x0043A1E3), UINT32_C(0x00602BF5),
5730     UINT32_C(0x001483E7), UINT32_C(0x003F3F41)};
5731
5732 static const limb_t const_T[11] = {
5733     UINT32_C(0x00A14AAA), UINT32_C(0x0075DCE7), UINT32_C(0x007D4C60),
5734     UINT32_C(0x0064AB11), UINT32_C(0x0013F970), UINT32_C(0x004AC43A),
5735     UINT32_C(0x004D478D), UINT32_C(0x00D2E968), UINT32_C(0x003FE2B1),
5736     UINT32_C(0x001CFD65), UINT32_C(0x0000807F)};
5737
5738 /* LUT for scalar multiplication by comb interleaving */
5739 static const pt_aff_t lut_cmb[14][16] = {
5740     {
5741         {{UINT32_C(0x0000000D), UINT32_C(0x00000000), UINT32_C(0x00000000),
5742           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
5743           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
5744           UINT32_C(0x00000000), UINT32_C(0x00000000)},
5745          {UINT32_C(0x00A300E7), UINT32_C(0x002592DB), UINT32_C(0x0003F256),
5746           UINT32_C(0x001FC8BA), UINT32_C(0x003E36FA), UINT32_C(0x0024E73F),
5747           UINT32_C(0x007AB076), UINT32_C(0x00911871), UINT32_C(0x006B6690),
5748           UINT32_C(0x000CAA91), UINT32_C(0x0030650F)},
5749          {UINT32_C(0x0047155F), UINT32_C(0x00687527), UINT32_C(0x00334E61),
5750           UINT32_C(0x009D3172), UINT32_C(0x0028CAB3), UINT32_C(0x005FBE39),
5751           UINT32_C(0x003AF601), UINT32_C(0x005E3DC9), UINT32_C(0x00743557),
5752           UINT32_C(0x0024A967), UINT32_C(0x007521C4)}},
5753         {{UINT32_C(0x0051134C), UINT32_C(0x0063D934), UINT32_C(0x000994F4),
5754           UINT32_C(0x00E91B07), UINT32_C(0x00439CFD), UINT32_C(0x0055A4D9),
5755           UINT32_C(0x00181579), UINT32_C(0x0089F4E6), UINT32_C(0x005E989F),
5756           UINT32_C(0x002C52EC), UINT32_C(0x0054E159)},
5757          {UINT32_C(0x00DB5791), UINT32_C(0x00525DDC), UINT32_C(0x006F7908),
5758           UINT32_C(0x00AAB332), UINT32_C(0x00279FCD), UINT32_C(0x00522145),
5759           UINT32_C(0x0059CBA7), UINT32_C(0x00B33511), UINT32_C(0x000C6593),
5760           UINT32_C(0x0059CF0A), UINT32_C(0x0016BDEB)},
5761          {UINT32_C(0x00CBC030), UINT32_C(0x00732788), UINT32_C(0x005A0DF8),
5762           UINT32_C(0x00C8799D), UINT32_C(0x0019C571), UINT32_C(0x0007F6EF),
5763           UINT32_C(0x00729208), UINT32_C(0x00D7466B), UINT32_C(0x004ACA39),
5764           UINT32_C(0x0056009D), UINT32_C(0x00586898)}},
5765         {{UINT32_C(0x007058AD), UINT32_C(0x00094E45), UINT32_C(0x00420275),
5766           UINT32_C(0x005FD239), UINT32_C(0x00444F1F), UINT32_C(0x00299CBF),
5767           UINT32_C(0x002C9ADA), UINT32_C(0x00816030), UINT32_C(0x00255119),
5768           UINT32_C(0x0004FD8A), UINT32_C(0x000F011D)},
5769          {UINT32_C(0x00B22BCC), UINT32_C(0x00380EB0), UINT32_C(0x0075817F),
5770           UINT32_C(0x00B68F07), UINT32_C(0x0065DD81), UINT32_C(0x00433816),
5771           UINT32_C(0x005064DD), UINT32_C(0x00DF04CF), UINT32_C(0x000A89F8),
5772           UINT32_C(0x0061BAC3), UINT32_C(0x002AEE30)},
5773          {UINT32_C(0x00831C0C), UINT32_C(0x006D5422), UINT32_C(0x005EFCE9),
5774           UINT32_C(0x004B9CD7), UINT32_C(0x003E61FB), UINT32_C(0x001487DD),
5775           UINT32_C(0x0011779C), UINT32_C(0x0036DFD0), UINT32_C(0x005A0784),
5776           UINT32_C(0x0059323A), UINT32_C(0x002BA6DC)}},
5777         {{UINT32_C(0x00B0B356), UINT32_C(0x0066CD5D), UINT32_C(0x0010AFBC),
5778           UINT32_C(0x00023E69), UINT32_C(0x007B3FA1), UINT32_C(0x003A3F07),
5779           UINT32_C(0x007B8F99), UINT32_C(0x000415F9), UINT32_C(0x0073141E),
5780           UINT32_C(0x00072DB3), UINT32_C(0x007B2887)},
5781          {UINT32_C(0x00EFDCBE), UINT32_C(0x0061FDB8), UINT32_C(0x004A709F),
5782           UINT32_C(0x00849CD0), UINT32_C(0x002A36FC), UINT32_C(0x003BB056),
5783           UINT32_C(0x00356C38), UINT32_C(0x007A9084), UINT32_C(0x000B6422),
5784           UINT32_C(0x00130D7D), UINT32_C(0x001CD6F3)},
5785          {UINT32_C(0x00AA7E64), UINT32_C(0x0012D2BE), UINT32_C(0x0055120E),
5786           UINT32_C(0x00938524), UINT32_C(0x000C79B2), UINT32_C(0x0058FE4B),
5787           UINT32_C(0x00510FB7), UINT32_C(0x00D0F8E2), UINT32_C(0x0063F17F),
5788           UINT32_C(0x002D4711), UINT32_C(0x002725A4)}},
5789         {{UINT32_C(0x004C6781), UINT32_C(0x00627F87), UINT32_C(0x00489AA7),
5790           UINT32_C(0x002F770F), UINT32_C(0x000D2620), UINT32_C(0x001E8468),
5791           UINT32_C(0x003F6D7E), UINT32_C(0x00C5511D), UINT32_C(0x006CDB93),
5792           UINT32_C(0x006842D1), UINT32_C(0x004D7CF0)},
5793          {UINT32_C(0x00D1AE96), UINT32_C(0x0000090D), UINT32_C(0x0006C4DB),
5794           UINT32_C(0x00CE5C55), UINT32_C(0x00144E90), UINT32_C(0x004BED80),
5795           UINT32_C(0x004E53B7), UINT32_C(0x001FE39D), UINT32_C(0x0042F35D),
5796           UINT32_C(0x004AEB11), UINT32_C(0x005F6DBA)},
5797          {UINT32_C(0x00499A0E), UINT32_C(0x007885A2), UINT32_C(0x00030BDC),
5798           UINT32_C(0x001EDFDB), UINT32_C(0x00438B15), UINT32_C(0x0072B2EE),
5799           UINT32_C(0x004AC01E), UINT32_C(0x003EC678), UINT32_C(0x005F2133),
5800           UINT32_C(0x0011BD06), UINT32_C(0x002EA8E4)}},
5801         {{UINT32_C(0x00226F30), UINT32_C(0x005E7B60), UINT32_C(0x0009837F),
5802           UINT32_C(0x00851533), UINT32_C(0x0006EFB9), UINT32_C(0x00130938),
5803           UINT32_C(0x001063CE), UINT32_C(0x0019C098), UINT32_C(0x00605AC6),
5804           UINT32_C(0x004D2A8D), UINT32_C(0x00240305)},
5805          {UINT32_C(0x006AE25F), UINT32_C(0x000EF2E0), UINT32_C(0x001F427E),
5806           UINT32_C(0x00CD4540), UINT32_C(0x003C6996), UINT32_C(0x0035E452),
5807           UINT32_C(0x005A6442), UINT32_C(0x007BC7A6), UINT32_C(0x003D0529),
5808           UINT32_C(0x0021E8F3), UINT32_C(0x0052A46E)},
5809          {UINT32_C(0x007F4E9D), UINT32_C(0x000ECC55), UINT32_C(0x0037EE5A),
5810           UINT32_C(0x004ADDB7), UINT32_C(0x004DA3F4), UINT32_C(0x005764C9),
5811           UINT32_C(0x001C40F1), UINT32_C(0x00C1111E), UINT32_C(0x000B0764),
5812           UINT32_C(0x007DD2E6), UINT32_C(0x001388A4)}},
5813         {{UINT32_C(0x0095A16C), UINT32_C(0x0008DD08), UINT32_C(0x005FC5C5),
5814           UINT32_C(0x0081C743), UINT32_C(0x0000D180), UINT32_C(0x000F8EE9),
5815           UINT32_C(0x0003FEF5), UINT32_C(0x00CF52AF), UINT32_C(0x007E4EDC),
5816           UINT32_C(0x0052DFAC), UINT32_C(0x0057C4FB)},
5817          {UINT32_C(0x00E2B732), UINT32_C(0x005BEBA4), UINT32_C(0x001D1662),
5818           UINT32_C(0x00FE39C5), UINT32_C(0x0058807D), UINT32_C(0x004BBC55),
5819           UINT32_C(0x0020454A), UINT32_C(0x00A84E47), UINT32_C(0x0034B9B8),
5820           UINT32_C(0x004B9BC7), UINT32_C(0x00362B2B)},
5821          {UINT32_C(0x00D51136), UINT32_C(0x0005D2D8), UINT32_C(0x000FECF5),
5822           UINT32_C(0x0088AA07), UINT32_C(0x004BB57C), UINT32_C(0x003A4AD1),
5823           UINT32_C(0x001B78C1), UINT32_C(0x00162747), UINT32_C(0x002DBFA9),
5824           UINT32_C(0x0017B251), UINT32_C(0x00431084)}},
5825         {{UINT32_C(0x003DC33C), UINT32_C(0x00238321), UINT32_C(0x002858CB),
5826           UINT32_C(0x006E05B3), UINT32_C(0x000F55FA), UINT32_C(0x002BA1C2),
5827           UINT32_C(0x007BBFD4), UINT32_C(0x00A06A51), UINT32_C(0x003672AF),
5828           UINT32_C(0x001A9B5B), UINT32_C(0x004F6D26)},
5829          {UINT32_C(0x009F55A3), UINT32_C(0x000F6705), UINT32_C(0x004EDA64),
5830           UINT32_C(0x00D8FBA8), UINT32_C(0x006E341D), UINT32_C(0x005FDC16),
5831           UINT32_C(0x003F8CD0), UINT32_C(0x0031F5C1), UINT32_C(0x002ECA27),
5832           UINT32_C(0x006E2E8E), UINT32_C(0x007650A0)},
5833          {UINT32_C(0x004C828B), UINT32_C(0x004D65DD), UINT32_C(0x0023D49F),
5834           UINT32_C(0x00998DDA), UINT32_C(0x004E0332), UINT32_C(0x00174414),
5835           UINT32_C(0x00699E65), UINT32_C(0x008F8323), UINT32_C(0x002B8901),
5836           UINT32_C(0x0012C259), UINT32_C(0x0021CFF4)}},
5837         {{UINT32_C(0x00922362), UINT32_C(0x0048A92F), UINT32_C(0x004D734D),
5838           UINT32_C(0x00C47EE4), UINT32_C(0x00113110), UINT32_C(0x00157C19),
5839           UINT32_C(0x00221251), UINT32_C(0x00024872), UINT32_C(0x001E2816),
5840           UINT32_C(0x003DF03D), UINT32_C(0x00181B9C)},
5841          {UINT32_C(0x00012FCF), UINT32_C(0x0047EB3F), UINT32_C(0x006C2B35),
5842           UINT32_C(0x00F85359), UINT32_C(0x0032819B), UINT32_C(0x004E64B2),
5843           UINT32_C(0x00600748), UINT32_C(0x00944305), UINT32_C(0x001ED335),
5844           UINT32_C(0x005DCD46), UINT32_C(0x004FA013)},
5845          {UINT32_C(0x003393AB), UINT32_C(0x002D18CD), UINT32_C(0x002579E1),
5846           UINT32_C(0x0079F6D2), UINT32_C(0x00032785), UINT32_C(0x00679042),
5847           UINT32_C(0x003532E2), UINT32_C(0x00E10DCE), UINT32_C(0x00480E01),
5848           UINT32_C(0x00426205), UINT32_C(0x0053FD4D)}},
5849         {{UINT32_C(0x00C6B0CB), UINT32_C(0x007C89A2), UINT32_C(0x0078D667),
5850           UINT32_C(0x00FF9964), UINT32_C(0x006EE83C), UINT32_C(0x006E7BF5),
5851           UINT32_C(0x007599F3), UINT32_C(0x004D669F), UINT32_C(0x0065012B),
5852           UINT32_C(0x005EBA50), UINT32_C(0x00304E71)},
5853          {UINT32_C(0x00C53736), UINT32_C(0x000B3E67), UINT32_C(0x00126BEE),
5854           UINT32_C(0x00261DF0), UINT32_C(0x005AF18B), UINT32_C(0x005B38F7),
5855           UINT32_C(0x000082AC), UINT32_C(0x0017B3DB), UINT32_C(0x007C32BA),
5856           UINT32_C(0x00724F37), UINT32_C(0x001F8FD1)},
5857          {UINT32_C(0x0080CCBF), UINT32_C(0x0018D8B8), UINT32_C(0x006E22B9),
5858           UINT32_C(0x00591C57), UINT32_C(0x0011E0B1), UINT32_C(0x0079970A),
5859           UINT32_C(0x0070D898), UINT32_C(0x00D9733F), UINT32_C(0x00259708),
5860           UINT32_C(0x0062101F), UINT32_C(0x00306235)}},
5861         {{UINT32_C(0x002F49E9), UINT32_C(0x006E57BC), UINT32_C(0x00094045),
5862           UINT32_C(0x00CF8C2B), UINT32_C(0x0010A5CA), UINT32_C(0x00478E10),
5863           UINT32_C(0x000A83ED), UINT32_C(0x00EB329A), UINT32_C(0x0054EE99),
5864           UINT32_C(0x00112D75), UINT32_C(0x001A7633)},
5865          {UINT32_C(0x00762A44), UINT32_C(0x007F7B5B), UINT32_C(0x006BF456),
5866           UINT32_C(0x00680D50), UINT32_C(0x00734ECC), UINT32_C(0x00770776),
5867           UINT32_C(0x0041B3F1), UINT32_C(0x00DB7326), UINT32_C(0x007A5C18),
5868           UINT32_C(0x0009A04C), UINT32_C(0x006F2281)},
5869          {UINT32_C(0x00392E55), UINT32_C(0x00180EF7), UINT32_C(0x00539457),
5870           UINT32_C(0x0027985E), UINT32_C(0x0030AE2E), UINT32_C(0x0006A2FA),
5871           UINT32_C(0x0075FD5D), UINT32_C(0x0023429D), UINT32_C(0x0041CD65),
5872           UINT32_C(0x00710776), UINT32_C(0x0075B4D3)}},
5873         {{UINT32_C(0x00297799), UINT32_C(0x0050EDAC), UINT32_C(0x0017E4E4),
5874           UINT32_C(0x00B06306), UINT32_C(0x0011957C), UINT32_C(0x00454CDB),
5875           UINT32_C(0x0037CE52), UINT32_C(0x0035EF58), UINT32_C(0x003AACF3),
5876           UINT32_C(0x006B04D4), UINT32_C(0x001DEEDA)},
5877          {UINT32_C(0x0058DEDB), UINT32_C(0x0055E31C), UINT32_C(0x000564F2),
5878           UINT32_C(0x00767021), UINT32_C(0x000AA59A), UINT32_C(0x005E4355),
5879           UINT32_C(0x0076B6F5), UINT32_C(0x00E2300C), UINT32_C(0x0065F80C),
5880           UINT32_C(0x004E48E3), UINT32_C(0x00471F50)},
5881          {UINT32_C(0x0057B4C9), UINT32_C(0x0032102C), UINT32_C(0x004F162E),
5882           UINT32_C(0x00AA70A0), UINT32_C(0x00601FA8), UINT32_C(0x001946ED),
5883           UINT32_C(0x007F5192), UINT32_C(0x009CBF3B), UINT32_C(0x0071AED7),
5884           UINT32_C(0x000BA7C1), UINT32_C(0x00663BBD)}},
5885         {{UINT32_C(0x00FC042F), UINT32_C(0x00129354), UINT32_C(0x001AC8F7),
5886           UINT32_C(0x00124BB3), UINT32_C(0x007DE447), UINT32_C(0x0007CA46),
5887           UINT32_C(0x005604BA), UINT32_C(0x00981600), UINT32_C(0x0014DA63),
5888           UINT32_C(0x0005067B), UINT32_C(0x0053AE1A)},
5889          {UINT32_C(0x009BC0FD), UINT32_C(0x006F8B2C), UINT32_C(0x006AE987),
5890           UINT32_C(0x0031F283), UINT32_C(0x0001800B), UINT32_C(0x00596A47),
5891           UINT32_C(0x0067F6A5), UINT32_C(0x00512023), UINT32_C(0x0015BA88),
5892           UINT32_C(0x0012951C), UINT32_C(0x000C64FA)},
5893          {UINT32_C(0x00ED7C65), UINT32_C(0x0008BD59), UINT32_C(0x00636115),
5894           UINT32_C(0x0076BA73), UINT32_C(0x007F05EB), UINT32_C(0x0003E701),
5895           UINT32_C(0x00148CDD), UINT32_C(0x008B64AA), UINT32_C(0x00373C6D),
5896           UINT32_C(0x00516A1E), UINT32_C(0x00056623)}},
5897         {{UINT32_C(0x000D0BB7), UINT32_C(0x007E8A54), UINT32_C(0x007474B6),
5898           UINT32_C(0x003D4755), UINT32_C(0x0026CD61), UINT32_C(0x0048139E),
5899           UINT32_C(0x005E0EC7), UINT32_C(0x00169B5D), UINT32_C(0x0042855A),
5900           UINT32_C(0x00729E2F), UINT32_C(0x001F1939)},
5901          {UINT32_C(0x00EDF74C), UINT32_C(0x00736130), UINT32_C(0x007835CD),
5902           UINT32_C(0x0021FE28), UINT32_C(0x0051653E), UINT32_C(0x00690BC6),
5903           UINT32_C(0x0070143D), UINT32_C(0x0011B7F6), UINT32_C(0x002ECF93),
5904           UINT32_C(0x00332D5B), UINT32_C(0x004E7E15)},
5905          {UINT32_C(0x0061C3BC), UINT32_C(0x006F0A58), UINT32_C(0x002A9437),
5906           UINT32_C(0x00273621), UINT32_C(0x004D6870), UINT32_C(0x004A0410),
5907           UINT32_C(0x001930EC), UINT32_C(0x00473AEA), UINT32_C(0x00345B94),
5908           UINT32_C(0x000D2F6F), UINT32_C(0x00630991)}},
5909         {{UINT32_C(0x0064F095), UINT32_C(0x005B811B), UINT32_C(0x0034F150),
5910           UINT32_C(0x0037FBC3), UINT32_C(0x00431976), UINT32_C(0x001AF585),
5911           UINT32_C(0x004A47D6), UINT32_C(0x00364593), UINT32_C(0x00265D55),
5912           UINT32_C(0x006955EC), UINT32_C(0x004B56E9)},
5913          {UINT32_C(0x00D4D3BA), UINT32_C(0x003E639C), UINT32_C(0x007B6508),
5914           UINT32_C(0x007AAFAA), UINT32_C(0x002DEDD3), UINT32_C(0x006E90FB),
5915           UINT32_C(0x0070FF1F), UINT32_C(0x005BD7F8), UINT32_C(0x0015D774),
5916           UINT32_C(0x004E9774), UINT32_C(0x003F53F7)},
5917          {UINT32_C(0x004F4AA5), UINT32_C(0x0024432D), UINT32_C(0x002D31BA),
5918           UINT32_C(0x005F3C7B), UINT32_C(0x00221DE3), UINT32_C(0x00691A3B),
5919           UINT32_C(0x0067E7F8), UINT32_C(0x00B606C6), UINT32_C(0x005200E8),
5920           UINT32_C(0x00708B99), UINT32_C(0x002F258F)}},
5921         {{UINT32_C(0x003A119F), UINT32_C(0x00319D59), UINT32_C(0x0071DF1F),
5922           UINT32_C(0x00EE723B), UINT32_C(0x004A075C), UINT32_C(0x0000C0BD),
5923           UINT32_C(0x00381ECA), UINT32_C(0x009EC137), UINT32_C(0x0014C177),
5924           UINT32_C(0x0062C87B), UINT32_C(0x003F7471)},
5925          {UINT32_C(0x00AA3C6C), UINT32_C(0x0019B06D), UINT32_C(0x003A8845),
5926           UINT32_C(0x001B9E7B), UINT32_C(0x004749DD), UINT32_C(0x0067A317),
5927           UINT32_C(0x00555D63), UINT32_C(0x0087596C), UINT32_C(0x004BF763),
5928           UINT32_C(0x005DCF2F), UINT32_C(0x00725068)},
5929          {UINT32_C(0x005A930B), UINT32_C(0x003C325E), UINT32_C(0x00528AC5),
5930           UINT32_C(0x00FD1B98), UINT32_C(0x004BA241), UINT32_C(0x0041EDCF),
5931           UINT32_C(0x00587205), UINT32_C(0x00EDF302), UINT32_C(0x001C093C),
5932           UINT32_C(0x0062B2BF), UINT32_C(0x00225709)}},
5933     },
5934     {
5935         {{UINT32_C(0x00EABA3B), UINT32_C(0x00192B0C), UINT32_C(0x006A78E0),
5936           UINT32_C(0x001251C4), UINT32_C(0x0032CA32), UINT32_C(0x0055DC60),
5937           UINT32_C(0x005BBC99), UINT32_C(0x00F53480), UINT32_C(0x004CA164),
5938           UINT32_C(0x0032C336), UINT32_C(0x004567E0)},
5939          {UINT32_C(0x009B52D6), UINT32_C(0x006B6695), UINT32_C(0x0011E7D6),
5940           UINT32_C(0x002112B7), UINT32_C(0x007F870C), UINT32_C(0x002F5D93),
5941           UINT32_C(0x002B31C0), UINT32_C(0x000D401F), UINT32_C(0x0004B6C8),
5942           UINT32_C(0x0023BEE0), UINT32_C(0x00086B9A)},
5943          {UINT32_C(0x001E8B93), UINT32_C(0x00336732), UINT32_C(0x00435024),
5944           UINT32_C(0x00A9D624), UINT32_C(0x007896CB), UINT32_C(0x00086124),
5945           UINT32_C(0x001F6441), UINT32_C(0x00C216CD), UINT32_C(0x0045B1DA),
5946           UINT32_C(0x0040884B), UINT32_C(0x0015A99D)}},
5947         {{UINT32_C(0x00E29666), UINT32_C(0x0000698C), UINT32_C(0x00008566),
5948           UINT32_C(0x00B29855), UINT32_C(0x0069993B), UINT32_C(0x0066533E),
5949           UINT32_C(0x00130B35), UINT32_C(0x00112187), UINT32_C(0x0066567A),
5950           UINT32_C(0x006C6930), UINT32_C(0x00025F72)},
5951          {UINT32_C(0x00BC36F8), UINT32_C(0x0075E071), UINT32_C(0x003F18EC),
5952           UINT32_C(0x00FE4134), UINT32_C(0x0007BF37), UINT32_C(0x0015265C),
5953           UINT32_C(0x002D5EA8), UINT32_C(0x00932F6F), UINT32_C(0x0001004C),
5954           UINT32_C(0x0028FBB8), UINT32_C(0x003CC88B)},
5955          {UINT32_C(0x0025E5B3), UINT32_C(0x0052FCAA), UINT32_C(0x0072522F),
5956           UINT32_C(0x0075B891), UINT32_C(0x0071F699), UINT32_C(0x0051F116),
5957           UINT32_C(0x0078808A), UINT32_C(0x006A580C), UINT32_C(0x000BDDA3),
5958           UINT32_C(0x004CB31A), UINT32_C(0x0056F6CD)}},
5959         {{UINT32_C(0x001AF846), UINT32_C(0x0016456F), UINT32_C(0x006CDB6E),
5960           UINT32_C(0x0019B43D), UINT32_C(0x001BD7BB), UINT32_C(0x001E429F),
5961           UINT32_C(0x0025E351), UINT32_C(0x002C034F), UINT32_C(0x0053ECFF),
5962           UINT32_C(0x002645D7), UINT32_C(0x006F455E)},
5963          {UINT32_C(0x00161A5B), UINT32_C(0x005E3D52), UINT32_C(0x006167A5),
5964           UINT32_C(0x008BBC48), UINT32_C(0x0029C44C), UINT32_C(0x0009A976),
5965           UINT32_C(0x0038C321), UINT32_C(0x00390F40), UINT32_C(0x004A7861),
5966           UINT32_C(0x0027E8A3), UINT32_C(0x0055430C)},
5967          {UINT32_C(0x0022B34E), UINT32_C(0x003FE536), UINT32_C(0x006D6BDE),
5968           UINT32_C(0x0038DF8B), UINT32_C(0x007C2700), UINT32_C(0x00413296),
5969           UINT32_C(0x000C3C34), UINT32_C(0x000F4A8B), UINT32_C(0x002223E1),
5970           UINT32_C(0x0002B3C2), UINT32_C(0x0030E676)}},
5971         {{UINT32_C(0x0084B729), UINT32_C(0x00726FC5), UINT32_C(0x00414876),
5972           UINT32_C(0x003546F3), UINT32_C(0x00261905), UINT32_C(0x005A04F6),
5973           UINT32_C(0x0055B0C7), UINT32_C(0x006B360B), UINT32_C(0x0012052B),
5974           UINT32_C(0x002B0046), UINT32_C(0x003D984C)},
5975          {UINT32_C(0x00CBED46), UINT32_C(0x0032683A), UINT32_C(0x004B3ADD),
5976           UINT32_C(0x00B2CD41), UINT32_C(0x0014EF94), UINT32_C(0x0050E0BF),
5977           UINT32_C(0x003FC9B1), UINT32_C(0x002F30DC), UINT32_C(0x00297AE9),
5978           UINT32_C(0x007BCD89), UINT32_C(0x000B4620)},
5979          {UINT32_C(0x0030B5B8), UINT32_C(0x0067A579), UINT32_C(0x006EDA23),
5980           UINT32_C(0x0094FB0A), UINT32_C(0x00661BCD), UINT32_C(0x0040BF82),
5981           UINT32_C(0x0058F099), UINT32_C(0x0072BB0F), UINT32_C(0x00485362),
5982           UINT32_C(0x00539664), UINT32_C(0x006ADF86)}},
5983         {{UINT32_C(0x0024FDD7), UINT32_C(0x001186A8), UINT32_C(0x004EA183),
5984           UINT32_C(0x00493DFC), UINT32_C(0x004F4E46), UINT32_C(0x0050110D),
5985           UINT32_C(0x003294D6), UINT32_C(0x00C5CEF6), UINT32_C(0x0053F4A9),
5986           UINT32_C(0x006A41F0), UINT32_C(0x00280D45)},
5987          {UINT32_C(0x0025DCB5), UINT32_C(0x00352AB2), UINT32_C(0x003C9B57),
5988           UINT32_C(0x00C5972C), UINT32_C(0x0017C8A2), UINT32_C(0x0026C17F),
5989           UINT32_C(0x004A2DE0), UINT32_C(0x00962319), UINT32_C(0x001DC0E8),
5990           UINT32_C(0x007BB781), UINT32_C(0x0076D0B0)},
5991          {UINT32_C(0x00C25C01), UINT32_C(0x006DF306), UINT32_C(0x002E001F),
5992           UINT32_C(0x00B2D044), UINT32_C(0x001C46FF), UINT32_C(0x0028D794),
5993           UINT32_C(0x004CD7EB), UINT32_C(0x00B2D81B), UINT32_C(0x00719BF6),
5994           UINT32_C(0x005D73E6), UINT32_C(0x000574EC)}},
5995         {{UINT32_C(0x00ED0D33), UINT32_C(0x005B58E6), UINT32_C(0x0031614D),
5996           UINT32_C(0x00C647FC), UINT32_C(0x003D23AC), UINT32_C(0x006C18FD),
5997           UINT32_C(0x006B9F51), UINT32_C(0x00BD620E), UINT32_C(0x000E3630),
5998           UINT32_C(0x002C338B), UINT32_C(0x0055B898)},
5999          {UINT32_C(0x00609F49), UINT32_C(0x006332D0), UINT32_C(0x0032177F),
6000           UINT32_C(0x008ADB01), UINT32_C(0x0003C6A7), UINT32_C(0x0020EA0A),
6001           UINT32_C(0x005D93D8), UINT32_C(0x0053348A), UINT32_C(0x00511FAA),
6002           UINT32_C(0x00125BD7), UINT32_C(0x001F9B23)},
6003          {UINT32_C(0x007C7FE4), UINT32_C(0x0028B2B1), UINT32_C(0x007487D6),
6004           UINT32_C(0x0000D5FE), UINT32_C(0x007DEF82), UINT32_C(0x0016E07E),
6005           UINT32_C(0x0026B0AE), UINT32_C(0x003853C8), UINT32_C(0x002DCAA1),
6006           UINT32_C(0x00685027), UINT32_C(0x001A2F47)}},
6007         {{UINT32_C(0x00986197), UINT32_C(0x00217581), UINT32_C(0x00011B57),
6008           UINT32_C(0x001C3CC0), UINT32_C(0x0048D2D2), UINT32_C(0x000C0332),
6009           UINT32_C(0x002D89E5), UINT32_C(0x003490A4), UINT32_C(0x003458B1),
6010           UINT32_C(0x002B04FA), UINT32_C(0x003F7CF9)},
6011          {UINT32_C(0x004F002F), UINT32_C(0x002E83E7), UINT32_C(0x00629717),
6012           UINT32_C(0x0010444B), UINT32_C(0x005323A6), UINT32_C(0x003BF8D6),
6013           UINT32_C(0x002CFC62), UINT32_C(0x004F6988), UINT32_C(0x007305E7),
6014           UINT32_C(0x007EC041), UINT32_C(0x00754449)},
6015          {UINT32_C(0x00B16E11), UINT32_C(0x007607F5), UINT32_C(0x001923D5),
6016           UINT32_C(0x00E8AE2B), UINT32_C(0x006722D4), UINT32_C(0x0076783B),
6017           UINT32_C(0x0037C778), UINT32_C(0x007F8754), UINT32_C(0x00422A0E),
6018           UINT32_C(0x003D9F97), UINT32_C(0x0016AEAE)}},
6019         {{UINT32_C(0x00D81066), UINT32_C(0x0050C351), UINT32_C(0x00716769),
6020           UINT32_C(0x006393E3), UINT32_C(0x001B4C15), UINT32_C(0x004B9A55),
6021           UINT32_C(0x00588B55), UINT32_C(0x002BA83B), UINT32_C(0x00009915),
6022           UINT32_C(0x005C055C), UINT32_C(0x00048180)},
6023          {UINT32_C(0x00CB303A), UINT32_C(0x00458BFF), UINT32_C(0x00237470),
6024           UINT32_C(0x00D66822), UINT32_C(0x0009DE8B), UINT32_C(0x005B28C2),
6025           UINT32_C(0x0068CAFE), UINT32_C(0x002F5A98), UINT32_C(0x004C4B2A),
6026           UINT32_C(0x0031DE00), UINT32_C(0x006E5755)},
6027          {UINT32_C(0x008869E8), UINT32_C(0x001F33B0), UINT32_C(0x001A2BAA),
6028           UINT32_C(0x00817706), UINT32_C(0x00458C99), UINT32_C(0x00302337),
6029           UINT32_C(0x0039EAE5), UINT32_C(0x00D2E45D), UINT32_C(0x0073447F),
6030           UINT32_C(0x0024825C), UINT32_C(0x001B5E98)}},
6031         {{UINT32_C(0x00814972), UINT32_C(0x0038B443), UINT32_C(0x0041992D),
6032           UINT32_C(0x00EE69DB), UINT32_C(0x00146157), UINT32_C(0x000AAAD8),
6033           UINT32_C(0x005444E7), UINT32_C(0x00D17AB8), UINT32_C(0x004DF7C1),
6034           UINT32_C(0x004D27A8), UINT32_C(0x0054D67D)},
6035          {UINT32_C(0x000A587F), UINT32_C(0x003ECDA4), UINT32_C(0x002CA0AF),
6036           UINT32_C(0x008438DD), UINT32_C(0x00634B99), UINT32_C(0x003B5F19),
6037           UINT32_C(0x006A333D), UINT32_C(0x001B944F), UINT32_C(0x007E2E1F),
6038           UINT32_C(0x005C5F8A), UINT32_C(0x003EE1DE)},
6039          {UINT32_C(0x001A8276), UINT32_C(0x006DA949), UINT32_C(0x003ABE66),
6040           UINT32_C(0x00EE9FD1), UINT32_C(0x004B05FC), UINT32_C(0x005E0261),
6041           UINT32_C(0x007EAA48), UINT32_C(0x0010DD5B), UINT32_C(0x007CBE95),
6042           UINT32_C(0x00118A02), UINT32_C(0x0002173C)}},
6043         {{UINT32_C(0x003407C2), UINT32_C(0x003DB992), UINT32_C(0x001F1A9E),
6044           UINT32_C(0x00D5B577), UINT32_C(0x005468D1), UINT32_C(0x001331F0),
6045           UINT32_C(0x00760900), UINT32_C(0x00412C7B), UINT32_C(0x007D99FF),
6046           UINT32_C(0x003F157E), UINT32_C(0x0022BB7C)},
6047          {UINT32_C(0x008CE31C), UINT32_C(0x007405EE), UINT32_C(0x004669C1),
6048           UINT32_C(0x00B64348), UINT32_C(0x002A823A), UINT32_C(0x0028F130),
6049           UINT32_C(0x006999E9), UINT32_C(0x006697A5), UINT32_C(0x00546104),
6050           UINT32_C(0x0028A64D), UINT32_C(0x00531D1A)},
6051          {UINT32_C(0x009C76D2), UINT32_C(0x0079F19D), UINT32_C(0x000872F3),
6052           UINT32_C(0x00F799B3), UINT32_C(0x00407743), UINT32_C(0x003085E0),
6053           UINT32_C(0x002003F0), UINT32_C(0x00396CB7), UINT32_C(0x002952AF),
6054           UINT32_C(0x002D59FD), UINT32_C(0x003C184A)}},
6055         {{UINT32_C(0x00E10FCD), UINT32_C(0x00563D94), UINT32_C(0x0036A862),
6056           UINT32_C(0x00A8D743), UINT32_C(0x001FAEBC), UINT32_C(0x005A3817),
6057           UINT32_C(0x0061B73B), UINT32_C(0x00FE0A6A), UINT32_C(0x00113AE2),
6058           UINT32_C(0x0079A419), UINT32_C(0x00433EC2)},
6059          {UINT32_C(0x0094DA0B), UINT32_C(0x0053D54C), UINT32_C(0x005DC3C9),
6060           UINT32_C(0x00377F6C), UINT32_C(0x007601E5), UINT32_C(0x0054F416),
6061           UINT32_C(0x00147411), UINT32_C(0x0033E49D), UINT32_C(0x001316C3),
6062           UINT32_C(0x002D4674), UINT32_C(0x004DADCA)},
6063          {UINT32_C(0x00A27A08), UINT32_C(0x00150DCB), UINT32_C(0x00757D31),
6064           UINT32_C(0x00ECF538), UINT32_C(0x00662566), UINT32_C(0x00306294),
6065           UINT32_C(0x00601C11), UINT32_C(0x0035FECB), UINT32_C(0x00452259),
6066           UINT32_C(0x001C2D33), UINT32_C(0x0021363F)}},
6067         {{UINT32_C(0x00C03231), UINT32_C(0x0054A03F), UINT32_C(0x00530E31),
6068           UINT32_C(0x008A8654), UINT32_C(0x00445A8F), UINT32_C(0x0057E307),
6069           UINT32_C(0x0017BF37), UINT32_C(0x00015A04), UINT32_C(0x0002B01C),
6070           UINT32_C(0x001FB35F), UINT32_C(0x003FFA73)},
6071          {UINT32_C(0x002C08E7), UINT32_C(0x0040D81C), UINT32_C(0x00622B99),
6072           UINT32_C(0x0048FF13), UINT32_C(0x00665063), UINT32_C(0x004518AF),
6073           UINT32_C(0x003AC182), UINT32_C(0x00A28FD4), UINT32_C(0x002A6DAE),
6074           UINT32_C(0x001B6DBD), UINT32_C(0x0010ACD4)},
6075          {UINT32_C(0x0058C718), UINT32_C(0x0016FC28), UINT32_C(0x0041E2C6),
6076           UINT32_C(0x0052886B), UINT32_C(0x007FDE72), UINT32_C(0x00289521),
6077           UINT32_C(0x00173FE6), UINT32_C(0x0072E6CC), UINT32_C(0x0017AC30),
6078           UINT32_C(0x0040A8E1), UINT32_C(0x005097BC)}},
6079         {{UINT32_C(0x005B9B1D), UINT32_C(0x0050D0A3), UINT32_C(0x002DFE1B),
6080           UINT32_C(0x00EAA92D), UINT32_C(0x00277DA6), UINT32_C(0x00622641),
6081           UINT32_C(0x0037663B), UINT32_C(0x004FD085), UINT32_C(0x000C17EE),
6082           UINT32_C(0x006A97AF), UINT32_C(0x007A47AF)},
6083          {UINT32_C(0x006BE9BF), UINT32_C(0x003285C2), UINT32_C(0x0065C35C),
6084           UINT32_C(0x009C1C74), UINT32_C(0x005F5ECE), UINT32_C(0x0059AF30),
6085           UINT32_C(0x002A2EA6), UINT32_C(0x0053A7C7), UINT32_C(0x003A42C4),
6086           UINT32_C(0x007E6E33), UINT32_C(0x0067F167)},
6087          {UINT32_C(0x002379C4), UINT32_C(0x00784A42), UINT32_C(0x00260570),
6088           UINT32_C(0x00C001B9), UINT32_C(0x007733D1), UINT32_C(0x002610F4),
6089           UINT32_C(0x0076810F), UINT32_C(0x0093A496), UINT32_C(0x001DEA0A),
6090           UINT32_C(0x002CA003), UINT32_C(0x006326EC)}},
6091         {{UINT32_C(0x00BB2391), UINT32_C(0x00743284), UINT32_C(0x002E155F),
6092           UINT32_C(0x0035639B), UINT32_C(0x005BBF4F), UINT32_C(0x003E90B9),
6093           UINT32_C(0x00767573), UINT32_C(0x00321363), UINT32_C(0x00254580),
6094           UINT32_C(0x0029D549), UINT32_C(0x0052B4EB)},
6095          {UINT32_C(0x00C1B9A5), UINT32_C(0x004DDE09), UINT32_C(0x006CBD8B),
6096           UINT32_C(0x005BA607), UINT32_C(0x003CC42A), UINT32_C(0x001D4E2E),
6097           UINT32_C(0x007ACD96), UINT32_C(0x00C921CE), UINT32_C(0x000620D1),
6098           UINT32_C(0x0016E31C), UINT32_C(0x006A2B72)},
6099          {UINT32_C(0x002A9792), UINT32_C(0x0000CFD3), UINT32_C(0x006A9AD2),
6100           UINT32_C(0x00ED29B3), UINT32_C(0x0026DA69), UINT32_C(0x002D2B73),
6101           UINT32_C(0x001B5E5D), UINT32_C(0x00D5305C), UINT32_C(0x0067DCE0),
6102           UINT32_C(0x000729B3), UINT32_C(0x00070252)}},
6103         {{UINT32_C(0x007834CB), UINT32_C(0x001A305D), UINT32_C(0x00199CF9),
6104           UINT32_C(0x00EE7F83), UINT32_C(0x0048376D), UINT32_C(0x00182568),
6105           UINT32_C(0x0044C0B5), UINT32_C(0x007EFBAD), UINT32_C(0x006A5B89),
6106           UINT32_C(0x002DDEC8), UINT32_C(0x002C5365)},
6107          {UINT32_C(0x0014DDC8), UINT32_C(0x0026ED23), UINT32_C(0x004F3CF1),
6108           UINT32_C(0x009C337C), UINT32_C(0x005CA1F6), UINT32_C(0x00430D81),
6109           UINT32_C(0x001BF696), UINT32_C(0x00D5544B), UINT32_C(0x0001941E),
6110           UINT32_C(0x002720AB), UINT32_C(0x006EF64B)},
6111          {UINT32_C(0x00AEB238), UINT32_C(0x002A16EC), UINT32_C(0x0055FE48),
6112           UINT32_C(0x00606DE7), UINT32_C(0x0034576A), UINT32_C(0x006FF01C),
6113           UINT32_C(0x0009AA13), UINT32_C(0x00D2D5AB), UINT32_C(0x003249A4),
6114           UINT32_C(0x004B05E9), UINT32_C(0x0041BC86)}},
6115         {{UINT32_C(0x00A9E5D5), UINT32_C(0x003CDBE3), UINT32_C(0x00669075),
6116           UINT32_C(0x004D8E92), UINT32_C(0x0050E701), UINT32_C(0x003EEC92),
6117           UINT32_C(0x00340906), UINT32_C(0x003A5231), UINT32_C(0x0076D572),
6118           UINT32_C(0x001CA34B), UINT32_C(0x0035D540)},
6119          {UINT32_C(0x00FE52C3), UINT32_C(0x0064659E), UINT32_C(0x000FCF54),
6120           UINT32_C(0x00DDCF41), UINT32_C(0x007A7B36), UINT32_C(0x002AEC73),
6121           UINT32_C(0x007550B1), UINT32_C(0x008E1CEC), UINT32_C(0x002CAD9C),
6122           UINT32_C(0x004EE133), UINT32_C(0x0045B7D8)},
6123          {UINT32_C(0x009FC441), UINT32_C(0x002D1FBC), UINT32_C(0x003E7D16),
6124           UINT32_C(0x00C8B352), UINT32_C(0x00221849), UINT32_C(0x003FF5A0),
6125           UINT32_C(0x0055A506), UINT32_C(0x007F88D0), UINT32_C(0x0018DB76),
6126           UINT32_C(0x00672F49), UINT32_C(0x007D2F58)}},
6127     },
6128     {
6129         {{UINT32_C(0x00C3CC62), UINT32_C(0x001788C8), UINT32_C(0x0046ECBC),
6130           UINT32_C(0x00F44A0D), UINT32_C(0x005D570F), UINT32_C(0x0011C818),
6131           UINT32_C(0x0005F4D7), UINT32_C(0x00B7F489), UINT32_C(0x0001AE92),
6132           UINT32_C(0x002AB1B0), UINT32_C(0x0067910C)},
6133          {UINT32_C(0x0033A3DB), UINT32_C(0x00768B12), UINT32_C(0x005D50DE),
6134           UINT32_C(0x00D31F34), UINT32_C(0x003455F7), UINT32_C(0x0021BBE3),
6135           UINT32_C(0x0020D657), UINT32_C(0x009AEF49), UINT32_C(0x0011194A),
6136           UINT32_C(0x007C4E1E), UINT32_C(0x005A07C9)},
6137          {UINT32_C(0x008F9CA3), UINT32_C(0x0054FF76), UINT32_C(0x00570C00),
6138           UINT32_C(0x006792D9), UINT32_C(0x0064070F), UINT32_C(0x0044F2A2),
6139           UINT32_C(0x006ABEFC), UINT32_C(0x00DAAC6E), UINT32_C(0x004F8CD9),
6140           UINT32_C(0x004DC91F), UINT32_C(0x0049B2BB)}},
6141         {{UINT32_C(0x0018CD54), UINT32_C(0x0010BE7F), UINT32_C(0x005F8D91),
6142           UINT32_C(0x00BAF1CC), UINT32_C(0x0050AB12), UINT32_C(0x002D251A),
6143           UINT32_C(0x004B47CC), UINT32_C(0x005BD1C5), UINT32_C(0x00489594),
6144           UINT32_C(0x00699114), UINT32_C(0x0030C9FA)},
6145          {UINT32_C(0x00D23D40), UINT32_C(0x005307A4), UINT32_C(0x007E98F3),
6146           UINT32_C(0x00F08939), UINT32_C(0x0069A75B), UINT32_C(0x001DB79B),
6147           UINT32_C(0x00566A53), UINT32_C(0x005AF4D5), UINT32_C(0x00237443),
6148           UINT32_C(0x001D42DE), UINT32_C(0x005165D2)},
6149          {UINT32_C(0x00873511), UINT32_C(0x00525967), UINT32_C(0x0056101D),
6150           UINT32_C(0x00AA7060), UINT32_C(0x004C11B1), UINT32_C(0x0029CA00),
6151           UINT32_C(0x001A34BC), UINT32_C(0x005CA8C2), UINT32_C(0x002F5F9A),
6152           UINT32_C(0x0039EFC2), UINT32_C(0x006871D9)}},
6153         {{UINT32_C(0x00421E67), UINT32_C(0x00075D00), UINT32_C(0x0010583F),
6154           UINT32_C(0x00B732C7), UINT32_C(0x0037730B), UINT32_C(0x007028B8),
6155           UINT32_C(0x005C0247), UINT32_C(0x007CC11B), UINT32_C(0x007F99FE),
6156           UINT32_C(0x0074EF6F), UINT32_C(0x0049255A)},
6157          {UINT32_C(0x00806A6B), UINT32_C(0x0076A27F), UINT32_C(0x001A45F6),
6158           UINT32_C(0x001863FB), UINT32_C(0x0036A2B2), UINT32_C(0x00058E27),
6159           UINT32_C(0x007E3E52), UINT32_C(0x008FA71E), UINT32_C(0x000F9591),
6160           UINT32_C(0x000EA645), UINT32_C(0x0037E6C8)},
6161          {UINT32_C(0x004C164A), UINT32_C(0x0015AE71), UINT32_C(0x00228D86),
6162           UINT32_C(0x00441D33), UINT32_C(0x00507819), UINT32_C(0x00442DBE),
6163           UINT32_C(0x00457850), UINT32_C(0x0059222C), UINT32_C(0x0029495F),
6164           UINT32_C(0x007331A0), UINT32_C(0x007BAE86)}},
6165         {{UINT32_C(0x00FA5032), UINT32_C(0x00242303), UINT32_C(0x000A904B),
6166           UINT32_C(0x0003BB53), UINT32_C(0x007553E7), UINT32_C(0x003CA0C5),
6167           UINT32_C(0x0061B87D), UINT32_C(0x00805E53), UINT32_C(0x0049297C),
6168           UINT32_C(0x0056196B), UINT32_C(0x004C6DF6)},
6169          {UINT32_C(0x002C1092), UINT32_C(0x0019EF62), UINT32_C(0x0047F011),
6170           UINT32_C(0x00C03A85), UINT32_C(0x000B1A90), UINT32_C(0x001507E7),
6171           UINT32_C(0x004D6EBC), UINT32_C(0x00794D29), UINT32_C(0x005C5416),
6172           UINT32_C(0x0020F242), UINT32_C(0x00576518)},
6173          {UINT32_C(0x0034E914), UINT32_C(0x005DAF45), UINT32_C(0x005BE7A5),
6174           UINT32_C(0x00FE38F3), UINT32_C(0x00157770), UINT32_C(0x00237F8C),
6175           UINT32_C(0x0015BF21), UINT32_C(0x0077CC24), UINT32_C(0x005067D4),
6176           UINT32_C(0x00091C98), UINT32_C(0x007F54DE)}},
6177         {{UINT32_C(0x00770B21), UINT32_C(0x006194BB), UINT32_C(0x001A8987),
6178           UINT32_C(0x0094013C), UINT32_C(0x00619B7F), UINT32_C(0x00083816),
6179           UINT32_C(0x007A8072), UINT32_C(0x00F58256), UINT32_C(0x002FFA60),
6180           UINT32_C(0x007AC24E), UINT32_C(0x0042CF75)},
6181          {UINT32_C(0x0058474E), UINT32_C(0x007BFF2F), UINT32_C(0x0018145B),
6182           UINT32_C(0x00F8E32B), UINT32_C(0x0055DE08), UINT32_C(0x002AA874),
6183           UINT32_C(0x0044BCA0), UINT32_C(0x0038F7BE), UINT32_C(0x0027359B),
6184           UINT32_C(0x002747EB), UINT32_C(0x00226230)},
6185          {UINT32_C(0x00FA31A5), UINT32_C(0x00190A96), UINT32_C(0x006536D0),
6186           UINT32_C(0x00ACA102), UINT32_C(0x0036C0D0), UINT32_C(0x0008F3D0),
6187           UINT32_C(0x0049B490), UINT32_C(0x005CD6C9), UINT32_C(0x000E1C66),
6188           UINT32_C(0x0077C89C), UINT32_C(0x006A74AE)}},
6189         {{UINT32_C(0x00EE9825), UINT32_C(0x000FBC15), UINT32_C(0x000C0843),
6190           UINT32_C(0x006B793A), UINT32_C(0x0004ED1C), UINT32_C(0x00616EA7),
6191           UINT32_C(0x000B6304), UINT32_C(0x00166978), UINT32_C(0x0024139D),
6192           UINT32_C(0x0042F014), UINT32_C(0x003D4978)},
6193          {UINT32_C(0x0029D5D7), UINT32_C(0x0033F88C), UINT32_C(0x006E76FF),
6194           UINT32_C(0x00A49E5F), UINT32_C(0x003D801A), UINT32_C(0x0042EE48),
6195           UINT32_C(0x000D2057), UINT32_C(0x001D9164), UINT32_C(0x001AB787),
6196           UINT32_C(0x004D338B), UINT32_C(0x00262464)},
6197          {UINT32_C(0x00D5B395), UINT32_C(0x007A77B2), UINT32_C(0x0043D844),
6198           UINT32_C(0x006D5774), UINT32_C(0x00267921), UINT32_C(0x00374E41),
6199           UINT32_C(0x003B4C78), UINT32_C(0x00E2BA6E), UINT32_C(0x00656116),
6200           UINT32_C(0x0043049C), UINT32_C(0x002023C8)}},
6201         {{UINT32_C(0x001715E4), UINT32_C(0x00652B6A), UINT32_C(0x00379760),
6202           UINT32_C(0x004DB333), UINT32_C(0x00619842), UINT32_C(0x00656120),
6203           UINT32_C(0x0026FAEC), UINT32_C(0x00EF2AD7), UINT32_C(0x00149CB3),
6204           UINT32_C(0x0055D95D), UINT32_C(0x00497B11)},
6205          {UINT32_C(0x00D4B7BF), UINT32_C(0x001098D0), UINT32_C(0x0057E045),
6206           UINT32_C(0x00304A0C), UINT32_C(0x007F8852), UINT32_C(0x00564889),
6207           UINT32_C(0x007D4D67), UINT32_C(0x00A2CA30), UINT32_C(0x0051B0D9),
6208           UINT32_C(0x00495A39), UINT32_C(0x0017789D)},
6209          {UINT32_C(0x0049CE9C), UINT32_C(0x001C79B9), UINT32_C(0x000A676A),
6210           UINT32_C(0x0043503C), UINT32_C(0x003C78EA), UINT32_C(0x00779E15),
6211           UINT32_C(0x002487F8), UINT32_C(0x0098B781), UINT32_C(0x002F1E05),
6212           UINT32_C(0x000B58B5), UINT32_C(0x0079EE99)}},
6213         {{UINT32_C(0x0082E001), UINT32_C(0x002F7563), UINT32_C(0x005502B7),
6214           UINT32_C(0x0099B452), UINT32_C(0x00068BD3), UINT32_C(0x006837ED),
6215           UINT32_C(0x006C2DAE), UINT32_C(0x00EDD476), UINT32_C(0x004B54C6),
6216           UINT32_C(0x002353E5), UINT32_C(0x0036757B)},
6217          {UINT32_C(0x0003D167), UINT32_C(0x002030D2), UINT32_C(0x0072FA5A),
6218           UINT32_C(0x004E3D16), UINT32_C(0x001B78F0), UINT32_C(0x000924E6),
6219           UINT32_C(0x001E86B4), UINT32_C(0x006CD648), UINT32_C(0x001D24C9),
6220           UINT32_C(0x000CC288), UINT32_C(0x0054B2D8)},
6221          {UINT32_C(0x002B443B), UINT32_C(0x00135EB4), UINT32_C(0x006123F8),
6222           UINT32_C(0x00795F4F), UINT32_C(0x00161316), UINT32_C(0x005CC78F),
6223           UINT32_C(0x001879B2), UINT32_C(0x00A11513), UINT32_C(0x0075BC89),
6224           UINT32_C(0x000E0F4C), UINT32_C(0x0022EB79)}},
6225         {{UINT32_C(0x0097ABD7), UINT32_C(0x003BF415), UINT32_C(0x004B96FB),
6226           UINT32_C(0x0086107E), UINT32_C(0x0013751E), UINT32_C(0x006E3412),
6227           UINT32_C(0x0075AEFF), UINT32_C(0x00CEAD7E), UINT32_C(0x004D03FA),
6228           UINT32_C(0x0041C8E1), UINT32_C(0x00586295)},
6229          {UINT32_C(0x00BF974F), UINT32_C(0x003D6607), UINT32_C(0x003A2804),
6230           UINT32_C(0x00E9CC65), UINT32_C(0x00596911), UINT32_C(0x0013F86A),
6231           UINT32_C(0x00010E75), UINT32_C(0x0067284C), UINT32_C(0x00244A19),
6232           UINT32_C(0x00071615), UINT32_C(0x002E2C66)},
6233          {UINT32_C(0x004963F7), UINT32_C(0x00640576), UINT32_C(0x0031C7EE),
6234           UINT32_C(0x001D786C), UINT32_C(0x00257DEC), UINT32_C(0x003CF6C5),
6235           UINT32_C(0x00465E43), UINT32_C(0x00B15EDD), UINT32_C(0x00478BEB),
6236           UINT32_C(0x00016C1B), UINT32_C(0x00094307)}},
6237         {{UINT32_C(0x00E85486), UINT32_C(0x0077F915), UINT32_C(0x00760D35),
6238           UINT32_C(0x002EF0AE), UINT32_C(0x0037042C), UINT32_C(0x0030C359),
6239           UINT32_C(0x00346545), UINT32_C(0x00DC7FE6), UINT32_C(0x0030D4C5),
6240           UINT32_C(0x004AAD41), UINT32_C(0x000A60C0)},
6241          {UINT32_C(0x00D6E8B3), UINT32_C(0x000B7AA8), UINT32_C(0x0023E0C5),
6242           UINT32_C(0x006A8EBF), UINT32_C(0x0063D566), UINT32_C(0x002294C9),
6243           UINT32_C(0x0049A4AE), UINT32_C(0x005A2C0A), UINT32_C(0x005086A5),
6244           UINT32_C(0x0008808D), UINT32_C(0x0005A919)},
6245          {UINT32_C(0x007A8EAF), UINT32_C(0x001E6353), UINT32_C(0x005C83D2),
6246           UINT32_C(0x00714AAE), UINT32_C(0x004F2F37), UINT32_C(0x00249BF6),
6247           UINT32_C(0x006CDEE8), UINT32_C(0x006F262D), UINT32_C(0x007E9C03),
6248           UINT32_C(0x004C7272), UINT32_C(0x005E6F1B)}},
6249         {{UINT32_C(0x0011D440), UINT32_C(0x0050D0E6), UINT32_C(0x0020183D),
6250           UINT32_C(0x00D0ED3E), UINT32_C(0x004642A3), UINT32_C(0x0019F456),
6251           UINT32_C(0x0068661A), UINT32_C(0x005C97B1), UINT32_C(0x001DFD20),
6252           UINT32_C(0x00607CBE), UINT32_C(0x004EB1D7)},
6253          {UINT32_C(0x00424218), UINT32_C(0x0031CB2B), UINT32_C(0x0016EE1E),
6254           UINT32_C(0x00F0B2F5), UINT32_C(0x00284CA3), UINT32_C(0x000B886E),
6255           UINT32_C(0x0056424F), UINT32_C(0x00606535), UINT32_C(0x001A7DD3),
6256           UINT32_C(0x005E5D6D), UINT32_C(0x000910A8)},
6257          {UINT32_C(0x00E5A1E8), UINT32_C(0x0062AA84), UINT32_C(0x0072C780),
6258           UINT32_C(0x00E14E12), UINT32_C(0x00359D55), UINT32_C(0x00388026),
6259           UINT32_C(0x001AF8C7), UINT32_C(0x007C9658), UINT32_C(0x007CD573),
6260           UINT32_C(0x001DB584), UINT32_C(0x005C3621)}},
6261         {{UINT32_C(0x00E7BB1F), UINT32_C(0x002CD518), UINT32_C(0x0041FE08),
6262           UINT32_C(0x00717B78), UINT32_C(0x00400988), UINT32_C(0x00291794),
6263           UINT32_C(0x00747C25), UINT32_C(0x007194A1), UINT32_C(0x0040F7AF),
6264           UINT32_C(0x007B6E73), UINT32_C(0x0020EB45)},
6265          {UINT32_C(0x00161F74), UINT32_C(0x00299725), UINT32_C(0x0025AD63),
6266           UINT32_C(0x004B6379), UINT32_C(0x00076C32), UINT32_C(0x0071515E),
6267           UINT32_C(0x0032A4A1), UINT32_C(0x00A7B602), UINT32_C(0x005C7951),
6268           UINT32_C(0x003975BA), UINT32_C(0x004BA951)},
6269          {UINT32_C(0x009EEF2E), UINT32_C(0x000B3835), UINT32_C(0x005E1C6B),
6270           UINT32_C(0x00800FFB), UINT32_C(0x006BC9CA), UINT32_C(0x00125F16),
6271           UINT32_C(0x000F6D0D), UINT32_C(0x00186A82), UINT32_C(0x00479A35),
6272           UINT32_C(0x0006739D), UINT32_C(0x004DCC17)}},
6273         {{UINT32_C(0x0067A5F5), UINT32_C(0x007CA11D), UINT32_C(0x0051B4EF),
6274           UINT32_C(0x00E64083), UINT32_C(0x002B0147), UINT32_C(0x0022B454),
6275           UINT32_C(0x0050D922), UINT32_C(0x0019CFE8), UINT32_C(0x00416B41),
6276           UINT32_C(0x00219410), UINT32_C(0x005C5995)},
6277          {UINT32_C(0x0020EA67), UINT32_C(0x0065B659), UINT32_C(0x0011B640),
6278           UINT32_C(0x00C05AB3), UINT32_C(0x0015BD93), UINT32_C(0x003F4CB7),
6279           UINT32_C(0x000CD5AA), UINT32_C(0x006203FA), UINT32_C(0x001FA8A5),
6280           UINT32_C(0x001E6F64), UINT32_C(0x006FB8E7)},
6281          {UINT32_C(0x00B6FEF4), UINT32_C(0x0053F0CE), UINT32_C(0x006B1E51),
6282           UINT32_C(0x0033476B), UINT32_C(0x00419002), UINT32_C(0x006F619C),
6283           UINT32_C(0x005CAF14), UINT32_C(0x001753E9), UINT32_C(0x0038FC4F),
6284           UINT32_C(0x007F5E19), UINT32_C(0x000F12D2)}},
6285         {{UINT32_C(0x009F6EBB), UINT32_C(0x004C08FE), UINT32_C(0x006E7C4E),
6286           UINT32_C(0x00F1680D), UINT32_C(0x00446C66), UINT32_C(0x00350BF6),
6287           UINT32_C(0x006A96E3), UINT32_C(0x005AEE9A), UINT32_C(0x006935BB),
6288           UINT32_C(0x0073B4C5), UINT32_C(0x004AC140)},
6289          {UINT32_C(0x00E5225C), UINT32_C(0x007B671B), UINT32_C(0x007606A0),
6290           UINT32_C(0x00938508), UINT32_C(0x007625D7), UINT32_C(0x001E3B8F),
6291           UINT32_C(0x002EAE28), UINT32_C(0x00318F8C), UINT32_C(0x001CC7F0),
6292           UINT32_C(0x0010B56D), UINT32_C(0x0049C97C)},
6293          {UINT32_C(0x00DE3FDD), UINT32_C(0x0008CA79), UINT32_C(0x000A0585),
6294           UINT32_C(0x0056E5A5), UINT32_C(0x003CF77E), UINT32_C(0x002C9DD5),
6295           UINT32_C(0x006D3D48), UINT32_C(0x00B152EB), UINT32_C(0x001C6B5C),
6296           UINT32_C(0x00755FAF), UINT32_C(0x002B73E8)}},
6297         {{UINT32_C(0x004F175B), UINT32_C(0x0074B90C), UINT32_C(0x007C4EB9),
6298           UINT32_C(0x00CB92B7), UINT32_C(0x00592AE2), UINT32_C(0x0056E0F5),
6299           UINT32_C(0x007528E2), UINT32_C(0x00893263), UINT32_C(0x0006AD16),
6300           UINT32_C(0x0070AA41), UINT32_C(0x0062E83F)},
6301          {UINT32_C(0x00058482), UINT32_C(0x00171A5D), UINT32_C(0x0047C331),
6302           UINT32_C(0x00DF7758), UINT32_C(0x002B4A00), UINT32_C(0x001FCAD8),
6303           UINT32_C(0x006A1943), UINT32_C(0x00B73575), UINT32_C(0x00171180),
6304           UINT32_C(0x005C1148), UINT32_C(0x0012A36A)},
6305          {UINT32_C(0x008C51AE), UINT32_C(0x0020EE14), UINT32_C(0x00549F62),
6306           UINT32_C(0x00CD3EB6), UINT32_C(0x0048A700), UINT32_C(0x00596B28),
6307           UINT32_C(0x002F99A4), UINT32_C(0x00010422), UINT32_C(0x001769F4),
6308           UINT32_C(0x00225E79), UINT32_C(0x0067F6DE)}},
6309         {{UINT32_C(0x009E9178), UINT32_C(0x0005D43C), UINT32_C(0x0012A802),
6310           UINT32_C(0x0086A260), UINT32_C(0x0063C91C), UINT32_C(0x0063084E),
6311           UINT32_C(0x0046B7E1), UINT32_C(0x00A17B2D), UINT32_C(0x0051323E),
6312           UINT32_C(0x0046B359), UINT32_C(0x00037634)},
6313          {UINT32_C(0x000A3DA8), UINT32_C(0x001949B0), UINT32_C(0x0005E3B9),
6314           UINT32_C(0x002467F0), UINT32_C(0x004BCC28), UINT32_C(0x00501570),
6315           UINT32_C(0x003D5412), UINT32_C(0x00CD0573), UINT32_C(0x0040ECA4),
6316           UINT32_C(0x0017C942), UINT32_C(0x001AACE2)},
6317          {UINT32_C(0x00427572), UINT32_C(0x002D0E76), UINT32_C(0x006FC301),
6318           UINT32_C(0x0011516D), UINT32_C(0x003B6F32), UINT32_C(0x0056D53F),
6319           UINT32_C(0x002E9447), UINT32_C(0x00909115), UINT32_C(0x007DC768),
6320           UINT32_C(0x00553F21), UINT32_C(0x003A0976)}},
6321     },
6322     {
6323         {{UINT32_C(0x0018835D), UINT32_C(0x001FCF9F), UINT32_C(0x001AD610),
6324           UINT32_C(0x007D30EC), UINT32_C(0x006C910C), UINT32_C(0x003FB1A8),
6325           UINT32_C(0x001464A4), UINT32_C(0x0027680C), UINT32_C(0x007E54DB),
6326           UINT32_C(0x005EDD4B), UINT32_C(0x005A8976)},
6327          {UINT32_C(0x0037E1C3), UINT32_C(0x0016BF14), UINT32_C(0x0006AA36),
6328           UINT32_C(0x0040A33E), UINT32_C(0x006DC0DF), UINT32_C(0x00242FA2),
6329           UINT32_C(0x00274EA4), UINT32_C(0x000084D9), UINT32_C(0x0068A677),
6330           UINT32_C(0x004FE2AF), UINT32_C(0x001D11B4)},
6331          {UINT32_C(0x003DC1C7), UINT32_C(0x00792137), UINT32_C(0x002CB33F),
6332           UINT32_C(0x007A0801), UINT32_C(0x000056E3), UINT32_C(0x00339206),
6333           UINT32_C(0x003D0090), UINT32_C(0x00F96044), UINT32_C(0x00537FE0),
6334           UINT32_C(0x006358EF), UINT32_C(0x001EE2D0)}},
6335         {{UINT32_C(0x0029CB03), UINT32_C(0x000FF813), UINT32_C(0x00067660),
6336           UINT32_C(0x00E00898), UINT32_C(0x000083A1), UINT32_C(0x00516E88),
6337           UINT32_C(0x00543512), UINT32_C(0x00EFA310), UINT32_C(0x005ED95E),
6338           UINT32_C(0x0048147D), UINT32_C(0x003958DB)},
6339          {UINT32_C(0x0084596C), UINT32_C(0x006BC632), UINT32_C(0x0037EAF8),
6340           UINT32_C(0x00148F47), UINT32_C(0x002DE2D2), UINT32_C(0x007E4DA4),
6341           UINT32_C(0x0021A371), UINT32_C(0x00BF0084), UINT32_C(0x003EFBC7),
6342           UINT32_C(0x0079976E), UINT32_C(0x004BAEFB)},
6343          {UINT32_C(0x000DA1C1), UINT32_C(0x00310E2C), UINT32_C(0x0030B00D),
6344           UINT32_C(0x007060D1), UINT32_C(0x000F8A0E), UINT32_C(0x005B1EC0),
6345           UINT32_C(0x0066C96D), UINT32_C(0x008BB679), UINT32_C(0x0031F9DB),
6346           UINT32_C(0x0032C38D), UINT32_C(0x003C1F72)}},
6347         {{UINT32_C(0x00BCFE19), UINT32_C(0x005B51F8), UINT32_C(0x0037A870),
6348           UINT32_C(0x00898A49), UINT32_C(0x007BD853), UINT32_C(0x0064DA75),
6349           UINT32_C(0x0017497A), UINT32_C(0x0021BE3C), UINT32_C(0x0026C48F),
6350           UINT32_C(0x0035A56E), UINT32_C(0x00079EFC)},
6351          {UINT32_C(0x006AEFDE), UINT32_C(0x007113F8), UINT32_C(0x007013EA),
6352           UINT32_C(0x004A8F2E), UINT32_C(0x0038D8C7), UINT32_C(0x003E2B86),
6353           UINT32_C(0x006499EE), UINT32_C(0x00EF9DD1), UINT32_C(0x00541109),
6354           UINT32_C(0x007F4211), UINT32_C(0x002650ED)},
6355          {UINT32_C(0x00E8730E), UINT32_C(0x007EF6E8), UINT32_C(0x00053E89),
6356           UINT32_C(0x00B164EC), UINT32_C(0x004CFEB8), UINT32_C(0x002674CE),
6357           UINT32_C(0x006FD69F), UINT32_C(0x00862ADC), UINT32_C(0x0074A714),
6358           UINT32_C(0x004E95F1), UINT32_C(0x00440342)}},
6359         {{UINT32_C(0x0086A1D1), UINT32_C(0x0009570F), UINT32_C(0x0021E028),
6360           UINT32_C(0x00D8EF33), UINT32_C(0x0030D08A), UINT32_C(0x005EE53C),
6361           UINT32_C(0x005F27BE), UINT32_C(0x00315BEF), UINT32_C(0x0030A287),
6362           UINT32_C(0x00395DE5), UINT32_C(0x00694DAA)},
6363          {UINT32_C(0x004E499A), UINT32_C(0x0024FC80), UINT32_C(0x0045DA5E),
6364           UINT32_C(0x004542DE), UINT32_C(0x005A6E71), UINT32_C(0x0013BB0D),
6365           UINT32_C(0x0000E551), UINT32_C(0x0009BB0D), UINT32_C(0x00710991),
6366           UINT32_C(0x00116881), UINT32_C(0x0075A138)},
6367          {UINT32_C(0x0039EB19), UINT32_C(0x0067187C), UINT32_C(0x00636CC0),
6368           UINT32_C(0x0094DCEC), UINT32_C(0x001AF3DD), UINT32_C(0x002B8639),
6369           UINT32_C(0x006554E7), UINT32_C(0x00E605EB), UINT32_C(0x0061639B),
6370           UINT32_C(0x0077500A), UINT32_C(0x003193ED)}},
6371         {{UINT32_C(0x0001E326), UINT32_C(0x00352C31), UINT32_C(0x004A76AB),
6372           UINT32_C(0x00D940B5), UINT32_C(0x006329C5), UINT32_C(0x001AFE72),
6373           UINT32_C(0x005E4FE9), UINT32_C(0x00F56D9B), UINT32_C(0x003E7DB3),
6374           UINT32_C(0x00054566), UINT32_C(0x004D0C77)},
6375          {UINT32_C(0x00B344FC), UINT32_C(0x001F79B7), UINT32_C(0x0050F482),
6376           UINT32_C(0x0098D267), UINT32_C(0x001C2619), UINT32_C(0x006BBD65),
6377           UINT32_C(0x00346286), UINT32_C(0x008CAD0C), UINT32_C(0x000FC617),
6378           UINT32_C(0x0032B373), UINT32_C(0x007978E3)},
6379          {UINT32_C(0x00C94333), UINT32_C(0x006B14A8), UINT32_C(0x001075C5),
6380           UINT32_C(0x00BDD939), UINT32_C(0x0000EE70), UINT32_C(0x00188183),
6381           UINT32_C(0x007398E2), UINT32_C(0x0009184A), UINT32_C(0x007DF798),
6382           UINT32_C(0x0057B14F), UINT32_C(0x0021B6A8)}},
6383         {{UINT32_C(0x00F232E3), UINT32_C(0x00449C35), UINT32_C(0x000CC2CD),
6384           UINT32_C(0x0003BBFB), UINT32_C(0x006E022E), UINT32_C(0x005937F0),
6385           UINT32_C(0x000D3400), UINT32_C(0x00A3335B), UINT32_C(0x003797FA),
6386           UINT32_C(0x007E0C16), UINT32_C(0x0068AB4A)},
6387          {UINT32_C(0x00655243), UINT32_C(0x0076EF0C), UINT32_C(0x007A5D62),
6388           UINT32_C(0x0087B99B), UINT32_C(0x007F5266), UINT32_C(0x00129263),
6389           UINT32_C(0x0052B578), UINT32_C(0x00CC7106), UINT32_C(0x004128A7),
6390           UINT32_C(0x0074AFC9), UINT32_C(0x001A0821)},
6391          {UINT32_C(0x0000FE7F), UINT32_C(0x0058CC38), UINT32_C(0x004ACE7A),
6392           UINT32_C(0x0027824A), UINT32_C(0x0071BB43), UINT32_C(0x004CD1C5),
6393           UINT32_C(0x001DE8E5), UINT32_C(0x00FD97F3), UINT32_C(0x004164E0),
6394           UINT32_C(0x00542935), UINT32_C(0x0015EE68)}},
6395         {{UINT32_C(0x0056201E), UINT32_C(0x00572A88), UINT32_C(0x005A66B9),
6396           UINT32_C(0x00A30E5F), UINT32_C(0x000E20E3), UINT32_C(0x000898BF),
6397           UINT32_C(0x003CC5C7), UINT32_C(0x000170BD), UINT32_C(0x003813EE),
6398           UINT32_C(0x00079874), UINT32_C(0x006A5F45)},
6399          {UINT32_C(0x00C07AE0), UINT32_C(0x00680DE0), UINT32_C(0x0012D0D6),
6400           UINT32_C(0x00641F64), UINT32_C(0x000E6F53), UINT32_C(0x000A48AC),
6401           UINT32_C(0x002EBABE), UINT32_C(0x0017E4D0), UINT32_C(0x006B3042),
6402           UINT32_C(0x0047391C), UINT32_C(0x003FC7B5)},
6403          {UINT32_C(0x008AE200), UINT32_C(0x00651B7E), UINT32_C(0x000F51C8),
6404           UINT32_C(0x0034F2DB), UINT32_C(0x00418121), UINT32_C(0x0052E806),
6405           UINT32_C(0x004B57A3), UINT32_C(0x00801E3B), UINT32_C(0x006E2553),
6406           UINT32_C(0x0017FE29), UINT32_C(0x000371F5)}},
6407         {{UINT32_C(0x00E0B571), UINT32_C(0x0043B547), UINT32_C(0x0015696B),
6408           UINT32_C(0x00732AF4), UINT32_C(0x007B6282), UINT32_C(0x007276FC),
6409           UINT32_C(0x00489692), UINT32_C(0x00536F42), UINT32_C(0x00241953),
6410           UINT32_C(0x0047679B), UINT32_C(0x0017A0AD)},
6411          {UINT32_C(0x0071332D), UINT32_C(0x00010B6E), UINT32_C(0x007EE392),
6412           UINT32_C(0x00A7B31C), UINT32_C(0x004921ED), UINT32_C(0x000B32BD),
6413           UINT32_C(0x001187FE), UINT32_C(0x00913F47), UINT32_C(0x000B27ED),
6414           UINT32_C(0x0043B431), UINT32_C(0x0055085B)},
6415          {UINT32_C(0x00E2C137), UINT32_C(0x001AD933), UINT32_C(0x000D0367),
6416           UINT32_C(0x007E38F0), UINT32_C(0x0003205C), UINT32_C(0x0014599A),
6417           UINT32_C(0x001E8DE6), UINT32_C(0x007A88FA), UINT32_C(0x0077198A),
6418           UINT32_C(0x0031A753), UINT32_C(0x002FE194)}},
6419         {{UINT32_C(0x00682B6C), UINT32_C(0x00652986), UINT32_C(0x001F417F),
6420           UINT32_C(0x00DE4F1B), UINT32_C(0x000EF1F1), UINT32_C(0x00036E7F),
6421           UINT32_C(0x005AD789), UINT32_C(0x00AE8DB4), UINT32_C(0x0076B58D),
6422           UINT32_C(0x002E3942), UINT32_C(0x006F7B10)},
6423          {UINT32_C(0x009E5FA2), UINT32_C(0x0008F3C7), UINT32_C(0x00043BDE),
6424           UINT32_C(0x0052A794), UINT32_C(0x0044679C), UINT32_C(0x007F28C0),
6425           UINT32_C(0x00382AB6), UINT32_C(0x00395191), UINT32_C(0x0039B531),
6426           UINT32_C(0x0036F81A), UINT32_C(0x00795887)},
6427          {UINT32_C(0x00F70354), UINT32_C(0x00328B59), UINT32_C(0x003D01A3),
6428           UINT32_C(0x00C9F394), UINT32_C(0x0022F3EA), UINT32_C(0x006F350F),
6429           UINT32_C(0x0058C2B3), UINT32_C(0x0040634F), UINT32_C(0x00320F7C),
6430           UINT32_C(0x006D4BEE), UINT32_C(0x0057CCC9)}},
6431         {{UINT32_C(0x0093E9B9), UINT32_C(0x006BDC73), UINT32_C(0x0045A4A0),
6432           UINT32_C(0x0051A4D7), UINT32_C(0x005C415B), UINT32_C(0x0066BA11),
6433           UINT32_C(0x005AE064), UINT32_C(0x005245BE), UINT32_C(0x00013BE1),
6434           UINT32_C(0x006DD2F6), UINT32_C(0x006F9657)},
6435          {UINT32_C(0x00E1468C), UINT32_C(0x0004FD78), UINT32_C(0x005800DD),
6436           UINT32_C(0x0091E526), UINT32_C(0x0012067D), UINT32_C(0x00481847),
6437           UINT32_C(0x000A9B9D), UINT32_C(0x00D7FB7D), UINT32_C(0x0008AF37),
6438           UINT32_C(0x00598387), UINT32_C(0x0053520A)},
6439          {UINT32_C(0x009411F0), UINT32_C(0x00415CC6), UINT32_C(0x003CFAB9),
6440           UINT32_C(0x00BEE1C6), UINT32_C(0x0011F354), UINT32_C(0x00540421),
6441           UINT32_C(0x005B7E1D), UINT32_C(0x00AA9283), UINT32_C(0x00107457),
6442           UINT32_C(0x000DC4A7), UINT32_C(0x0058459D)}},
6443         {{UINT32_C(0x00531F14), UINT32_C(0x001009E3), UINT32_C(0x0073B657),
6444           UINT32_C(0x00DC0159), UINT32_C(0x00665408), UINT32_C(0x0008FF55),
6445           UINT32_C(0x007D3DF9), UINT32_C(0x0031F848), UINT32_C(0x000B2149),
6446           UINT32_C(0x002E956E), UINT32_C(0x00749370)},
6447          {UINT32_C(0x005EACBA), UINT32_C(0x0013C60C), UINT32_C(0x001B1DCF),
6448           UINT32_C(0x00BE1671), UINT32_C(0x005C94CC), UINT32_C(0x00437E24),
6449           UINT32_C(0x00214684), UINT32_C(0x00207638), UINT32_C(0x002A0D18),
6450           UINT32_C(0x001FE161), UINT32_C(0x001F585E)},
6451          {UINT32_C(0x00FF468A), UINT32_C(0x004D3FD3), UINT32_C(0x000BBF50),
6452           UINT32_C(0x00011D45), UINT32_C(0x001070E3), UINT32_C(0x00438229),
6453           UINT32_C(0x0059AB03), UINT32_C(0x000AA329), UINT32_C(0x00315647),
6454           UINT32_C(0x000CCF61), UINT32_C(0x000F1485)}},
6455         {{UINT32_C(0x009129E3), UINT32_C(0x0012693C), UINT32_C(0x004E8200),
6456           UINT32_C(0x00027D67), UINT32_C(0x00704244), UINT32_C(0x00210CBE),
6457           UINT32_C(0x00192F03), UINT32_C(0x005142DE), UINT32_C(0x001A84FB),
6458           UINT32_C(0x003745C5), UINT32_C(0x0064B88E)},
6459          {UINT32_C(0x004FD4A7), UINT32_C(0x0039F707), UINT32_C(0x0027F3CE),
6460           UINT32_C(0x00C4924F), UINT32_C(0x004C1AC9), UINT32_C(0x005438CD),
6461           UINT32_C(0x0029571A), UINT32_C(0x009A42D3), UINT32_C(0x00437704),
6462           UINT32_C(0x00466DF8), UINT32_C(0x004CAE5F)},
6463          {UINT32_C(0x00CF7ED3), UINT32_C(0x00327495), UINT32_C(0x0023D857),
6464           UINT32_C(0x003ADCC1), UINT32_C(0x00783A07), UINT32_C(0x0070C835),
6465           UINT32_C(0x0063B436), UINT32_C(0x00AF64FA), UINT32_C(0x0043E2D6),
6466           UINT32_C(0x0020BE90), UINT32_C(0x001B98ED)}},
6467         {{UINT32_C(0x00A4C93E), UINT32_C(0x004F4C24), UINT32_C(0x007F4777),
6468           UINT32_C(0x000570E1), UINT32_C(0x003BF809), UINT32_C(0x001608A3),
6469           UINT32_C(0x0073E59E), UINT32_C(0x00B32CC7), UINT32_C(0x005501BF),
6470           UINT32_C(0x00027C79), UINT32_C(0x00793FF1)},
6471          {UINT32_C(0x0019DCA8), UINT32_C(0x001F6A93), UINT32_C(0x007FB9FE),
6472           UINT32_C(0x00389B1A), UINT32_C(0x0032A1FC), UINT32_C(0x001BD948),
6473           UINT32_C(0x00661278), UINT32_C(0x00C98D56), UINT32_C(0x005CDFB2),
6474           UINT32_C(0x004DF065), UINT32_C(0x004DA8B5)},
6475          {UINT32_C(0x008AF82E), UINT32_C(0x0049B701), UINT32_C(0x002A4058),
6476           UINT32_C(0x00937D79), UINT32_C(0x003E1209), UINT32_C(0x006D0224),
6477           UINT32_C(0x00654260), UINT32_C(0x0089CD81), UINT32_C(0x0031BE9C),
6478           UINT32_C(0x007F915B), UINT32_C(0x00545CEB)}},
6479         {{UINT32_C(0x00606923), UINT32_C(0x00535E19), UINT32_C(0x004B9720),
6480           UINT32_C(0x007CF3AC), UINT32_C(0x0009FEE2), UINT32_C(0x0021E97C),
6481           UINT32_C(0x00417B8D), UINT32_C(0x0005C8DC), UINT32_C(0x00278974),
6482           UINT32_C(0x00220131), UINT32_C(0x0001F1EA)},
6483          {UINT32_C(0x0051751A), UINT32_C(0x0022CFFE), UINT32_C(0x0065EAE7),
6484           UINT32_C(0x0002D66F), UINT32_C(0x001CFE5E), UINT32_C(0x0004D158),
6485           UINT32_C(0x003519D9), UINT32_C(0x00C3A426), UINT32_C(0x0050617E),
6486           UINT32_C(0x003DFC62), UINT32_C(0x000C1E82)},
6487          {UINT32_C(0x0054E7F7), UINT32_C(0x003159A5), UINT32_C(0x00536937),
6488           UINT32_C(0x00743C99), UINT32_C(0x002C5B9E), UINT32_C(0x003E5BAC),
6489           UINT32_C(0x00713E45), UINT32_C(0x001C8CC3), UINT32_C(0x00379CFC),
6490           UINT32_C(0x0040AC92), UINT32_C(0x004FD6BA)}},
6491         {{UINT32_C(0x00375AB1), UINT32_C(0x00558A76), UINT32_C(0x00127659),
6492           UINT32_C(0x002E36DD), UINT32_C(0x0017A438), UINT32_C(0x0037085E),
6493           UINT32_C(0x00460F93), UINT32_C(0x00DC21D1), UINT32_C(0x006D33E1),
6494           UINT32_C(0x004422EB), UINT32_C(0x003B5755)},
6495          {UINT32_C(0x003DA9D4), UINT32_C(0x002248E9), UINT32_C(0x0003EAEC),
6496           UINT32_C(0x00D43561), UINT32_C(0x001BF26D), UINT32_C(0x005C5F13),
6497           UINT32_C(0x00626C12), UINT32_C(0x00B918DF), UINT32_C(0x0065CADE),
6498           UINT32_C(0x00717357), UINT32_C(0x005BB6B5)},
6499          {UINT32_C(0x004024E3), UINT32_C(0x0046B939), UINT32_C(0x004E46F3),
6500           UINT32_C(0x001511AF), UINT32_C(0x00776BD7), UINT32_C(0x00320079),
6501           UINT32_C(0x007332F3), UINT32_C(0x007C852A), UINT32_C(0x007816D9),
6502           UINT32_C(0x0068E65E), UINT32_C(0x0045DBB4)}},
6503         {{UINT32_C(0x00E0980A), UINT32_C(0x003CBFDB), UINT32_C(0x0074F5AA),
6504           UINT32_C(0x001EA8DD), UINT32_C(0x002C4C50), UINT32_C(0x00311D45),
6505           UINT32_C(0x0039C948), UINT32_C(0x0055988C), UINT32_C(0x005B5B63),
6506           UINT32_C(0x0041F40E), UINT32_C(0x002C22D4)},
6507          {UINT32_C(0x00AE7440), UINT32_C(0x002ACDC7), UINT32_C(0x0078F4C2),
6508           UINT32_C(0x00199902), UINT32_C(0x001399A7), UINT32_C(0x003DDA20),
6509           UINT32_C(0x00658152), UINT32_C(0x005F646B), UINT32_C(0x006CA0B4),
6510           UINT32_C(0x0073AF03), UINT32_C(0x00052716)},
6511          {UINT32_C(0x007F80B6), UINT32_C(0x003B2F94), UINT32_C(0x00373B83),
6512           UINT32_C(0x00EA1B50), UINT32_C(0x00716C1C), UINT32_C(0x0047A779),
6513           UINT32_C(0x006E478C), UINT32_C(0x009F1C86), UINT32_C(0x00772EF9),
6514           UINT32_C(0x003C8BB5), UINT32_C(0x0003308F)}},
6515     },
6516     {
6517         {{UINT32_C(0x003A0F8A), UINT32_C(0x00239C42), UINT32_C(0x002C8997),
6518           UINT32_C(0x00CB1312), UINT32_C(0x000BA3BF), UINT32_C(0x00433E65),
6519           UINT32_C(0x0004E93D), UINT32_C(0x00BC78BF), UINT32_C(0x0016315F),
6520           UINT32_C(0x007839DA), UINT32_C(0x00072F5D)},
6521          {UINT32_C(0x00431B86), UINT32_C(0x0052B0C9), UINT32_C(0x007B6B54),
6522           UINT32_C(0x0004C666), UINT32_C(0x0021961D), UINT32_C(0x00630D09),
6523           UINT32_C(0x0026B7F8), UINT32_C(0x004B5633), UINT32_C(0x0036F916),
6524           UINT32_C(0x007D08E5), UINT32_C(0x0009930C)},
6525          {UINT32_C(0x006B4F00), UINT32_C(0x001D54A4), UINT32_C(0x00692DA9),
6526           UINT32_C(0x0098837B), UINT32_C(0x0065006A), UINT32_C(0x000704B4),
6527           UINT32_C(0x00424FF9), UINT32_C(0x00C25B4D), UINT32_C(0x005B6D40),
6528           UINT32_C(0x0054C25F), UINT32_C(0x00387F6A)}},
6529         {{UINT32_C(0x002F5512), UINT32_C(0x00654E2D), UINT32_C(0x00668342),
6530           UINT32_C(0x00E2D4F5), UINT32_C(0x001FCDE3), UINT32_C(0x00396F10),
6531           UINT32_C(0x00474238), UINT32_C(0x001DFA11), UINT32_C(0x00536151),
6532           UINT32_C(0x0060AA5E), UINT32_C(0x0008AD4A)},
6533          {UINT32_C(0x00E427F0), UINT32_C(0x005588B0), UINT32_C(0x002428A4),
6534           UINT32_C(0x00DD098A), UINT32_C(0x002CAE12), UINT32_C(0x0005B6F7),
6535           UINT32_C(0x0003677F), UINT32_C(0x00B1209B), UINT32_C(0x000B9B82),
6536           UINT32_C(0x007C5D85), UINT32_C(0x00503BBE)},
6537          {UINT32_C(0x003F3EE8), UINT32_C(0x0071495D), UINT32_C(0x004CA27C),
6538           UINT32_C(0x0057A105), UINT32_C(0x0038F4ED), UINT32_C(0x00019BA2),
6539           UINT32_C(0x00772D19), UINT32_C(0x000C8A1F), UINT32_C(0x002F07EB),
6540           UINT32_C(0x0009E4D0), UINT32_C(0x007AF54E)}},
6541         {{UINT32_C(0x009ED4D4), UINT32_C(0x0035F235), UINT32_C(0x003B3EFE),
6542           UINT32_C(0x00B5687B), UINT32_C(0x007499B6), UINT32_C(0x004AEC1B),
6543           UINT32_C(0x0011D9F3), UINT32_C(0x00F934CA), UINT32_C(0x00626585),
6544           UINT32_C(0x000054A1), UINT32_C(0x0078ADC1)},
6545          {UINT32_C(0x000F1D44), UINT32_C(0x00067701), UINT32_C(0x002F00AB),
6546           UINT32_C(0x008F68D3), UINT32_C(0x001C1C3B), UINT32_C(0x0049876F),
6547           UINT32_C(0x007C5E0C), UINT32_C(0x00958C8A), UINT32_C(0x00585F0E),
6548           UINT32_C(0x003980D2), UINT32_C(0x004C2741)},
6549          {UINT32_C(0x004F0FD3), UINT32_C(0x000519E7), UINT32_C(0x00455DA2),
6550           UINT32_C(0x00E4A2DB), UINT32_C(0x0006A399), UINT32_C(0x005F65BE),
6551           UINT32_C(0x0010C895), UINT32_C(0x00E1E39C), UINT32_C(0x000D2D62),
6552           UINT32_C(0x005489D3), UINT32_C(0x0064F071)}},
6553         {{UINT32_C(0x0075E904), UINT32_C(0x0034221F), UINT32_C(0x006C3082),
6554           UINT32_C(0x001DFF10), UINT32_C(0x007E367A), UINT32_C(0x0044654C),
6555           UINT32_C(0x00214821), UINT32_C(0x0044A5B4), UINT32_C(0x0065B709),
6556           UINT32_C(0x001D42EE), UINT32_C(0x001A97DC)},
6557          {UINT32_C(0x000AD26D), UINT32_C(0x0030E580), UINT32_C(0x006F212B),
6558           UINT32_C(0x00100EE6), UINT32_C(0x000F70F2), UINT32_C(0x007CA3C6),
6559           UINT32_C(0x0017EBC5), UINT32_C(0x00311581), UINT32_C(0x002B7BB5),
6560           UINT32_C(0x00283403), UINT32_C(0x0001A581)},
6561          {UINT32_C(0x009043A2), UINT32_C(0x001B3A77), UINT32_C(0x000FA816),
6562           UINT32_C(0x004B33BF), UINT32_C(0x005044AF), UINT32_C(0x001584E4),
6563           UINT32_C(0x00417440), UINT32_C(0x0006E3D6), UINT32_C(0x00723841),
6564           UINT32_C(0x007F1CF7), UINT32_C(0x000A8A6D)}},
6565         {{UINT32_C(0x0041A857), UINT32_C(0x0034AE73), UINT32_C(0x004BB287),
6566           UINT32_C(0x0086B914), UINT32_C(0x006E11BD), UINT32_C(0x000F0FD1),
6567           UINT32_C(0x003523A3), UINT32_C(0x00860736), UINT32_C(0x00209E71),
6568           UINT32_C(0x0021DE0F), UINT32_C(0x001A4D6B)},
6569          {UINT32_C(0x00F677D7), UINT32_C(0x0048110C), UINT32_C(0x0008F908),
6570           UINT32_C(0x009BD400), UINT32_C(0x006B94AC), UINT32_C(0x0037B8C2),
6571           UINT32_C(0x0049854F), UINT32_C(0x005C4D2F), UINT32_C(0x003BA675),
6572           UINT32_C(0x003C2448), UINT32_C(0x0069DC9E)},
6573          {UINT32_C(0x00025EE8), UINT32_C(0x00384FEB), UINT32_C(0x001C9DA4),
6574           UINT32_C(0x0005A77C), UINT32_C(0x002CEBD8), UINT32_C(0x00253110),
6575           UINT32_C(0x0048F3CD), UINT32_C(0x0045CF49), UINT32_C(0x004771CD),
6576           UINT32_C(0x003F1990), UINT32_C(0x004F6051)}},
6577         {{UINT32_C(0x0003827C), UINT32_C(0x001F112D), UINT32_C(0x0071973A),
6578           UINT32_C(0x0099B096), UINT32_C(0x000C34F8), UINT32_C(0x00397A6A),
6579           UINT32_C(0x007F26ED), UINT32_C(0x00AD0CF1), UINT32_C(0x0069FEEE),
6580           UINT32_C(0x000BB893), UINT32_C(0x00525AC4)},
6581          {UINT32_C(0x001DE590), UINT32_C(0x0063FBAF), UINT32_C(0x0013D7EB),
6582           UINT32_C(0x0042B275), UINT32_C(0x006A1E1B), UINT32_C(0x0010AEC1),
6583           UINT32_C(0x002C78D4), UINT32_C(0x0028C9DF), UINT32_C(0x0045854B),
6584           UINT32_C(0x000789E7), UINT32_C(0x0000074F)},
6585          {UINT32_C(0x008229BF), UINT32_C(0x0069358B), UINT32_C(0x001825AA),
6586           UINT32_C(0x00181405), UINT32_C(0x0073C536), UINT32_C(0x0063CEAE),
6587           UINT32_C(0x0015B3E7), UINT32_C(0x008AFF3F), UINT32_C(0x0010C89E),
6588           UINT32_C(0x001AF589), UINT32_C(0x004E0053)}},
6589         {{UINT32_C(0x0028B9C8), UINT32_C(0x0034B521), UINT32_C(0x003323FB),
6590           UINT32_C(0x00B663B0), UINT32_C(0x004DAAA1), UINT32_C(0x002616C9),
6591           UINT32_C(0x0032ABEB), UINT32_C(0x0040C353), UINT32_C(0x00086B1D),
6592           UINT32_C(0x0036A180), UINT32_C(0x003E458C)},
6593          {UINT32_C(0x00DCF643), UINT32_C(0x002C1001), UINT32_C(0x0052AA3F),
6594           UINT32_C(0x008E9839), UINT32_C(0x004A4E69), UINT32_C(0x001D0E16),
6595           UINT32_C(0x002FBB80), UINT32_C(0x0043D67E), UINT32_C(0x00478B72),
6596           UINT32_C(0x000F9CA3), UINT32_C(0x003AFC42)},
6597          {UINT32_C(0x000DD581), UINT32_C(0x007F85BA), UINT32_C(0x00436D63),
6598           UINT32_C(0x00598F90), UINT32_C(0x0014B661), UINT32_C(0x00306562),
6599           UINT32_C(0x00761E86), UINT32_C(0x006C8505), UINT32_C(0x00568527),
6600           UINT32_C(0x006FDA5A), UINT32_C(0x001ADEA0)}},
6601         {{UINT32_C(0x00890618), UINT32_C(0x000CD682), UINT32_C(0x007E36FF),
6602           UINT32_C(0x00303F12), UINT32_C(0x000B2A6D), UINT32_C(0x00415241),
6603           UINT32_C(0x0025E2C9), UINT32_C(0x00F0E829), UINT32_C(0x003A20B1),
6604           UINT32_C(0x005BC247), UINT32_C(0x004FF913)},
6605          {UINT32_C(0x00C77BF2), UINT32_C(0x004061A1), UINT32_C(0x007197C8),
6606           UINT32_C(0x0031BABD), UINT32_C(0x00096046), UINT32_C(0x0045E643),
6607           UINT32_C(0x006FC909), UINT32_C(0x00088EA6), UINT32_C(0x0070A7CA),
6608           UINT32_C(0x0047B9D0), UINT32_C(0x0050FC48)},
6609          {UINT32_C(0x00FF3B98), UINT32_C(0x0078A423), UINT32_C(0x0012CC47),
6610           UINT32_C(0x00AE776D), UINT32_C(0x0021495E), UINT32_C(0x004A3D73),
6611           UINT32_C(0x00391838), UINT32_C(0x001B0893), UINT32_C(0x000AE103),
6612           UINT32_C(0x005B7AC6), UINT32_C(0x0058F1A9)}},
6613         {{UINT32_C(0x00CAFC7E), UINT32_C(0x006D3D15), UINT32_C(0x003C5E44),
6614           UINT32_C(0x00246F10), UINT32_C(0x00654846), UINT32_C(0x0021C350),
6615           UINT32_C(0x0029B782), UINT32_C(0x000F3BD5), UINT32_C(0x004BA2E1),
6616           UINT32_C(0x000A9813), UINT32_C(0x003DAC06)},
6617          {UINT32_C(0x0081BEA5), UINT32_C(0x005AF750), UINT32_C(0x00231C43),
6618           UINT32_C(0x00546577), UINT32_C(0x00021D5B), UINT32_C(0x00323115),
6619           UINT32_C(0x00360EE5), UINT32_C(0x000B7CC0), UINT32_C(0x0042696D),
6620           UINT32_C(0x0014F38B), UINT32_C(0x00637448)},
6621          {UINT32_C(0x00A10272), UINT32_C(0x0071C42F), UINT32_C(0x005406FB),
6622           UINT32_C(0x000728BE), UINT32_C(0x003FCE1D), UINT32_C(0x00721CC4),
6623           UINT32_C(0x00100233), UINT32_C(0x004A237D), UINT32_C(0x004691A1),
6624           UINT32_C(0x00439B3E), UINT32_C(0x0068BD1A)}},
6625         {{UINT32_C(0x0071251B), UINT32_C(0x00458B01), UINT32_C(0x001E79F8),
6626           UINT32_C(0x00A77A06), UINT32_C(0x0074587F), UINT32_C(0x004DC1C1),
6627           UINT32_C(0x003C2A50), UINT32_C(0x00255231), UINT32_C(0x005C317C),
6628           UINT32_C(0x005F9187), UINT32_C(0x007CF5A9)},
6629          {UINT32_C(0x00098FC2), UINT32_C(0x004404A1), UINT32_C(0x004D04AA),
6630           UINT32_C(0x00464189), UINT32_C(0x0061D090), UINT32_C(0x004E55A9),
6631           UINT32_C(0x0007C50C), UINT32_C(0x00BE825E), UINT32_C(0x00047F09),
6632           UINT32_C(0x000F7FEC), UINT32_C(0x004E42D2)},
6633          {UINT32_C(0x00355E39), UINT32_C(0x002EAC10), UINT32_C(0x00511D7E),
6634           UINT32_C(0x00DF8195), UINT32_C(0x00658D53), UINT32_C(0x007832A7),
6635           UINT32_C(0x00688D4A), UINT32_C(0x00630A34), UINT32_C(0x001BF382),
6636           UINT32_C(0x005EC16E), UINT32_C(0x007B68AD)}},
6637         {{UINT32_C(0x001E2363), UINT32_C(0x0019180C), UINT32_C(0x000DC491),
6638           UINT32_C(0x00624C85), UINT32_C(0x004109E5), UINT32_C(0x006F6F9F),
6639           UINT32_C(0x004721E1), UINT32_C(0x00D89B92), UINT32_C(0x002ACCC1),
6640           UINT32_C(0x0061C123), UINT32_C(0x00181505)},
6641          {UINT32_C(0x005EFABB), UINT32_C(0x007D8985), UINT32_C(0x003C5BC1),
6642           UINT32_C(0x008F46C5), UINT32_C(0x0012B4ED), UINT32_C(0x0064759D),
6643           UINT32_C(0x0058D2A9), UINT32_C(0x00C25CA8), UINT32_C(0x004E6E93),
6644           UINT32_C(0x00503BCA), UINT32_C(0x00512AAA)},
6645          {UINT32_C(0x009D1E14), UINT32_C(0x0074E51E), UINT32_C(0x00245CBE),
6646           UINT32_C(0x00248FE2), UINT32_C(0x0074BDE8), UINT32_C(0x007C074E),
6647           UINT32_C(0x0017A40E), UINT32_C(0x00FF34D1), UINT32_C(0x0057C0A3),
6648           UINT32_C(0x0061B3EC), UINT32_C(0x002677F7)}},
6649         {{UINT32_C(0x00CBF754), UINT32_C(0x0031AE3A), UINT32_C(0x000333B8),
6650           UINT32_C(0x00D4CF78), UINT32_C(0x003E4A56), UINT32_C(0x004E6254),
6651           UINT32_C(0x002FDBFA), UINT32_C(0x00144B0A), UINT32_C(0x0063FB6C),
6652           UINT32_C(0x0001D4D6), UINT32_C(0x007A746B)},
6653          {UINT32_C(0x007361B9), UINT32_C(0x005E8B06), UINT32_C(0x0044E134),
6654           UINT32_C(0x00F4A847), UINT32_C(0x002329D4), UINT32_C(0x0044A5B7),
6655           UINT32_C(0x0044F475), UINT32_C(0x00E61797), UINT32_C(0x0057FB07),
6656           UINT32_C(0x00051722), UINT32_C(0x00241ECD)},
6657          {UINT32_C(0x0022A500), UINT32_C(0x0039A10A), UINT32_C(0x0042D3D5),
6658           UINT32_C(0x00B567D7), UINT32_C(0x0069AA6D), UINT32_C(0x00711215),
6659           UINT32_C(0x002ED8DD), UINT32_C(0x0000F158), UINT32_C(0x006238BE),
6660           UINT32_C(0x005650C3), UINT32_C(0x003D21E8)}},
6661         {{UINT32_C(0x008B1C66), UINT32_C(0x0019194C), UINT32_C(0x0014BFE9),
6662           UINT32_C(0x00748F3D), UINT32_C(0x003CCE8F), UINT32_C(0x0048A87C),
6663           UINT32_C(0x006A1307), UINT32_C(0x006C2B73), UINT32_C(0x002E37A4),
6664           UINT32_C(0x0029162B), UINT32_C(0x0027B4E0)},
6665          {UINT32_C(0x00C21F63), UINT32_C(0x0017955E), UINT32_C(0x0078C143),
6666           UINT32_C(0x00D5E54D), UINT32_C(0x00472F3D), UINT32_C(0x004E389E),
6667           UINT32_C(0x005B4F76), UINT32_C(0x004D23EE), UINT32_C(0x00532138),
6668           UINT32_C(0x00573674), UINT32_C(0x000CEC4B)},
6669          {UINT32_C(0x003DE334), UINT32_C(0x006224BD), UINT32_C(0x000F9C6F),
6670           UINT32_C(0x000A9395), UINT32_C(0x00345EAF), UINT32_C(0x00107910),
6671           UINT32_C(0x0070F64A), UINT32_C(0x00D236DB), UINT32_C(0x0027355D),
6672           UINT32_C(0x00164A6C), UINT32_C(0x007D6D7B)}},
6673         {{UINT32_C(0x008036C4), UINT32_C(0x004A1B91), UINT32_C(0x00471A92),
6674           UINT32_C(0x000371CC), UINT32_C(0x0056DDC0), UINT32_C(0x00130FC6),
6675           UINT32_C(0x00287BA8), UINT32_C(0x00EAE3E3), UINT32_C(0x006A7352),
6676           UINT32_C(0x004599E9), UINT32_C(0x00382164)},
6677          {UINT32_C(0x00B93F79), UINT32_C(0x001E39CD), UINT32_C(0x00201F70),
6678           UINT32_C(0x00EF1A24), UINT32_C(0x00530D3A), UINT32_C(0x005F0647),
6679           UINT32_C(0x00008EE9), UINT32_C(0x00AD3CCB), UINT32_C(0x006C1B3C),
6680           UINT32_C(0x0020B88E), UINT32_C(0x00041C1B)},
6681          {UINT32_C(0x006CAF3D), UINT32_C(0x004A21AC), UINT32_C(0x001CDE34),
6682           UINT32_C(0x0033DD65), UINT32_C(0x005353D1), UINT32_C(0x00584597),
6683           UINT32_C(0x00114182), UINT32_C(0x005CB2D9), UINT32_C(0x0053A5C5),
6684           UINT32_C(0x0071C2D4), UINT32_C(0x00244902)}},
6685         {{UINT32_C(0x00AFA1E1), UINT32_C(0x0064BD11), UINT32_C(0x0014D188),
6686           UINT32_C(0x0002D13D), UINT32_C(0x000E36B8), UINT32_C(0x00354548),
6687           UINT32_C(0x007BB62C), UINT32_C(0x0078DF50), UINT32_C(0x0007E63C),
6688           UINT32_C(0x00056614), UINT32_C(0x003D5281)},
6689          {UINT32_C(0x0028DBA4), UINT32_C(0x0004B80D), UINT32_C(0x004F7FF8),
6690           UINT32_C(0x007AA928), UINT32_C(0x0004ABF1), UINT32_C(0x0023D6FF),
6691           UINT32_C(0x0024B312), UINT32_C(0x00023B8A), UINT32_C(0x003B5EDA),
6692           UINT32_C(0x005AF149), UINT32_C(0x0019FA7B)},
6693          {UINT32_C(0x00FF5820), UINT32_C(0x00358792), UINT32_C(0x0021A28C),
6694           UINT32_C(0x00C51693), UINT32_C(0x000098EE), UINT32_C(0x00034266),
6695           UINT32_C(0x0017723D), UINT32_C(0x00C2DDF5), UINT32_C(0x0000E734),
6696           UINT32_C(0x006DAEF6), UINT32_C(0x0071F7AD)}},
6697         {{UINT32_C(0x002E3AD1), UINT32_C(0x00779201), UINT32_C(0x0068289F),
6698           UINT32_C(0x003F10B0), UINT32_C(0x002706C6), UINT32_C(0x002565B5),
6699           UINT32_C(0x00190C55), UINT32_C(0x0033BD51), UINT32_C(0x000E50F0),
6700           UINT32_C(0x00500819), UINT32_C(0x007C9D08)},
6701          {UINT32_C(0x00FA9D8B), UINT32_C(0x0038DA3F), UINT32_C(0x00693AB6),
6702           UINT32_C(0x00DE9636), UINT32_C(0x005BB3EC), UINT32_C(0x0065B8F5),
6703           UINT32_C(0x00481E55), UINT32_C(0x0061E2C9), UINT32_C(0x001643BF),
6704           UINT32_C(0x00559100), UINT32_C(0x005F79E6)},
6705          {UINT32_C(0x002E392D), UINT32_C(0x001227D4), UINT32_C(0x00293C7B),
6706           UINT32_C(0x00F92994), UINT32_C(0x002FAEE0), UINT32_C(0x00322623),
6707           UINT32_C(0x00434FE2), UINT32_C(0x00199F46), UINT32_C(0x005C180E),
6708           UINT32_C(0x005C3B89), UINT32_C(0x00566D13)}},
6709     },
6710     {
6711         {{UINT32_C(0x004EC5D5), UINT32_C(0x00019CD6), UINT32_C(0x000BBD45),
6712           UINT32_C(0x002193AE), UINT32_C(0x003165C6), UINT32_C(0x003D8D74),
6713           UINT32_C(0x0045059C), UINT32_C(0x008CF60C), UINT32_C(0x00487D06),
6714           UINT32_C(0x005A9D09), UINT32_C(0x007FC6E0)},
6715          {UINT32_C(0x0037B42A), UINT32_C(0x0001A576), UINT32_C(0x000A750D),
6716           UINT32_C(0x0045B5DD), UINT32_C(0x006F0E25), UINT32_C(0x001F4ABF),
6717           UINT32_C(0x0056E0BA), UINT32_C(0x0065543B), UINT32_C(0x00564264),
6718           UINT32_C(0x005ADF58), UINT32_C(0x0069B6ED)},
6719          {UINT32_C(0x0008533F), UINT32_C(0x00673ED0), UINT32_C(0x0053205E),
6720           UINT32_C(0x0060EB8B), UINT32_C(0x000C0216), UINT32_C(0x00483015),
6721           UINT32_C(0x001974B0), UINT32_C(0x00610E9B), UINT32_C(0x00116E88),
6722           UINT32_C(0x001B41F9), UINT32_C(0x003650B6)}},
6723         {{UINT32_C(0x001E87C9), UINT32_C(0x00485E07), UINT32_C(0x00473783),
6724           UINT32_C(0x009E4755), UINT32_C(0x0077AAE3), UINT32_C(0x006CF828),
6725           UINT32_C(0x0064BF5B), UINT32_C(0x00DD1614), UINT32_C(0x001F3F82),
6726           UINT32_C(0x000CDC74), UINT32_C(0x005A217D)},
6727          {UINT32_C(0x007E7DC9), UINT32_C(0x004C5775), UINT32_C(0x00577E73),
6728           UINT32_C(0x0054AC09), UINT32_C(0x00692B30), UINT32_C(0x005074AE),
6729           UINT32_C(0x0047FE74), UINT32_C(0x00814E6D), UINT32_C(0x00611400),
6730           UINT32_C(0x0054CC45), UINT32_C(0x0015E56A)},
6731          {UINT32_C(0x0015BF7F), UINT32_C(0x00720BB8), UINT32_C(0x00128FA3),
6732           UINT32_C(0x00EFF525), UINT32_C(0x002C2B16), UINT32_C(0x000032B7),
6733           UINT32_C(0x0056FA97), UINT32_C(0x006F11AE), UINT32_C(0x0021850D),
6734           UINT32_C(0x00755623), UINT32_C(0x0004F475)}},
6735         {{UINT32_C(0x00DC22CC), UINT32_C(0x005EC978), UINT32_C(0x0075EFAB),
6736           UINT32_C(0x00A67308), UINT32_C(0x001E17A7), UINT32_C(0x00471117),
6737           UINT32_C(0x003D0D24), UINT32_C(0x0002B875), UINT32_C(0x005CD15C),
6738           UINT32_C(0x00791ED0), UINT32_C(0x00519998)},
6739          {UINT32_C(0x006DFC80), UINT32_C(0x003F2D4F), UINT32_C(0x00325346),
6740           UINT32_C(0x00CF12E4), UINT32_C(0x000EF0D1), UINT32_C(0x001D644B),
6741           UINT32_C(0x006A72BB), UINT32_C(0x00E463A5), UINT32_C(0x00393A41),
6742           UINT32_C(0x003CFAB9), UINT32_C(0x0045AEDD)},
6743          {UINT32_C(0x008CF232), UINT32_C(0x00355CF6), UINT32_C(0x0018330B),
6744           UINT32_C(0x00E357D6), UINT32_C(0x002E9F65), UINT32_C(0x00192AA3),
6745           UINT32_C(0x0050E31A), UINT32_C(0x00542788), UINT32_C(0x005C03B4),
6746           UINT32_C(0x0016A4C7), UINT32_C(0x004D85E7)}},
6747         {{UINT32_C(0x005E1B7C), UINT32_C(0x005396EB), UINT32_C(0x002953AC),
6748           UINT32_C(0x0066F21B), UINT32_C(0x000744EB), UINT32_C(0x002BB57E),
6749           UINT32_C(0x00777EC0), UINT32_C(0x000C0908), UINT32_C(0x0063DFBF),
6750           UINT32_C(0x0019D0E1), UINT32_C(0x0053259A)},
6751          {UINT32_C(0x00092AA9), UINT32_C(0x006D7967), UINT32_C(0x007A34E9),
6752           UINT32_C(0x0088833B), UINT32_C(0x007C72DF), UINT32_C(0x00154B92),
6753           UINT32_C(0x0004BEAB), UINT32_C(0x00709C21), UINT32_C(0x001A33F0),
6754           UINT32_C(0x007A15C7), UINT32_C(0x007CB81A)},
6755          {UINT32_C(0x00427117), UINT32_C(0x0060010D), UINT32_C(0x002FB59E),
6756           UINT32_C(0x0081DF74), UINT32_C(0x001C3AFF), UINT32_C(0x00325E38),
6757           UINT32_C(0x003E9EB8), UINT32_C(0x00AFA8A7), UINT32_C(0x002A7623),
6758           UINT32_C(0x001940EC), UINT32_C(0x00678A03)}},
6759         {{UINT32_C(0x0089D0DA), UINT32_C(0x005DD15D), UINT32_C(0x0007F023),
6760           UINT32_C(0x0084B837), UINT32_C(0x0059A36B), UINT32_C(0x0014C4F9),
6761           UINT32_C(0x005A10B9), UINT32_C(0x00EEA8E6), UINT32_C(0x0032C712),
6762           UINT32_C(0x00207104), UINT32_C(0x0051CC16)},
6763          {UINT32_C(0x00788203), UINT32_C(0x005BFACD), UINT32_C(0x0034A954),
6764           UINT32_C(0x00E0855B), UINT32_C(0x007F6BD9), UINT32_C(0x003EAB3A),
6765           UINT32_C(0x0061F2A3), UINT32_C(0x004BF5E9), UINT32_C(0x00203A8B),
6766           UINT32_C(0x007B37C8), UINT32_C(0x00403792)},
6767          {UINT32_C(0x0091D84F), UINT32_C(0x006D1BA7), UINT32_C(0x0036B343),
6768           UINT32_C(0x00319941), UINT32_C(0x000AB9F0), UINT32_C(0x007A1DC1),
6769           UINT32_C(0x0031981C), UINT32_C(0x00F43266), UINT32_C(0x0008BB75),
6770           UINT32_C(0x00485DAF), UINT32_C(0x000A9D74)}},
6771         {{UINT32_C(0x00243625), UINT32_C(0x005BB841), UINT32_C(0x00525C95),
6772           UINT32_C(0x00BC116B), UINT32_C(0x003839C3), UINT32_C(0x0041EB1B),
6773           UINT32_C(0x00221F6B), UINT32_C(0x004EC4AF), UINT32_C(0x006D762B),
6774           UINT32_C(0x005C54FC), UINT32_C(0x007A1F82)},
6775          {UINT32_C(0x00C26515), UINT32_C(0x0000ED4C), UINT32_C(0x001E3B09),
6776           UINT32_C(0x000BEE59), UINT32_C(0x0063B3C5), UINT32_C(0x00275D84),
6777           UINT32_C(0x005756AC), UINT32_C(0x00AF183D), UINT32_C(0x0009020F),
6778           UINT32_C(0x006E34C7), UINT32_C(0x004DC0C8)},
6779          {UINT32_C(0x005B4EB0), UINT32_C(0x0039BA12), UINT32_C(0x000B792C),
6780           UINT32_C(0x00D6B962), UINT32_C(0x003DFD9C), UINT32_C(0x004C2A8A),
6781           UINT32_C(0x0022A010), UINT32_C(0x0067AFC9), UINT32_C(0x0057241F),
6782           UINT32_C(0x003A2810), UINT32_C(0x005C0C2A)}},
6783         {{UINT32_C(0x000F4D05), UINT32_C(0x001E1BA9), UINT32_C(0x003631A2),
6784           UINT32_C(0x002B29CE), UINT32_C(0x007696F1), UINT32_C(0x00313416),
6785           UINT32_C(0x001EB6D3), UINT32_C(0x008D3460), UINT32_C(0x003364E8),
6786           UINT32_C(0x000429EE), UINT32_C(0x007E4FF6)},
6787          {UINT32_C(0x00B98C72), UINT32_C(0x0043B1EA), UINT32_C(0x001A581F),
6788           UINT32_C(0x00295970), UINT32_C(0x0010F065), UINT32_C(0x0039E01E),
6789           UINT32_C(0x002E33BA), UINT32_C(0x0047DF1A), UINT32_C(0x0041422E),
6790           UINT32_C(0x005A3851), UINT32_C(0x003FA8FF)},
6791          {UINT32_C(0x00A29B8E), UINT32_C(0x00702100), UINT32_C(0x001DFDFB),
6792           UINT32_C(0x006CA23F), UINT32_C(0x004F967B), UINT32_C(0x00417B94),
6793           UINT32_C(0x0073DD0F), UINT32_C(0x00D08DB3), UINT32_C(0x001C4006),
6794           UINT32_C(0x003F92DD), UINT32_C(0x000F2874)}},
6795         {{UINT32_C(0x008D5AC8), UINT32_C(0x0031FE77), UINT32_C(0x001EE7B5),
6796           UINT32_C(0x0017DDC8), UINT32_C(0x0010F7EB), UINT32_C(0x0078D778),
6797           UINT32_C(0x0051CF94), UINT32_C(0x00737A58), UINT32_C(0x002F2CA5),
6798           UINT32_C(0x00314107), UINT32_C(0x003BD0E4)},
6799          {UINT32_C(0x00708B31), UINT32_C(0x006E4EE5), UINT32_C(0x0072B5A8),
6800           UINT32_C(0x00B52995), UINT32_C(0x001B7B7D), UINT32_C(0x002853F5),
6801           UINT32_C(0x0071F2D3), UINT32_C(0x0090F660), UINT32_C(0x004E8BAE),
6802           UINT32_C(0x002AEB93), UINT32_C(0x007FE004)},
6803          {UINT32_C(0x0074B2E7), UINT32_C(0x0036F8CC), UINT32_C(0x005A0B4F),
6804           UINT32_C(0x006AC18C), UINT32_C(0x0023E1D0), UINT32_C(0x0018985D),
6805           UINT32_C(0x0044A4EA), UINT32_C(0x00EAD750), UINT32_C(0x001739B5),
6806           UINT32_C(0x00259016), UINT32_C(0x0069AD16)}},
6807         {{UINT32_C(0x00236C6C), UINT32_C(0x002BDCF8), UINT32_C(0x00737342),
6808           UINT32_C(0x00FFE743), UINT32_C(0x0067A4D9), UINT32_C(0x0066D9C1),
6809           UINT32_C(0x00681F98), UINT32_C(0x00599DED), UINT32_C(0x0057B074),
6810           UINT32_C(0x001B308C), UINT32_C(0x0056660C)},
6811          {UINT32_C(0x008B1685), UINT32_C(0x0027EA30), UINT32_C(0x0033CA2D),
6812           UINT32_C(0x0098682C), UINT32_C(0x003F67B0), UINT32_C(0x000C48E9),
6813           UINT32_C(0x0068A704), UINT32_C(0x001C6E9D), UINT32_C(0x00123D06),
6814           UINT32_C(0x0050A933), UINT32_C(0x0053C6D2)},
6815          {UINT32_C(0x00917431), UINT32_C(0x002F64FB), UINT32_C(0x00755E9F),
6816           UINT32_C(0x005D5B9F), UINT32_C(0x006E0959), UINT32_C(0x00068928),
6817           UINT32_C(0x00509EB9), UINT32_C(0x009B4E5E), UINT32_C(0x0000998B),
6818           UINT32_C(0x0008DAD5), UINT32_C(0x00166125)}},
6819         {{UINT32_C(0x00074C2E), UINT32_C(0x00652B12), UINT32_C(0x00202F3C),
6820           UINT32_C(0x0042EBC1), UINT32_C(0x00500167), UINT32_C(0x005CDA15),
6821           UINT32_C(0x001381DA), UINT32_C(0x00CC99F2), UINT32_C(0x005723CA),
6822           UINT32_C(0x001A8C3B), UINT32_C(0x003D5615)},
6823          {UINT32_C(0x00F1A960), UINT32_C(0x007380F6), UINT32_C(0x007009E1),
6824           UINT32_C(0x002EF85B), UINT32_C(0x003B246B), UINT32_C(0x0041405A),
6825           UINT32_C(0x001314CB), UINT32_C(0x009FDCD0), UINT32_C(0x0077491F),
6826           UINT32_C(0x003266F0), UINT32_C(0x00760D83)},
6827          {UINT32_C(0x00C7818E), UINT32_C(0x007864C2), UINT32_C(0x00244BD0),
6828           UINT32_C(0x00F38B08), UINT32_C(0x00688F96), UINT32_C(0x0075C705),
6829           UINT32_C(0x00278414), UINT32_C(0x00B2BFF0), UINT32_C(0x0067126E),
6830           UINT32_C(0x007B7F7E), UINT32_C(0x00078584)}},
6831         {{UINT32_C(0x00FE7A46), UINT32_C(0x005584A0), UINT32_C(0x005CDD0D),
6832           UINT32_C(0x004CF5A8), UINT32_C(0x0019CFA7), UINT32_C(0x00087268),
6833           UINT32_C(0x007FF3F3), UINT32_C(0x0087ACFD), UINT32_C(0x0017BD41),
6834           UINT32_C(0x004A35AA), UINT32_C(0x0014C1BD)},
6835          {UINT32_C(0x005A4052), UINT32_C(0x0032A135), UINT32_C(0x007056C3),
6836           UINT32_C(0x0072F85C), UINT32_C(0x0024A79D), UINT32_C(0x003D7320),
6837           UINT32_C(0x0007F20D), UINT32_C(0x00BEA269), UINT32_C(0x0032F584),
6838           UINT32_C(0x00557016), UINT32_C(0x0009FC2A)},
6839          {UINT32_C(0x006E58DD), UINT32_C(0x00414D93), UINT32_C(0x001D725A),
6840           UINT32_C(0x00A5AB22), UINT32_C(0x000AD82C), UINT32_C(0x00613758),
6841           UINT32_C(0x00773B55), UINT32_C(0x00D581E2), UINT32_C(0x006342F0),
6842           UINT32_C(0x0022FB1A), UINT32_C(0x0028348D)}},
6843         {{UINT32_C(0x00940FFC), UINT32_C(0x006CC86D), UINT32_C(0x0033CE22),
6844           UINT32_C(0x00A629FD), UINT32_C(0x0032CFBE), UINT32_C(0x0011788D),
6845           UINT32_C(0x0027D4E5), UINT32_C(0x0043AC5A), UINT32_C(0x003CEEDA),
6846           UINT32_C(0x000057AA), UINT32_C(0x00614643)},
6847          {UINT32_C(0x00312B0D), UINT32_C(0x003C3AC9), UINT32_C(0x00126EE8),
6848           UINT32_C(0x003F24AF), UINT32_C(0x0006CC19), UINT32_C(0x00656F4F),
6849           UINT32_C(0x004E91CF), UINT32_C(0x001EC679), UINT32_C(0x0010294E),
6850           UINT32_C(0x0023F5E9), UINT32_C(0x00181E45)},
6851          {UINT32_C(0x008C28C0), UINT32_C(0x0016213D), UINT32_C(0x0010311C),
6852           UINT32_C(0x00744F39), UINT32_C(0x006CEA8C), UINT32_C(0x0066FA80),
6853           UINT32_C(0x005E3FA5), UINT32_C(0x001D61EB), UINT32_C(0x001E0217),
6854           UINT32_C(0x002F43D5), UINT32_C(0x001EAA47)}},
6855         {{UINT32_C(0x00854120), UINT32_C(0x005AA732), UINT32_C(0x00608D63),
6856           UINT32_C(0x003180C7), UINT32_C(0x00513CB6), UINT32_C(0x0013362E),
6857           UINT32_C(0x00492465), UINT32_C(0x00A81D33), UINT32_C(0x0038349B),
6858           UINT32_C(0x004C1B24), UINT32_C(0x0061B37A)},
6859          {UINT32_C(0x00B13B17), UINT32_C(0x003AC756), UINT32_C(0x004C7642),
6860           UINT32_C(0x0067AC7F), UINT32_C(0x003F23FE), UINT32_C(0x0058AA8A),
6861           UINT32_C(0x000B0977), UINT32_C(0x001D605C), UINT32_C(0x00713AD3),
6862           UINT32_C(0x0060BA46), UINT32_C(0x0041F85A)},
6863          {UINT32_C(0x00E37216), UINT32_C(0x0043A345), UINT32_C(0x00223407),
6864           UINT32_C(0x00256265), UINT32_C(0x0011C42F), UINT32_C(0x00138466),
6865           UINT32_C(0x004733CC), UINT32_C(0x003535EC), UINT32_C(0x0001BC86),
6866           UINT32_C(0x003D1B86), UINT32_C(0x004AE885)}},
6867         {{UINT32_C(0x00DC7159), UINT32_C(0x001767D1), UINT32_C(0x007AE0AB),
6868           UINT32_C(0x000878A1), UINT32_C(0x004FB364), UINT32_C(0x0033B0EF),
6869           UINT32_C(0x00742CF7), UINT32_C(0x00C6A756), UINT32_C(0x0078F550),
6870           UINT32_C(0x00711F81), UINT32_C(0x0065A975)},
6871          {UINT32_C(0x00439414), UINT32_C(0x0015AFCF), UINT32_C(0x007EE055),
6872           UINT32_C(0x00DD71C8), UINT32_C(0x0045F656), UINT32_C(0x00624A54),
6873           UINT32_C(0x003005FC), UINT32_C(0x00BC7324), UINT32_C(0x0055842E),
6874           UINT32_C(0x00165223), UINT32_C(0x0037D7D6)},
6875          {UINT32_C(0x0019F5F5), UINT32_C(0x0020DA89), UINT32_C(0x006C89E9),
6876           UINT32_C(0x00F41904), UINT32_C(0x003D42D9), UINT32_C(0x0055B010),
6877           UINT32_C(0x00175AA4), UINT32_C(0x00B1A716), UINT32_C(0x000083AA),
6878           UINT32_C(0x000A3EEC), UINT32_C(0x00170791)}},
6879         {{UINT32_C(0x004FE6CC), UINT32_C(0x0027F794), UINT32_C(0x001DEE50),
6880           UINT32_C(0x001D47C8), UINT32_C(0x00482A07), UINT32_C(0x00728F59),
6881           UINT32_C(0x002E9AFB), UINT32_C(0x00416429), UINT32_C(0x00429086),
6882           UINT32_C(0x002A42B2), UINT32_C(0x0004C02A)},
6883          {UINT32_C(0x004B5C0A), UINT32_C(0x0035BDD6), UINT32_C(0x001FE687),
6884           UINT32_C(0x0027AF73), UINT32_C(0x001A6D1A), UINT32_C(0x000FBB3C),
6885           UINT32_C(0x00213872), UINT32_C(0x00EC16E6), UINT32_C(0x00636F30),
6886           UINT32_C(0x00415394), UINT32_C(0x0012E98D)},
6887          {UINT32_C(0x008D471A), UINT32_C(0x0069E551), UINT32_C(0x00493B23),
6888           UINT32_C(0x006ED1B7), UINT32_C(0x0047A3E8), UINT32_C(0x00249EC8),
6889           UINT32_C(0x003D1AD9), UINT32_C(0x0023243A), UINT32_C(0x0078E657),
6890           UINT32_C(0x007AC870), UINT32_C(0x0039DDDE)}},
6891         {{UINT32_C(0x00775995), UINT32_C(0x004A7A1C), UINT32_C(0x00706EC4),
6892           UINT32_C(0x005F75E2), UINT32_C(0x0023C9C5), UINT32_C(0x0024BCC8),
6893           UINT32_C(0x007DC9AC), UINT32_C(0x001AFD8F), UINT32_C(0x006B47B9),
6894           UINT32_C(0x004747AD), UINT32_C(0x007B084D)},
6895          {UINT32_C(0x000A9B5C), UINT32_C(0x007354D6), UINT32_C(0x006AB188),
6896           UINT32_C(0x00A35212), UINT32_C(0x003BDF54), UINT32_C(0x00027ACE),
6897           UINT32_C(0x002AEF52), UINT32_C(0x00C45137), UINT32_C(0x0058980E),
6898           UINT32_C(0x0050F4F0), UINT32_C(0x003E8EEE)},
6899          {UINT32_C(0x00EB4040), UINT32_C(0x00618F66), UINT32_C(0x0031BE2F),
6900           UINT32_C(0x00A1EAB0), UINT32_C(0x00038AF5), UINT32_C(0x0001EC6C),
6901           UINT32_C(0x0007421A), UINT32_C(0x0051B097), UINT32_C(0x0043B013),
6902           UINT32_C(0x0060ED3F), UINT32_C(0x0036AC22)}},
6903     },
6904     {
6905         {{UINT32_C(0x00A77DAC), UINT32_C(0x001DB3FD), UINT32_C(0x00389F54),
6906           UINT32_C(0x00564F6D), UINT32_C(0x0063CF36), UINT32_C(0x001C46B6),
6907           UINT32_C(0x00311686), UINT32_C(0x00E982B7), UINT32_C(0x00027D0F),
6908           UINT32_C(0x0050362C), UINT32_C(0x001AEA89)},
6909          {UINT32_C(0x0002BC8A), UINT32_C(0x0036E565), UINT32_C(0x00342121),
6910           UINT32_C(0x00ED769D), UINT32_C(0x002A92C3), UINT32_C(0x00325573),
6911           UINT32_C(0x0018B0E6), UINT32_C(0x00F11ADF), UINT32_C(0x004B976B),
6912           UINT32_C(0x00069633), UINT32_C(0x004FFC55)},
6913          {UINT32_C(0x00FD2FC2), UINT32_C(0x00401B07), UINT32_C(0x00294102),
6914           UINT32_C(0x008EA5E0), UINT32_C(0x0030664D), UINT32_C(0x00142EC3),
6915           UINT32_C(0x003FE051), UINT32_C(0x00F56D80), UINT32_C(0x0039FEE3),
6916           UINT32_C(0x00000AEB), UINT32_C(0x006D0C5F)}},
6917         {{UINT32_C(0x00DD75D0), UINT32_C(0x0044A3C3), UINT32_C(0x005A506D),
6918           UINT32_C(0x00EC37FD), UINT32_C(0x00316AD7), UINT32_C(0x0000D14B),
6919           UINT32_C(0x00204476), UINT32_C(0x0051C697), UINT32_C(0x00083305),
6920           UINT32_C(0x0058D9B1), UINT32_C(0x0070999F)},
6921          {UINT32_C(0x00E5E93B), UINT32_C(0x006C0468), UINT32_C(0x0009400E),
6922           UINT32_C(0x0075F8FF), UINT32_C(0x0035F1A4), UINT32_C(0x00506173),
6923           UINT32_C(0x002364E5), UINT32_C(0x00414D87), UINT32_C(0x0008B606),
6924           UINT32_C(0x00686394), UINT32_C(0x006AA160)},
6925          {UINT32_C(0x006BD2E2), UINT32_C(0x007A2B7F), UINT32_C(0x005F146B),
6926           UINT32_C(0x00369239), UINT32_C(0x00079C56), UINT32_C(0x00062C62),
6927           UINT32_C(0x0077B021), UINT32_C(0x003A29B7), UINT32_C(0x002867FF),
6928           UINT32_C(0x0055BBB5), UINT32_C(0x0005D042)}},
6929         {{UINT32_C(0x00D8B383), UINT32_C(0x007DD79F), UINT32_C(0x00789E04),
6930           UINT32_C(0x00F01FC3), UINT32_C(0x0009A138), UINT32_C(0x00652EF9),
6931           UINT32_C(0x0004B8F0), UINT32_C(0x00CD2D9B), UINT32_C(0x002A8B21),
6932           UINT32_C(0x00711CBB), UINT32_C(0x003F479B)},
6933          {UINT32_C(0x0084BAF3), UINT32_C(0x00077832), UINT32_C(0x005C239A),
6934           UINT32_C(0x0060F9F5), UINT32_C(0x00157D11), UINT32_C(0x004B04C3),
6935           UINT32_C(0x00398E89), UINT32_C(0x00DFDB89), UINT32_C(0x004B12EE),
6936           UINT32_C(0x002B1159), UINT32_C(0x0070A1B8)},
6937          {UINT32_C(0x00034A6C), UINT32_C(0x004C89E9), UINT32_C(0x0022DB26),
6938           UINT32_C(0x00C601C3), UINT32_C(0x0032D1E3), UINT32_C(0x002503F8),
6939           UINT32_C(0x00632E24), UINT32_C(0x00EA95FF), UINT32_C(0x000FDA31),
6940           UINT32_C(0x002551E5), UINT32_C(0x004F9CB2)}},
6941         {{UINT32_C(0x00862AF4), UINT32_C(0x00210FBD), UINT32_C(0x001E6C80),
6942           UINT32_C(0x00400C9B), UINT32_C(0x000AA70B), UINT32_C(0x00736A0A),
6943           UINT32_C(0x005A2C84), UINT32_C(0x00C59BAC), UINT32_C(0x000BB281),
6944           UINT32_C(0x002CF44A), UINT32_C(0x0061244E)},
6945          {UINT32_C(0x00856415), UINT32_C(0x0016B2C8), UINT32_C(0x00735666),
6946           UINT32_C(0x001D23DD), UINT32_C(0x001134A9), UINT32_C(0x0017A1D4),
6947           UINT32_C(0x0026D1CE), UINT32_C(0x00EECC13), UINT32_C(0x0049B200),
6948           UINT32_C(0x00153F17), UINT32_C(0x0011DDAE)},
6949          {UINT32_C(0x00007750), UINT32_C(0x001134B0), UINT32_C(0x004BF17D),
6950           UINT32_C(0x00D2423A), UINT32_C(0x003D2D7B), UINT32_C(0x00085F31),
6951           UINT32_C(0x00227CDF), UINT32_C(0x00654CD2), UINT32_C(0x00082CCF),
6952           UINT32_C(0x007C9CA4), UINT32_C(0x004C47BB)}},
6953         {{UINT32_C(0x00362E13), UINT32_C(0x003A337C), UINT32_C(0x002BBA20),
6954           UINT32_C(0x0001856C), UINT32_C(0x0002C1DE), UINT32_C(0x000E51A8),
6955           UINT32_C(0x00457B9D), UINT32_C(0x0057882E), UINT32_C(0x0037807D),
6956           UINT32_C(0x0015B24A), UINT32_C(0x001A74BE)},
6957          {UINT32_C(0x003DB4CB), UINT32_C(0x004A35FE), UINT32_C(0x003DBBAB),
6958           UINT32_C(0x007E3023), UINT32_C(0x00194FC7), UINT32_C(0x0012B3C2),
6959           UINT32_C(0x00776FBF), UINT32_C(0x001E11B7), UINT32_C(0x002DB7AA),
6960           UINT32_C(0x001DED18), UINT32_C(0x0069ABF1)},
6961          {UINT32_C(0x005FE93D), UINT32_C(0x000BDB4C), UINT32_C(0x00250B7A),
6962           UINT32_C(0x008A93E9), UINT32_C(0x006F3CAC), UINT32_C(0x0003D972),
6963           UINT32_C(0x0057B7D4), UINT32_C(0x00D0FA5F), UINT32_C(0x0051BCDF),
6964           UINT32_C(0x0037A606), UINT32_C(0x0046594A)}},
6965         {{UINT32_C(0x00FD1F79), UINT32_C(0x00305A30), UINT32_C(0x000AD2AE),
6966           UINT32_C(0x00BFF664), UINT32_C(0x002CE671), UINT32_C(0x006F9E53),
6967           UINT32_C(0x00242322), UINT32_C(0x000EB83C), UINT32_C(0x000DA108),
6968           UINT32_C(0x007B1505), UINT32_C(0x001BB588)},
6969          {UINT32_C(0x00D17F2A), UINT32_C(0x0005A272), UINT32_C(0x0023C922),
6970           UINT32_C(0x00F5BEA6), UINT32_C(0x00534FEC), UINT32_C(0x00201847),
6971           UINT32_C(0x0057D139), UINT32_C(0x00553AC8), UINT32_C(0x0038D49D),
6972           UINT32_C(0x000D9A41), UINT32_C(0x0023FA44)},
6973          {UINT32_C(0x00A4394C), UINT32_C(0x001C1150), UINT32_C(0x000C4BC9),
6974           UINT32_C(0x0013E6EB), UINT32_C(0x0030FD03), UINT32_C(0x005496B5),
6975           UINT32_C(0x002200CE), UINT32_C(0x009477CB), UINT32_C(0x00167FB8),
6976           UINT32_C(0x001C4D58), UINT32_C(0x004FD444)}},
6977         {{UINT32_C(0x00D5EEEC), UINT32_C(0x0038E42A), UINT32_C(0x005A4364),
6978           UINT32_C(0x00980627), UINT32_C(0x007F2577), UINT32_C(0x003612FD),
6979           UINT32_C(0x004E0E1F), UINT32_C(0x0074D370), UINT32_C(0x00528EA6),
6980           UINT32_C(0x00018673), UINT32_C(0x004D7509)},
6981          {UINT32_C(0x0029610F), UINT32_C(0x004535B8), UINT32_C(0x00041762),
6982           UINT32_C(0x008EF8FD), UINT32_C(0x002AA59D), UINT32_C(0x00083B18),
6983           UINT32_C(0x00479122), UINT32_C(0x005A4922), UINT32_C(0x002CECA2),
6984           UINT32_C(0x00256BF4), UINT32_C(0x0043B7C3)},
6985          {UINT32_C(0x00B47D51), UINT32_C(0x00748FB4), UINT32_C(0x00584310),
6986           UINT32_C(0x00EE3A6C), UINT32_C(0x005E556A), UINT32_C(0x0052BA2B),
6987           UINT32_C(0x00500FBB), UINT32_C(0x00A9860A), UINT32_C(0x007A7128),
6988           UINT32_C(0x000D1669), UINT32_C(0x002C17E0)}},
6989         {{UINT32_C(0x0007B0B0), UINT32_C(0x005AEDEE), UINT32_C(0x0076ED54),
6990           UINT32_C(0x00274E51), UINT32_C(0x007BD17E), UINT32_C(0x000BE439),
6991           UINT32_C(0x000ED5DB), UINT32_C(0x00D7925E), UINT32_C(0x003F2A50),
6992           UINT32_C(0x002F0773), UINT32_C(0x003546F9)},
6993          {UINT32_C(0x001B8BC5), UINT32_C(0x00567960), UINT32_C(0x0038FA10),
6994           UINT32_C(0x00C2575C), UINT32_C(0x0027332E), UINT32_C(0x003071D4),
6995           UINT32_C(0x0078A9F6), UINT32_C(0x00BCAE5E), UINT32_C(0x00760FF1),
6996           UINT32_C(0x000E8EC0), UINT32_C(0x006EA98F)},
6997          {UINT32_C(0x00676ADD), UINT32_C(0x004ED26F), UINT32_C(0x0030B66C),
6998           UINT32_C(0x00E96FB8), UINT32_C(0x0055C569), UINT32_C(0x00323FB1),
6999           UINT32_C(0x00440986), UINT32_C(0x00F3E007), UINT32_C(0x005F14FE),
7000           UINT32_C(0x000E5FD2), UINT32_C(0x00585D5A)}},
7001         {{UINT32_C(0x0032D10F), UINT32_C(0x00607846), UINT32_C(0x00476A55),
7002           UINT32_C(0x00FE8A15), UINT32_C(0x0076749E), UINT32_C(0x00385608),
7003           UINT32_C(0x0029E6F6), UINT32_C(0x0098FFAC), UINT32_C(0x004086D0),
7004           UINT32_C(0x00587F0C), UINT32_C(0x0048DEFF)},
7005          {UINT32_C(0x008F82EA), UINT32_C(0x00011EC5), UINT32_C(0x001CAAB9),
7006           UINT32_C(0x00B6A781), UINT32_C(0x000436C9), UINT32_C(0x005DDE65),
7007           UINT32_C(0x002E38F8), UINT32_C(0x003A69F4), UINT32_C(0x003DF1D2),
7008           UINT32_C(0x0026F1E7), UINT32_C(0x003D5D6D)},
7009          {UINT32_C(0x007322DD), UINT32_C(0x001FFAF0), UINT32_C(0x0012A21B),
7010           UINT32_C(0x003853AE), UINT32_C(0x0001D98A), UINT32_C(0x0000748E),
7011           UINT32_C(0x00667AE8), UINT32_C(0x002F7BE9), UINT32_C(0x001686BF),
7012           UINT32_C(0x00050052), UINT32_C(0x0079765D)}},
7013         {{UINT32_C(0x00267E76), UINT32_C(0x000F5A32), UINT32_C(0x00798CB2),
7014           UINT32_C(0x0086E395), UINT32_C(0x00005266), UINT32_C(0x0025806B),
7015           UINT32_C(0x007EE459), UINT32_C(0x001EF2A7), UINT32_C(0x00034FD1),
7016           UINT32_C(0x0018C3F9), UINT32_C(0x0002FCBE)},
7017          {UINT32_C(0x004C278B), UINT32_C(0x0025C270), UINT32_C(0x00642402),
7018           UINT32_C(0x0024F47B), UINT32_C(0x006E96A1), UINT32_C(0x006B67FC),
7019           UINT32_C(0x00446A7C), UINT32_C(0x009B9BAB), UINT32_C(0x00774C2A),
7020           UINT32_C(0x005B2890), UINT32_C(0x0007534E)},
7021          {UINT32_C(0x00979647), UINT32_C(0x003D9A12), UINT32_C(0x0009C489),
7022           UINT32_C(0x002D6F0A), UINT32_C(0x007ED7E2), UINT32_C(0x004A5B1B),
7023           UINT32_C(0x005C265E), UINT32_C(0x006AF72E), UINT32_C(0x003BFD06),
7024           UINT32_C(0x0019EE72), UINT32_C(0x002BC98A)}},
7025         {{UINT32_C(0x0036094F), UINT32_C(0x0053D51E), UINT32_C(0x0039DA8E),
7026           UINT32_C(0x00C24407), UINT32_C(0x00754444), UINT32_C(0x00541686),
7027           UINT32_C(0x0038413C), UINT32_C(0x003D42D5), UINT32_C(0x002B576F),
7028           UINT32_C(0x0025B7F0), UINT32_C(0x00037AE8)},
7029          {UINT32_C(0x00FF6011), UINT32_C(0x00739A4B), UINT32_C(0x002CFD0E),
7030           UINT32_C(0x0034CBE5), UINT32_C(0x001C69C4), UINT32_C(0x00183B00),
7031           UINT32_C(0x0070A07F), UINT32_C(0x00416B07), UINT32_C(0x001873B9),
7032           UINT32_C(0x004C82C4), UINT32_C(0x0012AF7C)},
7033          {UINT32_C(0x009DAB06), UINT32_C(0x00006525), UINT32_C(0x005F4AC2),
7034           UINT32_C(0x0007B1CD), UINT32_C(0x0025B80B), UINT32_C(0x006B0D4A),
7035           UINT32_C(0x0017A0F3), UINT32_C(0x005371E3), UINT32_C(0x00786EF8),
7036           UINT32_C(0x005F7C4F), UINT32_C(0x0060CA6A)}},
7037         {{UINT32_C(0x00D21942), UINT32_C(0x0071B130), UINT32_C(0x0010AF58),
7038           UINT32_C(0x0032F341), UINT32_C(0x0073BD94), UINT32_C(0x0005C17D),
7039           UINT32_C(0x0052C1D1), UINT32_C(0x00AC355D), UINT32_C(0x007A20DB),
7040           UINT32_C(0x0041259A), UINT32_C(0x0044FFAB)},
7041          {UINT32_C(0x006E331F), UINT32_C(0x007C1495), UINT32_C(0x00648A89),
7042           UINT32_C(0x00C406A1), UINT32_C(0x000F1EB7), UINT32_C(0x0031E5FB),
7043           UINT32_C(0x006C8D65), UINT32_C(0x00C6C865), UINT32_C(0x004B7DF2),
7044           UINT32_C(0x0079769E), UINT32_C(0x002083D4)},
7045          {UINT32_C(0x00980997), UINT32_C(0x00485E01), UINT32_C(0x000FDD04),
7046           UINT32_C(0x00404293), UINT32_C(0x001BE19E), UINT32_C(0x00079D78),
7047           UINT32_C(0x0058EB9B), UINT32_C(0x005DBD87), UINT32_C(0x00702A47),
7048           UINT32_C(0x0039F856), UINT32_C(0x000ADFA8)}},
7049         {{UINT32_C(0x00601C16), UINT32_C(0x006BAD25), UINT32_C(0x000B27D9),
7050           UINT32_C(0x003CE316), UINT32_C(0x000BF903), UINT32_C(0x00305942),
7051           UINT32_C(0x0055AA45), UINT32_C(0x006C251C), UINT32_C(0x001C0764),
7052           UINT32_C(0x004DB871), UINT32_C(0x006990D9)},
7053          {UINT32_C(0x0035029C), UINT32_C(0x0056F54C), UINT32_C(0x0071AAA5),
7054           UINT32_C(0x003BB302), UINT32_C(0x00511665), UINT32_C(0x004B1D6D),
7055           UINT32_C(0x00792CCE), UINT32_C(0x009D6482), UINT32_C(0x005F2322),
7056           UINT32_C(0x0060FBFB), UINT32_C(0x003DAEFF)},
7057          {UINT32_C(0x005DFF91), UINT32_C(0x007B3C15), UINT32_C(0x003C73C5),
7058           UINT32_C(0x0099D915), UINT32_C(0x0047AF99), UINT32_C(0x005655E6),
7059           UINT32_C(0x001004A5), UINT32_C(0x001F3259), UINT32_C(0x0050988B),
7060           UINT32_C(0x005D60E0), UINT32_C(0x002BE896)}},
7061         {{UINT32_C(0x002B631C), UINT32_C(0x00372C82), UINT32_C(0x002A7F2A),
7062           UINT32_C(0x00E4A975), UINT32_C(0x006BB6B1), UINT32_C(0x0016BC52),
7063           UINT32_C(0x00473CD2), UINT32_C(0x00630310), UINT32_C(0x0016B945),
7064           UINT32_C(0x0001291B), UINT32_C(0x0059EF17)},
7065          {UINT32_C(0x00837D4E), UINT32_C(0x003216D3), UINT32_C(0x004E0701),
7066           UINT32_C(0x00823A76), UINT32_C(0x00567125), UINT32_C(0x0020E62F),
7067           UINT32_C(0x0036F8E4), UINT32_C(0x0091634B), UINT32_C(0x000CE9C9),
7068           UINT32_C(0x00712DF3), UINT32_C(0x003270FE)},
7069          {UINT32_C(0x00C8BD36), UINT32_C(0x00312227), UINT32_C(0x005851DE),
7070           UINT32_C(0x00989694), UINT32_C(0x003811BA), UINT32_C(0x0049DDC1),
7071           UINT32_C(0x0079916E), UINT32_C(0x00905B34), UINT32_C(0x00216CD3),
7072           UINT32_C(0x006E95D0), UINT32_C(0x0075102E)}},
7073         {{UINT32_C(0x000FE15B), UINT32_C(0x002132F9), UINT32_C(0x007302D9),
7074           UINT32_C(0x0074464C), UINT32_C(0x006545FE), UINT32_C(0x0025178A),
7075           UINT32_C(0x0037772B), UINT32_C(0x00F33555), UINT32_C(0x006628A7),
7076           UINT32_C(0x00639C7D), UINT32_C(0x0017AF1B)},
7077          {UINT32_C(0x0016001E), UINT32_C(0x00346FAA), UINT32_C(0x0055CC08),
7078           UINT32_C(0x006A26EC), UINT32_C(0x00272A70), UINT32_C(0x0073B255),
7079           UINT32_C(0x0066C9CC), UINT32_C(0x00E05374), UINT32_C(0x0031E05D),
7080           UINT32_C(0x007241E6), UINT32_C(0x0064D29A)},
7081          {UINT32_C(0x000904B8), UINT32_C(0x000ACC3E), UINT32_C(0x005C0BC8),
7082           UINT32_C(0x00708FA3), UINT32_C(0x006420DB), UINT32_C(0x0009EB68),
7083           UINT32_C(0x007DF36A), UINT32_C(0x0004C79A), UINT32_C(0x00688FB7),
7084           UINT32_C(0x001853DD), UINT32_C(0x00391517)}},
7085         {{UINT32_C(0x0045C93C), UINT32_C(0x001ADA91), UINT32_C(0x005BEF12),
7086           UINT32_C(0x00652E9C), UINT32_C(0x00109290), UINT32_C(0x00351B47),
7087           UINT32_C(0x00649B3C), UINT32_C(0x0093B9EA), UINT32_C(0x0031C49B),
7088           UINT32_C(0x006129D9), UINT32_C(0x0018C36F)},
7089          {UINT32_C(0x0039F849), UINT32_C(0x0076DDFD), UINT32_C(0x004D8E8B),
7090           UINT32_C(0x00CC9068), UINT32_C(0x00257C98), UINT32_C(0x0022E647),
7091           UINT32_C(0x0010E3A5), UINT32_C(0x0071627F), UINT32_C(0x004D6728),
7092           UINT32_C(0x001036C0), UINT32_C(0x00293E1C)},
7093          {UINT32_C(0x00A0883B), UINT32_C(0x0047D948), UINT32_C(0x0029727E),
7094           UINT32_C(0x007C052C), UINT32_C(0x0064B122), UINT32_C(0x003228B8),
7095           UINT32_C(0x0004B695), UINT32_C(0x00850591), UINT32_C(0x00086718),
7096           UINT32_C(0x0035AE85), UINT32_C(0x001253D1)}},
7097     },
7098     {
7099         {{UINT32_C(0x00B27045), UINT32_C(0x007C6BA4), UINT32_C(0x000BBA03),
7100           UINT32_C(0x00D9B116), UINT32_C(0x007774E3), UINT32_C(0x0042950E),
7101           UINT32_C(0x0017A228), UINT32_C(0x002DD987), UINT32_C(0x0078FFD1),
7102           UINT32_C(0x006CC9E6), UINT32_C(0x002D3C1B)},
7103          {UINT32_C(0x00A56D1F), UINT32_C(0x002BB5F0), UINT32_C(0x005FB594),
7104           UINT32_C(0x0009E3C8), UINT32_C(0x0040549B), UINT32_C(0x0008E785),
7105           UINT32_C(0x005E84B9), UINT32_C(0x0003AE65), UINT32_C(0x00476B1B),
7106           UINT32_C(0x004B6DB7), UINT32_C(0x00255FEE)},
7107          {UINT32_C(0x001D2AC3), UINT32_C(0x0053D8C2), UINT32_C(0x0053ABBA),
7108           UINT32_C(0x0062F195), UINT32_C(0x00583DCF), UINT32_C(0x005C7CC7),
7109           UINT32_C(0x0016B088), UINT32_C(0x00E1FD84), UINT32_C(0x003BDF9C),
7110           UINT32_C(0x004B6242), UINT32_C(0x0078CDD1)}},
7111         {{UINT32_C(0x0072E704), UINT32_C(0x002A3E71), UINT32_C(0x0016610F),
7112           UINT32_C(0x009B3715), UINT32_C(0x005FCB07), UINT32_C(0x005D8BCF),
7113           UINT32_C(0x00320582), UINT32_C(0x00A47F78), UINT32_C(0x005E225E),
7114           UINT32_C(0x00168430), UINT32_C(0x004428AB)},
7115          {UINT32_C(0x004370E5), UINT32_C(0x005D2F9B), UINT32_C(0x00189EF7),
7116           UINT32_C(0x0099C20D), UINT32_C(0x0054ECBC), UINT32_C(0x00656294),
7117           UINT32_C(0x00121DD8), UINT32_C(0x009B9829), UINT32_C(0x007E3E6A),
7118           UINT32_C(0x003A665F), UINT32_C(0x001EFD05)},
7119          {UINT32_C(0x008DCA62), UINT32_C(0x006B5EF8), UINT32_C(0x00434D75),
7120           UINT32_C(0x00FAA8B9), UINT32_C(0x0011A045), UINT32_C(0x006E5D43),
7121           UINT32_C(0x004E67E5), UINT32_C(0x00966939), UINT32_C(0x005A4ABC),
7122           UINT32_C(0x002BC8B7), UINT32_C(0x001B23C1)}},
7123         {{UINT32_C(0x004E71F0), UINT32_C(0x00091B67), UINT32_C(0x00288D0F),
7124           UINT32_C(0x003DBF2B), UINT32_C(0x0034CDF1), UINT32_C(0x005B1542),
7125           UINT32_C(0x007363B6), UINT32_C(0x005CE63B), UINT32_C(0x0002FAD4),
7126           UINT32_C(0x001E8FE4), UINT32_C(0x00419934)},
7127          {UINT32_C(0x008F0055), UINT32_C(0x00718F3D), UINT32_C(0x00464487),
7128           UINT32_C(0x00B1F62E), UINT32_C(0x001D1DD4), UINT32_C(0x005C579E),
7129           UINT32_C(0x000761B7), UINT32_C(0x00CADFA8), UINT32_C(0x005881B3),
7130           UINT32_C(0x000CF2A5), UINT32_C(0x00236B83)},
7131          {UINT32_C(0x000EDD83), UINT32_C(0x00641C10), UINT32_C(0x0077B165),
7132           UINT32_C(0x005DFADE), UINT32_C(0x0002C161), UINT32_C(0x004C0EAB),
7133           UINT32_C(0x004F8FA8), UINT32_C(0x005182C2), UINT32_C(0x0022EE1E),
7134           UINT32_C(0x002FC0D1), UINT32_C(0x0072B941)}},
7135         {{UINT32_C(0x00BE3284), UINT32_C(0x00265E75), UINT32_C(0x0054BBEA),
7136           UINT32_C(0x009FEA89), UINT32_C(0x006A5BC5), UINT32_C(0x00468BF6),
7137           UINT32_C(0x0061091E), UINT32_C(0x0021D236), UINT32_C(0x00770DDF),
7138           UINT32_C(0x0044380D), UINT32_C(0x00261B8D)},
7139          {UINT32_C(0x0048B464), UINT32_C(0x0007F870), UINT32_C(0x00664579),
7140           UINT32_C(0x00EBB0D3), UINT32_C(0x0034FB4E), UINT32_C(0x0062BF86),
7141           UINT32_C(0x0030A6E2), UINT32_C(0x00141079), UINT32_C(0x004C4867),
7142           UINT32_C(0x0021F669), UINT32_C(0x006C48AC)},
7143          {UINT32_C(0x001F1A30), UINT32_C(0x00402CCF), UINT32_C(0x002EC836),
7144           UINT32_C(0x0076E3D0), UINT32_C(0x0045490A), UINT32_C(0x0074B706),
7145           UINT32_C(0x005C524F), UINT32_C(0x00A8A8B0), UINT32_C(0x001A4F8F),
7146           UINT32_C(0x00192D28), UINT32_C(0x0065C94E)}},
7147         {{UINT32_C(0x00053602), UINT32_C(0x0050EAFD), UINT32_C(0x003DFE2B),
7148           UINT32_C(0x00BAD911), UINT32_C(0x000BAA2C), UINT32_C(0x0067D960),
7149           UINT32_C(0x000D9F5E), UINT32_C(0x00C75FB5), UINT32_C(0x0061E525),
7150           UINT32_C(0x0042DF4C), UINT32_C(0x0078BFD6)},
7151          {UINT32_C(0x00DDF860), UINT32_C(0x0064B891), UINT32_C(0x000AAD9E),
7152           UINT32_C(0x0055DAD8), UINT32_C(0x000CD34A), UINT32_C(0x007F4F89),
7153           UINT32_C(0x00720D9B), UINT32_C(0x000C777A), UINT32_C(0x005C019C),
7154           UINT32_C(0x007BF2C9), UINT32_C(0x002B11EB)},
7155          {UINT32_C(0x002C702B), UINT32_C(0x00152B74), UINT32_C(0x002C06C6),
7156           UINT32_C(0x00CAC7B3), UINT32_C(0x00651F98), UINT32_C(0x006BEE21),
7157           UINT32_C(0x0022FC91), UINT32_C(0x00D0E1A2), UINT32_C(0x000F1226),
7158           UINT32_C(0x0000CB76), UINT32_C(0x000AD2FB)}},
7159         {{UINT32_C(0x003B07A3), UINT32_C(0x005563EB), UINT32_C(0x000F5875),
7160           UINT32_C(0x004E85ED), UINT32_C(0x004DF848), UINT32_C(0x00086603),
7161           UINT32_C(0x001FE9F6), UINT32_C(0x0060B2A8), UINT32_C(0x00796256),
7162           UINT32_C(0x00146D3D), UINT32_C(0x007A622F)},
7163          {UINT32_C(0x00659E8D), UINT32_C(0x000F45E5), UINT32_C(0x0079D2B9),
7164           UINT32_C(0x00E3F2C8), UINT32_C(0x002FA0A9), UINT32_C(0x0043F516),
7165           UINT32_C(0x0064D221), UINT32_C(0x0007AF6F), UINT32_C(0x005DA3B1),
7166           UINT32_C(0x00750DD3), UINT32_C(0x003DC647)},
7167          {UINT32_C(0x003A7DCA), UINT32_C(0x0078F870), UINT32_C(0x0059ECCF),
7168           UINT32_C(0x00721F6A), UINT32_C(0x0073DDE5), UINT32_C(0x0052F61E),
7169           UINT32_C(0x005E03A9), UINT32_C(0x0096290F), UINT32_C(0x007684CD),
7170           UINT32_C(0x0063A740), UINT32_C(0x00273750)}},
7171         {{UINT32_C(0x008ABF8E), UINT32_C(0x004EDC3D), UINT32_C(0x007BBD24),
7172           UINT32_C(0x0037EA5E), UINT32_C(0x0028D8C0), UINT32_C(0x001BE0C2),
7173           UINT32_C(0x00582236), UINT32_C(0x007A566E), UINT32_C(0x001F4783),
7174           UINT32_C(0x005F6DB4), UINT32_C(0x0018F286)},
7175          {UINT32_C(0x0040CAF8), UINT32_C(0x00287C70), UINT32_C(0x002C9166),
7176           UINT32_C(0x00C254F6), UINT32_C(0x005E2D68), UINT32_C(0x003B46FC),
7177           UINT32_C(0x004EA606), UINT32_C(0x00D0B9C1), UINT32_C(0x00228115),
7178           UINT32_C(0x0072EEA6), UINT32_C(0x00471670)},
7179          {UINT32_C(0x0020A1FA), UINT32_C(0x0075C7D9), UINT32_C(0x005426EA),
7180           UINT32_C(0x000046B2), UINT32_C(0x0076BA0A), UINT32_C(0x0050CEA6),
7181           UINT32_C(0x002D133F), UINT32_C(0x005C8821), UINT32_C(0x00406072),
7182           UINT32_C(0x000A7F19), UINT32_C(0x001740F3)}},
7183         {{UINT32_C(0x0090884A), UINT32_C(0x00146BFD), UINT32_C(0x00625FB2),
7184           UINT32_C(0x00C92B84), UINT32_C(0x00097A91), UINT32_C(0x005EACD5),
7185           UINT32_C(0x005F0661), UINT32_C(0x00870EC3), UINT32_C(0x006D7279),
7186           UINT32_C(0x002CE3E6), UINT32_C(0x0078F980)},
7187          {UINT32_C(0x00A2B367), UINT32_C(0x000EF557), UINT32_C(0x004EBC90),
7188           UINT32_C(0x0065B548), UINT32_C(0x004E46D1), UINT32_C(0x006D0EF0),
7189           UINT32_C(0x00299E83), UINT32_C(0x0016D017), UINT32_C(0x004A428A),
7190           UINT32_C(0x00034582), UINT32_C(0x0052ED77)},
7191          {UINT32_C(0x004E0B1E), UINT32_C(0x000C37F8), UINT32_C(0x006C666A),
7192           UINT32_C(0x00436BD9), UINT32_C(0x001FC7FE), UINT32_C(0x0000D390),
7193           UINT32_C(0x006900A5), UINT32_C(0x0062D837), UINT32_C(0x006CD0E6),
7194           UINT32_C(0x00557AD7), UINT32_C(0x002B57B6)}},
7195         {{UINT32_C(0x005F93D9), UINT32_C(0x0021EC83), UINT32_C(0x0057A32B),
7196           UINT32_C(0x001CD982), UINT32_C(0x0008309F), UINT32_C(0x0052B2E6),
7197           UINT32_C(0x002068F6), UINT32_C(0x00CD4622), UINT32_C(0x005EC9A6),
7198           UINT32_C(0x002F2CCD), UINT32_C(0x00056DCE)},
7199          {UINT32_C(0x003E91E9), UINT32_C(0x0002F289), UINT32_C(0x006BF91B),
7200           UINT32_C(0x006CBB4B), UINT32_C(0x00145A1F), UINT32_C(0x007ECA85),
7201           UINT32_C(0x004AE385), UINT32_C(0x00BC0058), UINT32_C(0x007D219A),
7202           UINT32_C(0x00406CB9), UINT32_C(0x001586B8)},
7203          {UINT32_C(0x00EE30F0), UINT32_C(0x00094A1A), UINT32_C(0x0006C4A5),
7204           UINT32_C(0x0095BBBF), UINT32_C(0x0033B602), UINT32_C(0x005C234E),
7205           UINT32_C(0x00405945), UINT32_C(0x002F42B7), UINT32_C(0x0060F012),
7206           UINT32_C(0x000547D1), UINT32_C(0x00331A12)}},
7207         {{UINT32_C(0x00AE8C48), UINT32_C(0x00301B89), UINT32_C(0x0030B3A1),
7208           UINT32_C(0x0030AF95), UINT32_C(0x00455E58), UINT32_C(0x005D22F1),
7209           UINT32_C(0x0072D976), UINT32_C(0x007AD824), UINT32_C(0x0005D4B7),
7210           UINT32_C(0x003E29C4), UINT32_C(0x007D5C6C)},
7211          {UINT32_C(0x00610488), UINT32_C(0x00575F2E), UINT32_C(0x005AC7FE),
7212           UINT32_C(0x0074B494), UINT32_C(0x006F1543), UINT32_C(0x00029B2A),
7213           UINT32_C(0x002B9948), UINT32_C(0x0057D800), UINT32_C(0x0052921B),
7214           UINT32_C(0x00117385), UINT32_C(0x001058C5)},
7215          {UINT32_C(0x00EA545B), UINT32_C(0x0032E693), UINT32_C(0x004AF898),
7216           UINT32_C(0x00FFE54C), UINT32_C(0x0039ECD8), UINT32_C(0x00093986),
7217           UINT32_C(0x004575D9), UINT32_C(0x00CDB661), UINT32_C(0x007A392E),
7218           UINT32_C(0x0001939C), UINT32_C(0x0028D022)}},
7219         {{UINT32_C(0x00DA7B5B), UINT32_C(0x0030FFBD), UINT32_C(0x00548E82),
7220           UINT32_C(0x00DD7D1E), UINT32_C(0x00373E22), UINT32_C(0x0060EA9C),
7221           UINT32_C(0x00463822), UINT32_C(0x0091DF8B), UINT32_C(0x001801F8),
7222           UINT32_C(0x0046D441), UINT32_C(0x000C8688)},
7223          {UINT32_C(0x00EE0CC8), UINT32_C(0x00699131), UINT32_C(0x000427E3),
7224           UINT32_C(0x00F43A07), UINT32_C(0x00318E56), UINT32_C(0x00415F0B),
7225           UINT32_C(0x0065B06D), UINT32_C(0x00C66DEB), UINT32_C(0x0069C98F),
7226           UINT32_C(0x000B21D5), UINT32_C(0x000B711D)},
7227          {UINT32_C(0x00D0339C), UINT32_C(0x002E2E3B), UINT32_C(0x00573739),
7228           UINT32_C(0x007F843C), UINT32_C(0x0012F74D), UINT32_C(0x001934CA),
7229           UINT32_C(0x0011DDD6), UINT32_C(0x00DF048B), UINT32_C(0x004D7027),
7230           UINT32_C(0x005B0107), UINT32_C(0x0069D6BF)}},
7231         {{UINT32_C(0x00F44C75), UINT32_C(0x003F20FB), UINT32_C(0x0011CE27),
7232           UINT32_C(0x00F7E2A9), UINT32_C(0x006914F7), UINT32_C(0x0020C3E4),
7233           UINT32_C(0x00683AAF), UINT32_C(0x007DE3A9), UINT32_C(0x001E6E79),
7234           UINT32_C(0x0006F6AF), UINT32_C(0x00563C95)},
7235          {UINT32_C(0x004904B2), UINT32_C(0x00517306), UINT32_C(0x0049E4D2),
7236           UINT32_C(0x00459886), UINT32_C(0x001E326B), UINT32_C(0x003AF2A6),
7237           UINT32_C(0x004F40C8), UINT32_C(0x0072BF1A), UINT32_C(0x00692E44),
7238           UINT32_C(0x0046EF04), UINT32_C(0x007235C7)},
7239          {UINT32_C(0x0099C193), UINT32_C(0x0032477B), UINT32_C(0x0064C855),
7240           UINT32_C(0x00F64B95), UINT32_C(0x006D6DE1), UINT32_C(0x0038972C),
7241           UINT32_C(0x002E92A5), UINT32_C(0x00FB0D34), UINT32_C(0x0000A7FB),
7242           UINT32_C(0x00436D2A), UINT32_C(0x002AE23C)}},
7243         {{UINT32_C(0x005B55EE), UINT32_C(0x00269FC6), UINT32_C(0x0031ABD5),
7244           UINT32_C(0x00AFFAE5), UINT32_C(0x0007CF80), UINT32_C(0x003582AB),
7245           UINT32_C(0x004AA0DA), UINT32_C(0x003B2950), UINT32_C(0x0027722C),
7246           UINT32_C(0x006DA175), UINT32_C(0x00538D39)},
7247          {UINT32_C(0x00E803AA), UINT32_C(0x0078E9FA), UINT32_C(0x000599F4),
7248           UINT32_C(0x00C7D432), UINT32_C(0x00482F43), UINT32_C(0x0031EDC5),
7249           UINT32_C(0x007E0348), UINT32_C(0x0099EAD8), UINT32_C(0x00384F4D),
7250           UINT32_C(0x004DACD4), UINT32_C(0x0046AD0D)},
7251          {UINT32_C(0x00A97546), UINT32_C(0x000FB21C), UINT32_C(0x0015497C),
7252           UINT32_C(0x008E62D2), UINT32_C(0x00505DE5), UINT32_C(0x000B95C5),
7253           UINT32_C(0x0023EDFF), UINT32_C(0x00264B13), UINT32_C(0x002BCD90),
7254           UINT32_C(0x00627803), UINT32_C(0x0036514F)}},
7255         {{UINT32_C(0x0089E077), UINT32_C(0x0036ADDA), UINT32_C(0x001647F5),
7256           UINT32_C(0x0088678C), UINT32_C(0x002D4F15), UINT32_C(0x004AD6CA),
7257           UINT32_C(0x000239EF), UINT32_C(0x00784B5B), UINT32_C(0x003FA0B6),
7258           UINT32_C(0x001178A4), UINT32_C(0x00506FAF)},
7259          {UINT32_C(0x00B41F08), UINT32_C(0x00501231), UINT32_C(0x00193B29),
7260           UINT32_C(0x00837915), UINT32_C(0x0052BE13), UINT32_C(0x0067A94C),
7261           UINT32_C(0x00080E1A), UINT32_C(0x00FF39EB), UINT32_C(0x0012E0B7),
7262           UINT32_C(0x0004446B), UINT32_C(0x001FD9A4)},
7263          {UINT32_C(0x00EAA0DA), UINT32_C(0x002DD110), UINT32_C(0x00768BF0),
7264           UINT32_C(0x00174EE3), UINT32_C(0x006B40A2), UINT32_C(0x004308C1),
7265           UINT32_C(0x006A7D56), UINT32_C(0x0080EF9C), UINT32_C(0x006C09DF),
7266           UINT32_C(0x00024E1D), UINT32_C(0x00025FFC)}},
7267         {{UINT32_C(0x007CFBB3), UINT32_C(0x0008B1DC), UINT32_C(0x00221743),
7268           UINT32_C(0x00E6686B), UINT32_C(0x00152BCE), UINT32_C(0x001317D6),
7269           UINT32_C(0x00437CCD), UINT32_C(0x002FC802), UINT32_C(0x006681B5),
7270           UINT32_C(0x00462383), UINT32_C(0x007A6155)},
7271          {UINT32_C(0x00C0616E), UINT32_C(0x0065B50F), UINT32_C(0x00575631),
7272           UINT32_C(0x008AE62D), UINT32_C(0x001A3DAF), UINT32_C(0x001CB629),
7273           UINT32_C(0x000690A5), UINT32_C(0x000E40AF), UINT32_C(0x0027B0F1),
7274           UINT32_C(0x0030A43B), UINT32_C(0x003D750B)},
7275          {UINT32_C(0x0006E7C1), UINT32_C(0x001F7E8D), UINT32_C(0x007DDEB5),
7276           UINT32_C(0x003E61D8), UINT32_C(0x0052F00A), UINT32_C(0x0007F477),
7277           UINT32_C(0x0002FCF5), UINT32_C(0x00E51DDA), UINT32_C(0x00710B09),
7278           UINT32_C(0x00162A00), UINT32_C(0x0070E436)}},
7279         {{UINT32_C(0x0089B486), UINT32_C(0x00508B10), UINT32_C(0x00504CD3),
7280           UINT32_C(0x007CBEF5), UINT32_C(0x00401259), UINT32_C(0x0016A84C),
7281           UINT32_C(0x005DDAF1), UINT32_C(0x00CA278E), UINT32_C(0x005227AF),
7282           UINT32_C(0x000A6D32), UINT32_C(0x0025F71B)},
7283          {UINT32_C(0x009CE1F9), UINT32_C(0x00535376), UINT32_C(0x0038A997),
7284           UINT32_C(0x008FCF77), UINT32_C(0x001681BE), UINT32_C(0x0030BB0D),
7285           UINT32_C(0x0079D5C2), UINT32_C(0x00CCB407), UINT32_C(0x00115E29),
7286           UINT32_C(0x006BEA8D), UINT32_C(0x0077DF80)},
7287          {UINT32_C(0x000328F3), UINT32_C(0x0062691B), UINT32_C(0x00429269),
7288           UINT32_C(0x00D14DE5), UINT32_C(0x001B9543), UINT32_C(0x00310721),
7289           UINT32_C(0x005A6271), UINT32_C(0x00077EE6), UINT32_C(0x006695BC),
7290           UINT32_C(0x00502870), UINT32_C(0x005376F2)}},
7291     },
7292     {
7293         {{UINT32_C(0x00F38262), UINT32_C(0x00203985), UINT32_C(0x0029479B),
7294           UINT32_C(0x0057D8A4), UINT32_C(0x002352DF), UINT32_C(0x005A3DE0),
7295           UINT32_C(0x0038FC9D), UINT32_C(0x005E69CE), UINT32_C(0x007195C8),
7296           UINT32_C(0x007F3F0C), UINT32_C(0x0075AA44)},
7297          {UINT32_C(0x00A2B12A), UINT32_C(0x0005AB91), UINT32_C(0x0005801E),
7298           UINT32_C(0x00BD3E26), UINT32_C(0x004A3566), UINT32_C(0x0039622B),
7299           UINT32_C(0x00196466), UINT32_C(0x003385DF), UINT32_C(0x00464F26),
7300           UINT32_C(0x00348D32), UINT32_C(0x006B3D82)},
7301          {UINT32_C(0x0065745B), UINT32_C(0x00756984), UINT32_C(0x000663B1),
7302           UINT32_C(0x00F8FADD), UINT32_C(0x005D0DD6), UINT32_C(0x005A5E23),
7303           UINT32_C(0x0021B9BE), UINT32_C(0x009BBEE7), UINT32_C(0x003310A0),
7304           UINT32_C(0x0008941E), UINT32_C(0x006EFBEF)}},
7305         {{UINT32_C(0x008285AF), UINT32_C(0x0032D42C), UINT32_C(0x004A921F),
7306           UINT32_C(0x00501992), UINT32_C(0x00684DBF), UINT32_C(0x001A5365),
7307           UINT32_C(0x0036ABF8), UINT32_C(0x004599AB), UINT32_C(0x003153D1),
7308           UINT32_C(0x004357B7), UINT32_C(0x00289208)},
7309          {UINT32_C(0x00BF2760), UINT32_C(0x000C24C0), UINT32_C(0x0057E755),
7310           UINT32_C(0x000FB090), UINT32_C(0x007F2FA3), UINT32_C(0x0034386D),
7311           UINT32_C(0x004D0670), UINT32_C(0x007D5F67), UINT32_C(0x00770E2C),
7312           UINT32_C(0x004F400F), UINT32_C(0x0004CA31)},
7313          {UINT32_C(0x00C5736B), UINT32_C(0x0025DE46), UINT32_C(0x00184C66),
7314           UINT32_C(0x002454E1), UINT32_C(0x006C791A), UINT32_C(0x00695E64),
7315           UINT32_C(0x0005F1A3), UINT32_C(0x00D89A22), UINT32_C(0x00339085),
7316           UINT32_C(0x00612026), UINT32_C(0x0011E398)}},
7317         {{UINT32_C(0x00580ED8), UINT32_C(0x00351562), UINT32_C(0x003AC56C),
7318           UINT32_C(0x0082A872), UINT32_C(0x00009388), UINT32_C(0x0059018D),
7319           UINT32_C(0x00428E6F), UINT32_C(0x0044580D), UINT32_C(0x00397D38),
7320           UINT32_C(0x001413BF), UINT32_C(0x0019ACCA)},
7321          {UINT32_C(0x00EBF493), UINT32_C(0x0065B688), UINT32_C(0x00475CB8),
7322           UINT32_C(0x000C5271), UINT32_C(0x001FA36C), UINT32_C(0x002065F1),
7323           UINT32_C(0x001E357D), UINT32_C(0x002E3A47), UINT32_C(0x007D686D),
7324           UINT32_C(0x0016A68A), UINT32_C(0x00662C00)},
7325          {UINT32_C(0x00BBB7E7), UINT32_C(0x00118B8C), UINT32_C(0x00257EA2),
7326           UINT32_C(0x00EAE0BF), UINT32_C(0x00534B32), UINT32_C(0x002C3391),
7327           UINT32_C(0x005F91A4), UINT32_C(0x009CC53C), UINT32_C(0x000D1F59),
7328           UINT32_C(0x0044B89F), UINT32_C(0x004E2285)}},
7329         {{UINT32_C(0x0027C85C), UINT32_C(0x0034E4D0), UINT32_C(0x0034EE41),
7330           UINT32_C(0x0000C14F), UINT32_C(0x00466E36), UINT32_C(0x0012ED82),
7331           UINT32_C(0x004AB2CC), UINT32_C(0x00BB7B93), UINT32_C(0x0013EE11),
7332           UINT32_C(0x0071AADD), UINT32_C(0x000E9430)},
7333          {UINT32_C(0x0048606F), UINT32_C(0x000E389D), UINT32_C(0x005B7915),
7334           UINT32_C(0x00DA42A8), UINT32_C(0x003E8287), UINT32_C(0x001D2AF2),
7335           UINT32_C(0x0044CA11), UINT32_C(0x00C9B883), UINT32_C(0x000B95FA),
7336           UINT32_C(0x00571771), UINT32_C(0x002FD7F4)},
7337          {UINT32_C(0x00DD2691), UINT32_C(0x0071C20D), UINT32_C(0x00544E37),
7338           UINT32_C(0x00458C30), UINT32_C(0x005ED950), UINT32_C(0x000A642E),
7339           UINT32_C(0x000316B6), UINT32_C(0x00F34871), UINT32_C(0x0030B700),
7340           UINT32_C(0x007D4AA7), UINT32_C(0x000E8F8F)}},
7341         {{UINT32_C(0x00AFDFD3), UINT32_C(0x0023AB6D), UINT32_C(0x003A134B),
7342           UINT32_C(0x007521AF), UINT32_C(0x002E2236), UINT32_C(0x00146DF2),
7343           UINT32_C(0x00201697), UINT32_C(0x000389A1), UINT32_C(0x0048BE72),
7344           UINT32_C(0x003FD0B3), UINT32_C(0x003AD399)},
7345          {UINT32_C(0x00453802), UINT32_C(0x0058F172), UINT32_C(0x000BD847),
7346           UINT32_C(0x005FE8C6), UINT32_C(0x0040628C), UINT32_C(0x004614B8),
7347           UINT32_C(0x004205D4), UINT32_C(0x00259F68), UINT32_C(0x0076F623),
7348           UINT32_C(0x00678707), UINT32_C(0x0057C6D8)},
7349          {UINT32_C(0x00DB4A5B), UINT32_C(0x004A2766), UINT32_C(0x00614411),
7350           UINT32_C(0x00510EC4), UINT32_C(0x007473CF), UINT32_C(0x0051CB0E),
7351           UINT32_C(0x0014EC5F), UINT32_C(0x000483E0), UINT32_C(0x001F7AE6),
7352           UINT32_C(0x0078A5EC), UINT32_C(0x003FC5C6)}},
7353         {{UINT32_C(0x00E73CF6), UINT32_C(0x00365645), UINT32_C(0x0026EE89),
7354           UINT32_C(0x006AC701), UINT32_C(0x007831F1), UINT32_C(0x00393FC7),
7355           UINT32_C(0x0003E80C), UINT32_C(0x008ECBE8), UINT32_C(0x0027B4A8),
7356           UINT32_C(0x0037554F), UINT32_C(0x006AD6BD)},
7357          {UINT32_C(0x001857E4), UINT32_C(0x00657687), UINT32_C(0x0036B228),
7358           UINT32_C(0x006A820E), UINT32_C(0x00459485), UINT32_C(0x002AA7DA),
7359           UINT32_C(0x0031670E), UINT32_C(0x0099F393), UINT32_C(0x0023D587),
7360           UINT32_C(0x000B8D51), UINT32_C(0x0067F4BE)},
7361          {UINT32_C(0x00604B7F), UINT32_C(0x00531996), UINT32_C(0x000F3A4C),
7362           UINT32_C(0x00EFD0BB), UINT32_C(0x001D4914), UINT32_C(0x004C04B3),
7363           UINT32_C(0x0003D908), UINT32_C(0x00AA3218), UINT32_C(0x00403685),
7364           UINT32_C(0x0072EB6A), UINT32_C(0x002176B1)}},
7365         {{UINT32_C(0x00DC72D5), UINT32_C(0x0053C100), UINT32_C(0x006992E3),
7366           UINT32_C(0x00532CA0), UINT32_C(0x004D3AD9), UINT32_C(0x0016B1F6),
7367           UINT32_C(0x00776F4B), UINT32_C(0x006ECD70), UINT32_C(0x004FC6E0),
7368           UINT32_C(0x00766557), UINT32_C(0x0019E21F)},
7369          {UINT32_C(0x002B1672), UINT32_C(0x003C3FDF), UINT32_C(0x00324542),
7370           UINT32_C(0x007B582B), UINT32_C(0x0002AD86), UINT32_C(0x00528C4E),
7371           UINT32_C(0x003D3509), UINT32_C(0x00D075CA), UINT32_C(0x00783A6B),
7372           UINT32_C(0x0032D6B0), UINT32_C(0x00655B92)},
7373          {UINT32_C(0x0067E0B1), UINT32_C(0x001D8E27), UINT32_C(0x002F0272),
7374           UINT32_C(0x00BBEB09), UINT32_C(0x0017C396), UINT32_C(0x005B451C),
7375           UINT32_C(0x000ADC03), UINT32_C(0x00F50759), UINT32_C(0x000DE4C0),
7376           UINT32_C(0x006BAD90), UINT32_C(0x0015A7A2)}},
7377         {{UINT32_C(0x009DA550), UINT32_C(0x004309EA), UINT32_C(0x006FDD59),
7378           UINT32_C(0x00C427DA), UINT32_C(0x00454A59), UINT32_C(0x005B8E71),
7379           UINT32_C(0x00341B12), UINT32_C(0x00252CD4), UINT32_C(0x00111FF0),
7380           UINT32_C(0x007E3827), UINT32_C(0x0048F3DC)},
7381          {UINT32_C(0x00BC3FD8), UINT32_C(0x00513D87), UINT32_C(0x0004F4BB),
7382           UINT32_C(0x0040E743), UINT32_C(0x007CD878), UINT32_C(0x0010C877),
7383           UINT32_C(0x005F89C4), UINT32_C(0x00F5CB3E), UINT32_C(0x0074C6FA),
7384           UINT32_C(0x006D3B3F), UINT32_C(0x0027626C)},
7385          {UINT32_C(0x004FE9AA), UINT32_C(0x001A4C25), UINT32_C(0x005FC4B0),
7386           UINT32_C(0x00C432AF), UINT32_C(0x005E26E5), UINT32_C(0x003B434E),
7387           UINT32_C(0x0027CFF2), UINT32_C(0x0043D716), UINT32_C(0x0059B5A6),
7388           UINT32_C(0x00333789), UINT32_C(0x0011248B)}},
7389         {{UINT32_C(0x00CA0B46), UINT32_C(0x00797C4C), UINT32_C(0x0025673C),
7390           UINT32_C(0x004C5796), UINT32_C(0x000F4352), UINT32_C(0x00477E09),
7391           UINT32_C(0x007CE235), UINT32_C(0x00B62DDB), UINT32_C(0x00398769),
7392           UINT32_C(0x00598708), UINT32_C(0x002AA80B)},
7393          {UINT32_C(0x006334CD), UINT32_C(0x0007E78A), UINT32_C(0x000B78B3),
7394           UINT32_C(0x00945807), UINT32_C(0x005E6E86), UINT32_C(0x005554D4),
7395           UINT32_C(0x000A6B65), UINT32_C(0x00306D92), UINT32_C(0x005D12E8),
7396           UINT32_C(0x003DEB11), UINT32_C(0x00385DB1)},
7397          {UINT32_C(0x000A5E84), UINT32_C(0x006D3E68), UINT32_C(0x00756665),
7398           UINT32_C(0x004A1477), UINT32_C(0x00348B5C), UINT32_C(0x0048952E),
7399           UINT32_C(0x002EDCD0), UINT32_C(0x0017A1F7), UINT32_C(0x000D0B6A),
7400           UINT32_C(0x002CC6D4), UINT32_C(0x00357331)}},
7401         {{UINT32_C(0x0079D8A5), UINT32_C(0x007C1D32), UINT32_C(0x0026F73E),
7402           UINT32_C(0x00DC858C), UINT32_C(0x002CFF0F), UINT32_C(0x007FA1D8),
7403           UINT32_C(0x000AA161), UINT32_C(0x009E41A9), UINT32_C(0x0009D873),
7404           UINT32_C(0x004C0E2C), UINT32_C(0x001DB409)},
7405          {UINT32_C(0x0018D65B), UINT32_C(0x0022CD31), UINT32_C(0x00390F42),
7406           UINT32_C(0x00D8FCA4), UINT32_C(0x006663C5), UINT32_C(0x0019722C),
7407           UINT32_C(0x007F6B0A), UINT32_C(0x00A630E3), UINT32_C(0x006E4A27),
7408           UINT32_C(0x0021D1B6), UINT32_C(0x002AAC94)},
7409          {UINT32_C(0x0018C372), UINT32_C(0x0054FA42), UINT32_C(0x000EFD69),
7410           UINT32_C(0x0011780F), UINT32_C(0x001A67DB), UINT32_C(0x006E5FA4),
7411           UINT32_C(0x00414397), UINT32_C(0x007903CC), UINT32_C(0x006A8416),
7412           UINT32_C(0x007EAA7F), UINT32_C(0x002FE26B)}},
7413         {{UINT32_C(0x00E4631A), UINT32_C(0x00519A42), UINT32_C(0x004D5D8F),
7414           UINT32_C(0x00C6E606), UINT32_C(0x00053595), UINT32_C(0x004EB9D1),
7415           UINT32_C(0x005A269C), UINT32_C(0x003E8B00), UINT32_C(0x00162354),
7416           UINT32_C(0x007E07B4), UINT32_C(0x003AF53B)},
7417          {UINT32_C(0x00B6EB19), UINT32_C(0x00555D97), UINT32_C(0x00633E65),
7418           UINT32_C(0x0099187D), UINT32_C(0x00227AE7), UINT32_C(0x001674B2),
7419           UINT32_C(0x005E8C81), UINT32_C(0x005B7DF9), UINT32_C(0x0055E4BB),
7420           UINT32_C(0x0056A5E1), UINT32_C(0x0019F876)},
7421          {UINT32_C(0x00B4688B), UINT32_C(0x005F4304), UINT32_C(0x000B39BD),
7422           UINT32_C(0x004E7F2B), UINT32_C(0x00313A32), UINT32_C(0x007002F9),
7423           UINT32_C(0x0031EB5F), UINT32_C(0x00C85095), UINT32_C(0x00425A62),
7424           UINT32_C(0x00328356), UINT32_C(0x007EF956)}},
7425         {{UINT32_C(0x00E0C2E0), UINT32_C(0x00585FE0), UINT32_C(0x0075AB74),
7426           UINT32_C(0x0041E028), UINT32_C(0x006CAE63), UINT32_C(0x003C54C9),
7427           UINT32_C(0x001036EA), UINT32_C(0x002B7F12), UINT32_C(0x00144D5C),
7428           UINT32_C(0x007374DB), UINT32_C(0x00750F36)},
7429          {UINT32_C(0x0061BB41), UINT32_C(0x0036024E), UINT32_C(0x00655A71),
7430           UINT32_C(0x004FC91A), UINT32_C(0x0014B38E), UINT32_C(0x003D62DB),
7431           UINT32_C(0x0072A235), UINT32_C(0x003B2C40), UINT32_C(0x002C0290),
7432           UINT32_C(0x005FEB15), UINT32_C(0x0061089A)},
7433          {UINT32_C(0x0085ECE4), UINT32_C(0x00332265), UINT32_C(0x0042796C),
7434           UINT32_C(0x00FD5F30), UINT32_C(0x004C81DA), UINT32_C(0x00007089),
7435           UINT32_C(0x006EA425), UINT32_C(0x00B807C7), UINT32_C(0x00459E0F),
7436           UINT32_C(0x00181B93), UINT32_C(0x000B0E1B)}},
7437         {{UINT32_C(0x009EFE70), UINT32_C(0x004E468A), UINT32_C(0x0077E5AA),
7438           UINT32_C(0x001467EF), UINT32_C(0x0020C382), UINT32_C(0x0055629A),
7439           UINT32_C(0x005CA999), UINT32_C(0x00BEFB9D), UINT32_C(0x005A686B),
7440           UINT32_C(0x0010351C), UINT32_C(0x005963DB)},
7441          {UINT32_C(0x001E85F3), UINT32_C(0x0014333A), UINT32_C(0x006927C7),
7442           UINT32_C(0x00F08F00), UINT32_C(0x00634AD4), UINT32_C(0x0022A5F2),
7443           UINT32_C(0x003B4641), UINT32_C(0x00A28090), UINT32_C(0x003FC621),
7444           UINT32_C(0x002B49C0), UINT32_C(0x00555DF3)},
7445          {UINT32_C(0x007C3D87), UINT32_C(0x002EFA77), UINT32_C(0x00567EC8),
7446           UINT32_C(0x00D46233), UINT32_C(0x00590994), UINT32_C(0x0045579D),
7447           UINT32_C(0x0006388F), UINT32_C(0x004C41FA), UINT32_C(0x004C71DD),
7448           UINT32_C(0x007BF667), UINT32_C(0x0057A3C7)}},
7449         {{UINT32_C(0x0093682F), UINT32_C(0x00073EF9), UINT32_C(0x0019C616),
7450           UINT32_C(0x00C17E8F), UINT32_C(0x002702CF), UINT32_C(0x005F528E),
7451           UINT32_C(0x0019B458), UINT32_C(0x0052A2E0), UINT32_C(0x00425491),
7452           UINT32_C(0x0018AED3), UINT32_C(0x006F6DAE)},
7453          {UINT32_C(0x0082401A), UINT32_C(0x004D0E66), UINT32_C(0x003A3362),
7454           UINT32_C(0x003D1A93), UINT32_C(0x000E6BF3), UINT32_C(0x0017967B),
7455           UINT32_C(0x00117AFB), UINT32_C(0x008CB04A), UINT32_C(0x002CA224),
7456           UINT32_C(0x00067DCB), UINT32_C(0x0056DEA4)},
7457          {UINT32_C(0x005F1A62), UINT32_C(0x006AF62D), UINT32_C(0x000D1E62),
7458           UINT32_C(0x00CCEE42), UINT32_C(0x00512EC5), UINT32_C(0x002C191C),
7459           UINT32_C(0x0065B2C8), UINT32_C(0x00567D2B), UINT32_C(0x006A4BC8),
7460           UINT32_C(0x0011359A), UINT32_C(0x003AB09B)}},
7461         {{UINT32_C(0x0072355E), UINT32_C(0x00290653), UINT32_C(0x00453126),
7462           UINT32_C(0x00DA22DA), UINT32_C(0x004311EA), UINT32_C(0x000C95C7),
7463           UINT32_C(0x005DA2D6), UINT32_C(0x0048EE2E), UINT32_C(0x007AC207),
7464           UINT32_C(0x0029BC84), UINT32_C(0x000A0DFC)},
7465          {UINT32_C(0x004EF0CE), UINT32_C(0x00747296), UINT32_C(0x000818AB),
7466           UINT32_C(0x00BE8543), UINT32_C(0x0041F6F4), UINT32_C(0x00448449),
7467           UINT32_C(0x00153E5F), UINT32_C(0x00AADD33), UINT32_C(0x0035B84C),
7468           UINT32_C(0x0069EAE8), UINT32_C(0x00217DBD)},
7469          {UINT32_C(0x002DB2A4), UINT32_C(0x001158C1), UINT32_C(0x002F9514),
7470           UINT32_C(0x00428AE0), UINT32_C(0x0071D932), UINT32_C(0x002D6CE8),
7471           UINT32_C(0x0002F0FA), UINT32_C(0x001EB77A), UINT32_C(0x0041C021),
7472           UINT32_C(0x00779647), UINT32_C(0x0000B4B0)}},
7473         {{UINT32_C(0x002BCA29), UINT32_C(0x000D6E00), UINT32_C(0x002A8D45),
7474           UINT32_C(0x00E65F5F), UINT32_C(0x0032B3E8), UINT32_C(0x001DDA5D),
7475           UINT32_C(0x0017AEC6), UINT32_C(0x00CCE901), UINT32_C(0x002418B9),
7476           UINT32_C(0x003F180D), UINT32_C(0x00754B21)},
7477          {UINT32_C(0x001E8828), UINT32_C(0x004DE168), UINT32_C(0x00365565),
7478           UINT32_C(0x003E7F08), UINT32_C(0x00022EE0), UINT32_C(0x0043C370),
7479           UINT32_C(0x0066C1D6), UINT32_C(0x0033E762), UINT32_C(0x0021E80E),
7480           UINT32_C(0x0022E1CE), UINT32_C(0x0039049C)},
7481          {UINT32_C(0x001AEEAB), UINT32_C(0x004E9952), UINT32_C(0x006CD381),
7482           UINT32_C(0x00319F16), UINT32_C(0x004B6EED), UINT32_C(0x000E8C3B),
7483           UINT32_C(0x0033C702), UINT32_C(0x0074A7B1), UINT32_C(0x0055F862),
7484           UINT32_C(0x00070547), UINT32_C(0x001AB4F3)}},
7485     },
7486     {
7487         {{UINT32_C(0x002AB480), UINT32_C(0x00491F21), UINT32_C(0x007D1D9B),
7488           UINT32_C(0x0017861D), UINT32_C(0x004E0965), UINT32_C(0x004F9835),
7489           UINT32_C(0x002889AB), UINT32_C(0x00254B0E), UINT32_C(0x003F4ECE),
7490           UINT32_C(0x00645245), UINT32_C(0x003DE09E)},
7491          {UINT32_C(0x00BFFA33), UINT32_C(0x0001E566), UINT32_C(0x0048223D),
7492           UINT32_C(0x0081AC1B), UINT32_C(0x0075FACF), UINT32_C(0x00288CA5),
7493           UINT32_C(0x00319699), UINT32_C(0x00E70935), UINT32_C(0x003AFCDF),
7494           UINT32_C(0x000D446C), UINT32_C(0x001FF61C)},
7495          {UINT32_C(0x00CFC3EE), UINT32_C(0x0053EC31), UINT32_C(0x00556C71),
7496           UINT32_C(0x00B61E4F), UINT32_C(0x0019B811), UINT32_C(0x000E942F),
7497           UINT32_C(0x006B460A), UINT32_C(0x0028CECD), UINT32_C(0x0053755C),
7498           UINT32_C(0x006A36AD), UINT32_C(0x0074830B)}},
7499         {{UINT32_C(0x0032B148), UINT32_C(0x00574A20), UINT32_C(0x00258660),
7500           UINT32_C(0x00A32E9A), UINT32_C(0x00666B0C), UINT32_C(0x0050B448),
7501           UINT32_C(0x00375197), UINT32_C(0x007C7568), UINT32_C(0x0054C0EF),
7502           UINT32_C(0x003C6296), UINT32_C(0x00451E25)},
7503          {UINT32_C(0x001F0527), UINT32_C(0x0015C673), UINT32_C(0x002F100D),
7504           UINT32_C(0x0051AD70), UINT32_C(0x00120973), UINT32_C(0x002A4934),
7505           UINT32_C(0x00340AF5), UINT32_C(0x00DB9742), UINT32_C(0x00743FB7),
7506           UINT32_C(0x00457EDD), UINT32_C(0x000CEB92)},
7507          {UINT32_C(0x00F5B12C), UINT32_C(0x0053626F), UINT32_C(0x007F2969),
7508           UINT32_C(0x00F9A729), UINT32_C(0x0033C947), UINT32_C(0x0000F3BA),
7509           UINT32_C(0x00207B91), UINT32_C(0x0063F460), UINT32_C(0x0012F8FD),
7510           UINT32_C(0x000B32A2), UINT32_C(0x003E578A)}},
7511         {{UINT32_C(0x00B1FE77), UINT32_C(0x00298801), UINT32_C(0x00011596),
7512           UINT32_C(0x001AC338), UINT32_C(0x001D0E96), UINT32_C(0x005E3714),
7513           UINT32_C(0x003DE2F3), UINT32_C(0x00AF9E64), UINT32_C(0x00187EE5),
7514           UINT32_C(0x004F7E2C), UINT32_C(0x0017C5D3)},
7515          {UINT32_C(0x0071BA87), UINT32_C(0x00241D87), UINT32_C(0x0034F745),
7516           UINT32_C(0x0004090C), UINT32_C(0x000A1932), UINT32_C(0x0042ADD3),
7517           UINT32_C(0x0053459C), UINT32_C(0x007BE02E), UINT32_C(0x003D62A3),
7518           UINT32_C(0x0015988B), UINT32_C(0x006AAD49)},
7519          {UINT32_C(0x00367A73), UINT32_C(0x007F03C1), UINT32_C(0x002CAE51),
7520           UINT32_C(0x0029D218), UINT32_C(0x0014E4A9), UINT32_C(0x0054032D),
7521           UINT32_C(0x0062F02D), UINT32_C(0x00DCDDAD), UINT32_C(0x007EE1CD),
7522           UINT32_C(0x001D0B5C), UINT32_C(0x00569FE0)}},
7523         {{UINT32_C(0x00BCADF6), UINT32_C(0x0075341C), UINT32_C(0x00398E24),
7524           UINT32_C(0x003BF613), UINT32_C(0x0001E10C), UINT32_C(0x0065FEAC),
7525           UINT32_C(0x0024D15C), UINT32_C(0x00196783), UINT32_C(0x0051862B),
7526           UINT32_C(0x006C2018), UINT32_C(0x002A0826)},
7527          {UINT32_C(0x00F6EE57), UINT32_C(0x0011CD5C), UINT32_C(0x001F7638),
7528           UINT32_C(0x005F98C2), UINT32_C(0x001F7049), UINT32_C(0x003964A1),
7529           UINT32_C(0x005657BE), UINT32_C(0x00DEE9F7), UINT32_C(0x0026BEEC),
7530           UINT32_C(0x00319B9B), UINT32_C(0x00345293)},
7531          {UINT32_C(0x006BDDA7), UINT32_C(0x0030B11F), UINT32_C(0x002600EA),
7532           UINT32_C(0x00461976), UINT32_C(0x001593E9), UINT32_C(0x006F183C),
7533           UINT32_C(0x003ABB5A), UINT32_C(0x0018F1A8), UINT32_C(0x00390978),
7534           UINT32_C(0x0005156D), UINT32_C(0x00075AED)}},
7535         {{UINT32_C(0x001BD2D5), UINT32_C(0x00578B39), UINT32_C(0x007FE095),
7536           UINT32_C(0x0046AFA9), UINT32_C(0x002148E8), UINT32_C(0x0017C3CD),
7537           UINT32_C(0x006AE351), UINT32_C(0x0063F7AB), UINT32_C(0x0050AA1E),
7538           UINT32_C(0x004184F5), UINT32_C(0x0069223D)},
7539          {UINT32_C(0x0086A15A), UINT32_C(0x0033AD1F), UINT32_C(0x006A0376),
7540           UINT32_C(0x00C44A80), UINT32_C(0x001DE4DA), UINT32_C(0x000819B5),
7541           UINT32_C(0x00275A25), UINT32_C(0x005EA5CD), UINT32_C(0x0022AA1B),
7542           UINT32_C(0x004A1528), UINT32_C(0x0041A71A)},
7543          {UINT32_C(0x00F443D0), UINT32_C(0x007F9618), UINT32_C(0x005E374D),
7544           UINT32_C(0x00C0032C), UINT32_C(0x005BC03C), UINT32_C(0x00225F6A),
7545           UINT32_C(0x002F1161), UINT32_C(0x0062CB7E), UINT32_C(0x00527B02),
7546           UINT32_C(0x005AAD7F), UINT32_C(0x00585C83)}},
7547         {{UINT32_C(0x00D110A1), UINT32_C(0x004B6AF7), UINT32_C(0x00084690),
7548           UINT32_C(0x00F276EF), UINT32_C(0x0000F67B), UINT32_C(0x001870DC),
7549           UINT32_C(0x0010FCB3), UINT32_C(0x00392CFE), UINT32_C(0x002086D8),
7550           UINT32_C(0x007424AF), UINT32_C(0x00202355)},
7551          {UINT32_C(0x00077C6C), UINT32_C(0x0025E823), UINT32_C(0x006EF81B),
7552           UINT32_C(0x00540F85), UINT32_C(0x002C8AF2), UINT32_C(0x0013C77B),
7553           UINT32_C(0x001C4D2F), UINT32_C(0x001021D9), UINT32_C(0x00146F24),
7554           UINT32_C(0x003599F3), UINT32_C(0x004B4CCC)},
7555          {UINT32_C(0x004CD365), UINT32_C(0x00179717), UINT32_C(0x0039A122),
7556           UINT32_C(0x00B62616), UINT32_C(0x007AEE90), UINT32_C(0x0029164E),
7557           UINT32_C(0x0039438A), UINT32_C(0x00CBA485), UINT32_C(0x00428DC8),
7558           UINT32_C(0x00313356), UINT32_C(0x006E6A72)}},
7559         {{UINT32_C(0x00CF5614), UINT32_C(0x00163606), UINT32_C(0x002CA6AC),
7560           UINT32_C(0x006EA0B2), UINT32_C(0x006DA8EE), UINT32_C(0x0019BDF3),
7561           UINT32_C(0x006043AF), UINT32_C(0x008AA760), UINT32_C(0x002E08F1),
7562           UINT32_C(0x0037973A), UINT32_C(0x0029B40D)},
7563          {UINT32_C(0x00379A65), UINT32_C(0x0052E429), UINT32_C(0x0068686B),
7564           UINT32_C(0x00C69C90), UINT32_C(0x004E9422), UINT32_C(0x00366023),
7565           UINT32_C(0x002260F4), UINT32_C(0x005BAF5B), UINT32_C(0x000678A6),
7566           UINT32_C(0x000460DA), UINT32_C(0x004F4340)},
7567          {UINT32_C(0x00E03B58), UINT32_C(0x007B260B), UINT32_C(0x005BA74C),
7568           UINT32_C(0x00BD1A46), UINT32_C(0x0009DC7B), UINT32_C(0x00118343),
7569           UINT32_C(0x00021428), UINT32_C(0x000FFED5), UINT32_C(0x0072D7E6),
7570           UINT32_C(0x003DCFB6), UINT32_C(0x003AB926)}},
7571         {{UINT32_C(0x0077649D), UINT32_C(0x005389B7), UINT32_C(0x004D6E76),
7572           UINT32_C(0x00936F59), UINT32_C(0x00463E7C), UINT32_C(0x006D778A),
7573           UINT32_C(0x0009DB6F), UINT32_C(0x00A424F1), UINT32_C(0x0052F5CC),
7574           UINT32_C(0x007E60DE), UINT32_C(0x004279FB)},
7575          {UINT32_C(0x00A7028F), UINT32_C(0x007EA950), UINT32_C(0x001EFBD6),
7576           UINT32_C(0x00BDA79F), UINT32_C(0x007AF7CC), UINT32_C(0x00279C7C),
7577           UINT32_C(0x006C7303), UINT32_C(0x00E939AC), UINT32_C(0x00354019),
7578           UINT32_C(0x00187CF7), UINT32_C(0x00183D31)},
7579          {UINT32_C(0x0042F626), UINT32_C(0x0074EA5E), UINT32_C(0x00538C9A),
7580           UINT32_C(0x00AF163A), UINT32_C(0x004C692D), UINT32_C(0x0023FAA0),
7581           UINT32_C(0x00775E16), UINT32_C(0x0062DAB8), UINT32_C(0x007D6702),
7582           UINT32_C(0x001B38C5), UINT32_C(0x001E3974)}},
7583         {{UINT32_C(0x004F9403), UINT32_C(0x00748471), UINT32_C(0x00211B76),
7584           UINT32_C(0x001EFC08), UINT32_C(0x005B213F), UINT32_C(0x003E9002),
7585           UINT32_C(0x00785B3C), UINT32_C(0x00E45607), UINT32_C(0x003D477B),
7586           UINT32_C(0x00282DEF), UINT32_C(0x00504A42)},
7587          {UINT32_C(0x00BF7FBB), UINT32_C(0x000A066A), UINT32_C(0x000679D4),
7588           UINT32_C(0x00BB2351), UINT32_C(0x007D83CA), UINT32_C(0x00612D60),
7589           UINT32_C(0x00031501), UINT32_C(0x00F4CAB2), UINT32_C(0x002155C8),
7590           UINT32_C(0x003A8F2C), UINT32_C(0x00169BC2)},
7591          {UINT32_C(0x000357B5), UINT32_C(0x006B1266), UINT32_C(0x002BCBF3),
7592           UINT32_C(0x00A64DFF), UINT32_C(0x0066D9DE), UINT32_C(0x0057385B),
7593           UINT32_C(0x005050FF), UINT32_C(0x006FC06F), UINT32_C(0x0028E483),
7594           UINT32_C(0x0051EF87), UINT32_C(0x000CC48B)}},
7595         {{UINT32_C(0x00ED9E35), UINT32_C(0x0023A04E), UINT32_C(0x0024255C),
7596           UINT32_C(0x0070038E), UINT32_C(0x0046A52B), UINT32_C(0x004E9C3F),
7597           UINT32_C(0x006C8BA2), UINT32_C(0x00D8ED9C), UINT32_C(0x006F6A03),
7598           UINT32_C(0x003098C4), UINT32_C(0x005D825F)},
7599          {UINT32_C(0x008FA640), UINT32_C(0x000B9382), UINT32_C(0x0011CD48),
7600           UINT32_C(0x00034F5D), UINT32_C(0x0059465F), UINT32_C(0x0070DA45),
7601           UINT32_C(0x00649F15), UINT32_C(0x0054EE9E), UINT32_C(0x003D37B0),
7602           UINT32_C(0x004361C8), UINT32_C(0x002CB478)},
7603          {UINT32_C(0x0012D22E), UINT32_C(0x00674682), UINT32_C(0x0070C891),
7604           UINT32_C(0x00FC49FE), UINT32_C(0x003AF178), UINT32_C(0x0077EF15),
7605           UINT32_C(0x007CF642), UINT32_C(0x00E36298), UINT32_C(0x002FEFEF),
7606           UINT32_C(0x0070ADFB), UINT32_C(0x00674E26)}},
7607         {{UINT32_C(0x00E45F49), UINT32_C(0x0042AB1C), UINT32_C(0x005B58EE),
7608           UINT32_C(0x009A5641), UINT32_C(0x004084D4), UINT32_C(0x00776081),
7609           UINT32_C(0x004873EC), UINT32_C(0x0091B439), UINT32_C(0x0049547A),
7610           UINT32_C(0x0061EF9F), UINT32_C(0x00209C2C)},
7611          {UINT32_C(0x00ACB336), UINT32_C(0x0002E07D), UINT32_C(0x006207CB),
7612           UINT32_C(0x0044DAE2), UINT32_C(0x0017A196), UINT32_C(0x006B179D),
7613           UINT32_C(0x005CFADF), UINT32_C(0x00081BD0), UINT32_C(0x002587D0),
7614           UINT32_C(0x005AA501), UINT32_C(0x0027A6E9)},
7615          {UINT32_C(0x0094228F), UINT32_C(0x000636DC), UINT32_C(0x005A4102),
7616           UINT32_C(0x003E66B4), UINT32_C(0x0011F6CD), UINT32_C(0x0038E6FD),
7617           UINT32_C(0x000B5086), UINT32_C(0x0050E978), UINT32_C(0x005AE74C),
7618           UINT32_C(0x00246161), UINT32_C(0x007E9879)}},
7619         {{UINT32_C(0x0065CC5A), UINT32_C(0x000BD258), UINT32_C(0x00167FAC),
7620           UINT32_C(0x00E5D799), UINT32_C(0x002DCFC5), UINT32_C(0x0045B74C),
7621           UINT32_C(0x00057C88), UINT32_C(0x0038384F), UINT32_C(0x003413FE),
7622           UINT32_C(0x00625CFF), UINT32_C(0x00014CE5)},
7623          {UINT32_C(0x0038E62F), UINT32_C(0x004B5EE4), UINT32_C(0x004ADC3F),
7624           UINT32_C(0x0062FF7C), UINT32_C(0x001110E4), UINT32_C(0x007C7151),
7625           UINT32_C(0x002F8915), UINT32_C(0x0068F26B), UINT32_C(0x0038A310),
7626           UINT32_C(0x002E8D53), UINT32_C(0x0031786B)},
7627          {UINT32_C(0x004DE3F1), UINT32_C(0x00036913), UINT32_C(0x006704FB),
7628           UINT32_C(0x003944F4), UINT32_C(0x003E4AD6), UINT32_C(0x001A01BA),
7629           UINT32_C(0x002E0D68), UINT32_C(0x004A2407), UINT32_C(0x0047BA89),
7630           UINT32_C(0x003808BF), UINT32_C(0x0070E238)}},
7631         {{UINT32_C(0x001B2F70), UINT32_C(0x006F3BCD), UINT32_C(0x0020C220),
7632           UINT32_C(0x00971E3D), UINT32_C(0x0067DC3E), UINT32_C(0x00154916),
7633           UINT32_C(0x007EE08E), UINT32_C(0x009FB7E0), UINT32_C(0x00164A27),
7634           UINT32_C(0x00000D51), UINT32_C(0x00044A8C)},
7635          {UINT32_C(0x00441852), UINT32_C(0x004183C7), UINT32_C(0x000B05DA),
7636           UINT32_C(0x00765798), UINT32_C(0x002FE415), UINT32_C(0x0078F9D1),
7637           UINT32_C(0x0049FDE6), UINT32_C(0x00D85938), UINT32_C(0x00404646),
7638           UINT32_C(0x005B14A2), UINT32_C(0x00151434)},
7639          {UINT32_C(0x001ECEB3), UINT32_C(0x00723B7F), UINT32_C(0x0073FB3C),
7640           UINT32_C(0x0055508D), UINT32_C(0x002C2D2B), UINT32_C(0x0040F43E),
7641           UINT32_C(0x001CBD6A), UINT32_C(0x00015808), UINT32_C(0x0013E380),
7642           UINT32_C(0x00778472), UINT32_C(0x0014758C)}},
7643         {{UINT32_C(0x00D4475B), UINT32_C(0x00404279), UINT32_C(0x006905B8),
7644           UINT32_C(0x00F7FB57), UINT32_C(0x0073BDA7), UINT32_C(0x00269082),
7645           UINT32_C(0x006B26ED), UINT32_C(0x0027D833), UINT32_C(0x001E216F),
7646           UINT32_C(0x001360D4), UINT32_C(0x00115751)},
7647          {UINT32_C(0x00E38DD3), UINT32_C(0x0054A13C), UINT32_C(0x000EBF81),
7648           UINT32_C(0x0010F4E8), UINT32_C(0x0039AB55), UINT32_C(0x0031188E),
7649           UINT32_C(0x0027D686), UINT32_C(0x00C9A0DF), UINT32_C(0x0039BD06),
7650           UINT32_C(0x00350B58), UINT32_C(0x007D7257)},
7651          {UINT32_C(0x00A31782), UINT32_C(0x000F1C0E), UINT32_C(0x002C8F03),
7652           UINT32_C(0x00D72648), UINT32_C(0x0039C85F), UINT32_C(0x004A1C54),
7653           UINT32_C(0x000FF85A), UINT32_C(0x0026A90F), UINT32_C(0x002B4E8C),
7654           UINT32_C(0x000A4D59), UINT32_C(0x0050B904)}},
7655         {{UINT32_C(0x006238BE), UINT32_C(0x00175795), UINT32_C(0x00538917),
7656           UINT32_C(0x007BD984), UINT32_C(0x00292FC6), UINT32_C(0x00080628),
7657           UINT32_C(0x001B5D25), UINT32_C(0x00D80A64), UINT32_C(0x005B034B),
7658           UINT32_C(0x00167E5D), UINT32_C(0x00421184)},
7659          {UINT32_C(0x00BA4129), UINT32_C(0x000FC466), UINT32_C(0x003F5CA0),
7660           UINT32_C(0x00B0084A), UINT32_C(0x003B6970), UINT32_C(0x0079C8BB),
7661           UINT32_C(0x006F3E63), UINT32_C(0x00D86F54), UINT32_C(0x003A31F7),
7662           UINT32_C(0x00382189), UINT32_C(0x005CEAB5)},
7663          {UINT32_C(0x0041A489), UINT32_C(0x004B3EF7), UINT32_C(0x00591EC7),
7664           UINT32_C(0x00F08AA6), UINT32_C(0x00580111), UINT32_C(0x0006B198),
7665           UINT32_C(0x0031386E), UINT32_C(0x00EC23A3), UINT32_C(0x007F21FD),
7666           UINT32_C(0x005E25F3), UINT32_C(0x0047AC14)}},
7667         {{UINT32_C(0x00AB4BF3), UINT32_C(0x0070ED4E), UINT32_C(0x001DFAA3),
7668           UINT32_C(0x006F788D), UINT32_C(0x000470EF), UINT32_C(0x0005F6CC),
7669           UINT32_C(0x00317FCC), UINT32_C(0x00341719), UINT32_C(0x000AF8E5),
7670           UINT32_C(0x00265856), UINT32_C(0x004EA29A)},
7671          {UINT32_C(0x00BD8CE2), UINT32_C(0x0019149B), UINT32_C(0x0010C6C2),
7672           UINT32_C(0x00D9E127), UINT32_C(0x006B514E), UINT32_C(0x00755F77),
7673           UINT32_C(0x004E4772), UINT32_C(0x00398A6D), UINT32_C(0x0032566C),
7674           UINT32_C(0x00029F76), UINT32_C(0x0050B40A)},
7675          {UINT32_C(0x008B1A27), UINT32_C(0x004EC0C5), UINT32_C(0x0069ED34),
7676           UINT32_C(0x001088E0), UINT32_C(0x004CD905), UINT32_C(0x00697E9E),
7677           UINT32_C(0x000A4361), UINT32_C(0x00A3E043), UINT32_C(0x0058F3E3),
7678           UINT32_C(0x002D4E70), UINT32_C(0x006C75F0)}},
7679     },
7680     {
7681         {{UINT32_C(0x005AB8BD), UINT32_C(0x0029D680), UINT32_C(0x0006977B),
7682           UINT32_C(0x0074F696), UINT32_C(0x00048954), UINT32_C(0x0028F214),
7683           UINT32_C(0x0045A271), UINT32_C(0x000DB9C5), UINT32_C(0x00141E0B),
7684           UINT32_C(0x0064EAF4), UINT32_C(0x0016FA62)},
7685          {UINT32_C(0x00DD9A68), UINT32_C(0x0020101A), UINT32_C(0x006747C5),
7686           UINT32_C(0x00C02A2D), UINT32_C(0x00551617), UINT32_C(0x00318D4B),
7687           UINT32_C(0x003D5380), UINT32_C(0x003B36CE), UINT32_C(0x0042C7B9),
7688           UINT32_C(0x0068C9EF), UINT32_C(0x000786CD)},
7689          {UINT32_C(0x0092DAA3), UINT32_C(0x006F3072), UINT32_C(0x0025BB51),
7690           UINT32_C(0x0082E155), UINT32_C(0x002995E2), UINT32_C(0x00086EAC),
7691           UINT32_C(0x004295AF), UINT32_C(0x0015CF09), UINT32_C(0x000217DF),
7692           UINT32_C(0x0025C6FF), UINT32_C(0x006A1FF6)}},
7693         {{UINT32_C(0x0068992F), UINT32_C(0x0037A443), UINT32_C(0x004E52B8),
7694           UINT32_C(0x00EB4DD5), UINT32_C(0x00732F40), UINT32_C(0x0039E0FA),
7695           UINT32_C(0x0035516B), UINT32_C(0x00D1FF12), UINT32_C(0x007B9904),
7696           UINT32_C(0x0000D042), UINT32_C(0x0061BEA7)},
7697          {UINT32_C(0x006695E1), UINT32_C(0x0079A990), UINT32_C(0x007D995E),
7698           UINT32_C(0x008EA8CE), UINT32_C(0x0024E995), UINT32_C(0x0009615C),
7699           UINT32_C(0x003CF6CE), UINT32_C(0x00077F8E), UINT32_C(0x00350417),
7700           UINT32_C(0x0062CAC6), UINT32_C(0x0006858A)},
7701          {UINT32_C(0x0022B953), UINT32_C(0x003B5DF9), UINT32_C(0x004AEDEE),
7702           UINT32_C(0x000CEEC5), UINT32_C(0x003887F6), UINT32_C(0x000254BB),
7703           UINT32_C(0x001856BF), UINT32_C(0x00B16F48), UINT32_C(0x00226205),
7704           UINT32_C(0x001DDE25), UINT32_C(0x006802A0)}},
7705         {{UINT32_C(0x00D029FB), UINT32_C(0x0024FF9C), UINT32_C(0x003692B5),
7706           UINT32_C(0x003D6298), UINT32_C(0x005113AA), UINT32_C(0x0016BB74),
7707           UINT32_C(0x00207B6F), UINT32_C(0x00CFD145), UINT32_C(0x001A0C73),
7708           UINT32_C(0x003DD3F4), UINT32_C(0x004AC618)},
7709          {UINT32_C(0x007E0F78), UINT32_C(0x00342407), UINT32_C(0x007BF737),
7710           UINT32_C(0x008C11E4), UINT32_C(0x001D19AF), UINT32_C(0x0023A2DD),
7711           UINT32_C(0x00538E8D), UINT32_C(0x00026531), UINT32_C(0x002A0077),
7712           UINT32_C(0x002FBD3B), UINT32_C(0x000D23EE)},
7713          {UINT32_C(0x009B883D), UINT32_C(0x000C8276), UINT32_C(0x006F819D),
7714           UINT32_C(0x00FC2912), UINT32_C(0x00382987), UINT32_C(0x007E7030),
7715           UINT32_C(0x003EF8E1), UINT32_C(0x00E2007A), UINT32_C(0x0008D395),
7716           UINT32_C(0x003F0615), UINT32_C(0x00063C97)}},
7717         {{UINT32_C(0x00156CDE), UINT32_C(0x007EA553), UINT32_C(0x004022D6),
7718           UINT32_C(0x00DFB476), UINT32_C(0x000AA93D), UINT32_C(0x0075AAD5),
7719           UINT32_C(0x005CA989), UINT32_C(0x00F4319E), UINT32_C(0x006F4102),
7720           UINT32_C(0x002EBD52), UINT32_C(0x004C0F6F)},
7721          {UINT32_C(0x002F3ABE), UINT32_C(0x002C0332), UINT32_C(0x000C7B65),
7722           UINT32_C(0x00E76C78), UINT32_C(0x002AEA4E), UINT32_C(0x00419F87),
7723           UINT32_C(0x00340B29), UINT32_C(0x0039375F), UINT32_C(0x005747D0),
7724           UINT32_C(0x002FBD65), UINT32_C(0x0056D9BF)},
7725          {UINT32_C(0x00F9E607), UINT32_C(0x00092305), UINT32_C(0x005A5130),
7726           UINT32_C(0x00B7A777), UINT32_C(0x00393B42), UINT32_C(0x002198A4),
7727           UINT32_C(0x0044F3BE), UINT32_C(0x00B56C11), UINT32_C(0x000C5006),
7728           UINT32_C(0x0014F3D3), UINT32_C(0x00204C61)}},
7729         {{UINT32_C(0x00AA29BE), UINT32_C(0x00452FB8), UINT32_C(0x000DF2B9),
7730           UINT32_C(0x00F57AEA), UINT32_C(0x00309807), UINT32_C(0x0039FB85),
7731           UINT32_C(0x00505F6F), UINT32_C(0x00C3979A), UINT32_C(0x0037D4C6),
7732           UINT32_C(0x0063A3A0), UINT32_C(0x0041BB59)},
7733          {UINT32_C(0x00979A22), UINT32_C(0x0011A314), UINT32_C(0x004DCD17),
7734           UINT32_C(0x0073157E), UINT32_C(0x007EA111), UINT32_C(0x005CA164),
7735           UINT32_C(0x007D14D4), UINT32_C(0x00F4DD95), UINT32_C(0x0065EA29),
7736           UINT32_C(0x000A8618), UINT32_C(0x00458E9C)},
7737          {UINT32_C(0x00166F58), UINT32_C(0x003902F4), UINT32_C(0x005DF4F1),
7738           UINT32_C(0x00FD1412), UINT32_C(0x0065A422), UINT32_C(0x005C9158),
7739           UINT32_C(0x007FA83F), UINT32_C(0x001B6003), UINT32_C(0x003E37A1),
7740           UINT32_C(0x00558CA7), UINT32_C(0x005F8B80)}},
7741         {{UINT32_C(0x0058D515), UINT32_C(0x000E279B), UINT32_C(0x0061A7DC),
7742           UINT32_C(0x0030FF7E), UINT32_C(0x0036EF25), UINT32_C(0x00545909),
7743           UINT32_C(0x0071356E), UINT32_C(0x009FA397), UINT32_C(0x006064CF),
7744           UINT32_C(0x0023899B), UINT32_C(0x0023C04A)},
7745          {UINT32_C(0x0070B892), UINT32_C(0x003C225C), UINT32_C(0x00641506),
7746           UINT32_C(0x00BC6E0A), UINT32_C(0x0067DF77), UINT32_C(0x001C1328),
7747           UINT32_C(0x006FB16A), UINT32_C(0x00DDC3EF), UINT32_C(0x000C0A82),
7748           UINT32_C(0x0035BBBF), UINT32_C(0x0018D630)},
7749          {UINT32_C(0x00F762A4), UINT32_C(0x006436A9), UINT32_C(0x0068EFB4),
7750           UINT32_C(0x00AAEE79), UINT32_C(0x001FA040), UINT32_C(0x005BE9B2),
7751           UINT32_C(0x0068C25E), UINT32_C(0x0069171C), UINT32_C(0x0069727D),
7752           UINT32_C(0x004D3596), UINT32_C(0x007D2D07)}},
7753         {{UINT32_C(0x00E0A6B1), UINT32_C(0x00537BD4), UINT32_C(0x00732E56),
7754           UINT32_C(0x00054667), UINT32_C(0x00504F91), UINT32_C(0x005BEA24),
7755           UINT32_C(0x003816A4), UINT32_C(0x006CAC1F), UINT32_C(0x00094C1A),
7756           UINT32_C(0x007E0D77), UINT32_C(0x001F325B)},
7757          {UINT32_C(0x0056C790), UINT32_C(0x00696172), UINT32_C(0x004393F7),
7758           UINT32_C(0x0007BC7D), UINT32_C(0x0024008C), UINT32_C(0x00632185),
7759           UINT32_C(0x0039D510), UINT32_C(0x00776C63), UINT32_C(0x005303C0),
7760           UINT32_C(0x00488334), UINT32_C(0x004A46B9)},
7761          {UINT32_C(0x00CAB13C), UINT32_C(0x007B99B0), UINT32_C(0x00716826),
7762           UINT32_C(0x0090AADC), UINT32_C(0x003C39E0), UINT32_C(0x0062EF5A),
7763           UINT32_C(0x00220C12), UINT32_C(0x004D0B33), UINT32_C(0x004E1E9F),
7764           UINT32_C(0x0009FA96), UINT32_C(0x00553213)}},
7765         {{UINT32_C(0x00250F6D), UINT32_C(0x007501A6), UINT32_C(0x003B682C),
7766           UINT32_C(0x0044D730), UINT32_C(0x00649A14), UINT32_C(0x0032BFCE),
7767           UINT32_C(0x0066ADB8), UINT32_C(0x0034ED5B), UINT32_C(0x0043D7B2),
7768           UINT32_C(0x0000FFB9), UINT32_C(0x005A4861)},
7769          {UINT32_C(0x003B7613), UINT32_C(0x0001D6FB), UINT32_C(0x003D0B17),
7770           UINT32_C(0x007E0DC7), UINT32_C(0x005BC5C1), UINT32_C(0x003BB331),
7771           UINT32_C(0x0062230B), UINT32_C(0x0061ECC7), UINT32_C(0x005DDB12),
7772           UINT32_C(0x002700A7), UINT32_C(0x00258078)},
7773          {UINT32_C(0x005856C3), UINT32_C(0x0046B785), UINT32_C(0x002EE0A7),
7774           UINT32_C(0x00316F2C), UINT32_C(0x001A3AAB), UINT32_C(0x0069EF00),
7775           UINT32_C(0x0002A746), UINT32_C(0x0099DDEA), UINT32_C(0x004753D7),
7776           UINT32_C(0x0062170C), UINT32_C(0x004CA608)}},
7777         {{UINT32_C(0x0096B8DD), UINT32_C(0x004957F8), UINT32_C(0x007298E2),
7778           UINT32_C(0x008A7B5F), UINT32_C(0x0001A2BB), UINT32_C(0x004D7F56),
7779           UINT32_C(0x00560362), UINT32_C(0x001642A5), UINT32_C(0x0017F72E),
7780           UINT32_C(0x003B6605), UINT32_C(0x00390B61)},
7781          {UINT32_C(0x0015F82F), UINT32_C(0x000E8511), UINT32_C(0x00668D3B),
7782           UINT32_C(0x00C4B091), UINT32_C(0x003C935D), UINT32_C(0x005D4F5F),
7783           UINT32_C(0x0065AFF6), UINT32_C(0x00C88375), UINT32_C(0x00488074),
7784           UINT32_C(0x00260091), UINT32_C(0x0032A589)},
7785          {UINT32_C(0x00BCD3E4), UINT32_C(0x0073BD2C), UINT32_C(0x00537827),
7786           UINT32_C(0x00C860A9), UINT32_C(0x0023CB46), UINT32_C(0x004AF7E7),
7787           UINT32_C(0x0055A3FB), UINT32_C(0x00D9298A), UINT32_C(0x002A1C35),
7788           UINT32_C(0x001D8443), UINT32_C(0x00625170)}},
7789         {{UINT32_C(0x00CC32C8), UINT32_C(0x0025B8DD), UINT32_C(0x0033759B),
7790           UINT32_C(0x00B90E61), UINT32_C(0x0053232D), UINT32_C(0x00622CCA),
7791           UINT32_C(0x003F2B2B), UINT32_C(0x0012CE87), UINT32_C(0x000FED16),
7792           UINT32_C(0x00517920), UINT32_C(0x0026E2BC)},
7793          {UINT32_C(0x0033B8DF), UINT32_C(0x006BD2B2), UINT32_C(0x002C06A6),
7794           UINT32_C(0x007B255F), UINT32_C(0x0049E009), UINT32_C(0x00109815),
7795           UINT32_C(0x0041610E), UINT32_C(0x007AA99D), UINT32_C(0x004D2604),
7796           UINT32_C(0x001C2975), UINT32_C(0x00419560)},
7797          {UINT32_C(0x00F4C3F1), UINT32_C(0x00358166), UINT32_C(0x0047A4EF),
7798           UINT32_C(0x00B32B54), UINT32_C(0x007F5298), UINT32_C(0x0060C7DC),
7799           UINT32_C(0x004550B3), UINT32_C(0x00381199), UINT32_C(0x004D1985),
7800           UINT32_C(0x003008AD), UINT32_C(0x001E997E)}},
7801         {{UINT32_C(0x0080A2DD), UINT32_C(0x0011A8A1), UINT32_C(0x00763776),
7802           UINT32_C(0x0037A4E8), UINT32_C(0x002DEFD0), UINT32_C(0x005CC3A3),
7803           UINT32_C(0x0002CD3A), UINT32_C(0x003BDE69), UINT32_C(0x000D3C3B),
7804           UINT32_C(0x00468707), UINT32_C(0x002C6250)},
7805          {UINT32_C(0x00DC4853), UINT32_C(0x0013FF85), UINT32_C(0x006F92A3),
7806           UINT32_C(0x00E2DC5B), UINT32_C(0x002BA1BF), UINT32_C(0x0069003C),
7807           UINT32_C(0x00696B4A), UINT32_C(0x001FEA22), UINT32_C(0x00737E75),
7808           UINT32_C(0x002DDA93), UINT32_C(0x00682793)},
7809          {UINT32_C(0x00792D5C), UINT32_C(0x00756880), UINT32_C(0x0016DEDC),
7810           UINT32_C(0x00132FF7), UINT32_C(0x0028F65F), UINT32_C(0x00687D6B),
7811           UINT32_C(0x0042DB10), UINT32_C(0x00F60F17), UINT32_C(0x00244567),
7812           UINT32_C(0x005EA7EE), UINT32_C(0x00680EE7)}},
7813         {{UINT32_C(0x0017AD54), UINT32_C(0x00226170), UINT32_C(0x00248F16),
7814           UINT32_C(0x00E68159), UINT32_C(0x001F85B5), UINT32_C(0x005AEC69),
7815           UINT32_C(0x00207C21), UINT32_C(0x0080BD65), UINT32_C(0x0072C461),
7816           UINT32_C(0x000826BF), UINT32_C(0x00721CFE)},
7817          {UINT32_C(0x00221394), UINT32_C(0x000F6241), UINT32_C(0x00312D0B),
7818           UINT32_C(0x007310BE), UINT32_C(0x006D18ED), UINT32_C(0x0009B7DC),
7819           UINT32_C(0x0002ADC6), UINT32_C(0x009D4B71), UINT32_C(0x00652C01),
7820           UINT32_C(0x001193C0), UINT32_C(0x006CDFD9)},
7821          {UINT32_C(0x00441B95), UINT32_C(0x005F316E), UINT32_C(0x00055A1A),
7822           UINT32_C(0x008ABFDB), UINT32_C(0x0050B1C9), UINT32_C(0x00219EE2),
7823           UINT32_C(0x003C70AE), UINT32_C(0x004C49AE), UINT32_C(0x00791825),
7824           UINT32_C(0x004EA87D), UINT32_C(0x001C346C)}},
7825         {{UINT32_C(0x00633E8B), UINT32_C(0x000D64E6), UINT32_C(0x0043AD57),
7826           UINT32_C(0x0056000C), UINT32_C(0x0022A710), UINT32_C(0x001CF6E7),
7827           UINT32_C(0x0061C894), UINT32_C(0x0029FCC0), UINT32_C(0x0063A2A7),
7828           UINT32_C(0x002F042F), UINT32_C(0x006D9C7B)},
7829          {UINT32_C(0x00C0114A), UINT32_C(0x00054C9F), UINT32_C(0x00014A30),
7830           UINT32_C(0x008750DC), UINT32_C(0x0014F782), UINT32_C(0x005BDDB7),
7831           UINT32_C(0x0048FFA9), UINT32_C(0x006F51B9), UINT32_C(0x000ACD25),
7832           UINT32_C(0x001C791B), UINT32_C(0x006F027E)},
7833          {UINT32_C(0x0059BE30), UINT32_C(0x0004C8AA), UINT32_C(0x001EEFA6),
7834           UINT32_C(0x00969A3F), UINT32_C(0x002541FF), UINT32_C(0x00021EAE),
7835           UINT32_C(0x002335EF), UINT32_C(0x007B34F0), UINT32_C(0x005812F4),
7836           UINT32_C(0x0035961A), UINT32_C(0x0018E93C)}},
7837         {{UINT32_C(0x003D4ACA), UINT32_C(0x002344E6), UINT32_C(0x005AE7C9),
7838           UINT32_C(0x00C22F17), UINT32_C(0x0053F5F0), UINT32_C(0x0037ABD3),
7839           UINT32_C(0x0064DD19), UINT32_C(0x00A742A2), UINT32_C(0x00762397),
7840           UINT32_C(0x000E9EEF), UINT32_C(0x00047D34)},
7841          {UINT32_C(0x00E9B3BB), UINT32_C(0x00532D39), UINT32_C(0x004E866E),
7842           UINT32_C(0x00F7D682), UINT32_C(0x002ACA85), UINT32_C(0x00552578),
7843           UINT32_C(0x0033FA4B), UINT32_C(0x00977782), UINT32_C(0x003D410E),
7844           UINT32_C(0x0003548B), UINT32_C(0x0054FC74)},
7845          {UINT32_C(0x00C8BBFF), UINT32_C(0x0013F345), UINT32_C(0x0058E472),
7846           UINT32_C(0x00274591), UINT32_C(0x005597A6), UINT32_C(0x0013E285),
7847           UINT32_C(0x0057D3BB), UINT32_C(0x0092D7C6), UINT32_C(0x00500460),
7848           UINT32_C(0x00488CB7), UINT32_C(0x006800FE)}},
7849         {{UINT32_C(0x0000AA79), UINT32_C(0x002C098B), UINT32_C(0x00759A30),
7850           UINT32_C(0x002C7125), UINT32_C(0x00199DDC), UINT32_C(0x0075546E),
7851           UINT32_C(0x00559A27), UINT32_C(0x00DF24BF), UINT32_C(0x00151F99),
7852           UINT32_C(0x003C4C5B), UINT32_C(0x002EAF89)},
7853          {UINT32_C(0x00DC697B), UINT32_C(0x00751FA8), UINT32_C(0x0077C24F),
7854           UINT32_C(0x0038C1A6), UINT32_C(0x0013EBD3), UINT32_C(0x0023A808),
7855           UINT32_C(0x000B2621), UINT32_C(0x00C685DB), UINT32_C(0x00581796),
7856           UINT32_C(0x0057D263), UINT32_C(0x0004E256)},
7857          {UINT32_C(0x00E52262), UINT32_C(0x001D22BD), UINT32_C(0x006A26A0),
7858           UINT32_C(0x0085E1CA), UINT32_C(0x003EC7B7), UINT32_C(0x002FFB62),
7859           UINT32_C(0x0067736A), UINT32_C(0x00EF293F), UINT32_C(0x0061C4FE),
7860           UINT32_C(0x00730AA3), UINT32_C(0x000EB2F6)}},
7861         {{UINT32_C(0x00641095), UINT32_C(0x0058D612), UINT32_C(0x000AAE18),
7862           UINT32_C(0x0029DFF3), UINT32_C(0x00001553), UINT32_C(0x007F0860),
7863           UINT32_C(0x000F0ED0), UINT32_C(0x00A86E36), UINT32_C(0x000DBF80),
7864           UINT32_C(0x0031F7B2), UINT32_C(0x00229559)},
7865          {UINT32_C(0x003D6EA7), UINT32_C(0x00417EB0), UINT32_C(0x0030EED3),
7866           UINT32_C(0x0076B04C), UINT32_C(0x006404B7), UINT32_C(0x00647E89),
7867           UINT32_C(0x0038E725), UINT32_C(0x00955982), UINT32_C(0x0044F11A),
7868           UINT32_C(0x0030EB34), UINT32_C(0x0060A0E2)},
7869          {UINT32_C(0x00FFBA33), UINT32_C(0x00576743), UINT32_C(0x007B4196),
7870           UINT32_C(0x0065FCEB), UINT32_C(0x00147F68), UINT32_C(0x00753F2E),
7871           UINT32_C(0x002CE14E), UINT32_C(0x004CC9FA), UINT32_C(0x0008D7B1),
7872           UINT32_C(0x004C33D1), UINT32_C(0x0045EB11)}},
7873     },
7874     {
7875         {{UINT32_C(0x00178112), UINT32_C(0x004144EF), UINT32_C(0x0015E475),
7876           UINT32_C(0x00280993), UINT32_C(0x003DFA25), UINT32_C(0x00316893),
7877           UINT32_C(0x0013A505), UINT32_C(0x002E8E8C), UINT32_C(0x001BE3B1),
7878           UINT32_C(0x004A5354), UINT32_C(0x005737B1)},
7879          {UINT32_C(0x005EE99B), UINT32_C(0x00738EC3), UINT32_C(0x000EEBF1),
7880           UINT32_C(0x006EAA11), UINT32_C(0x006EC5B6), UINT32_C(0x00137DDE),
7881           UINT32_C(0x0077237C), UINT32_C(0x00B7F2C7), UINT32_C(0x006D2A26),
7882           UINT32_C(0x005B944F), UINT32_C(0x0077B72B)},
7883          {UINT32_C(0x00288C6E), UINT32_C(0x005166D7), UINT32_C(0x0048279B),
7884           UINT32_C(0x009E9476), UINT32_C(0x0021C271), UINT32_C(0x0071BEB4),
7885           UINT32_C(0x004E74B9), UINT32_C(0x00F2F6D4), UINT32_C(0x00498EF2),
7886           UINT32_C(0x00769444), UINT32_C(0x00393F71)}},
7887         {{UINT32_C(0x00CF7E6B), UINT32_C(0x001C84EE), UINT32_C(0x00375656),
7888           UINT32_C(0x00982B0D), UINT32_C(0x0015275A), UINT32_C(0x0037C644),
7889           UINT32_C(0x00419783), UINT32_C(0x00E2FD75), UINT32_C(0x005830C6),
7890           UINT32_C(0x003DDDEF), UINT32_C(0x001D4931)},
7891          {UINT32_C(0x006F71D9), UINT32_C(0x0013F2A3), UINT32_C(0x007E4CC9),
7892           UINT32_C(0x0048B895), UINT32_C(0x006E0B00), UINT32_C(0x00535CF4),
7893           UINT32_C(0x004F83CB), UINT32_C(0x00E80D3A), UINT32_C(0x002893B7),
7894           UINT32_C(0x0039AF63), UINT32_C(0x00756654)},
7895          {UINT32_C(0x002DD089), UINT32_C(0x005B7963), UINT32_C(0x00147EEF),
7896           UINT32_C(0x008FE97D), UINT32_C(0x0074DE7F), UINT32_C(0x0038F059),
7897           UINT32_C(0x00424B8B), UINT32_C(0x00510FF5), UINT32_C(0x002A9DB5),
7898           UINT32_C(0x0040775A), UINT32_C(0x0023EC28)}},
7899         {{UINT32_C(0x004FFE86), UINT32_C(0x005A8445), UINT32_C(0x007B9BE4),
7900           UINT32_C(0x003CB951), UINT32_C(0x003DA9E0), UINT32_C(0x000B053F),
7901           UINT32_C(0x0068F80D), UINT32_C(0x008B792C), UINT32_C(0x006E5C50),
7902           UINT32_C(0x00709425), UINT32_C(0x00695574)},
7903          {UINT32_C(0x0055360D), UINT32_C(0x00304400), UINT32_C(0x007E3E9A),
7904           UINT32_C(0x00042D95), UINT32_C(0x006A420D), UINT32_C(0x000DE570),
7905           UINT32_C(0x0012F771), UINT32_C(0x007BF1D1), UINT32_C(0x005E64D1),
7906           UINT32_C(0x001011DE), UINT32_C(0x000FD8B3)},
7907          {UINT32_C(0x0035FF69), UINT32_C(0x0066F82F), UINT32_C(0x00765895),
7908           UINT32_C(0x00F5BC13), UINT32_C(0x00559AFC), UINT32_C(0x00165B92),
7909           UINT32_C(0x001A82F9), UINT32_C(0x004B92A4), UINT32_C(0x006FF84F),
7910           UINT32_C(0x000C3427), UINT32_C(0x0062C571)}},
7911         {{UINT32_C(0x001B13D2), UINT32_C(0x001AB645), UINT32_C(0x007C40CE),
7912           UINT32_C(0x007EA6AF), UINT32_C(0x00411986), UINT32_C(0x00393A3E),
7913           UINT32_C(0x003CE614), UINT32_C(0x006D6293), UINT32_C(0x003D6770),
7914           UINT32_C(0x003CBAD3), UINT32_C(0x005F61B3)},
7915          {UINT32_C(0x007F1514), UINT32_C(0x00563424), UINT32_C(0x00333C42),
7916           UINT32_C(0x0091B025), UINT32_C(0x000AC50C), UINT32_C(0x00572275),
7917           UINT32_C(0x00592815), UINT32_C(0x002DB85E), UINT32_C(0x0012ADB7),
7918           UINT32_C(0x00696D1D), UINT32_C(0x000924E7)},
7919          {UINT32_C(0x008A69B5), UINT32_C(0x0042A7C5), UINT32_C(0x007608DB),
7920           UINT32_C(0x00E7F3E0), UINT32_C(0x005993D5), UINT32_C(0x0004961E),
7921           UINT32_C(0x0076A481), UINT32_C(0x00A7DA96), UINT32_C(0x007E1606),
7922           UINT32_C(0x00752F27), UINT32_C(0x006EA269)}},
7923         {{UINT32_C(0x00E74931), UINT32_C(0x002B3168), UINT32_C(0x0062191F),
7924           UINT32_C(0x007F0A08), UINT32_C(0x00407602), UINT32_C(0x005E821F),
7925           UINT32_C(0x004B971A), UINT32_C(0x009FAA40), UINT32_C(0x00617415),
7926           UINT32_C(0x0019AF4C), UINT32_C(0x000A1378)},
7927          {UINT32_C(0x001CF746), UINT32_C(0x00698B21), UINT32_C(0x003AF2B3),
7928           UINT32_C(0x0018D41A), UINT32_C(0x00032EA5), UINT32_C(0x006A2A53),
7929           UINT32_C(0x0021B364), UINT32_C(0x004A1660), UINT32_C(0x00524EDD),
7930           UINT32_C(0x00537B8F), UINT32_C(0x0038BE03)},
7931          {UINT32_C(0x006C56DF), UINT32_C(0x0042F0FB), UINT32_C(0x000A9D1A),
7932           UINT32_C(0x007BE0C1), UINT32_C(0x006A26F4), UINT32_C(0x0034FD46),
7933           UINT32_C(0x005C512E), UINT32_C(0x00F3B887), UINT32_C(0x00741791),
7934           UINT32_C(0x000B6109), UINT32_C(0x007ED098)}},
7935         {{UINT32_C(0x002F95C3), UINT32_C(0x0075A30D), UINT32_C(0x004F8EA8),
7936           UINT32_C(0x00D36AE9), UINT32_C(0x003B9F94), UINT32_C(0x0050D27A),
7937           UINT32_C(0x0047AFFF), UINT32_C(0x00FF1072), UINT32_C(0x006EBA0D),
7938           UINT32_C(0x007147B6), UINT32_C(0x007C9C06)},
7939          {UINT32_C(0x007D647C), UINT32_C(0x00491D36), UINT32_C(0x003D3169),
7940           UINT32_C(0x00E48196), UINT32_C(0x005C2776), UINT32_C(0x0071BB7A),
7941           UINT32_C(0x000E3716), UINT32_C(0x00EEE6BA), UINT32_C(0x007A2FD6),
7942           UINT32_C(0x0066EADE), UINT32_C(0x006A3D3C)},
7943          {UINT32_C(0x00D712D2), UINT32_C(0x0030AFB5), UINT32_C(0x000B6DE0),
7944           UINT32_C(0x00CA9B95), UINT32_C(0x003CB508), UINT32_C(0x0002574C),
7945           UINT32_C(0x004F7664), UINT32_C(0x008BDA7C), UINT32_C(0x0052F4AE),
7946           UINT32_C(0x007C9C6D), UINT32_C(0x00640826)}},
7947         {{UINT32_C(0x00E39A36), UINT32_C(0x004E864A), UINT32_C(0x0041824A),
7948           UINT32_C(0x0014E9D0), UINT32_C(0x006B0DD5), UINT32_C(0x003F0191),
7949           UINT32_C(0x006B3AA8), UINT32_C(0x000F82B6), UINT32_C(0x00646713),
7950           UINT32_C(0x004411BF), UINT32_C(0x006EC066)},
7951          {UINT32_C(0x0055A118), UINT32_C(0x001D8588), UINT32_C(0x00098B01),
7952           UINT32_C(0x005B872B), UINT32_C(0x000612D7), UINT32_C(0x0015BB6C),
7953           UINT32_C(0x003EA8DE), UINT32_C(0x00492CBB), UINT32_C(0x0002B390),
7954           UINT32_C(0x002F64C6), UINT32_C(0x00309519)},
7955          {UINT32_C(0x00BCD94C), UINT32_C(0x000453AB), UINT32_C(0x0004DF45),
7956           UINT32_C(0x000AF59E), UINT32_C(0x00224611), UINT32_C(0x0046CB1F),
7957           UINT32_C(0x0037D384), UINT32_C(0x00704C79), UINT32_C(0x004E9EAE),
7958           UINT32_C(0x005F6C61), UINT32_C(0x0033B91C)}},
7959         {{UINT32_C(0x00C4EB7B), UINT32_C(0x001BB1AE), UINT32_C(0x000DF746),
7960           UINT32_C(0x002F5C66), UINT32_C(0x00386901), UINT32_C(0x004503D0),
7961           UINT32_C(0x00243C4F), UINT32_C(0x00F631A8), UINT32_C(0x0072318C),
7962           UINT32_C(0x0067781F), UINT32_C(0x0062555B)},
7963          {UINT32_C(0x009DF20B), UINT32_C(0x007957AF), UINT32_C(0x0048E896),
7964           UINT32_C(0x00266C31), UINT32_C(0x00606385), UINT32_C(0x00182ADB),
7965           UINT32_C(0x000F2D0A), UINT32_C(0x0047F1DB), UINT32_C(0x00612A5A),
7966           UINT32_C(0x00585C22), UINT32_C(0x00138DA1)},
7967          {UINT32_C(0x002B00C5), UINT32_C(0x007C31F7), UINT32_C(0x0027D051),
7968           UINT32_C(0x009836BE), UINT32_C(0x005DD824), UINT32_C(0x003C85C8),
7969           UINT32_C(0x00037B92), UINT32_C(0x005A36F0), UINT32_C(0x00072882),
7970           UINT32_C(0x00556F25), UINT32_C(0x005C74C4)}},
7971         {{UINT32_C(0x00200CDA), UINT32_C(0x00142D7E), UINT32_C(0x000C5F19),
7972           UINT32_C(0x0033CB24), UINT32_C(0x0062D137), UINT32_C(0x00370C3B),
7973           UINT32_C(0x007C19E3), UINT32_C(0x002C37A4), UINT32_C(0x0056C3B7),
7974           UINT32_C(0x0012591E), UINT32_C(0x005C6251)},
7975          {UINT32_C(0x00B8567F), UINT32_C(0x007942F3), UINT32_C(0x002971B5),
7976           UINT32_C(0x007509BB), UINT32_C(0x004489A3), UINT32_C(0x00090D38),
7977           UINT32_C(0x0049BA67), UINT32_C(0x00A295D7), UINT32_C(0x0006DE00),
7978           UINT32_C(0x005529F0), UINT32_C(0x0068D340)},
7979          {UINT32_C(0x008E1FEE), UINT32_C(0x002BADB8), UINT32_C(0x0060B20C),
7980           UINT32_C(0x00DE49F8), UINT32_C(0x0006AE06), UINT32_C(0x005BAE81),
7981           UINT32_C(0x00153FDC), UINT32_C(0x002DCC1B), UINT32_C(0x000F1E26),
7982           UINT32_C(0x00005870), UINT32_C(0x003CB27C)}},
7983         {{UINT32_C(0x00BA06D8), UINT32_C(0x0028ABA3), UINT32_C(0x004A0A47),
7984           UINT32_C(0x000E951E), UINT32_C(0x00609146), UINT32_C(0x00213816),
7985           UINT32_C(0x005657D3), UINT32_C(0x00404103), UINT32_C(0x0041BEE3),
7986           UINT32_C(0x001CC688), UINT32_C(0x003A758E)},
7987          {UINT32_C(0x00F8BBE3), UINT32_C(0x00641D00), UINT32_C(0x00119DD5),
7988           UINT32_C(0x004610E6), UINT32_C(0x0042B1F2), UINT32_C(0x00065991),
7989           UINT32_C(0x00400456), UINT32_C(0x0031F869), UINT32_C(0x00467CE5),
7990           UINT32_C(0x002ACA8A), UINT32_C(0x004AE71F)},
7991          {UINT32_C(0x00E75B70), UINT32_C(0x0045C331), UINT32_C(0x002C67D3),
7992           UINT32_C(0x002BAD62), UINT32_C(0x006D4C0D), UINT32_C(0x003E98E0),
7993           UINT32_C(0x0025DD15), UINT32_C(0x001652BE), UINT32_C(0x00138D53),
7994           UINT32_C(0x004CC0B3), UINT32_C(0x002588D3)}},
7995         {{UINT32_C(0x0015F134), UINT32_C(0x00758619), UINT32_C(0x005ABA25),
7996           UINT32_C(0x008AE40E), UINT32_C(0x00678EB8), UINT32_C(0x0001E6CD),
7997           UINT32_C(0x006265B1), UINT32_C(0x00D3C52B), UINT32_C(0x002372C9),
7998           UINT32_C(0x0008A5C9), UINT32_C(0x006ACFA4)},
7999          {UINT32_C(0x009F8482), UINT32_C(0x0045994C), UINT32_C(0x005989D0),
8000           UINT32_C(0x0048FFCC), UINT32_C(0x00242063), UINT32_C(0x000A8DD0),
8001           UINT32_C(0x005A0F78), UINT32_C(0x000518C7), UINT32_C(0x0039D0FB),
8002           UINT32_C(0x00116011), UINT32_C(0x0074BBE1)},
8003          {UINT32_C(0x008817CF), UINT32_C(0x0035F03B), UINT32_C(0x0008E964),
8004           UINT32_C(0x00DBB160), UINT32_C(0x0017FB04), UINT32_C(0x006F931C),
8005           UINT32_C(0x0024585A), UINT32_C(0x0043E352), UINT32_C(0x005B3B89),
8006           UINT32_C(0x0041A78E), UINT32_C(0x004EE10D)}},
8007         {{UINT32_C(0x00B5B594), UINT32_C(0x00238C49), UINT32_C(0x0061A952),
8008           UINT32_C(0x00547564), UINT32_C(0x0017E9B6), UINT32_C(0x004A85C1),
8009           UINT32_C(0x00092964), UINT32_C(0x00E0030F), UINT32_C(0x0002C024),
8010           UINT32_C(0x006FDEC5), UINT32_C(0x003414A1)},
8011          {UINT32_C(0x005F899E), UINT32_C(0x00317B47), UINT32_C(0x00390FE7),
8012           UINT32_C(0x0081FD30), UINT32_C(0x00666C28), UINT32_C(0x00310591),
8013           UINT32_C(0x000A02ED), UINT32_C(0x00C5E37F), UINT32_C(0x00200BEA),
8014           UINT32_C(0x004E58B8), UINT32_C(0x0006090A)},
8015          {UINT32_C(0x009AED9F), UINT32_C(0x006353DF), UINT32_C(0x004C8001),
8016           UINT32_C(0x00684029), UINT32_C(0x00278C84), UINT32_C(0x00476EFD),
8017           UINT32_C(0x002269BF), UINT32_C(0x0061CFF8), UINT32_C(0x006308BB),
8018           UINT32_C(0x0038C1A8), UINT32_C(0x000ED4DD)}},
8019         {{UINT32_C(0x0096CDC1), UINT32_C(0x004A93DE), UINT32_C(0x0017141A),
8020           UINT32_C(0x000CAE27), UINT32_C(0x00633C72), UINT32_C(0x001DD494),
8021           UINT32_C(0x005D5019), UINT32_C(0x007B392A), UINT32_C(0x004E6770),
8022           UINT32_C(0x0057CDFA), UINT32_C(0x0070ED69)},
8023          {UINT32_C(0x00A5AAC7), UINT32_C(0x0017F8BA), UINT32_C(0x0012D3F8),
8024           UINT32_C(0x00D2AEF7), UINT32_C(0x00203DAB), UINT32_C(0x001A6E08),
8025           UINT32_C(0x000F9D07), UINT32_C(0x003CEB53), UINT32_C(0x001F11A2),
8026           UINT32_C(0x00146100), UINT32_C(0x002BF207)},
8027          {UINT32_C(0x00AE2A02), UINT32_C(0x003FEF01), UINT32_C(0x00095E8C),
8028           UINT32_C(0x001BC27F), UINT32_C(0x00579C72), UINT32_C(0x007785A3),
8029           UINT32_C(0x000CF4D0), UINT32_C(0x00B77DC2), UINT32_C(0x00771FCC),
8030           UINT32_C(0x006D028D), UINT32_C(0x0072A687)}},
8031         {{UINT32_C(0x00FB5F0C), UINT32_C(0x000952F3), UINT32_C(0x0011F5D5),
8032           UINT32_C(0x0065371A), UINT32_C(0x006D7E88), UINT32_C(0x0054191C),
8033           UINT32_C(0x0076F7CF), UINT32_C(0x006B48DC), UINT32_C(0x006FD352),
8034           UINT32_C(0x004F1AA7), UINT32_C(0x007F5B13)},
8035          {UINT32_C(0x00606E6E), UINT32_C(0x00363808), UINT32_C(0x00407081),
8036           UINT32_C(0x0004FC3F), UINT32_C(0x00448579), UINT32_C(0x005D29C4),
8037           UINT32_C(0x001A127D), UINT32_C(0x005B9EEE), UINT32_C(0x00653D8E),
8038           UINT32_C(0x0028A4DF), UINT32_C(0x00628593)},
8039          {UINT32_C(0x00AC7820), UINT32_C(0x0030A9D3), UINT32_C(0x0071BE3A),
8040           UINT32_C(0x005FB4E5), UINT32_C(0x002512AE), UINT32_C(0x006EAE7D),
8041           UINT32_C(0x001D9B40), UINT32_C(0x005C1369), UINT32_C(0x00786C22),
8042           UINT32_C(0x0047AFEE), UINT32_C(0x00784A75)}},
8043         {{UINT32_C(0x00213EE3), UINT32_C(0x006F9827), UINT32_C(0x0021482B),
8044           UINT32_C(0x00E1390C), UINT32_C(0x00560D0B), UINT32_C(0x0050DD23),
8045           UINT32_C(0x0064A528), UINT32_C(0x00BA7CFF), UINT32_C(0x002D8C84),
8046           UINT32_C(0x0016175A), UINT32_C(0x005016A4)},
8047          {UINT32_C(0x00776C25), UINT32_C(0x000CB993), UINT32_C(0x0023BE80),
8048           UINT32_C(0x005A52FE), UINT32_C(0x002D117A), UINT32_C(0x00199CDB),
8049           UINT32_C(0x0052EB5E), UINT32_C(0x008D6F49), UINT32_C(0x007D7649),
8050           UINT32_C(0x0027048D), UINT32_C(0x001A9C36)},
8051          {UINT32_C(0x00632283), UINT32_C(0x00211DC7), UINT32_C(0x005DFA7C),
8052           UINT32_C(0x00F9046B), UINT32_C(0x00588CD6), UINT32_C(0x003FAF32),
8053           UINT32_C(0x007F4AED), UINT32_C(0x00575BC2), UINT32_C(0x007DBB8A),
8054           UINT32_C(0x0005122F), UINT32_C(0x006253CC)}},
8055         {{UINT32_C(0x000D1BD2), UINT32_C(0x001AF81A), UINT32_C(0x0037C285),
8056           UINT32_C(0x00D871E6), UINT32_C(0x0062340E), UINT32_C(0x0071909A),
8057           UINT32_C(0x000F0E01), UINT32_C(0x0076262E), UINT32_C(0x007BF9C3),
8058           UINT32_C(0x007F40FC), UINT32_C(0x000B2BC5)},
8059          {UINT32_C(0x002724D3), UINT32_C(0x00504EE8), UINT32_C(0x00609955),
8060           UINT32_C(0x0075E11A), UINT32_C(0x000CB36C), UINT32_C(0x0056D4AF),
8061           UINT32_C(0x000E59E9), UINT32_C(0x003E6912), UINT32_C(0x00789AD2),
8062           UINT32_C(0x00575219), UINT32_C(0x007D7B6C)},
8063          {UINT32_C(0x0072E3DB), UINT32_C(0x0050D327), UINT32_C(0x000F9230),
8064           UINT32_C(0x00AFB63A), UINT32_C(0x0008E760), UINT32_C(0x0059EB9D),
8065           UINT32_C(0x003A4CC1), UINT32_C(0x00C1CE75), UINT32_C(0x00497AD2),
8066           UINT32_C(0x006BAB27), UINT32_C(0x002B8174)}},
8067     },
8068     {
8069         {{UINT32_C(0x00C72DC5), UINT32_C(0x00771E4C), UINT32_C(0x007FE32B),
8070           UINT32_C(0x00502045), UINT32_C(0x00047BCA), UINT32_C(0x005E99DD),
8071           UINT32_C(0x0062584D), UINT32_C(0x00C26155), UINT32_C(0x007641CF),
8072           UINT32_C(0x00519072), UINT32_C(0x0008A95B)},
8073          {UINT32_C(0x00B1CB39), UINT32_C(0x000965FD), UINT32_C(0x0031E4AF),
8074           UINT32_C(0x0030360A), UINT32_C(0x001C457C), UINT32_C(0x003BB754),
8075           UINT32_C(0x005CEAE2), UINT32_C(0x000B7485), UINT32_C(0x00211EE1),
8076           UINT32_C(0x005286E0), UINT32_C(0x00797D03)},
8077          {UINT32_C(0x00220D40), UINT32_C(0x004CA0AD), UINT32_C(0x0021A77A),
8078           UINT32_C(0x00364CE1), UINT32_C(0x006676A3), UINT32_C(0x0038EE70),
8079           UINT32_C(0x001B66BF), UINT32_C(0x00A09800), UINT32_C(0x00714B36),
8080           UINT32_C(0x0068F47C), UINT32_C(0x000FBD61)}},
8081         {{UINT32_C(0x00AADA87), UINT32_C(0x001E516D), UINT32_C(0x001DDDC1),
8082           UINT32_C(0x002496F0), UINT32_C(0x0079D73B), UINT32_C(0x006E84CA),
8083           UINT32_C(0x0001F77F), UINT32_C(0x004ED6A4), UINT32_C(0x004F9268),
8084           UINT32_C(0x002C2D9B), UINT32_C(0x00452C79)},
8085          {UINT32_C(0x005C5FB5), UINT32_C(0x001401F9), UINT32_C(0x001619FE),
8086           UINT32_C(0x0073A62F), UINT32_C(0x0027A568), UINT32_C(0x00410CA3),
8087           UINT32_C(0x007090B1), UINT32_C(0x0088392F), UINT32_C(0x00025F8C),
8088           UINT32_C(0x00470FB6), UINT32_C(0x00400202)},
8089          {UINT32_C(0x00FB4AF5), UINT32_C(0x004A6D33), UINT32_C(0x0067B3D7),
8090           UINT32_C(0x006C233F), UINT32_C(0x006659A6), UINT32_C(0x003370F0),
8091           UINT32_C(0x0071C750), UINT32_C(0x007CF562), UINT32_C(0x006B187A),
8092           UINT32_C(0x0044EC7F), UINT32_C(0x00780B9E)}},
8093         {{UINT32_C(0x007A1682), UINT32_C(0x00775D09), UINT32_C(0x000CA759),
8094           UINT32_C(0x005178EB), UINT32_C(0x001128C9), UINT32_C(0x00453CCE),
8095           UINT32_C(0x002B94ED), UINT32_C(0x00A6541E), UINT32_C(0x0029A8C4),
8096           UINT32_C(0x0029D1E3), UINT32_C(0x00318CEC)},
8097          {UINT32_C(0x002EA810), UINT32_C(0x002E2D2A), UINT32_C(0x00760A1E),
8098           UINT32_C(0x00768B26), UINT32_C(0x0012C353), UINT32_C(0x007A143A),
8099           UINT32_C(0x007F1485), UINT32_C(0x002F5E05), UINT32_C(0x006543DE),
8100           UINT32_C(0x0005DA47), UINT32_C(0x0062D462)},
8101          {UINT32_C(0x0056C417), UINT32_C(0x0020F8E7), UINT32_C(0x0021B1CB),
8102           UINT32_C(0x00DEBC01), UINT32_C(0x0049F124), UINT32_C(0x0063A3EF),
8103           UINT32_C(0x006B1EFC), UINT32_C(0x005DD025), UINT32_C(0x00579F7C),
8104           UINT32_C(0x005282E6), UINT32_C(0x003743A4)}},
8105         {{UINT32_C(0x00D850C1), UINT32_C(0x004304DD), UINT32_C(0x0031CA95),
8106           UINT32_C(0x00ABA381), UINT32_C(0x00557845), UINT32_C(0x00170B2A),
8107           UINT32_C(0x00269F01), UINT32_C(0x00F14562), UINT32_C(0x00177E37),
8108           UINT32_C(0x0000AEF5), UINT32_C(0x0016E67A)},
8109          {UINT32_C(0x008429CD), UINT32_C(0x004F3F15), UINT32_C(0x00310961),
8110           UINT32_C(0x00018EC0), UINT32_C(0x0017C520), UINT32_C(0x005A3C1E),
8111           UINT32_C(0x00069B19), UINT32_C(0x00BBC85D), UINT32_C(0x006A8255),
8112           UINT32_C(0x0005A237), UINT32_C(0x00671035)},
8113          {UINT32_C(0x00397785), UINT32_C(0x000B8DE6), UINT32_C(0x00034C5B),
8114           UINT32_C(0x00335B11), UINT32_C(0x005C7862), UINT32_C(0x002482C8),
8115           UINT32_C(0x0037A568), UINT32_C(0x00679E39), UINT32_C(0x0056810F),
8116           UINT32_C(0x0000E8F6), UINT32_C(0x003D1330)}},
8117         {{UINT32_C(0x00FAF1CD), UINT32_C(0x0060A8C5), UINT32_C(0x00508B76),
8118           UINT32_C(0x004F108E), UINT32_C(0x0054D331), UINT32_C(0x0027A7E8),
8119           UINT32_C(0x00346905), UINT32_C(0x00450F84), UINT32_C(0x001D3E9C),
8120           UINT32_C(0x000B0762), UINT32_C(0x00032396)},
8121          {UINT32_C(0x004FAD75), UINT32_C(0x00013909), UINT32_C(0x00279AA7),
8122           UINT32_C(0x00661D96), UINT32_C(0x0011C8F3), UINT32_C(0x004E1E02),
8123           UINT32_C(0x0079B899), UINT32_C(0x00219A22), UINT32_C(0x007D00F4),
8124           UINT32_C(0x0073A047), UINT32_C(0x00112302)},
8125          {UINT32_C(0x00C06EE2), UINT32_C(0x003FE63F), UINT32_C(0x0041BD79),
8126           UINT32_C(0x00096C7C), UINT32_C(0x00716A9D), UINT32_C(0x00616E56),
8127           UINT32_C(0x003FA2BD), UINT32_C(0x006CC575), UINT32_C(0x0077B6FA),
8128           UINT32_C(0x005D8484), UINT32_C(0x004EC884)}},
8129         {{UINT32_C(0x00EEDE54), UINT32_C(0x0060BECB), UINT32_C(0x00454F6A),
8130           UINT32_C(0x007CA867), UINT32_C(0x003128D5), UINT32_C(0x001A6257),
8131           UINT32_C(0x001C9D64), UINT32_C(0x0047D7B2), UINT32_C(0x0048D9D4),
8132           UINT32_C(0x00387A36), UINT32_C(0x0030150F)},
8133          {UINT32_C(0x00869B40), UINT32_C(0x004423AB), UINT32_C(0x006A0C98),
8134           UINT32_C(0x004BE18D), UINT32_C(0x000680E9), UINT32_C(0x006F03C8),
8135           UINT32_C(0x0035097A), UINT32_C(0x00163A09), UINT32_C(0x00036511),
8136           UINT32_C(0x002020C4), UINT32_C(0x0032F125)},
8137          {UINT32_C(0x006499A6), UINT32_C(0x0032DBAB), UINT32_C(0x0050F205),
8138           UINT32_C(0x00127C8C), UINT32_C(0x0071C444), UINT32_C(0x00610493),
8139           UINT32_C(0x0057B4B2), UINT32_C(0x00B0B2CA), UINT32_C(0x0034A155),
8140           UINT32_C(0x006D7797), UINT32_C(0x0063E346)}},
8141         {{UINT32_C(0x0030C824), UINT32_C(0x00393557), UINT32_C(0x002AA53A),
8142           UINT32_C(0x00232B1F), UINT32_C(0x007E74FF), UINT32_C(0x0058171D),
8143           UINT32_C(0x000328E4), UINT32_C(0x0085BA6B), UINT32_C(0x0013D154),
8144           UINT32_C(0x0018258C), UINT32_C(0x006FA2B0)},
8145          {UINT32_C(0x00C3FCC1), UINT32_C(0x006B3441), UINT32_C(0x005E8829),
8146           UINT32_C(0x00B3314C), UINT32_C(0x0004ECB2), UINT32_C(0x006B3C89),
8147           UINT32_C(0x003F2F04), UINT32_C(0x0092C88B), UINT32_C(0x001EC53B),
8148           UINT32_C(0x0031EA9C), UINT32_C(0x000BDC2A)},
8149          {UINT32_C(0x0063FFE8), UINT32_C(0x000EFB74), UINT32_C(0x0015043F),
8150           UINT32_C(0x005F290A), UINT32_C(0x001DA041), UINT32_C(0x0060291C),
8151           UINT32_C(0x007C2769), UINT32_C(0x00EB677A), UINT32_C(0x0043B7A4),
8152           UINT32_C(0x0033A181), UINT32_C(0x003F9D2D)}},
8153         {{UINT32_C(0x006CC3EF), UINT32_C(0x002F3089), UINT32_C(0x0061B741),
8154           UINT32_C(0x007537D8), UINT32_C(0x00717E80), UINT32_C(0x000BD6BF),
8155           UINT32_C(0x003D6972), UINT32_C(0x00BE0A56), UINT32_C(0x007C075B),
8156           UINT32_C(0x005C62F6), UINT32_C(0x003CA2DF)},
8157          {UINT32_C(0x00171808), UINT32_C(0x005A205B), UINT32_C(0x0005AD96),
8158           UINT32_C(0x0058D8E1), UINT32_C(0x00423531), UINT32_C(0x005C11A5),
8159           UINT32_C(0x00169496), UINT32_C(0x001AB66A), UINT32_C(0x002F6C8B),
8160           UINT32_C(0x00668CFD), UINT32_C(0x006B0027)},
8161          {UINT32_C(0x00528A82), UINT32_C(0x002B2713), UINT32_C(0x0079DE04),
8162           UINT32_C(0x00EF8CF9), UINT32_C(0x006263B9), UINT32_C(0x00720507),
8163           UINT32_C(0x0052404F), UINT32_C(0x003C93E8), UINT32_C(0x00100A85),
8164           UINT32_C(0x006D3FFA), UINT32_C(0x003B14B0)}},
8165         {{UINT32_C(0x00F84103), UINT32_C(0x002EFED0), UINT32_C(0x004DF3E6),
8166           UINT32_C(0x001A7373), UINT32_C(0x004C8064), UINT32_C(0x0032CAAE),
8167           UINT32_C(0x000E2E35), UINT32_C(0x00099871), UINT32_C(0x0043615C),
8168           UINT32_C(0x005D4D9B), UINT32_C(0x003A809B)},
8169          {UINT32_C(0x00688B18), UINT32_C(0x003E6C8B), UINT32_C(0x007DA089),
8170           UINT32_C(0x00470987), UINT32_C(0x0006E04D), UINT32_C(0x00346F12),
8171           UINT32_C(0x0054964B), UINT32_C(0x001C7FB1), UINT32_C(0x0028F4AF),
8172           UINT32_C(0x006ABA8D), UINT32_C(0x007BEAD8)},
8173          {UINT32_C(0x00A4DB09), UINT32_C(0x000F021A), UINT32_C(0x000E3BF3),
8174           UINT32_C(0x00347724), UINT32_C(0x001CD5E3), UINT32_C(0x00570A82),
8175           UINT32_C(0x001A702F), UINT32_C(0x00AF41F7), UINT32_C(0x005573E8),
8176           UINT32_C(0x007B6CC3), UINT32_C(0x000E6B2F)}},
8177         {{UINT32_C(0x00C4323E), UINT32_C(0x005E5A07), UINT32_C(0x006E0C89),
8178           UINT32_C(0x00018D1E), UINT32_C(0x00582AB5), UINT32_C(0x004E8211),
8179           UINT32_C(0x0021ED53), UINT32_C(0x006B639D), UINT32_C(0x00505AE2),
8180           UINT32_C(0x007DF924), UINT32_C(0x002AA137)},
8181          {UINT32_C(0x00C33279), UINT32_C(0x00685341), UINT32_C(0x00643C48),
8182           UINT32_C(0x00ACAC38), UINT32_C(0x005AE420), UINT32_C(0x00514A01),
8183           UINT32_C(0x006BEB21), UINT32_C(0x003CC859), UINT32_C(0x0017135D),
8184           UINT32_C(0x004ADA1B), UINT32_C(0x007CF53B)},
8185          {UINT32_C(0x006149FF), UINT32_C(0x00353234), UINT32_C(0x0000FE22),
8186           UINT32_C(0x001F09D7), UINT32_C(0x00021F65), UINT32_C(0x0049C3AD),
8187           UINT32_C(0x001C1A78), UINT32_C(0x00E00DFB), UINT32_C(0x00228A53),
8188           UINT32_C(0x005812BD), UINT32_C(0x00407161)}},
8189         {{UINT32_C(0x00AC8719), UINT32_C(0x004B5C52), UINT32_C(0x001AD60A),
8190           UINT32_C(0x001B2FAC), UINT32_C(0x004CD6B6), UINT32_C(0x002823C4),
8191           UINT32_C(0x003BE7C2), UINT32_C(0x009BDCCC), UINT32_C(0x00566B2F),
8192           UINT32_C(0x00205A09), UINT32_C(0x006C27CE)},
8193          {UINT32_C(0x0053FC77), UINT32_C(0x003F8121), UINT32_C(0x0073622F),
8194           UINT32_C(0x00775975), UINT32_C(0x007FED73), UINT32_C(0x0041C648),
8195           UINT32_C(0x00462A53), UINT32_C(0x00FFBFD4), UINT32_C(0x0011A7DF),
8196           UINT32_C(0x003092B5), UINT32_C(0x00261A53)},
8197          {UINT32_C(0x009AAFB7), UINT32_C(0x0013BCE1), UINT32_C(0x004971F6),
8198           UINT32_C(0x00EDD1B3), UINT32_C(0x002525B4), UINT32_C(0x0058D61A),
8199           UINT32_C(0x0066E9D1), UINT32_C(0x009B73B8), UINT32_C(0x0033C84A),
8200           UINT32_C(0x0006CAB6), UINT32_C(0x00008EB2)}},
8201         {{UINT32_C(0x00492C5D), UINT32_C(0x005CF97D), UINT32_C(0x0007722C),
8202           UINT32_C(0x0066F3B8), UINT32_C(0x000306A7), UINT32_C(0x007D6927),
8203           UINT32_C(0x0023F020), UINT32_C(0x00BD1D41), UINT32_C(0x00497C08),
8204           UINT32_C(0x005699EF), UINT32_C(0x00369E3D)},
8205          {UINT32_C(0x0025F79F), UINT32_C(0x005176A4), UINT32_C(0x003D2CDA),
8206           UINT32_C(0x00F5AAC3), UINT32_C(0x000A2AD0), UINT32_C(0x006D725F),
8207           UINT32_C(0x000E7277), UINT32_C(0x00B14CC5), UINT32_C(0x002D5FC8),
8208           UINT32_C(0x007F764F), UINT32_C(0x0050EF13)},
8209          {UINT32_C(0x0097E85B), UINT32_C(0x001C0CFD), UINT32_C(0x006027C7),
8210           UINT32_C(0x0038732E), UINT32_C(0x003385DC), UINT32_C(0x006F67DF),
8211           UINT32_C(0x0038EF81), UINT32_C(0x00F717C0), UINT32_C(0x000B4878),
8212           UINT32_C(0x00099CD4), UINT32_C(0x0071787D)}},
8213         {{UINT32_C(0x000EB7F2), UINT32_C(0x007F42B8), UINT32_C(0x0070653E),
8214           UINT32_C(0x00320A4F), UINT32_C(0x0016BB51), UINT32_C(0x00691D90),
8215           UINT32_C(0x00138916), UINT32_C(0x00D043DE), UINT32_C(0x00107F57),
8216           UINT32_C(0x001DCB80), UINT32_C(0x0059F0BB)},
8217          {UINT32_C(0x005CD9B5), UINT32_C(0x002A2874), UINT32_C(0x000600A5),
8218           UINT32_C(0x00235734), UINT32_C(0x002313EF), UINT32_C(0x00312DEA),
8219           UINT32_C(0x0029CA11), UINT32_C(0x00973048), UINT32_C(0x004D4134),
8220           UINT32_C(0x003E99AC), UINT32_C(0x000867B4)},
8221          {UINT32_C(0x002FA5A2), UINT32_C(0x00413E42), UINT32_C(0x00772166),
8222           UINT32_C(0x001C593A), UINT32_C(0x006949A2), UINT32_C(0x00786FF6),
8223           UINT32_C(0x003BB2E2), UINT32_C(0x002BC314), UINT32_C(0x00125CC6),
8224           UINT32_C(0x007B110C), UINT32_C(0x004E5352)}},
8225         {{UINT32_C(0x00E38B2F), UINT32_C(0x00549D88), UINT32_C(0x00451B24),
8226           UINT32_C(0x00237AB5), UINT32_C(0x000DAF24), UINT32_C(0x00028B85),
8227           UINT32_C(0x0002439F), UINT32_C(0x007FF9B1), UINT32_C(0x004B3263),
8228           UINT32_C(0x007B2514), UINT32_C(0x00130159)},
8229          {UINT32_C(0x00CBEDBE), UINT32_C(0x00164E8E), UINT32_C(0x006D1617),
8230           UINT32_C(0x00971E62), UINT32_C(0x0014CEC3), UINT32_C(0x00654E4C),
8231           UINT32_C(0x003EE5FE), UINT32_C(0x00D5DB3C), UINT32_C(0x0007E501),
8232           UINT32_C(0x0059EAD8), UINT32_C(0x0033FEF5)},
8233          {UINT32_C(0x00F396A9), UINT32_C(0x000E12CC), UINT32_C(0x0066F113),
8234           UINT32_C(0x0032A657), UINT32_C(0x00558CEA), UINT32_C(0x0035397E),
8235           UINT32_C(0x0072BA41), UINT32_C(0x001BAC1F), UINT32_C(0x00458EAD),
8236           UINT32_C(0x000176E4), UINT32_C(0x006D9827)}},
8237         {{UINT32_C(0x0054ACCB), UINT32_C(0x006837A0), UINT32_C(0x005E0E17),
8238           UINT32_C(0x002D46A3), UINT32_C(0x001EC13B), UINT32_C(0x0055ED3F),
8239           UINT32_C(0x004AD796), UINT32_C(0x009822FD), UINT32_C(0x006E60A8),
8240           UINT32_C(0x0019C052), UINT32_C(0x0047770E)},
8241          {UINT32_C(0x002D311B), UINT32_C(0x0025BEF8), UINT32_C(0x00441B88),
8242           UINT32_C(0x000175A1), UINT32_C(0x0077C008), UINT32_C(0x007C334F),
8243           UINT32_C(0x003B3992), UINT32_C(0x00CA38F0), UINT32_C(0x0002777D),
8244           UINT32_C(0x003C8B93), UINT32_C(0x0028F8C6)},
8245          {UINT32_C(0x008E76E6), UINT32_C(0x000A66B8), UINT32_C(0x0049E5D6),
8246           UINT32_C(0x00E8B276), UINT32_C(0x0032543C), UINT32_C(0x0027A563),
8247           UINT32_C(0x0000CF52), UINT32_C(0x00DEDDB7), UINT32_C(0x00401370),
8248           UINT32_C(0x000F47DB), UINT32_C(0x00502929)}},
8249         {{UINT32_C(0x00AECCC3), UINT32_C(0x0054C9AE), UINT32_C(0x002F21DC),
8250           UINT32_C(0x0059D2B0), UINT32_C(0x0033CED8), UINT32_C(0x004A2E1F),
8251           UINT32_C(0x0019B7CF), UINT32_C(0x0095A290), UINT32_C(0x0070C5C6),
8252           UINT32_C(0x002EB87D), UINT32_C(0x007DB934)},
8253          {UINT32_C(0x0078836C), UINT32_C(0x003DF99A), UINT32_C(0x005C291E),
8254           UINT32_C(0x00534356), UINT32_C(0x00247324), UINT32_C(0x002F5070),
8255           UINT32_C(0x003EEB8F), UINT32_C(0x003A920E), UINT32_C(0x0002D28C),
8256           UINT32_C(0x000FF5FB), UINT32_C(0x007336AA)},
8257          {UINT32_C(0x001FA1A5), UINT32_C(0x00212F13), UINT32_C(0x00577134),
8258           UINT32_C(0x004BA237), UINT32_C(0x0049A436), UINT32_C(0x007F6BB2),
8259           UINT32_C(0x00722AC5), UINT32_C(0x00C0532E), UINT32_C(0x007534D3),
8260           UINT32_C(0x001DCBE4), UINT32_C(0x00726554)}},
8261     },
8262     {
8263         {{UINT32_C(0x009D7F04), UINT32_C(0x003E522B), UINT32_C(0x004E8173),
8264           UINT32_C(0x001C1588), UINT32_C(0x0022E52F), UINT32_C(0x007A9393),
8265           UINT32_C(0x006F3F0A), UINT32_C(0x00537EF6), UINT32_C(0x0061C5EA),
8266           UINT32_C(0x001044A3), UINT32_C(0x005E8C14)},
8267          {UINT32_C(0x00CC8AA4), UINT32_C(0x000C72ED), UINT32_C(0x0000DF49),
8268           UINT32_C(0x00798195), UINT32_C(0x000C41B1), UINT32_C(0x005C0709),
8269           UINT32_C(0x0063F579), UINT32_C(0x00797385), UINT32_C(0x00561750),
8270           UINT32_C(0x0022408A), UINT32_C(0x0033DFF7)},
8271          {UINT32_C(0x00E72D7C), UINT32_C(0x0052E6A6), UINT32_C(0x00677E30),
8272           UINT32_C(0x00DA67FB), UINT32_C(0x0053230A), UINT32_C(0x007B8901),
8273           UINT32_C(0x0045AC83), UINT32_C(0x0010FEFC), UINT32_C(0x006E69B3),
8274           UINT32_C(0x006008DB), UINT32_C(0x006D7911)}},
8275         {{UINT32_C(0x004F7A12), UINT32_C(0x003FE9B9), UINT32_C(0x0035897D),
8276           UINT32_C(0x0092A16A), UINT32_C(0x002ABB20), UINT32_C(0x003C1F4F),
8277           UINT32_C(0x00170A77), UINT32_C(0x0014D957), UINT32_C(0x003289DC),
8278           UINT32_C(0x0005BECE), UINT32_C(0x00601138)},
8279          {UINT32_C(0x0061EEA8), UINT32_C(0x00211689), UINT32_C(0x002EAEF4),
8280           UINT32_C(0x002EE6E9), UINT32_C(0x0042698F), UINT32_C(0x002C17BC),
8281           UINT32_C(0x00153303), UINT32_C(0x000EA9B7), UINT32_C(0x00335B95),
8282           UINT32_C(0x00101F4E), UINT32_C(0x00661849)},
8283          {UINT32_C(0x00AEA3D6), UINT32_C(0x00406869), UINT32_C(0x00375EE9),
8284           UINT32_C(0x00D5E095), UINT32_C(0x00510487), UINT32_C(0x00425B84),
8285           UINT32_C(0x002933E8), UINT32_C(0x0085EA0B), UINT32_C(0x0036858A),
8286           UINT32_C(0x0015643E), UINT32_C(0x00291032)}},
8287         {{UINT32_C(0x00B19259), UINT32_C(0x0044D63D), UINT32_C(0x000D8B2C),
8288           UINT32_C(0x00F03F2A), UINT32_C(0x0075DD51), UINT32_C(0x0063574F),
8289           UINT32_C(0x00597D0C), UINT32_C(0x004CC301), UINT32_C(0x0008F143),
8290           UINT32_C(0x001955D2), UINT32_C(0x000EFE67)},
8291          {UINT32_C(0x0012F590), UINT32_C(0x0008204C), UINT32_C(0x007F0B91),
8292           UINT32_C(0x00397CAF), UINT32_C(0x00617872), UINT32_C(0x002BCC89),
8293           UINT32_C(0x00560BB9), UINT32_C(0x00755598), UINT32_C(0x006EECB1),
8294           UINT32_C(0x004BA0C7), UINT32_C(0x001A34AB)},
8295          {UINT32_C(0x008528CC), UINT32_C(0x00580BBC), UINT32_C(0x005B25D1),
8296           UINT32_C(0x007506DD), UINT32_C(0x007DC690), UINT32_C(0x007F96D8),
8297           UINT32_C(0x00392289), UINT32_C(0x00AEF1AE), UINT32_C(0x0063168D),
8298           UINT32_C(0x0072BE2C), UINT32_C(0x005157C5)}},
8299         {{UINT32_C(0x003A9FD2), UINT32_C(0x005B25BE), UINT32_C(0x004F27F7),
8300           UINT32_C(0x00BB4A51), UINT32_C(0x000662C0), UINT32_C(0x0041BBE0),
8301           UINT32_C(0x00460962), UINT32_C(0x002EF651), UINT32_C(0x0017689F),
8302           UINT32_C(0x00071079), UINT32_C(0x0001A5DF)},
8303          {UINT32_C(0x00F75DF0), UINT32_C(0x0049FC9F), UINT32_C(0x006A8F37),
8304           UINT32_C(0x00C7015B), UINT32_C(0x001EE02F), UINT32_C(0x003A578B),
8305           UINT32_C(0x004F5B70), UINT32_C(0x0046D34E), UINT32_C(0x0036C503),
8306           UINT32_C(0x004A47A8), UINT32_C(0x001555FC)},
8307          {UINT32_C(0x000C1A1C), UINT32_C(0x0018A095), UINT32_C(0x004C6DD3),
8308           UINT32_C(0x00622629), UINT32_C(0x001A4B4D), UINT32_C(0x001EC488),
8309           UINT32_C(0x007C4E62), UINT32_C(0x00F0CBDB), UINT32_C(0x0053F494),
8310           UINT32_C(0x0025E122), UINT32_C(0x006FE5D9)}},
8311         {{UINT32_C(0x001D0B59), UINT32_C(0x002BC2EB), UINT32_C(0x006C247D),
8312           UINT32_C(0x0017164C), UINT32_C(0x0016C9E8), UINT32_C(0x003FE112),
8313           UINT32_C(0x00523C8C), UINT32_C(0x00500E55), UINT32_C(0x001EBD4A),
8314           UINT32_C(0x002663A4), UINT32_C(0x002FF15B)},
8315          {UINT32_C(0x009AECD9), UINT32_C(0x00079901), UINT32_C(0x006A6241),
8316           UINT32_C(0x003D62B1), UINT32_C(0x006182F6), UINT32_C(0x001F7C9C),
8317           UINT32_C(0x0030C6A5), UINT32_C(0x00C1D9FD), UINT32_C(0x000AF3AE),
8318           UINT32_C(0x007306C0), UINT32_C(0x007180E7)},
8319          {UINT32_C(0x0072CCE1), UINT32_C(0x002EF926), UINT32_C(0x0033946B),
8320           UINT32_C(0x00DD4125), UINT32_C(0x00466F98), UINT32_C(0x005626FE),
8321           UINT32_C(0x004D69F2), UINT32_C(0x00423C76), UINT32_C(0x0065D10D),
8322           UINT32_C(0x002D6287), UINT32_C(0x002DD36E)}},
8323         {{UINT32_C(0x0060C004), UINT32_C(0x002DF8E2), UINT32_C(0x0073334C),
8324           UINT32_C(0x008C39C6), UINT32_C(0x00509B37), UINT32_C(0x007E8198),
8325           UINT32_C(0x000F62E1), UINT32_C(0x00DD92B1), UINT32_C(0x001998EC),
8326           UINT32_C(0x002CAD76), UINT32_C(0x00202123)},
8327          {UINT32_C(0x00131346), UINT32_C(0x007A9FF0), UINT32_C(0x00587E28),
8328           UINT32_C(0x005434EA), UINT32_C(0x000C2CE8), UINT32_C(0x004B1B22),
8329           UINT32_C(0x0045D4A2), UINT32_C(0x009F60D4), UINT32_C(0x0057E546),
8330           UINT32_C(0x0064D05F), UINT32_C(0x006EEC72)},
8331          {UINT32_C(0x0021F448), UINT32_C(0x0010845A), UINT32_C(0x0006B85E),
8332           UINT32_C(0x00AB9D0A), UINT32_C(0x0042FE06), UINT32_C(0x0033EE0E),
8333           UINT32_C(0x006AD2F2), UINT32_C(0x005C9579), UINT32_C(0x0067DFC7),
8334           UINT32_C(0x003C1F3B), UINT32_C(0x00699BE9)}},
8335         {{UINT32_C(0x00A66972), UINT32_C(0x005C9C52), UINT32_C(0x0033F743),
8336           UINT32_C(0x002E4131), UINT32_C(0x0018DAB0), UINT32_C(0x00451021),
8337           UINT32_C(0x004A7644), UINT32_C(0x00280CE7), UINT32_C(0x0054A55B),
8338           UINT32_C(0x0000D618), UINT32_C(0x0006EA24)},
8339          {UINT32_C(0x00836291), UINT32_C(0x005C23F3), UINT32_C(0x003EF835),
8340           UINT32_C(0x006B6300), UINT32_C(0x00459EBC), UINT32_C(0x007C3224),
8341           UINT32_C(0x0044102E), UINT32_C(0x00E2D759), UINT32_C(0x0058BA8F),
8342           UINT32_C(0x00203AA3), UINT32_C(0x006F64DB)},
8343          {UINT32_C(0x00A80AE1), UINT32_C(0x0002F426), UINT32_C(0x005F82DF),
8344           UINT32_C(0x00129B98), UINT32_C(0x0016684F), UINT32_C(0x0037C9F8),
8345           UINT32_C(0x00798FDE), UINT32_C(0x005C8F79), UINT32_C(0x0007C718),
8346           UINT32_C(0x0052B29A), UINT32_C(0x00059CBE)}},
8347         {{UINT32_C(0x00126A51), UINT32_C(0x002CB978), UINT32_C(0x00423FCC),
8348           UINT32_C(0x00B9CC4C), UINT32_C(0x002AA538), UINT32_C(0x00395FBB),
8349           UINT32_C(0x00327373), UINT32_C(0x00C23CA5), UINT32_C(0x00544D71),
8350           UINT32_C(0x00455CE2), UINT32_C(0x0077726F)},
8351          {UINT32_C(0x00E72C58), UINT32_C(0x0056C6C9), UINT32_C(0x003D49ED),
8352           UINT32_C(0x00C8F1D2), UINT32_C(0x004A8FA5), UINT32_C(0x006F3C45),
8353           UINT32_C(0x0069AB18), UINT32_C(0x00D5CE81), UINT32_C(0x000A718F),
8354           UINT32_C(0x004420F7), UINT32_C(0x002B7F53)},
8355          {UINT32_C(0x00809D3C), UINT32_C(0x005957A2), UINT32_C(0x006A3FB7),
8356           UINT32_C(0x00FC7710), UINT32_C(0x002F2CC5), UINT32_C(0x0068D0E3),
8357           UINT32_C(0x0017780D), UINT32_C(0x00B2B1F6), UINT32_C(0x001C4FDE),
8358           UINT32_C(0x0072D97A), UINT32_C(0x003E98AB)}},
8359         {{UINT32_C(0x00276A10), UINT32_C(0x0064190E), UINT32_C(0x000243B5),
8360           UINT32_C(0x00EE59AE), UINT32_C(0x0016FC7F), UINT32_C(0x0036935E),
8361           UINT32_C(0x0058A7F7), UINT32_C(0x006AAA88), UINT32_C(0x0036ED90),
8362           UINT32_C(0x00779372), UINT32_C(0x0030DC06)},
8363          {UINT32_C(0x00208159), UINT32_C(0x00170255), UINT32_C(0x00695DF5),
8364           UINT32_C(0x00411E22), UINT32_C(0x00477C68), UINT32_C(0x0032102F),
8365           UINT32_C(0x001B026A), UINT32_C(0x0038CA4D), UINT32_C(0x00235EC5),
8366           UINT32_C(0x0078C8B9), UINT32_C(0x00651C9F)},
8367          {UINT32_C(0x0067D2A4), UINT32_C(0x00446632), UINT32_C(0x003D1074),
8368           UINT32_C(0x00032AC4), UINT32_C(0x0061127F), UINT32_C(0x0004B798),
8369           UINT32_C(0x00003C2D), UINT32_C(0x00F00C4B), UINT32_C(0x00603764),
8370           UINT32_C(0x0074558D), UINT32_C(0x00375BF7)}},
8371         {{UINT32_C(0x00B4CE41), UINT32_C(0x007FBBC3), UINT32_C(0x00750477),
8372           UINT32_C(0x00DA8800), UINT32_C(0x000B20CD), UINT32_C(0x002FDE44),
8373           UINT32_C(0x0001448F), UINT32_C(0x001B1EE5), UINT32_C(0x003B0FDC),
8374           UINT32_C(0x00600D6A), UINT32_C(0x0042807B)},
8375          {UINT32_C(0x005C7646), UINT32_C(0x004F6D9A), UINT32_C(0x0047B855),
8376           UINT32_C(0x003D2CEB), UINT32_C(0x007B2B58), UINT32_C(0x0032B9DA),
8377           UINT32_C(0x00118C1E), UINT32_C(0x006DA898), UINT32_C(0x00432BB2),
8378           UINT32_C(0x0014A742), UINT32_C(0x00214F42)},
8379          {UINT32_C(0x0063536B), UINT32_C(0x0073EDC7), UINT32_C(0x00608DC1),
8380           UINT32_C(0x00757BDA), UINT32_C(0x0073293A), UINT32_C(0x00510B0D),
8381           UINT32_C(0x001C8A86), UINT32_C(0x00406F0A), UINT32_C(0x0030DAA7),
8382           UINT32_C(0x000F6F80), UINT32_C(0x0007A1D7)}},
8383         {{UINT32_C(0x00A8E90B), UINT32_C(0x007407DB), UINT32_C(0x00440BF0),
8384           UINT32_C(0x007198C8), UINT32_C(0x001A09F8), UINT32_C(0x000916B3),
8385           UINT32_C(0x0061A7D6), UINT32_C(0x00A714BE), UINT32_C(0x0039589D),
8386           UINT32_C(0x0011D76D), UINT32_C(0x00323B2D)},
8387          {UINT32_C(0x00E19A5C), UINT32_C(0x00141B92), UINT32_C(0x00409B73),
8388           UINT32_C(0x006F090B), UINT32_C(0x007E0865), UINT32_C(0x004B7DA7),
8389           UINT32_C(0x006EBE5E), UINT32_C(0x00CE6360), UINT32_C(0x003FE520),
8390           UINT32_C(0x005C6EFA), UINT32_C(0x002904A1)},
8391          {UINT32_C(0x007BF307), UINT32_C(0x00095790), UINT32_C(0x0009FCE8),
8392           UINT32_C(0x001A0547), UINT32_C(0x001C1E57), UINT32_C(0x007C07EE),
8393           UINT32_C(0x00405EE9), UINT32_C(0x004047E0), UINT32_C(0x006DE98E),
8394           UINT32_C(0x004E2A25), UINT32_C(0x0066F1F0)}},
8395         {{UINT32_C(0x00C266C9), UINT32_C(0x0078A6A6), UINT32_C(0x005AE507),
8396           UINT32_C(0x00029D74), UINT32_C(0x00025040), UINT32_C(0x004030CE),
8397           UINT32_C(0x006D0A48), UINT32_C(0x0076B699), UINT32_C(0x001E465B),
8398           UINT32_C(0x000082E1), UINT32_C(0x0069B738)},
8399          {UINT32_C(0x00BD1302), UINT32_C(0x003CA015), UINT32_C(0x00107897),
8400           UINT32_C(0x00FA47BE), UINT32_C(0x0049E714), UINT32_C(0x000B1555),
8401           UINT32_C(0x0053443D), UINT32_C(0x00EE9331), UINT32_C(0x00514330),
8402           UINT32_C(0x0039A875), UINT32_C(0x00050473)},
8403          {UINT32_C(0x00B3D5E2), UINT32_C(0x002E59A5), UINT32_C(0x00444307),
8404           UINT32_C(0x001495AA), UINT32_C(0x007E4455), UINT32_C(0x001E0A82),
8405           UINT32_C(0x002AB250), UINT32_C(0x003E1A5A), UINT32_C(0x000DB2A8),
8406           UINT32_C(0x0010A30C), UINT32_C(0x0032799B)}},
8407         {{UINT32_C(0x002DFB8B), UINT32_C(0x0056DBFB), UINT32_C(0x0067D9E7),
8408           UINT32_C(0x007E49DF), UINT32_C(0x000D0A8B), UINT32_C(0x001D2692),
8409           UINT32_C(0x006D4621), UINT32_C(0x00D98598), UINT32_C(0x0034D873),
8410           UINT32_C(0x0021CBB4), UINT32_C(0x0075EBF4)},
8411          {UINT32_C(0x00757E5C), UINT32_C(0x001F41CE), UINT32_C(0x002E6367),
8412           UINT32_C(0x00180064), UINT32_C(0x004FEBFE), UINT32_C(0x0004F8E5),
8413           UINT32_C(0x001FB594), UINT32_C(0x007471A5), UINT32_C(0x0060AE8E),
8414           UINT32_C(0x007B789E), UINT32_C(0x0072FBC1)},
8415          {UINT32_C(0x00028861), UINT32_C(0x0076CF2E), UINT32_C(0x00757BC9),
8416           UINT32_C(0x00E1A580), UINT32_C(0x00355683), UINT32_C(0x002A8FE7),
8417           UINT32_C(0x00542152), UINT32_C(0x00561514), UINT32_C(0x00725460),
8418           UINT32_C(0x007285A9), UINT32_C(0x004B1809)}},
8419         {{UINT32_C(0x00355837), UINT32_C(0x002DDA4C), UINT32_C(0x003DD1AC),
8420           UINT32_C(0x005CC538), UINT32_C(0x00647CBC), UINT32_C(0x0072DB88),
8421           UINT32_C(0x007F7C75), UINT32_C(0x002AE840), UINT32_C(0x00062A1A),
8422           UINT32_C(0x00518336), UINT32_C(0x00791C9D)},
8423          {UINT32_C(0x0007CA0E), UINT32_C(0x002EA83D), UINT32_C(0x00794D8F),
8424           UINT32_C(0x0074F12E), UINT32_C(0x00573D80), UINT32_C(0x00334BAD),
8425           UINT32_C(0x007061C7), UINT32_C(0x00EC3EB0), UINT32_C(0x004AFF19),
8426           UINT32_C(0x007B77C6), UINT32_C(0x002C2CD6)},
8427          {UINT32_C(0x00332C81), UINT32_C(0x005AEC4B), UINT32_C(0x002D4025),
8428           UINT32_C(0x000003C9), UINT32_C(0x00329780), UINT32_C(0x0045F540),
8429           UINT32_C(0x004B3238), UINT32_C(0x00A2B784), UINT32_C(0x001953EA),
8430           UINT32_C(0x00256030), UINT32_C(0x00398A20)}},
8431         {{UINT32_C(0x000EC4A0), UINT32_C(0x00641937), UINT32_C(0x006B364E),
8432           UINT32_C(0x00DA64E5), UINT32_C(0x001DC048), UINT32_C(0x002583F4),
8433           UINT32_C(0x0026D1D9), UINT32_C(0x00EDA8AF), UINT32_C(0x0047D78B),
8434           UINT32_C(0x002EEFE4), UINT32_C(0x002CC316)},
8435          {UINT32_C(0x0081CBB1), UINT32_C(0x006E1C62), UINT32_C(0x002FACAB),
8436           UINT32_C(0x00A6588F), UINT32_C(0x00250981), UINT32_C(0x0061708F),
8437           UINT32_C(0x0074479E), UINT32_C(0x003F3B34), UINT32_C(0x00140C2C),
8438           UINT32_C(0x002EBBC2), UINT32_C(0x00227AAF)},
8439          {UINT32_C(0x00DB9FC3), UINT32_C(0x0053114A), UINT32_C(0x0052ECA2),
8440           UINT32_C(0x003DC40A), UINT32_C(0x007DC659), UINT32_C(0x000D3562),
8441           UINT32_C(0x002C373C), UINT32_C(0x00FAF2D6), UINT32_C(0x002B7888),
8442           UINT32_C(0x0056EFFE), UINT32_C(0x00162CF7)}},
8443         {{UINT32_C(0x00A14EAC), UINT32_C(0x005D7C37), UINT32_C(0x002C818A),
8444           UINT32_C(0x008FB8CD), UINT32_C(0x0062E148), UINT32_C(0x004C3163),
8445           UINT32_C(0x0053D48D), UINT32_C(0x005823EA), UINT32_C(0x002D1D27),
8446           UINT32_C(0x00057B1E), UINT32_C(0x002C3DDA)},
8447          {UINT32_C(0x0053A948), UINT32_C(0x004C6EF1), UINT32_C(0x002D74B8),
8448           UINT32_C(0x001219E4), UINT32_C(0x0071C013), UINT32_C(0x00262046),
8449           UINT32_C(0x00421ADF), UINT32_C(0x00BFB901), UINT32_C(0x001E79C9),
8450           UINT32_C(0x0035B45B), UINT32_C(0x0041AC61)},
8451          {UINT32_C(0x002C184D), UINT32_C(0x0047D074), UINT32_C(0x0034003A),
8452           UINT32_C(0x005DCCFB), UINT32_C(0x00524D8F), UINT32_C(0x0059FB03),
8453           UINT32_C(0x0034304B), UINT32_C(0x00EACD9B), UINT32_C(0x002761FA),
8454           UINT32_C(0x003C9C64), UINT32_C(0x004B14DD)}},
8455     }};
8456
8457 /*-
8458  * Q := 2P, both projective, Q and P same pointers OK
8459  * Autogenerated: op3/dbl_proj_ed_eone.op3
8460  * https://www.hyperelliptic.org/EFD/g1p/auto-code/twisted/extended-1/doubling/dbl-2008-hwcd.op3
8461  * ASSERT: e = 1
8462  */
8463 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
8464     /* temporary variables */
8465     fe_t t0, t1, t2, t3;
8466     /* constants */
8467     /* set pointers for Edwards curve arith */
8468     const limb_t *X = P->X;
8469     const limb_t *Y = P->Y;
8470     const limb_t *Z = P->Z;
8471     limb_t *X3 = Q->X;
8472     limb_t *Y3 = Q->Y;
8473     limb_t *T3 = Q->T;
8474     limb_t *Z3 = Q->Z;
8475
8476     /* the curve arith formula */
8477     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t0, X);
8478     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t1, Y);
8479     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t2, Z);
8480     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, t2, t2);
8481     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X, Y);
8482     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(Y3, X3);
8483     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, Y3, t0);
8484     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, T3, t1);
8485     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, t0, t1);
8486     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t2, Y3, t3);
8487     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t3, t0, t1);
8488     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, Z3, t2);
8489     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, Z3, t3);
8490     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, t2, Y3);
8491     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y3, t3);
8492 }
8493
8494 /*-
8495  * R := Q + P where R and Q are projective, P affine.
8496  * R and Q same pointers OK
8497  * R and P same pointers not OK
8498  * Autogenerated: op3/add_mixed_ed_eone.op3
8499  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/madd-2008-hwcd.op3
8500  * ASSERT: e = 1
8501  */
8502 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
8503     /* temporary variables */
8504     fe_t t0, t1, t2, t3;
8505     /* constants */
8506     const limb_t *d = const_d;
8507     /* set pointers for Edwards curve arith */
8508     const limb_t *X1 = Q->X;
8509     const limb_t *Y1 = Q->Y;
8510     const limb_t *T1 = Q->T;
8511     const limb_t *Z1 = Q->Z;
8512     const limb_t *X2 = P->X;
8513     const limb_t *Y2 = P->Y;
8514     const limb_t *T2 = P->T;
8515     limb_t *X3 = R->X;
8516     limb_t *Y3 = R->Y;
8517     limb_t *T3 = R->T;
8518     limb_t *Z3 = R->Z;
8519
8520     /* the curve arith formula */
8521     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t0, X1, X2);
8522     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, Y1, Y2);
8523     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, d, T2);
8524     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, T1, t2);
8525     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X1, Y1);
8526     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, X2, Y2);
8527     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
8528     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t3, T3, t0);
8529     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, t3, t1);
8530     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, Z1, t2);
8531     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, Z1, t2);
8532     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, t1, t0);
8533     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Z3);
8534     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, t3, t1);
8535     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, T3, t1);
8536     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Z3, t3);
8537 }
8538
8539 /*-
8540  * R := Q + P all projective.
8541  * R and Q same pointers OK
8542  * R and P same pointers not OK
8543  * Autogenerated: op3/add_proj_ed_eone.op3
8544  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/add-2008-hwcd.op3
8545  * ASSERT: e = 1
8546  */
8547 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
8548     /* temporary variables */
8549     fe_t t0, t1, t2, t3;
8550     /* constants */
8551     const limb_t *d = const_d;
8552     /* set pointers for Edwards curve arith */
8553     const limb_t *X1 = Q->X;
8554     const limb_t *Y1 = Q->Y;
8555     const limb_t *T1 = Q->T;
8556     const limb_t *Z1 = Q->Z;
8557     const limb_t *X2 = P->X;
8558     const limb_t *Y2 = P->Y;
8559     const limb_t *T2 = P->T;
8560     const limb_t *Z2 = P->Z;
8561     limb_t *X3 = R->X;
8562     limb_t *Y3 = R->Y;
8563     limb_t *T3 = R->T;
8564     limb_t *Z3 = R->Z;
8565
8566     /* the curve arith formula */
8567     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t0, X1, X2);
8568     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, Y1, Y2);
8569     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, d, T2);
8570     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, T1, t2);
8571     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t3, Z1, Z2);
8572     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X1, Y1);
8573     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, X2, Y2);
8574     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
8575     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, T3, t0);
8576     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, Z3, t1);
8577     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, t3, t2);
8578     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, t3, t2);
8579     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, t1, t0);
8580     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Z3);
8581     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, t3, t1);
8582     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, T3, t1);
8583     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Z3, t3);
8584 }
8585
8586 /*-
8587  * from P projective Edwards to Q projective legacy: Q=P OK
8588  * Autogenerated: op3/edwards2legacy_gost.op3
8589  * https://tools.ietf.org/html/rfc7836#section-5.2
8590  */
8591 static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
8592     /* temporary variables */
8593     fe_t t0;
8594     /* constants */
8595     const limb_t *S = const_S;
8596     const limb_t *T = const_T;
8597     const limb_t *X1 = P->X;
8598     const limb_t *Y1 = P->Y;
8599     const limb_t *Z1 = P->Z;
8600     limb_t *X3 = Q->X;
8601     limb_t *Y3 = Q->Y;
8602     limb_t *T3 = Q->T;
8603     limb_t *Z3 = Q->Z;
8604
8605     /* the curve arith formula */
8606     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(T3, Z1, Y1);
8607     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t0, Z1, Y1);
8608     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, S, T3);
8609     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Z1, T3);
8610     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, X1, t0);
8611     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t0, t0, T);
8612     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, T3, t0);
8613     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, X1, t0);
8614 }
8615
8616 /*-
8617  * from P affine legacy to Q projective Edwards: Q=P not OK
8618  * Autogenerated: op3/legacy2edwards_gost.op3
8619  * https://tools.ietf.org/html/rfc7836#section-5.2
8620  */
8621 static void point_legacy2edwards(pt_prj_t *Q, const pt_aff_t *P) {
8622     /* constants */
8623     const limb_t *S = const_S;
8624     const limb_t *T = const_T;
8625     const limb_t *X1 = P->X;
8626     const limb_t *Y1 = P->Y;
8627     limb_t *X3 = Q->X;
8628     limb_t *Y3 = Q->Y;
8629     limb_t *T3 = Q->T;
8630     limb_t *Z3 = Q->Z;
8631
8632     /* the curve arith formula */
8633     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, X1, T);
8634     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, T3, S);
8635     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Y3);
8636     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Y1, Y3);
8637     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, T3, S);
8638     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y1, T3);
8639     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
8640     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, X3, Z3);
8641     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y3, Z3);
8642     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(Z3, Z3);
8643 }
8644
8645 /* constants */
8646 #define RADIX 5
8647 #define DRADIX (1 << RADIX)
8648 #define DRADIX_WNAF ((DRADIX) << 1)
8649
8650 /*-
8651  * precomp for wnaf scalar multiplication:
8652  * precomp[0] = 1P
8653  * precomp[1] = 3P
8654  * precomp[2] = 5P
8655  * precomp[3] = 7P
8656  * precomp[4] = 9P
8657  * ...
8658  */
8659 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
8660     int i;
8661
8662     /* move from legacy affine to Edwards projective */
8663     point_legacy2edwards(&precomp[0], P);
8664     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
8665
8666     for (i = 1; i < DRADIX / 2; i++)
8667         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
8668 }
8669
8670 /* fetch a scalar bit */
8671 static int scalar_get_bit(const unsigned char in[32], int idx) {
8672     int widx, rshift;
8673
8674     widx = idx >> 3;
8675     rshift = idx & 0x7;
8676
8677     if (idx < 0 || widx >= 32) return 0;
8678
8679     return (in[widx] >> rshift) & 0x1;
8680 }
8681
8682 /*-
8683  * Compute "regular" wnaf representation of a scalar.
8684  * See "Exponent Recoding and Regular Exponentiation Algorithms",
8685  * Tunstall et al., AfricaCrypt 2009, Alg 6.
8686  * It forces an odd scalar and outputs digits in
8687  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
8688  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
8689  */
8690 static void scalar_rwnaf(int8_t out[52], const unsigned char in[32]) {
8691     int i;
8692     int8_t window, d;
8693
8694     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
8695     for (i = 0; i < 51; i++) {
8696         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
8697         out[i] = d;
8698         window = (window - d) >> RADIX;
8699         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
8700         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
8701         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
8702         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
8703         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
8704     }
8705     out[i] = window;
8706 }
8707
8708 /*-
8709  * Compute "textbook" wnaf representation of a scalar.
8710  * NB: not constant time
8711  */
8712 static void scalar_wnaf(int8_t out[257], const unsigned char in[32]) {
8713     int i;
8714     int8_t window, d;
8715
8716     window = in[0] & (DRADIX_WNAF - 1);
8717     for (i = 0; i < 257; i++) {
8718         d = 0;
8719         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
8720             d -= DRADIX_WNAF;
8721         out[i] = d;
8722         window = (window - d) >> 1;
8723         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
8724     }
8725 }
8726
8727 /*-
8728  * Simultaneous scalar multiplication: interleaved "textbook" wnaf.
8729  * NB: not constant time
8730  */
8731 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
8732                               const unsigned char b[32], const pt_aff_t *P) {
8733     int i, d, is_neg, is_inf = 1, flipped = 0;
8734     int8_t anaf[257] = {0};
8735     int8_t bnaf[257] = {0};
8736     pt_prj_t Q = {0};
8737     pt_prj_t precomp[DRADIX / 2];
8738
8739     precomp_wnaf(precomp, P);
8740     scalar_wnaf(anaf, a);
8741     scalar_wnaf(bnaf, b);
8742
8743     for (i = 256; i >= 0; i--) {
8744         if (!is_inf) point_double(&Q, &Q);
8745         if ((d = bnaf[i])) {
8746             if ((is_neg = d < 0) != flipped) {
8747                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.X, Q.X);
8748                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.T, Q.T);
8749                 flipped ^= 1;
8750             }
8751             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
8752             if (is_inf) {
8753                 /* initialize accumulator */
8754                 fe_copy(Q.X, &precomp[d].X);
8755                 fe_copy(Q.Y, &precomp[d].Y);
8756                 fe_copy(Q.T, &precomp[d].T);
8757                 fe_copy(Q.Z, &precomp[d].Z);
8758                 is_inf = 0;
8759             } else
8760                 point_add_proj(&Q, &Q, &precomp[d]);
8761         }
8762         if ((d = anaf[i])) {
8763             if ((is_neg = d < 0) != flipped) {
8764                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.X, Q.X);
8765                 fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.T, Q.T);
8766                 flipped ^= 1;
8767             }
8768             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
8769             if (is_inf) {
8770                 /* initialize accumulator */
8771                 fe_copy(Q.X, &lut_cmb[0][d].X);
8772                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
8773                 fe_copy(Q.T, &lut_cmb[0][d].T);
8774                 fe_copy(Q.Z, const_one);
8775                 is_inf = 0;
8776             } else
8777                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
8778         }
8779     }
8780
8781     if (is_inf) {
8782         /* initialize accumulator to inf: all-zero scalars */
8783         fe_set_zero(Q.X);
8784         fe_copy(Q.Y, const_one);
8785         fe_set_zero(Q.T);
8786         fe_copy(Q.Z, const_one);
8787     }
8788
8789     if (flipped) {
8790         /* correct sign */
8791         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.X, Q.X);
8792         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(Q.T, Q.T);
8793     }
8794
8795     /* move from Edwards projective to legacy projective */
8796     point_edwards2legacy(&Q, &Q);
8797     /* convert to affine -- NB depends on coordinate system */
8798     fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(Q.Z, Q.Z);
8799     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
8800     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
8801 }
8802
8803 /*-
8804  * Variable point scalar multiplication with "regular" wnaf.
8805  */
8806 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
8807                            const pt_aff_t *P) {
8808     int i, j, d, diff, is_neg;
8809     int8_t rnaf[52] = {0};
8810     pt_prj_t Q = {0}, lut = {0};
8811     pt_prj_t precomp[DRADIX / 2];
8812
8813     precomp_wnaf(precomp, P);
8814     scalar_rwnaf(rnaf, scalar);
8815
8816 #if defined(_MSC_VER)
8817     /* result still unsigned: yes we know */
8818 #pragma warning(push)
8819 #pragma warning(disable : 4146)
8820 #endif
8821
8822     /* initialize accumulator to high digit */
8823     d = (rnaf[51] - 1) >> 1;
8824     for (j = 0; j < DRADIX / 2; j++) {
8825         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
8826         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, diff, Q.X,
8827                                                             precomp[j].X);
8828         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, diff, Q.Y,
8829                                                             precomp[j].Y);
8830         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, diff, Q.T,
8831                                                             precomp[j].T);
8832         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, diff, Q.Z,
8833                                                             precomp[j].Z);
8834     }
8835
8836     for (i = 50; i >= 0; i--) {
8837         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
8838         d = rnaf[i];
8839         /* is_neg = (d < 0) ? 1 : 0 */
8840         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
8841         /* d = abs(d) */
8842         d = (d ^ -is_neg) + is_neg;
8843         d = (d - 1) >> 1;
8844         for (j = 0; j < DRADIX / 2; j++) {
8845             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
8846             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8847                 lut.X, diff, lut.X, precomp[j].X);
8848             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8849                 lut.Y, diff, lut.Y, precomp[j].Y);
8850             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8851                 lut.T, diff, lut.T, precomp[j].T);
8852             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8853                 lut.Z, diff, lut.Z, precomp[j].Z);
8854         }
8855         /* negate lut point if digit is negative */
8856         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->X, lut.X);
8857         fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->T, lut.T);
8858         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.X, is_neg,
8859                                                             lut.X, out->X);
8860         fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.T, is_neg,
8861                                                             lut.T, out->T);
8862         point_add_proj(&Q, &Q, &lut);
8863     }
8864
8865 #if defined(_MSC_VER)
8866 #pragma warning(pop)
8867 #endif
8868
8869     /* conditionally subtract P if the scalar was even */
8870     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.X, precomp[0].X);
8871     fe_copy(lut.Y, precomp[0].Y);
8872     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.T, precomp[0].T);
8873     fe_copy(lut.Z, precomp[0].Z);
8874     point_add_proj(&lut, &lut, &Q);
8875     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, scalar[0] & 1,
8876                                                         lut.X, Q.X);
8877     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1,
8878                                                         lut.Y, Q.Y);
8879     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1,
8880                                                         lut.T, Q.T);
8881     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, scalar[0] & 1,
8882                                                         lut.Z, Q.Z);
8883
8884     /* move from Edwards projective to legacy projective */
8885     point_edwards2legacy(&Q, &Q);
8886     /* convert to affine -- NB depends on coordinate system */
8887     fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(Q.Z, Q.Z);
8888     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
8889     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
8890 }
8891
8892 /*-
8893  * Fixed scalar multiplication: comb with interleaving.
8894  */
8895 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
8896     int i, j, k, d, diff, is_neg = 0;
8897     int8_t rnaf[52] = {0};
8898     pt_prj_t Q = {0}, R = {0};
8899     pt_aff_t lut = {0};
8900
8901     scalar_rwnaf(rnaf, scalar);
8902
8903     /* initalize accumulator to inf */
8904     fe_set_zero(Q.X);
8905     fe_copy(Q.Y, const_one);
8906     fe_set_zero(Q.T);
8907     fe_copy(Q.Z, const_one);
8908
8909 #if defined(_MSC_VER)
8910     /* result still unsigned: yes we know */
8911 #pragma warning(push)
8912 #pragma warning(disable : 4146)
8913 #endif
8914
8915     for (i = 3; i >= 0; i--) {
8916         for (j = 0; i != 3 && j < RADIX; j++) point_double(&Q, &Q);
8917         for (j = 0; j < 14; j++) {
8918             if (j * 4 + i > 51) continue;
8919             d = rnaf[j * 4 + i];
8920             /* is_neg = (d < 0) ? 1 : 0 */
8921             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
8922             /* d = abs(d) */
8923             d = (d ^ -is_neg) + is_neg;
8924             d = (d - 1) >> 1;
8925             for (k = 0; k < DRADIX / 2; k++) {
8926                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
8927                 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8928                     lut.X, diff, lut.X, lut_cmb[j][k].X);
8929                 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8930                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
8931                 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
8932                     lut.T, diff, lut.T, lut_cmb[j][k].T);
8933             }
8934             /* negate lut point if digit is negative */
8935             fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->X, lut.X);
8936             fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->T, lut.T);
8937             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.X, is_neg,
8938                                                                 lut.X, out->X);
8939             fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.T, is_neg,
8940                                                                 lut.T, out->T);
8941             point_add_mixed(&Q, &Q, &lut);
8942         }
8943     }
8944
8945 #if defined(_MSC_VER)
8946 #pragma warning(pop)
8947 #endif
8948
8949     /* conditionally subtract P if the scalar was even */
8950     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.X, lut_cmb[0][0].X);
8951     fe_copy(lut.Y, lut_cmb[0][0].Y);
8952     fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.T, lut_cmb[0][0].T);
8953     point_add_mixed(&R, &Q, &lut);
8954     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, scalar[0] & 1, R.X,
8955                                                         Q.X);
8956     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1, R.Y,
8957                                                         Q.Y);
8958     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1, R.T,
8959                                                         Q.T);
8960     fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, scalar[0] & 1, R.Z,
8961                                                         Q.Z);
8962
8963     /* move from Edwards projective to legacy projective */
8964     point_edwards2legacy(&Q, &Q);
8965     /* convert to affine -- NB depends on coordinate system */
8966     fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(Q.Z, Q.Z);
8967     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
8968     fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
8969 }
8970
8971 /*-
8972  * Wrapper: simultaneous scalar mutiplication.
8973  * outx, outy := a * G + b * P
8974  * where P = (inx, iny).
8975  * Everything is LE byte ordering.
8976  */
8977 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
8978                           const unsigned char a[32], const unsigned char b[32],
8979                           const unsigned char inx[32],
8980                           const unsigned char iny[32]) {
8981     pt_aff_t P;
8982
8983     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.X, inx);
8984     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.Y, iny);
8985     /* simultaneous scalar multiplication */
8986     var_smul_wnaf_two(&P, a, b, &P);
8987
8988     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
8989     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
8990 }
8991
8992 /*-
8993  * Wrapper: fixed scalar mutiplication.
8994  * outx, outy := scalar * G
8995  * Everything is LE byte ordering.
8996  */
8997 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
8998                         const unsigned char scalar[32]) {
8999     pt_aff_t P;
9000
9001     /* fixed scmul function */
9002     fixed_smul_cmb(&P, scalar);
9003     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
9004     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
9005 }
9006
9007 /*-
9008  * Wrapper: variable point scalar mutiplication.
9009  * outx, outy := scalar * P
9010  * where P = (inx, iny).
9011  * Everything is LE byte ordering.
9012  */
9013 static void point_mul(unsigned char outx[32], unsigned char outy[32],
9014                       const unsigned char scalar[32],
9015                       const unsigned char inx[32],
9016                       const unsigned char iny[32]) {
9017     pt_aff_t P;
9018
9019     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.X, inx);
9020     fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.Y, iny);
9021     /* var scmul function */
9022     var_smul_rwnaf(&P, scalar, &P);
9023     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
9024     fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
9025 }
9026
9027
9028 #include <openssl/ec.h>
9029
9030 /* the zero field element */
9031 static const unsigned char const_zb[32] = {0};
9032
9033 /*-
9034  * An OpenSSL wrapper for simultaneous scalar multiplication.
9035  * r := n * G + m * q
9036  */
9037     int
9038     point_mul_two_id_tc26_gost_3410_2012_256_paramSetA(
9039         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
9040         const BIGNUM *m, BN_CTX *ctx) {
9041     int ret = 0;
9042     unsigned char b_x[32];
9043     unsigned char b_y[32];
9044     unsigned char b_n[32];
9045     unsigned char b_m[32];
9046     BIGNUM *x = NULL, *y = NULL;
9047
9048     BN_CTX_start(ctx);
9049     x = BN_CTX_get(ctx);
9050     if ((y = BN_CTX_get(ctx)) == NULL
9051         /* pull out coords as bytes */
9052         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
9053         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
9054         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
9055         goto err;
9056     /* do the simultaneous scalar multiplication */
9057     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
9058     /* check for infinity */
9059     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
9060         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
9061         if (!EC_POINT_set_to_infinity(group, r)) goto err;
9062     } else {
9063         /* otherwise, pack the bytes into the result */
9064         if (BN_lebin2bn(b_x, 32, x) == NULL ||
9065             BN_lebin2bn(b_y, 32, y) == NULL ||
9066             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
9067             goto err;
9068     }
9069     ret = 1;
9070 err:
9071     BN_CTX_end(ctx);
9072     return ret;
9073 }
9074
9075 /*-
9076  * An OpenSSL wrapper for variable point scalar multiplication.
9077  * r := m * q
9078  */
9079     int
9080     point_mul_id_tc26_gost_3410_2012_256_paramSetA(const EC_GROUP *group,
9081                                                    EC_POINT *r,
9082                                                    const EC_POINT *q,
9083                                                    const BIGNUM *m,
9084                                                    BN_CTX *ctx) {
9085     int ret = 0;
9086     unsigned char b_x[32];
9087     unsigned char b_y[32];
9088     unsigned char b_m[32];
9089     BIGNUM *x = NULL, *y = NULL;
9090
9091     BN_CTX_start(ctx);
9092     x = BN_CTX_get(ctx);
9093     if ((y = BN_CTX_get(ctx)) == NULL
9094         /* pull out coords as bytes */
9095         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
9096         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
9097         BN_bn2lebinpad(m, b_m, 32) != 32)
9098         goto err;
9099     /* do the variable scalar multiplication */
9100     point_mul(b_x, b_y, b_m, b_x, b_y);
9101     /* check for infinity */
9102     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
9103         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
9104         if (!EC_POINT_set_to_infinity(group, r)) goto err;
9105     } else {
9106         /* otherwise, pack the bytes into the result */
9107         if (BN_lebin2bn(b_x, 32, x) == NULL ||
9108             BN_lebin2bn(b_y, 32, y) == NULL ||
9109             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
9110             goto err;
9111     }
9112     ret = 1;
9113 err:
9114     BN_CTX_end(ctx);
9115     return ret;
9116 }
9117
9118 /*-
9119  * An OpenSSL wrapper for fixed scalar multiplication.
9120  * r := n * G
9121  */
9122     int
9123     point_mul_g_id_tc26_gost_3410_2012_256_paramSetA(const EC_GROUP *group,
9124                                                      EC_POINT *r,
9125                                                      const BIGNUM *n,
9126                                                      BN_CTX *ctx) {
9127     int ret = 0;
9128     unsigned char b_x[32];
9129     unsigned char b_y[32];
9130     unsigned char b_n[32];
9131     BIGNUM *x = NULL, *y = NULL;
9132
9133     BN_CTX_start(ctx);
9134     x = BN_CTX_get(ctx);
9135     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
9136         goto err;
9137     /* do the fixed scalar multiplication */
9138     point_mul_g(b_x, b_y, b_n);
9139     /* check for infinity */
9140     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
9141         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
9142         if (!EC_POINT_set_to_infinity(group, r)) goto err;
9143     } else {
9144         /* otherwise, pack the bytes into the result */
9145         if (BN_lebin2bn(b_x, 32, x) == NULL ||
9146             BN_lebin2bn(b_y, 32, y) == NULL ||
9147             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
9148             goto err;
9149     }
9150     ret = 1;
9151 err:
9152     BN_CTX_end(ctx);
9153     return ret;
9154 }
9155
9156
9157
9158 #endif /* __SIZEOF_INT128__ */