1 /* Autogenerated: ECCKiila https://gitlab.com/nisec/ecckiila */
5 * Copyright (c) 2020 Luis Rivera-Zamarripa, Jesús-Javier Chi-Domínguez, Billy Bob Brumley
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:
14 * The above copyright notice and this permission notice shall be included in all
15 * copies or substantial portions of the Software.
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
25 #if defined(__SIZEOF_INT128__) && !defined(PEDANTIC)
32 typedef uint64_t fe_t[LIMB_CNT];
33 typedef uint64_t limb_t;
36 #define FIAT_ID_TC26_GOST_3410_2012_256_PARAMSETA_NO_ASM
39 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
40 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
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)
49 /* Projective points */
64 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
68 * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
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:
77 * The above copyright notice and this permission notice shall be included in
78 * all copies or substantial portions of the Software.
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
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 "") */
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] */
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;
110 #error "This code only works on a two's complement system"
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 */);
121 #define fiat_id_tc26_gost_3410_2012_256_paramSetA_value_barrier_u64(x) (x)
125 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u52 is an addition with carry.
127 * out1 = (arg1 + arg2 + arg3) mod 2^52
128 * out2 = ⌊(arg1 + arg2 + arg3) / 2^52⌋
132 * arg2: [0x0 ~> 0xfffffffffffff]
133 * arg3: [0x0 ~> 0xfffffffffffff]
135 * out1: [0x0 ~> 0xfffffffffffff]
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,
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);
153 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u52 is a subtraction with borrow.
155 * out1 = (-arg1 + arg2 + -arg3) mod 2^52
156 * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^52⌋
160 * arg2: [0x0 ~> 0xfffffffffffff]
161 * arg3: [0x0 ~> 0xfffffffffffff]
163 * out1: [0x0 ~> 0xfffffffffffff]
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,
171 fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
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));
177 *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
181 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51 is an addition with carry.
183 * out1 = (arg1 + arg2 + arg3) mod 2^51
184 * out2 = ⌊(arg1 + arg2 + arg3) / 2^51⌋
188 * arg2: [0x0 ~> 0x7ffffffffffff]
189 * arg3: [0x0 ~> 0x7ffffffffffff]
191 * out1: [0x0 ~> 0x7ffffffffffff]
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,
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);
209 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51 is a subtraction with borrow.
211 * out1 = (-arg1 + arg2 + -arg3) mod 2^51
212 * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^51⌋
216 * arg2: [0x0 ~> 0x7ffffffffffff]
217 * arg3: [0x0 ~> 0x7ffffffffffff]
219 * out1: [0x0 ~> 0x7ffffffffffff]
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,
227 fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
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));
233 *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
237 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64 is a single-word conditional move.
239 * out1 = (if arg1 = 0 then arg2 else arg3)
243 * arg2: [0x0 ~> 0xffffffffffffffff]
244 * arg3: [0x0 ~> 0xffffffffffffffff]
246 * out1: [0x0 ~> 0xffffffffffffffff]
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;
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) &
259 (fiat_id_tc26_gost_3410_2012_256_paramSetA_value_barrier_u64((~x2)) &
265 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul multiplies two field elements and reduces the result.
267 * eval out1 mod m = (eval arg1 * eval arg2) mod m
270 * arg1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
271 * arg2: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
273 * out1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
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;
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;
312 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x36;
313 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x37;
315 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x39;
318 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x42;
321 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x45;
322 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x46;
326 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x50;
329 x1 = (UINT16_C(0x269) *
330 ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
332 x2 = (UINT16_C(0x269) *
333 ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
335 x3 = (UINT16_C(0x269) *
336 ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
338 x4 = (UINT16_C(0x269) *
339 (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
342 x5 = (UINT16_C(0x269) *
343 ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
345 x6 = (UINT16_C(0x269) *
346 ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
348 x7 = (UINT16_C(0x269) *
349 (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
352 x8 = (UINT16_C(0x269) *
353 ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
355 x9 = (UINT16_C(0x269) *
356 (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
359 x10 = (UINT16_C(0x269) *
360 (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
363 x11 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
365 x12 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
367 x13 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
369 x14 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
371 x15 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
373 x16 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
375 x17 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
377 x18 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
379 x19 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
381 x20 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
383 x21 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
385 x22 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
387 x23 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
389 x24 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
391 x25 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
393 x26 = (x25 + (x10 + (x9 + (x7 + x4))));
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))));
402 x35 = (uint64_t)(x33 & UINT64_C(0x7ffffffffffff));
405 x38 = (uint64_t)(x36 & UINT64_C(0x7ffffffffffff));
407 x40 = (uint64_t)(x39 >> 51);
408 x41 = (uint64_t)(x39 & UINT64_C(0x7ffffffffffff));
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) *
415 x47 = (uint64_t)(x46 >> 52);
416 x48 = (uint64_t)(x46 & UINT64_C(0xfffffffffffff));
418 x50 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x49 >> 51);
419 x51 = (x49 & UINT64_C(0x7ffffffffffff));
429 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square squares a field element and reduces the result.
431 * eval out1 mod m = (eval arg1 * eval arg1) mod m
434 * arg1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
436 * out1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
438 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(
439 uint64_t out1[5], const uint64_t arg1[5]) {
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;
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;
473 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x34;
474 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x35;
476 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x37;
479 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x40;
482 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x43;
483 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x44;
487 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x48;
490 x1 = ((arg1[4]) * UINT16_C(0x269));
492 x3 = ((arg1[4]) * 0x2);
493 x4 = ((arg1[3]) * UINT16_C(0x269));
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]) *
504 x14 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
506 x15 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
508 x16 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
510 x17 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
512 x18 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
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]) *
520 x24 = (x23 + (x15 + x13));
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));
529 x33 = (uint64_t)(x31 & UINT64_C(0x7ffffffffffff));
532 x36 = (uint64_t)(x34 & UINT64_C(0x7ffffffffffff));
534 x38 = (uint64_t)(x37 >> 51);
535 x39 = (uint64_t)(x37 & UINT64_C(0x7ffffffffffff));
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) *
542 x45 = (uint64_t)(x44 >> 52);
543 x46 = (uint64_t)(x44 & UINT64_C(0xfffffffffffff));
545 x48 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x47 >> 51);
546 x49 = (x47 & UINT64_C(0x7ffffffffffff));
556 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry reduces a field element.
558 * eval out1 mod m = eval arg1 mod m
561 * arg1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
563 * out1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
565 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(
566 uint64_t out1[5], const uint64_t arg1[5]) {
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));
601 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_add adds two field elements.
603 * eval out1 mod m = (eval arg1 + eval arg2) mod m
606 * arg1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
607 * arg2: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
609 * out1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
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]) {
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]));
631 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_sub subtracts two field elements.
633 * eval out1 mod m = (eval arg1 - eval arg2) mod m
636 * arg1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
637 * arg2: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
639 * out1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
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]) {
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]));
661 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_opp negates a field element.
663 * eval out1 mod m = -eval arg1 mod m
666 * arg1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
668 * out1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
670 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(
671 uint64_t out1[5], const uint64_t arg1[5]) {
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]));
690 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz is a multi-limb conditional select.
692 * eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
696 * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
697 * arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
699 * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
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]) {
709 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x1, arg1, (arg2[0]),
711 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x2, arg1, (arg2[1]),
713 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x3, arg1, (arg2[2]),
715 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x4, arg1, (arg2[3]),
717 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x5, arg1, (arg2[4]),
727 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes serializes a field element to bytes in little-endian order.
729 * out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
732 * arg1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
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]]
736 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(
737 uint8_t out1[32], const uint64_t arg1[5]) {
739 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x2;
741 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x4;
743 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x6;
745 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x8;
747 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x10;
750 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x13;
752 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x15;
754 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x17;
756 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x19;
758 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x21;
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)));
855 x26 = (uint8_t)(x12 & UINT8_C(0xff));
857 x28 = (uint8_t)(x27 & UINT8_C(0xff));
859 x30 = (uint8_t)(x29 & UINT8_C(0xff));
861 x32 = (uint8_t)(x31 & UINT8_C(0xff));
863 x34 = (uint8_t)(x33 & UINT8_C(0xff));
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));
870 x41 = (uint8_t)(x40 & UINT8_C(0xff));
872 x43 = (uint8_t)(x42 & UINT8_C(0xff));
874 x45 = (uint8_t)(x44 & UINT8_C(0xff));
876 x47 = (uint8_t)(x46 & UINT8_C(0xff));
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));
883 x54 = (uint8_t)(x53 & UINT8_C(0xff));
885 x56 = (uint8_t)(x55 & UINT8_C(0xff));
887 x58 = (uint8_t)(x57 & UINT8_C(0xff));
889 x60 = (uint8_t)(x59 & UINT8_C(0xff));
891 x62 = (uint8_t)(x61 & UINT8_C(0xff));
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));
898 x69 = (uint8_t)(x68 & UINT8_C(0xff));
900 x71 = (uint8_t)(x70 & UINT8_C(0xff));
902 x73 = (uint8_t)(x72 & UINT8_C(0xff));
904 x75 = (uint8_t)(x74 & UINT8_C(0xff));
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));
911 x82 = (uint8_t)(x81 & UINT8_C(0xff));
913 x84 = (uint8_t)(x83 & UINT8_C(0xff));
915 x86 = (uint8_t)(x85 & UINT8_C(0xff));
917 x88 = (uint8_t)(x87 & UINT8_C(0xff));
919 x90 = (uint8_t)(x89 & UINT8_C(0xff));
920 x91 = (uint8_t)(x89 >> 8);
956 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes deserializes a field element from bytes in little-endian order.
958 * eval out1 mod m = bytes_eval arg1 mod m
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]]
963 * out1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
965 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(
966 uint64_t out1[5], const uint8_t arg1[32]) {
1014 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x48;
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);
1070 x33 = (x31 + (uint64_t)x32);
1076 x39 = (x38 & UINT64_C(0xfffffffffffff));
1077 x40 = (uint8_t)(x38 >> 52);
1078 x41 = (x25 + (uint64_t)x40);
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);
1093 x56 = (x55 & UINT64_C(0x7ffffffffffff));
1094 x57 = (uint8_t)(x55 >> 51);
1095 x58 = (x12 + (uint64_t)x57);
1101 x64 = (x63 & UINT64_C(0x7ffffffffffff));
1102 x65 = (uint8_t)(x63 >> 51);
1103 x66 = (x6 + (uint64_t)x65);
1116 /* END verbatim fiat code */
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
1124 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(fe_t output,
1127 /* temporary variables */
1128 fe_t acc, t16, t164, t2, t246, t32, t4, t64, t8, t80, t82;
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);
1181 /* curve coefficient constants */
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)};
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)};
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)};
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)};
1203 /* LUT for scalar multiplication by comb interleaving */
1204 static const pt_aff_t lut_cmb[14][16] = {
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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
3256 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
3257 /* temporary variables */
3258 fe_t t0, t1, t2, t3;
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;
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);
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
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;
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;
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);
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
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;
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;
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);
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
3384 static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
3385 /* temporary variables */
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;
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);
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
3414 static void point_legacy2edwards(pt_prj_t *Q, const pt_aff_t *P) {
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;
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);
3440 #define DRADIX (1 << RADIX)
3441 #define DRADIX_WNAF ((DRADIX) << 1)
3444 * precomp for wnaf scalar multiplication:
3452 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
3455 /* move from legacy affine to Edwards projective */
3456 point_legacy2edwards(&precomp[0], P);
3457 point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
3459 for (i = 1; i < DRADIX / 2; i++)
3460 point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
3463 /* fetch a scalar bit */
3464 static int scalar_get_bit(const unsigned char in[32], int idx) {
3470 if (idx < 0 || widx >= 32) return 0;
3472 return (in[widx] >> rshift) & 0x1;
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".
3483 static void scalar_rwnaf(int8_t out[52], const unsigned char in[32]) {
3487 window = (in[0] & (DRADIX_WNAF - 1)) | 1;
3488 for (i = 0; i < 51; i++) {
3489 d = (window & (DRADIX_WNAF - 1)) - DRADIX;
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;
3502 * Compute "textbook" wnaf representation of a scalar.
3503 * NB: not constant time
3505 static void scalar_wnaf(int8_t out[257], const unsigned char in[32]) {
3509 window = in[0] & (DRADIX_WNAF - 1);
3510 for (i = 0; i < 257; i++) {
3512 if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
3515 window = (window - d) >> 1;
3516 window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
3521 * Simultaneous scalar multiplication: interleaved "textbook" wnaf.
3522 * NB: not constant time
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};
3530 pt_prj_t precomp[DRADIX / 2];
3532 precomp_wnaf(precomp, P);
3533 scalar_wnaf(anaf, a);
3534 scalar_wnaf(bnaf, b);
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);
3544 d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
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);
3553 point_add_proj(&Q, &Q, &precomp[d]);
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);
3561 d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
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);
3570 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
3575 /* initialize accumulator to inf: all-zero scalars */
3577 fe_copy(Q.Y, const_one);
3579 fe_copy(Q.Z, const_one);
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);
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);
3597 * Variable point scalar multiplication with "regular" wnaf.
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];
3606 precomp_wnaf(precomp, P);
3607 scalar_rwnaf(rnaf, scalar);
3609 #if defined(_MSC_VER)
3610 /* result still unsigned: yes we know */
3611 #pragma warning(push)
3612 #pragma warning(disable : 4146)
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,
3621 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, diff, Q.Y,
3623 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, diff, Q.T,
3625 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, diff, Q.Z,
3629 for (i = 50; i >= 0; i--) {
3630 for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
3632 /* is_neg = (d < 0) ? 1 : 0 */
3633 is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
3635 d = (d ^ -is_neg) + is_neg;
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);
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,
3653 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.T, is_neg,
3655 point_add_proj(&Q, &Q, &lut);
3658 #if defined(_MSC_VER)
3659 #pragma warning(pop)
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,
3670 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1,
3672 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1,
3674 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, scalar[0] & 1,
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);
3686 * Fixed scalar multiplication: comb with interleaving.
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};
3694 scalar_rwnaf(rnaf, scalar);
3696 /* initalize accumulator to inf */
3698 fe_copy(Q.Y, const_one);
3700 fe_copy(Q.Z, const_one);
3702 #if defined(_MSC_VER)
3703 /* result still unsigned: yes we know */
3704 #pragma warning(push)
3705 #pragma warning(disable : 4146)
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;
3716 d = (d ^ -is_neg) + is_neg;
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);
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,
3732 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.T, is_neg,
3734 point_add_mixed(&Q, &Q, &lut);
3738 #if defined(_MSC_VER)
3739 #pragma warning(pop)
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,
3749 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1, R.Y,
3751 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1, R.T,
3753 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, scalar[0] & 1, R.Z,
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);
3765 * Wrapper: simultaneous scalar mutiplication.
3766 * outx, outy := a * G + b * P
3767 * where P = (inx, iny).
3768 * Everything is LE byte ordering.
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]) {
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);
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);
3786 * Wrapper: fixed scalar mutiplication.
3787 * outx, outy := scalar * G
3788 * Everything is LE byte ordering.
3790 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
3791 const unsigned char scalar[32]) {
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);
3801 * Wrapper: variable point scalar mutiplication.
3802 * outx, outy := scalar * P
3803 * where P = (inx, iny).
3804 * Everything is LE byte ordering.
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]) {
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);
3821 #include <openssl/ec.h>
3823 /* the zero field element */
3824 static const unsigned char const_zb[32] = {0};
3827 * An OpenSSL wrapper for simultaneous scalar multiplication.
3828 * r := n * G + m * q
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) {
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;
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)
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;
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))
3869 * An OpenSSL wrapper for variable point scalar multiplication.
3873 point_mul_id_tc26_gost_3410_2012_256_paramSetA(const EC_GROUP *group,
3879 unsigned char b_x[32];
3880 unsigned char b_y[32];
3881 unsigned char b_m[32];
3882 BIGNUM *x = NULL, *y = NULL;
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)
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;
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))
3912 * An OpenSSL wrapper for fixed scalar multiplication.
3916 point_mul_g_id_tc26_gost_3410_2012_256_paramSetA(const EC_GROUP *group,
3921 unsigned char b_x[32];
3922 unsigned char b_y[32];
3923 unsigned char b_n[32];
3924 BIGNUM *x = NULL, *y = NULL;
3927 x = BN_CTX_get(ctx);
3928 if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
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;
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))
3951 #else /* __SIZEOF_INT128__ */
3955 #define LIMB_BITS 32
3957 /* Field elements */
3958 typedef uint32_t fe_t[LIMB_CNT];
3959 typedef uint32_t limb_t;
3961 #ifdef OPENSSL_NO_ASM
3962 #define FIAT_ID_TC26_GOST_3410_2012_256_PARAMSETA_NO_ASM
3965 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
3966 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
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)
3975 /* Projective points */
3990 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
3994 * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
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:
4003 * The above copyright notice and this permission notice shall be included in
4004 * all copies or substantial portions of the Software.
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
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 "") */
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] */
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;
4034 #error "This code only works on a two's complement system"
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 */);
4045 #define fiat_id_tc26_gost_3410_2012_256_paramSetA_value_barrier_u32(x) (x)
4049 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24 is an addition with carry.
4051 * out1 = (arg1 + arg2 + arg3) mod 2^24
4052 * out2 = ⌊(arg1 + arg2 + arg3) / 2^24⌋
4055 * arg1: [0x0 ~> 0x1]
4056 * arg2: [0x0 ~> 0xffffff]
4057 * arg3: [0x0 ~> 0xffffff]
4059 * out1: [0x0 ~> 0xffffff]
4060 * out2: [0x0 ~> 0x1]
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,
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);
4077 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24 is a subtraction with borrow.
4079 * out1 = (-arg1 + arg2 + -arg3) mod 2^24
4080 * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^24⌋
4083 * arg1: [0x0 ~> 0x1]
4084 * arg2: [0x0 ~> 0xffffff]
4085 * arg3: [0x0 ~> 0xffffff]
4087 * out1: [0x0 ~> 0xffffff]
4088 * out2: [0x0 ~> 0x1]
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,
4095 fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
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));
4101 *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
4105 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23 is an addition with carry.
4107 * out1 = (arg1 + arg2 + arg3) mod 2^23
4108 * out2 = ⌊(arg1 + arg2 + arg3) / 2^23⌋
4111 * arg1: [0x0 ~> 0x1]
4112 * arg2: [0x0 ~> 0x7fffff]
4113 * arg3: [0x0 ~> 0x7fffff]
4115 * out1: [0x0 ~> 0x7fffff]
4116 * out2: [0x0 ~> 0x1]
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,
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);
4133 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23 is a subtraction with borrow.
4135 * out1 = (-arg1 + arg2 + -arg3) mod 2^23
4136 * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^23⌋
4139 * arg1: [0x0 ~> 0x1]
4140 * arg2: [0x0 ~> 0x7fffff]
4141 * arg3: [0x0 ~> 0x7fffff]
4143 * out1: [0x0 ~> 0x7fffff]
4144 * out2: [0x0 ~> 0x1]
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,
4151 fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
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));
4157 *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
4161 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32 is a single-word conditional move.
4163 * out1 = (if arg1 = 0 then arg2 else arg3)
4166 * arg1: [0x0 ~> 0x1]
4167 * arg2: [0x0 ~> 0xffffffff]
4168 * arg3: [0x0 ~> 0xffffffff]
4170 * out1: [0x0 ~> 0xffffffff]
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;
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) &
4183 (fiat_id_tc26_gost_3410_2012_256_paramSetA_value_barrier_u32((~x2)) &
4189 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul multiplies two field elements and reduces the result.
4191 * eval out1 mod m = (eval arg1 * eval arg2) mod m
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]]
4197 * out1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
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]) {
4370 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x170;
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]));
4497 (x54 + (x52 + (x49 + (x45 + (x40 + (x34 + (x27 + (x19 + x10))))))))));
4498 x123 = (x122 >> 24);
4499 x124 = (uint32_t)(x122 & UINT32_C(0xffffff));
4503 (x92 + (x84 + (x77 + (x71 + (x66 + (x62 + (x59 + (x57 + x56))))))))));
4507 (x93 + (x85 + (x78 + (x72 + (x67 + (x63 + (x60 + (x58 + x1))))))))));
4511 (x94 + (x86 + (x79 + (x73 + (x68 + (x64 + (x61 + (x11 + x2))))))))));
4515 (x95 + (x87 + (x80 + (x74 + (x69 + (x65 + (x20 + (x12 + x3))))))))));
4519 (x96 + (x88 + (x81 + (x75 + (x70 + (x28 + (x21 + (x13 + x4))))))))));
4523 (x97 + (x89 + (x82 + (x76 + (x35 + (x29 + (x22 + (x14 + x5))))))))));
4527 (x98 + (x90 + (x83 + (x41 + (x36 + (x30 + (x23 + (x15 + x6))))))))));
4531 (x99 + (x91 + (x46 + (x42 + (x37 + (x31 + (x24 + (x16 + x7))))))))));
4535 (x100 + (x50 + (x47 + (x43 + (x38 + (x32 + (x25 + (x17 + x8))))))))));
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);
4592 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square squares a field element and reduces the result.
4594 * eval out1 mod m = (eval arg1 * eval arg1) mod m
4597 * arg1: [[0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000]]
4599 * out1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
4601 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(
4602 uint32_t out1[11], const uint32_t arg1[11]) {
4737 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x135;
4740 x1 = ((uint64_t)(arg1[10]) * UINT16_C(0x269));
4742 x3 = ((arg1[10]) * 0x2);
4743 x4 = ((uint64_t)(arg1[9]) * UINT16_C(0x269));
4745 x6 = ((arg1[9]) * 0x2);
4746 x7 = ((uint64_t)(arg1[8]) * UINT16_C(0x269));
4748 x9 = ((arg1[8]) * 0x2);
4749 x10 = ((uint64_t)(arg1[7]) * UINT16_C(0x269));
4751 x12 = ((arg1[7]) * 0x2);
4752 x13 = ((uint64_t)(arg1[6]) * UINT16_C(0x269));
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)))));
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)))));
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);
4891 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry reduces a field element.
4893 * eval out1 mod m = eval arg1 mod m
4896 * arg1: [[0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000]]
4898 * out1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
4900 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(
4901 uint32_t out1[11], const uint32_t arg1[11]) {
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));
4966 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_add adds two field elements.
4968 * eval out1 mod m = (eval arg1 + eval arg2) mod m
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]]
4974 * out1: [[0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000]]
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]) {
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]));
5014 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_sub subtracts two field elements.
5016 * eval out1 mod m = (eval arg1 - eval arg2) mod m
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]]
5022 * out1: [[0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000]]
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]) {
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]));
5062 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_opp negates a field element.
5064 * eval out1 mod m = -eval arg1 mod m
5067 * arg1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
5069 * out1: [[0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x3000000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000], [0x0 ~> 0x1800000]]
5071 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(
5072 uint32_t out1[11], const uint32_t arg1[11]) {
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]));
5109 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz is a multi-limb conditional select.
5111 * eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
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]]
5118 * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
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]) {
5134 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x1, arg1, (arg2[0]),
5136 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x2, arg1, (arg2[1]),
5138 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x3, arg1, (arg2[2]),
5140 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x4, arg1, (arg2[3]),
5142 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x5, arg1, (arg2[4]),
5144 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x6, arg1, (arg2[5]),
5146 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x7, arg1, (arg2[6]),
5148 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x8, arg1, (arg2[7]),
5150 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x9, arg1, (arg2[8]),
5152 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x10, arg1, (arg2[9]),
5154 fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(
5155 &x11, arg1, (arg2[10]), (arg3[10]));
5170 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes serializes a field element to bytes in little-endian order.
5172 * out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
5175 * arg1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
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]]
5179 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(
5180 uint8_t out1[32], const uint32_t arg1[11]) {
5182 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x2;
5184 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x4;
5186 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x6;
5188 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x8;
5190 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x10;
5192 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x12;
5194 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x14;
5196 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x16;
5198 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x18;
5200 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x20;
5202 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x22;
5205 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x25;
5207 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x27;
5209 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x29;
5211 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x31;
5213 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x33;
5215 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x35;
5217 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x37;
5219 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x39;
5221 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x41;
5223 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x43;
5225 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x45;
5298 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x118;
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);
5359 x55 = (uint8_t)(x24 & UINT8_C(0xff));
5361 x57 = (uint8_t)(x56 & UINT8_C(0xff));
5362 x58 = (uint8_t)(x56 >> 8);
5363 x59 = (uint8_t)(x26 & UINT8_C(0xff));
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));
5370 x66 = (uint8_t)(x65 & UINT8_C(0xff));
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));
5377 x73 = (uint8_t)(x72 & UINT8_C(0xff));
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));
5384 x80 = (uint8_t)(x79 & UINT8_C(0xff));
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));
5391 x87 = (uint8_t)(x86 & UINT8_C(0xff));
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));
5398 x94 = (uint8_t)(x93 & UINT8_C(0xff));
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));
5405 x101 = (uint8_t)(x100 & UINT8_C(0xff));
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));
5412 x108 = (uint8_t)(x107 & UINT8_C(0xff));
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));
5419 x115 = (uint8_t)(x114 & UINT8_C(0xff));
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));
5426 x122 = (uint8_t)(x121 & UINT8_C(0xff));
5427 x123 = (uint8_t)(x121 >> 8);
5463 * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes deserializes a field element from bytes in little-endian order.
5465 * eval out1 mod m = bytes_eval arg1 mod m
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]]
5470 * out1: [[0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x1000000], [0x0 ~> 0x800000], [0x0 ~> 0x800000], [0x0 ~> 0x800000]]
5472 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(
5473 uint32_t out1[11], const uint8_t arg1[32]) {
5511 fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x38;
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);
5583 x30 = ((uint32_t)(arg1[2]) << 16);
5584 x31 = ((uint32_t)(arg1[1]) << 8);
5586 x33 = (x31 + (uint32_t)x32);
5588 x35 = (x28 + (uint32_t)x29);
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);
5595 x42 = (x41 & UINT32_C(0x7fffff));
5596 x43 = (uint8_t)(x41 >> 23);
5597 x44 = (x23 + (uint32_t)x43);
5600 x47 = (x46 & UINT32_C(0xffffff));
5601 x48 = (uint8_t)(x46 >> 24);
5602 x49 = (x20 + (uint32_t)x48);
5605 x52 = (x51 & UINT32_C(0x7fffff));
5606 x53 = (uint8_t)(x51 >> 23);
5607 x54 = (x17 + (uint32_t)x53);
5610 x57 = (x56 & UINT32_C(0x7fffff));
5611 x58 = (uint8_t)(x56 >> 23);
5612 x59 = (x14 + (uint32_t)x58);
5615 x62 = (x61 & UINT32_C(0x7fffff));
5616 x63 = (uint8_t)(x61 >> 23);
5617 x64 = (x11 + (uint32_t)x63);
5620 x67 = (x66 & UINT32_C(0xffffff));
5621 x68 = (uint8_t)(x66 >> 24);
5622 x69 = (x8 + (uint32_t)x68);
5625 x72 = (x71 & UINT32_C(0x7fffff));
5626 x73 = (uint8_t)(x71 >> 23);
5627 x74 = (x5 + (uint32_t)x73);
5630 x77 = (x76 & UINT32_C(0x7fffff));
5631 x78 = (uint8_t)(x76 >> 23);
5632 x79 = (x2 + (uint32_t)x78);
5647 /* END verbatim fiat code */
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
5655 static void fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(fe_t output,
5658 /* temporary variables */
5659 fe_t acc, t16, t164, t2, t246, t32, t4, t64, t8, t80, t82;
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);
5712 /* curve coefficient constants */
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)};
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)};
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)};
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)};
5738 /* LUT for scalar multiplication by comb interleaving */
5739 static const pt_aff_t lut_cmb[14][16] = {
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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)}},
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
8463 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
8464 /* temporary variables */
8465 fe_t t0, t1, t2, t3;
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;
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);
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
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;
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;
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);
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
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;
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;
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);
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
8591 static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
8592 /* temporary variables */
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;
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);
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
8621 static void point_legacy2edwards(pt_prj_t *Q, const pt_aff_t *P) {
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;
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);
8647 #define DRADIX (1 << RADIX)
8648 #define DRADIX_WNAF ((DRADIX) << 1)
8651 * precomp for wnaf scalar multiplication:
8659 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
8662 /* move from legacy affine to Edwards projective */
8663 point_legacy2edwards(&precomp[0], P);
8664 point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
8666 for (i = 1; i < DRADIX / 2; i++)
8667 point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
8670 /* fetch a scalar bit */
8671 static int scalar_get_bit(const unsigned char in[32], int idx) {
8677 if (idx < 0 || widx >= 32) return 0;
8679 return (in[widx] >> rshift) & 0x1;
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".
8690 static void scalar_rwnaf(int8_t out[52], const unsigned char in[32]) {
8694 window = (in[0] & (DRADIX_WNAF - 1)) | 1;
8695 for (i = 0; i < 51; i++) {
8696 d = (window & (DRADIX_WNAF - 1)) - DRADIX;
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;
8709 * Compute "textbook" wnaf representation of a scalar.
8710 * NB: not constant time
8712 static void scalar_wnaf(int8_t out[257], const unsigned char in[32]) {
8716 window = in[0] & (DRADIX_WNAF - 1);
8717 for (i = 0; i < 257; i++) {
8719 if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
8722 window = (window - d) >> 1;
8723 window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
8728 * Simultaneous scalar multiplication: interleaved "textbook" wnaf.
8729 * NB: not constant time
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};
8737 pt_prj_t precomp[DRADIX / 2];
8739 precomp_wnaf(precomp, P);
8740 scalar_wnaf(anaf, a);
8741 scalar_wnaf(bnaf, b);
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);
8751 d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
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);
8760 point_add_proj(&Q, &Q, &precomp[d]);
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);
8768 d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
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);
8777 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
8782 /* initialize accumulator to inf: all-zero scalars */
8784 fe_copy(Q.Y, const_one);
8786 fe_copy(Q.Z, const_one);
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);
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);
8804 * Variable point scalar multiplication with "regular" wnaf.
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];
8813 precomp_wnaf(precomp, P);
8814 scalar_rwnaf(rnaf, scalar);
8816 #if defined(_MSC_VER)
8817 /* result still unsigned: yes we know */
8818 #pragma warning(push)
8819 #pragma warning(disable : 4146)
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,
8828 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, diff, Q.Y,
8830 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, diff, Q.T,
8832 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, diff, Q.Z,
8836 for (i = 50; i >= 0; i--) {
8837 for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
8839 /* is_neg = (d < 0) ? 1 : 0 */
8840 is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
8842 d = (d ^ -is_neg) + is_neg;
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);
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,
8860 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.T, is_neg,
8862 point_add_proj(&Q, &Q, &lut);
8865 #if defined(_MSC_VER)
8866 #pragma warning(pop)
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,
8877 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1,
8879 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1,
8881 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, scalar[0] & 1,
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);
8893 * Fixed scalar multiplication: comb with interleaving.
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};
8901 scalar_rwnaf(rnaf, scalar);
8903 /* initalize accumulator to inf */
8905 fe_copy(Q.Y, const_one);
8907 fe_copy(Q.Z, const_one);
8909 #if defined(_MSC_VER)
8910 /* result still unsigned: yes we know */
8911 #pragma warning(push)
8912 #pragma warning(disable : 4146)
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;
8923 d = (d ^ -is_neg) + is_neg;
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);
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,
8939 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.T, is_neg,
8941 point_add_mixed(&Q, &Q, &lut);
8945 #if defined(_MSC_VER)
8946 #pragma warning(pop)
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,
8956 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1, R.Y,
8958 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1, R.T,
8960 fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, scalar[0] & 1, R.Z,
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);
8972 * Wrapper: simultaneous scalar mutiplication.
8973 * outx, outy := a * G + b * P
8974 * where P = (inx, iny).
8975 * Everything is LE byte ordering.
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]) {
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);
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);
8993 * Wrapper: fixed scalar mutiplication.
8994 * outx, outy := scalar * G
8995 * Everything is LE byte ordering.
8997 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
8998 const unsigned char scalar[32]) {
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);
9008 * Wrapper: variable point scalar mutiplication.
9009 * outx, outy := scalar * P
9010 * where P = (inx, iny).
9011 * Everything is LE byte ordering.
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]) {
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);
9028 #include <openssl/ec.h>
9030 /* the zero field element */
9031 static const unsigned char const_zb[32] = {0};
9034 * An OpenSSL wrapper for simultaneous scalar multiplication.
9035 * r := n * G + m * q
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) {
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;
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)
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;
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))
9076 * An OpenSSL wrapper for variable point scalar multiplication.
9080 point_mul_id_tc26_gost_3410_2012_256_paramSetA(const EC_GROUP *group,
9086 unsigned char b_x[32];
9087 unsigned char b_y[32];
9088 unsigned char b_m[32];
9089 BIGNUM *x = NULL, *y = NULL;
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)
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;
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))
9119 * An OpenSSL wrapper for fixed scalar multiplication.
9123 point_mul_g_id_tc26_gost_3410_2012_256_paramSetA(const EC_GROUP *group,
9128 unsigned char b_x[32];
9129 unsigned char b_y[32];
9130 unsigned char b_n[32];
9131 BIGNUM *x = NULL, *y = NULL;
9134 x = BN_CTX_get(ctx);
9135 if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
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;
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))
9158 #endif /* __SIZEOF_INT128__ */