curve25519_dalek/backend/vector/avx2/
constants.rs

1// -*- mode: rust; -*-
2//
3// This file is part of curve25519-dalek.
4// Copyright (c) 2016-2021 isis lovecruft
5// Copyright (c) 2016-2019 Henry de Valence
6// See LICENSE for licensing information.
7//
8// Authors:
9// - isis agora lovecruft <isis@patternsinthevoid.net>
10// - Henry de Valence <hdevalence@hdevalence.ca>
11
12//! This module contains constants used by the AVX2 backend.
13
14use crate::backend::vector::packed_simd::u32x8;
15
16use crate::backend::vector::avx2::edwards::{CachedPoint, ExtendedPoint};
17use crate::backend::vector::avx2::field::FieldElement2625x4;
18
19#[cfg(feature = "precomputed-tables")]
20use crate::window::NafLookupTable8;
21
22/// The identity element as an `ExtendedPoint`.
23pub(crate) static EXTENDEDPOINT_IDENTITY: ExtendedPoint = ExtendedPoint(FieldElement2625x4([
24    u32x8::new_const(0, 1, 0, 0, 1, 0, 0, 0),
25    u32x8::splat_const::<0>(),
26    u32x8::splat_const::<0>(),
27    u32x8::splat_const::<0>(),
28    u32x8::splat_const::<0>(),
29]));
30
31/// The identity element as a `CachedPoint`.
32pub(crate) static CACHEDPOINT_IDENTITY: CachedPoint = CachedPoint(FieldElement2625x4([
33    u32x8::new_const(121647, 121666, 0, 0, 243332, 67108845, 0, 33554431),
34    u32x8::new_const(67108864, 0, 33554431, 0, 0, 67108863, 0, 33554431),
35    u32x8::new_const(67108863, 0, 33554431, 0, 0, 67108863, 0, 33554431),
36    u32x8::new_const(67108863, 0, 33554431, 0, 0, 67108863, 0, 33554431),
37    u32x8::new_const(67108863, 0, 33554431, 0, 0, 67108863, 0, 33554431),
38]));
39
40/// The low limbs of (2p, 2p, 2p, 2p), so that
41/// ```ascii,no_run
42/// (2p, 2p, 2p, 2p) = [P_TIMES_2_LO, P_TIMES_2_HI, P_TIMES_2_HI, P_TIMES_2_HI, P_TIMES_2_HI]
43/// ```
44pub(crate) static P_TIMES_2_LO: u32x8 = u32x8::new_const(
45    67108845 << 1,
46    67108845 << 1,
47    33554431 << 1,
48    33554431 << 1,
49    67108845 << 1,
50    67108845 << 1,
51    33554431 << 1,
52    33554431 << 1,
53);
54
55/// The high limbs of (2p, 2p, 2p, 2p), so that
56/// ```ascii,no_run
57/// (2p, 2p, 2p, 2p) = [P_TIMES_2_LO, P_TIMES_2_HI, P_TIMES_2_HI, P_TIMES_2_HI, P_TIMES_2_HI]
58/// ```
59pub(crate) static P_TIMES_2_HI: u32x8 = u32x8::new_const(
60    67108863 << 1,
61    67108863 << 1,
62    33554431 << 1,
63    33554431 << 1,
64    67108863 << 1,
65    67108863 << 1,
66    33554431 << 1,
67    33554431 << 1,
68);
69
70/// The low limbs of (16p, 16p, 16p, 16p), so that
71/// ```ascii,no_run
72/// (16p, 16p, 16p, 16p) = [P_TIMES_16_LO, P_TIMES_16_HI, P_TIMES_16_HI, P_TIMES_16_HI, P_TIMES_16_HI]
73/// ```
74pub(crate) static P_TIMES_16_LO: u32x8 = u32x8::new_const(
75    67108845 << 4,
76    67108845 << 4,
77    33554431 << 4,
78    33554431 << 4,
79    67108845 << 4,
80    67108845 << 4,
81    33554431 << 4,
82    33554431 << 4,
83);
84
85/// The high limbs of (16p, 16p, 16p, 16p), so that
86/// ```ascii,no_run
87/// (16p, 16p, 16p, 16p) = [P_TIMES_16_LO, P_TIMES_16_HI, P_TIMES_16_HI, P_TIMES_16_HI, P_TIMES_16_HI]
88/// ```
89pub(crate) static P_TIMES_16_HI: u32x8 = u32x8::new_const(
90    67108863 << 4,
91    67108863 << 4,
92    33554431 << 4,
93    33554431 << 4,
94    67108863 << 4,
95    67108863 << 4,
96    33554431 << 4,
97    33554431 << 4,
98);
99
100/// Odd multiples of the Ed25519 basepoint:
101#[cfg(feature = "precomputed-tables")]
102pub(crate) static BASEPOINT_ODD_LOOKUP_TABLE: NafLookupTable8<CachedPoint> = NafLookupTable8([
103    CachedPoint(FieldElement2625x4([
104        u32x8::new_const(
105            3571425, 10045002, 19036563, 1096096, 243332, 65897020, 0, 28963681,
106        ),
107        u32x8::new_const(
108            30896895, 63055514, 1614915, 5095970, 0, 53791688, 0, 31258312,
109        ),
110        u32x8::new_const(
111            13347627, 40339464, 2236269, 11185503, 0, 22520087, 0, 8659512,
112        ),
113        u32x8::new_const(
114            11125413, 29139905, 32037254, 28360723, 0, 64556417, 0, 9635759,
115        ),
116        u32x8::new_const(
117            33268144, 47262491, 4336918, 15795740, 0, 22027545, 0, 4846528,
118        ),
119    ])),
120    CachedPoint(FieldElement2625x4([
121        u32x8::new_const(
122            47099681, 31447946, 29365447, 24740513, 42991046, 18317844, 16051644, 21404226,
123        ),
124        u32x8::new_const(
125            31708133, 28909527, 2366091, 13703791, 469246, 54159622, 2601402, 32988002,
126        ),
127        u32x8::new_const(
128            63432457, 30251794, 15163516, 18491340, 28144087, 35605455, 13682295, 18474872,
129        ),
130        u32x8::new_const(
131            12221607, 4967598, 26061980, 26008006, 20226147, 9726961, 17410, 18051083,
132        ),
133        u32x8::new_const(
134            60569645, 62487085, 11911242, 21920922, 4092105, 38186967, 22431483, 31366585,
135        ),
136    ])),
137    CachedPoint(FieldElement2625x4([
138        u32x8::new_const(
139            18147205, 62587998, 2554617, 536692, 11924528, 26674131, 17645433, 24341419,
140        ),
141        u32x8::new_const(
142            11573357, 27579485, 31491870, 29000885, 10800976, 51902791, 28076395, 20464029,
143        ),
144        u32x8::new_const(
145            56031649, 10856669, 11791193, 26769430, 25306956, 5922200, 6630685, 9385098,
146        ),
147        u32x8::new_const(
148            31319348, 23906711, 16290213, 32142166, 61106354, 17181823, 3548308, 12022566,
149        ),
150        u32x8::new_const(
151            5904298, 50218605, 11826440, 5492249, 10379071, 3472255, 172742, 31948344,
152        ),
153    ])),
154    CachedPoint(FieldElement2625x4([
155        u32x8::new_const(
156            10625852, 15193821, 22918394, 23676410, 53695416, 54987793, 10067515, 11747680,
157        ),
158        u32x8::new_const(
159            65013325, 1309652, 29616320, 28922974, 60360891, 19621771, 9938982, 30406429,
160        ),
161        u32x8::new_const(
162            54967954, 65931918, 5595602, 25719523, 64909864, 30566415, 15945272, 8495317,
163        ),
164        u32x8::new_const(
165            1167157, 55265018, 11507029, 31641054, 43497904, 2367338, 12937761, 27517066,
166        ),
167        u32x8::new_const(
168            656704, 2544994, 13006713, 480979, 38471594, 62541240, 25353597, 11531760,
169        ),
170    ])),
171    CachedPoint(FieldElement2625x4([
172        u32x8::new_const(
173            22176662, 3984313, 27495285, 4110608, 2909584, 30594106, 15677919, 2549183,
174        ),
175        u32x8::new_const(
176            33979105, 62269905, 2071511, 6894756, 53189950, 47232857, 6408191, 6123225,
177        ),
178        u32x8::new_const(
179            32553873, 63948030, 12612401, 3633166, 24054373, 37626618, 14481327, 8520484,
180        ),
181        u32x8::new_const(
182            56552486, 10749438, 12034813, 28811946, 1445640, 36755601, 12104575, 10257833,
183        ),
184        u32x8::new_const(
185            22795808, 48761311, 1136056, 9380768, 1411523, 5341811, 27318329, 9686767,
186        ),
187    ])),
188    CachedPoint(FieldElement2625x4([
189        u32x8::new_const(
190            21157200, 39156966, 20473176, 4934657, 61478183, 45121537, 5429856, 13035023,
191        ),
192        u32x8::new_const(
193            7954529, 58789246, 31440083, 7054221, 38438565, 36856107, 1364112, 14548122,
194        ),
195        u32x8::new_const(
196            26120083, 36321360, 4919997, 31687496, 33757765, 36237559, 15243054, 32163861,
197        ),
198        u32x8::new_const(
199            25878307, 46544824, 19455951, 2414935, 16844726, 56521560, 32680554, 26660660,
200        ),
201        u32x8::new_const(
202            48360220, 43407178, 12187042, 24925816, 7423722, 25746484, 12814654, 17395963,
203        ),
204    ])),
205    CachedPoint(FieldElement2625x4([
206        u32x8::new_const(
207            63153652, 32195955, 4087908, 8431689, 30392384, 47203165, 8986649, 9053039,
208        ),
209        u32x8::new_const(
210            63659241, 47988767, 2931872, 19953600, 11747107, 51610101, 20952181, 13364887,
211        ),
212        u32x8::new_const(
213            3659197, 58790649, 5930099, 2605312, 28477896, 580728, 20579735, 2610622,
214        ),
215        u32x8::new_const(
216            41781607, 17161358, 10690531, 24368015, 47027031, 36742339, 5414694, 13156365,
217        ),
218        u32x8::new_const(
219            13237853, 51182423, 8954802, 29006542, 22643989, 56896541, 22830593, 10289708,
220        ),
221    ])),
222    CachedPoint(FieldElement2625x4([
223        u32x8::new_const(
224            1401265, 58846825, 30911620, 32239180, 15391552, 15200821, 6339309, 16403588,
225        ),
226        u32x8::new_const(
227            55913797, 29541724, 1664461, 21709410, 38470488, 47097092, 17674945, 32666066,
228        ),
229        u32x8::new_const(
230            22844482, 10797709, 27548106, 31638735, 34500968, 26611503, 19727211, 13160873,
231        ),
232        u32x8::new_const(
233            31485204, 14496164, 13981208, 10276888, 5748808, 35024436, 2740987, 7479021,
234        ),
235        u32x8::new_const(
236            58541207, 14866135, 32344041, 545930, 62661488, 6941250, 27940205, 11976112,
237        ),
238    ])),
239    CachedPoint(FieldElement2625x4([
240        u32x8::new_const(
241            39849808, 44781685, 15697329, 24387845, 12501486, 50260092, 23199481, 31929024,
242        ),
243        u32x8::new_const(
244            24823070, 27956017, 27034296, 10316465, 47664045, 11152446, 15719183, 30181617,
245        ),
246        u32x8::new_const(
247            20771189, 19969144, 31433937, 19185213, 27565920, 10384445, 2893359, 9255362,
248        ),
249        u32x8::new_const(
250            42894974, 11925545, 32134441, 32738810, 55916336, 32479272, 19563550, 5511385,
251        ),
252        u32x8::new_const(
253            17857161, 47809169, 14564114, 27997751, 33024640, 38669671, 31956536, 27313245,
254        ),
255    ])),
256    CachedPoint(FieldElement2625x4([
257        u32x8::new_const(
258            58237774, 15917425, 18872208, 19394230, 17374297, 6101419, 4839741, 6596900,
259        ),
260        u32x8::new_const(
261            66947393, 15744215, 18368993, 17750160, 41006525, 9205497, 2629667, 32170865,
262        ),
263        u32x8::new_const(
264            66481381, 1919414, 28338762, 7372967, 33819153, 4156199, 27126309, 12739816,
265        ),
266        u32x8::new_const(
267            44117158, 58545296, 22521371, 11809712, 28998792, 50731010, 30215699, 25748377,
268        ),
269        u32x8::new_const(
270            23561284, 4160244, 9035405, 24895184, 39761639, 59253416, 8684759, 22487864,
271        ),
272    ])),
273    CachedPoint(FieldElement2625x4([
274        u32x8::new_const(
275            12671134, 56419053, 16092401, 30038207, 4002647, 47822606, 7151311, 28430768,
276        ),
277        u32x8::new_const(
278            61041684, 35765374, 30598048, 19666539, 44150175, 40140037, 290469, 28442674,
279        ),
280        u32x8::new_const(
281            18847796, 1371617, 33316881, 13199936, 43646578, 17068881, 12074900, 1537415,
282        ),
283        u32x8::new_const(
284            10052225, 38316070, 27469797, 5297537, 50725570, 20435349, 10339121, 2779737,
285        ),
286        u32x8::new_const(
287            18372189, 15466385, 24762130, 22217964, 23503887, 47844464, 10415034, 2606889,
288        ),
289    ])),
290    CachedPoint(FieldElement2625x4([
291        u32x8::new_const(
292            55082775, 45300503, 16032654, 5964396, 17743504, 24634761, 19493066, 5184611,
293        ),
294        u32x8::new_const(
295            50172633, 35093294, 10040575, 23616256, 4543900, 61852191, 4049821, 7423669,
296        ),
297        u32x8::new_const(
298            20295398, 40009376, 10487190, 15670429, 51972856, 58649552, 20436392, 3432497,
299        ),
300        u32x8::new_const(
301            35189420, 54117751, 12825868, 6283038, 27540739, 30648758, 22658912, 9466689,
302        ),
303        u32x8::new_const(
304            51737549, 40725785, 17409814, 25201086, 21156239, 34176168, 26814520, 5956424,
305        ),
306    ])),
307    CachedPoint(FieldElement2625x4([
308        u32x8::new_const(
309            8211442, 8014184, 6260823, 22108096, 32182620, 51844847, 2466270, 28582231,
310        ),
311        u32x8::new_const(
312            27199739, 3848333, 31738017, 10892045, 4963982, 65391770, 32551997, 28906469,
313        ),
314        u32x8::new_const(
315            16606846, 32207068, 26404535, 7614129, 45416902, 65584718, 13821785, 2646060,
316        ),
317        u32x8::new_const(
318            36090634, 57981287, 32247670, 22837502, 31003861, 55448117, 6062915, 20369975,
319        ),
320        u32x8::new_const(
321            27381403, 50578107, 522631, 29521058, 31137497, 40220737, 27628049, 1824195,
322        ),
323    ])),
324    CachedPoint(FieldElement2625x4([
325        u32x8::new_const(
326            59402443, 17056879, 29262689, 6131785, 52551472, 43367471, 29423199, 18899208,
327        ),
328        u32x8::new_const(
329            5749414, 43514612, 11365899, 21514624, 65591890, 60945892, 19841732, 5628567,
330        ),
331        u32x8::new_const(
332            19334369, 52500268, 12307673, 5267367, 3212103, 9035822, 29142161, 30520954,
333        ),
334        u32x8::new_const(
335            57261330, 6819646, 22089161, 9800373, 55155453, 62250856, 13766735, 25244545,
336        ),
337        u32x8::new_const(
338            54370226, 61888301, 24496089, 2540581, 65637506, 60274355, 18154273, 11687259,
339        ),
340    ])),
341    CachedPoint(FieldElement2625x4([
342        u32x8::new_const(
343            12521903, 26014045, 13995625, 33360175, 23605474, 7376434, 27229267, 17195036,
344        ),
345        u32x8::new_const(
346            59482891, 10074423, 574357, 3857753, 61377787, 50306685, 5241065, 20234396,
347        ),
348        u32x8::new_const(
349            23674717, 6997172, 20771841, 16858511, 40565304, 29973136, 7049812, 14585010,
350        ),
351        u32x8::new_const(
352            1427477, 13295732, 31762066, 31499740, 60419925, 54666164, 22009424, 8089609,
353        ),
354        u32x8::new_const(
355            58154031, 41593020, 15342328, 957047, 38937260, 37037498, 24871992, 32973409,
356        ),
357    ])),
358    CachedPoint(FieldElement2625x4([
359        u32x8::new_const(
360            30654745, 51286025, 21206982, 2433562, 12780105, 31732574, 33087964, 33081189,
361        ),
362        u32x8::new_const(
363            66640017, 42720009, 16567620, 15300745, 1530367, 33001123, 20930247, 21042661,
364        ),
365        u32x8::new_const(
366            15003356, 5294119, 22985605, 18928772, 32628461, 18230172, 14773298, 27193722,
367        ),
368        u32x8::new_const(
369            27555, 65346287, 17017174, 7837720, 21499787, 42855613, 22474984, 13675085,
370        ),
371        u32x8::new_const(
372            24164369, 50130116, 5973149, 24152073, 1577334, 25400030, 18648484, 32228854,
373        ),
374    ])),
375    CachedPoint(FieldElement2625x4([
376        u32x8::new_const(
377            49518649, 59119280, 31670678, 20396561, 61728330, 651402, 176032, 9529498,
378        ),
379        u32x8::new_const(
380            61765532, 9082232, 32794568, 15526956, 48543100, 32614212, 19001206, 25680229,
381        ),
382        u32x8::new_const(
383            32086091, 10373081, 8996131, 31822823, 35788988, 49973190, 30542040, 17858455,
384        ),
385        u32x8::new_const(
386            48130197, 58121889, 27753291, 29923268, 54448075, 43300790, 9336565, 15770022,
387        ),
388        u32x8::new_const(
389            57725546, 20557498, 9366233, 16023566, 16189031, 2837363, 24315301, 27003505,
390        ),
391    ])),
392    CachedPoint(FieldElement2625x4([
393        u32x8::new_const(
394            28286608, 10767548, 18220739, 5413236, 48253387, 58255702, 11864864, 28527159,
395        ),
396        u32x8::new_const(
397            45038176, 58655197, 25648758, 10951484, 42564382, 34542843, 23146954, 22234334,
398        ),
399        u32x8::new_const(
400            14858710, 24978793, 15040559, 4379220, 47621477, 40271440, 15650420, 1998736,
401        ),
402        u32x8::new_const(
403            24106391, 9626149, 344505, 25253814, 34579800, 59687089, 25718289, 25904133,
404        ),
405        u32x8::new_const(
406            1981195, 37751302, 26132048, 1764722, 13288231, 28808622, 12531301, 18292949,
407        ),
408    ])),
409    CachedPoint(FieldElement2625x4([
410        u32x8::new_const(
411            13869851, 31448904, 14963539, 7581293, 20536485, 35021083, 21257574, 33356609,
412        ),
413        u32x8::new_const(
414            36903364, 18429241, 11097857, 5943856, 60583077, 40015815, 30509523, 31915271,
415        ),
416        u32x8::new_const(
417            49161801, 40681915, 67892, 25454357, 22779677, 25798439, 15964829, 5863227,
418        ),
419        u32x8::new_const(
420            60810637, 4496471, 5217137, 14095116, 50942411, 50712663, 2507380, 26844507,
421        ),
422        u32x8::new_const(
423            34579752, 53519385, 10859797, 18816024, 42552864, 39478521, 6783896, 17277037,
424        ),
425    ])),
426    CachedPoint(FieldElement2625x4([
427        u32x8::new_const(
428            43287109, 27900723, 33182187, 2766754, 17041989, 1018260, 33392790, 4830032,
429        ),
430        u32x8::new_const(
431            60194178, 30788903, 24728888, 14513195, 20897010, 28843233, 20111980, 17475240,
432        ),
433        u32x8::new_const(
434            46042274, 19257042, 4628173, 31649727, 27388316, 66631493, 11541886, 6408028,
435        ),
436        u32x8::new_const(
437            57024680, 49536568, 32050358, 31321917, 17437691, 49672356, 2884755, 20493991,
438        ),
439        u32x8::new_const(
440            59553007, 46782643, 29001173, 1814088, 21930692, 51319706, 14965872, 30748046,
441        ),
442    ])),
443    CachedPoint(FieldElement2625x4([
444        u32x8::new_const(
445            16441817, 36111849, 6900424, 602234, 46522199, 16441484, 8135070, 21726541,
446        ),
447        u32x8::new_const(
448            37711225, 32701959, 11679112, 13125533, 32154135, 9407918, 26554289, 620848,
449        ),
450        u32x8::new_const(
451            19233407, 30086864, 14679568, 2797374, 4892806, 7993077, 247658, 5632804,
452        ),
453        u32x8::new_const(
454            37427262, 26675495, 27125659, 13496131, 50718473, 40115609, 28505351, 27837393,
455        ),
456        u32x8::new_const(
457            196819, 18410429, 7070012, 21691388, 29763371, 24754123, 9727048, 10930179,
458        ),
459    ])),
460    CachedPoint(FieldElement2625x4([
461        u32x8::new_const(
462            28319289, 40734650, 16225680, 24739184, 64272368, 35356897, 7866648, 13635853,
463        ),
464        u32x8::new_const(
465            34165295, 48328447, 27041670, 23643655, 48949950, 52963288, 30411133, 6045174,
466        ),
467        u32x8::new_const(
468            18583559, 41649834, 9813585, 26098520, 25682734, 26733526, 19276490, 10654728,
469        ),
470        u32x8::new_const(
471            34867476, 52715968, 5694571, 13380978, 15134994, 1831255, 8608001, 17266401,
472        ),
473        u32x8::new_const(
474            59925903, 44282172, 27802465, 1855069, 14234749, 36635487, 11302294, 10938429,
475        ),
476    ])),
477    CachedPoint(FieldElement2625x4([
478        u32x8::new_const(
479            8373273, 49064494, 4932071, 32997499, 38472880, 29335908, 14504412, 22460029,
480        ),
481        u32x8::new_const(
482            31795930, 50785923, 25835990, 25790073, 65669841, 11360450, 9969157, 9008164,
483        ),
484        u32x8::new_const(
485            50262498, 45869261, 16124434, 15336007, 882762, 42522623, 11277198, 26296377,
486        ),
487        u32x8::new_const(
488            42332732, 59129236, 14452816, 567985, 208061, 34722729, 32008143, 14828749,
489        ),
490        u32x8::new_const(
491            17937794, 36846032, 32102665, 4442466, 19745435, 31633451, 7146411, 15812027,
492        ),
493    ])),
494    CachedPoint(FieldElement2625x4([
495        u32x8::new_const(
496            30741269, 38648744, 12562645, 30092623, 25073992, 28730659, 27911745, 30000958,
497        ),
498        u32x8::new_const(
499            2859794, 25991700, 17776078, 27091930, 2328322, 60061146, 18581824, 18039008,
500        ),
501        u32x8::new_const(
502            58206333, 17917354, 1972306, 11853766, 2655376, 60543390, 18416710, 13287440,
503        ),
504        u32x8::new_const(
505            62746330, 61423885, 21246577, 2266675, 60099139, 14804707, 14772234, 20679434,
506        ),
507        u32x8::new_const(
508            26987698, 15488817, 715616, 2339565, 51980752, 17333865, 21965103, 10839820,
509        ),
510    ])),
511    CachedPoint(FieldElement2625x4([
512        u32x8::new_const(
513            18672548, 57660959, 16042910, 19519287, 62865851, 17580961, 26628347, 23774759,
514        ),
515        u32x8::new_const(
516            368070, 3464471, 25888304, 30370559, 52396053, 45426828, 28745251, 9246829,
517        ),
518        u32x8::new_const(
519            29090099, 57950037, 23104657, 4903923, 10987778, 56163684, 23621539, 10332760,
520        ),
521        u32x8::new_const(
522            53338235, 44851161, 21606845, 31069622, 4243630, 34464392, 11286454, 5802022,
523        ),
524        u32x8::new_const(
525            46710757, 63389067, 11642865, 1980986, 12967337, 28162061, 3854192, 30432268,
526        ),
527    ])),
528    CachedPoint(FieldElement2625x4([
529        u32x8::new_const(
530            12179834, 41005450, 12809619, 33525228, 4624405, 46957889, 16968743, 11827816,
531        ),
532        u32x8::new_const(
533            51521162, 12466775, 31791271, 15303651, 49798465, 62714504, 6509600, 12918560,
534        ),
535        u32x8::new_const(
536            20445559, 1756449, 28848701, 7920171, 9835040, 5900071, 28757409, 12376688,
537        ),
538        u32x8::new_const(
539            18259496, 14281012, 21767026, 10232236, 20000226, 12400540, 4104902, 23570543,
540        ),
541        u32x8::new_const(
542            3687440, 26546648, 13328821, 26841081, 49822734, 22334054, 244496, 24862543,
543        ),
544    ])),
545    CachedPoint(FieldElement2625x4([
546        u32x8::new_const(
547            59523541, 62195428, 3853227, 13954801, 12387708, 47627615, 27221350, 17899572,
548        ),
549        u32x8::new_const(
550            63193587, 36343307, 14595132, 6880795, 1364792, 37648434, 3259017, 20536046,
551        ),
552        u32x8::new_const(
553            30362834, 10440372, 9574624, 11729232, 63861613, 21748389, 5530846, 2721586,
554        ),
555        u32x8::new_const(
556            18339760, 1550632, 17170271, 25732971, 28459263, 63142237, 21642345, 31557672,
557        ),
558        u32x8::new_const(
559            10611282, 5204623, 18049257, 214175, 19432723, 49809070, 26010406, 27449522,
560        ),
561    ])),
562    CachedPoint(FieldElement2625x4([
563        u32x8::new_const(
564            19770733, 26478685, 9464541, 29158041, 28604307, 45196604, 7586524, 6641859,
565        ),
566        u32x8::new_const(
567            65654484, 52230498, 30886612, 19112823, 47271809, 38942611, 16020035, 10773481,
568        ),
569        u32x8::new_const(
570            27464323, 54451016, 20646645, 17732915, 23008717, 53626684, 3253189, 15614410,
571        ),
572        u32x8::new_const(
573            52381752, 40693008, 7063024, 28469981, 51159478, 44543211, 19941777, 5985451,
574        ),
575        u32x8::new_const(
576            13553668, 35524849, 14788737, 1883845, 12385775, 47958835, 29135466, 1776722,
577        ),
578    ])),
579    CachedPoint(FieldElement2625x4([
580        u32x8::new_const(
581            36719806, 20827965, 23175373, 32996806, 42041892, 65708790, 5467143, 20884008,
582        ),
583        u32x8::new_const(
584            43256281, 40770646, 17244063, 31959819, 64366384, 43544617, 25057754, 12628720,
585        ),
586        u32x8::new_const(
587            17337782, 58472057, 27906934, 15305274, 30292418, 39284317, 16946773, 24806712,
588        ),
589        u32x8::new_const(
590            6485126, 32447403, 16261486, 13561940, 49439635, 10738368, 16419889, 8897231,
591        ),
592        u32x8::new_const(
593            44812203, 40122262, 25496058, 2759794, 25295304, 52178368, 24154195, 29334408,
594        ),
595    ])),
596    CachedPoint(FieldElement2625x4([
597        u32x8::new_const(
598            42307254, 57217102, 1088936, 3832827, 33905401, 23130334, 6958056, 12622851,
599        ),
600        u32x8::new_const(
601            3881189, 14870059, 19712830, 6071598, 38147944, 60776394, 3427938, 13765703,
602        ),
603        u32x8::new_const(
604            7666911, 24227591, 17077136, 22967588, 6874639, 30915523, 11451695, 24292224,
605        ),
606        u32x8::new_const(
607            13659529, 31984463, 28764736, 20506164, 64729627, 49321636, 28284636, 25472371,
608        ),
609        u32x8::new_const(
610            39360308, 42281399, 9446504, 868960, 49227724, 21351115, 30561851, 11292096,
611        ),
612    ])),
613    CachedPoint(FieldElement2625x4([
614        u32x8::new_const(
615            7071115, 46444090, 5387916, 15432877, 27226682, 41506862, 2398278, 3978240,
616        ),
617        u32x8::new_const(
618            51009614, 54216973, 24368938, 31392616, 38456150, 62313644, 6729154, 99724,
619        ),
620        u32x8::new_const(
621            17474332, 62857913, 2619930, 30659308, 18268181, 32809239, 22826292, 24561895,
622        ),
623        u32x8::new_const(
624            38187020, 67003092, 14118280, 16500577, 18808560, 64983716, 25712929, 32518261,
625        ),
626        u32x8::new_const(
627            25735813, 62284262, 10824872, 20558596, 48149681, 31162667, 22608274, 26285185,
628        ),
629    ])),
630    CachedPoint(FieldElement2625x4([
631        u32x8::new_const(
632            963440, 63742255, 10230323, 25515008, 32506414, 6105697, 25980317, 24645129,
633        ),
634        u32x8::new_const(
635            7162189, 8101249, 14679265, 33443386, 2002396, 8541405, 19442276, 4795881,
636        ),
637        u32x8::new_const(
638            8116694, 51463069, 4415528, 25599140, 55805721, 39582709, 6719436, 30033839,
639        ),
640        u32x8::new_const(
641            14468202, 42181869, 25188826, 9639755, 47546189, 62711146, 32762447, 18338064,
642        ),
643        u32x8::new_const(
644            33880058, 32810909, 8969931, 13095238, 38360605, 40138517, 9246134, 4928058,
645        ),
646    ])),
647    CachedPoint(FieldElement2625x4([
648        u32x8::new_const(
649            63655588, 17883670, 9410246, 26162761, 5000571, 7349225, 23785252, 32751089,
650        ),
651        u32x8::new_const(
652            28568737, 10733123, 9342397, 21570673, 54096560, 32467591, 20494687, 21511513,
653        ),
654        u32x8::new_const(
655            47675157, 47932807, 29250946, 15672208, 59760469, 9945465, 14939287, 18437405,
656        ),
657        u32x8::new_const(
658            37985267, 8609815, 31573002, 3373596, 47828883, 20834216, 13248616, 24154292,
659        ),
660        u32x8::new_const(
661            5543543, 29553242, 3386453, 30501150, 25058089, 15236571, 8814395, 32462955,
662        ),
663    ])),
664    CachedPoint(FieldElement2625x4([
665        u32x8::new_const(
666            39158670, 15322548, 20495103, 3312736, 14557171, 12985179, 8044741, 3176899,
667        ),
668        u32x8::new_const(
669            24673290, 29693310, 21412266, 18324699, 2154518, 40329021, 17500543, 3954277,
670        ),
671        u32x8::new_const(
672            36758685, 38738957, 165513, 14691866, 3070475, 10424235, 17096536, 16896898,
673        ),
674        u32x8::new_const(
675            59790459, 43094586, 8720681, 10423589, 1122030, 31545615, 4463786, 31811293,
676        ),
677        u32x8::new_const(
678            49778992, 60881044, 20509974, 5832494, 64155961, 31483358, 4511231, 20307815,
679        ),
680    ])),
681    CachedPoint(FieldElement2625x4([
682        u32x8::new_const(
683            2863373, 40876242, 26865913, 24067353, 15726407, 40919070, 12953902, 9931535,
684        ),
685        u32x8::new_const(
686            60934877, 42512204, 21649141, 21945190, 52211954, 60984193, 7046207, 5363493,
687        ),
688        u32x8::new_const(
689            4205971, 64068464, 18197273, 7327176, 51527794, 21166920, 20669933, 11828242,
690        ),
691        u32x8::new_const(
692            59782815, 49617225, 15379924, 457923, 9320508, 21498914, 3242540, 31563182,
693        ),
694        u32x8::new_const(
695            27714753, 8664670, 3366162, 26338598, 56775518, 25796006, 13129151, 21388876,
696        ),
697    ])),
698    CachedPoint(FieldElement2625x4([
699        u32x8::new_const(
700            59276548, 49972346, 16795002, 33455915, 48430097, 53857205, 18627071, 32474471,
701        ),
702        u32x8::new_const(
703            42160315, 50705892, 13530540, 28012698, 19833221, 55886870, 20191784, 9644313,
704        ),
705        u32x8::new_const(
706            20372416, 28414713, 24084234, 31804096, 33815377, 36131001, 17251241, 18291088,
707        ),
708        u32x8::new_const(
709            56234667, 14920441, 2033267, 29572003, 1724043, 45519699, 17873735, 501988,
710        ),
711        u32x8::new_const(
712            50031659, 31517850, 15697583, 1016845, 43104661, 54769582, 8008601, 27257051,
713        ),
714    ])),
715    CachedPoint(FieldElement2625x4([
716        u32x8::new_const(
717            52951491, 66542164, 14853573, 30444631, 12045973, 24321813, 16545674, 18160646,
718        ),
719        u32x8::new_const(
720            60107911, 1126003, 5947677, 19486116, 41119984, 30860440, 7935395, 13354438,
721        ),
722        u32x8::new_const(
723            17841328, 11063269, 1664538, 26687568, 6268968, 22280371, 17275484, 4523163,
724        ),
725        u32x8::new_const(
726            15886041, 56799482, 15446552, 21712778, 1005290, 17827215, 4978741, 6854882,
727        ),
728        u32x8::new_const(
729            34319277, 47731002, 20321804, 28544575, 29591814, 63376351, 24754545, 26001714,
730        ),
731    ])),
732    CachedPoint(FieldElement2625x4([
733        u32x8::new_const(
734            66783087, 5234346, 46102, 8566476, 19947339, 20180418, 25398238, 3726678,
735        ),
736        u32x8::new_const(
737            63890180, 46380965, 20674069, 5366544, 59661487, 48406612, 31533614, 7071217,
738        ),
739        u32x8::new_const(
740            13104676, 1406631, 24326736, 19854367, 61039528, 11019904, 31967425, 19219275,
741        ),
742        u32x8::new_const(
743            39003597, 30143957, 15351834, 8639435, 57309582, 61436794, 15830475, 10090318,
744        ),
745        u32x8::new_const(
746            45923044, 6700175, 99413, 21263025, 23762647, 53905481, 6063914, 10065424,
747        ),
748    ])),
749    CachedPoint(FieldElement2625x4([
750        u32x8::new_const(
751            42822326, 57678669, 4052879, 25452667, 54049411, 2373092, 22337016, 7701046,
752        ),
753        u32x8::new_const(
754            44382355, 43307377, 16761537, 30373573, 49790216, 23230748, 25655306, 10519391,
755        ),
756        u32x8::new_const(
757            919475, 59371245, 1273450, 25558666, 9724711, 8556709, 25755845, 10887647,
758        ),
759        u32x8::new_const(
760            25465699, 44651158, 17658392, 11257418, 29735193, 22885150, 7094716, 26828565,
761        ),
762        u32x8::new_const(
763            48237389, 47661599, 27054393, 7328070, 27280193, 65616691, 23062005, 4170709,
764        ),
765    ])),
766    CachedPoint(FieldElement2625x4([
767        u32x8::new_const(
768            26535281, 60238317, 30343788, 25790743, 37993933, 24614372, 9523840, 10401918,
769        ),
770        u32x8::new_const(
771            2783987, 29468958, 4697011, 19804475, 37246678, 46797720, 10261254, 18942252,
772        ),
773        u32x8::new_const(
774            58135580, 60247753, 25301938, 6844561, 20949454, 39844754, 4552026, 919057,
775        ),
776        u32x8::new_const(
777            6694071, 44126261, 32285330, 31370180, 24603698, 53328179, 13971149, 5325636,
778        ),
779        u32x8::new_const(
780            64879487, 582094, 17982081, 19190425, 24951286, 26923842, 29077174, 33286062,
781        ),
782    ])),
783    CachedPoint(FieldElement2625x4([
784        u32x8::new_const(
785            54863941, 67016431, 1224043, 23371240, 62940074, 52101083, 13523637, 30366406,
786        ),
787        u32x8::new_const(
788            36324581, 25407485, 18258623, 4698602, 50300544, 2658516, 26300935, 2611030,
789        ),
790        u32x8::new_const(
791            27183975, 21791014, 18105064, 9875199, 58118912, 54198635, 6400311, 14767984,
792        ),
793        u32x8::new_const(
794            33918318, 42937962, 14809334, 22136592, 10636588, 29082337, 29829692, 28549776,
795        ),
796        u32x8::new_const(
797            61080905, 854212, 12202487, 20004503, 9256495, 6903981, 20567109, 347423,
798        ),
799    ])),
800    CachedPoint(FieldElement2625x4([
801        u32x8::new_const(
802            41391822, 34336880, 22362564, 14247996, 12115604, 41583344, 7639288, 28910945,
803        ),
804        u32x8::new_const(
805            62066617, 59758859, 26665947, 11614812, 65737664, 45704543, 30324810, 12868376,
806        ),
807        u32x8::new_const(
808            17491771, 43589814, 9454919, 26047850, 52629282, 39304244, 3868968, 19296062,
809        ),
810        u32x8::new_const(
811            17826638, 30413590, 32534225, 32741469, 15012391, 14365713, 33039233, 14791399,
812        ),
813        u32x8::new_const(
814            64115596, 59197067, 32739005, 23275744, 32954320, 22241406, 20788442, 4942942,
815        ),
816    ])),
817    CachedPoint(FieldElement2625x4([
818        u32x8::new_const(
819            31956192, 59570132, 2784352, 4237732, 47222312, 4860927, 18658867, 15279314,
820        ),
821        u32x8::new_const(
822            63240583, 28160478, 23524941, 13390861, 66437406, 57718120, 33345312, 28896298,
823        ),
824        u32x8::new_const(
825            39026193, 46239965, 21440243, 25070488, 64012383, 60999016, 16517060, 29565907,
826        ),
827        u32x8::new_const(
828            18118181, 60161496, 4212092, 23976240, 36277753, 62363144, 5816868, 16964362,
829        ),
830        u32x8::new_const(
831            18196138, 62490693, 281468, 7934713, 56027312, 62015725, 4837237, 32932252,
832        ),
833    ])),
834    CachedPoint(FieldElement2625x4([
835        u32x8::new_const(
836            29885826, 51028067, 30418143, 33438769, 62542283, 39442528, 31535876, 143299,
837        ),
838        u32x8::new_const(
839            17143063, 56709783, 14451852, 15782104, 32762665, 14047066, 26295037, 5432487,
840        ),
841        u32x8::new_const(
842            75151, 533606, 7539077, 30926189, 38410914, 23771680, 4872443, 29199566,
843        ),
844        u32x8::new_const(
845            61522396, 48934708, 16223126, 207380, 11171993, 47975147, 14164574, 352966,
846        ),
847        u32x8::new_const(
848            15449006, 56530757, 26796528, 12045834, 63738697, 40667227, 33001582, 9101885,
849        ),
850    ])),
851    CachedPoint(FieldElement2625x4([
852        u32x8::new_const(
853            43331297, 18431341, 25801195, 17267698, 19365485, 57295202, 22218985, 21284590,
854        ),
855        u32x8::new_const(
856            2429849, 19152559, 10762172, 22564684, 21880390, 66866426, 20357935, 22641906,
857        ),
858        u32x8::new_const(
859            19771185, 31652693, 3666117, 28136958, 23624283, 55101502, 6313920, 6783662,
860        ),
861        u32x8::new_const(
862            3487137, 7092443, 11001876, 26196524, 47319246, 44542068, 17594073, 15027760,
863        ),
864        u32x8::new_const(
865            49563607, 32191113, 4991283, 25400512, 46539152, 4155103, 32368171, 201203,
866        ),
867    ])),
868    CachedPoint(FieldElement2625x4([
869        u32x8::new_const(
870            20548943, 14334571, 4073874, 6368588, 53208883, 56484515, 15970071, 25561889,
871        ),
872        u32x8::new_const(
873            49915097, 44030795, 11202344, 29284344, 60258023, 66225712, 8075764, 12383512,
874        ),
875        u32x8::new_const(
876            45248912, 4933668, 9592153, 5819559, 31030983, 38174071, 32435814, 7442522,
877        ),
878        u32x8::new_const(
879            62688129, 48218381, 22089545, 12897361, 21050881, 34278889, 7569163, 3225449,
880        ),
881        u32x8::new_const(
882            19050183, 51089071, 32935757, 22640195, 66122318, 47144608, 18743677, 25177079,
883        ),
884    ])),
885    CachedPoint(FieldElement2625x4([
886        u32x8::new_const(
887            41186817, 46681702, 31819867, 32997133, 38559207, 27147015, 30293819, 16762988,
888        ),
889        u32x8::new_const(
890            24154689, 51762873, 23883879, 13510519, 55338250, 61224161, 11663149, 30803960,
891        ),
892        u32x8::new_const(
893            18104238, 14117824, 11724021, 21362053, 65704761, 35530242, 13498058, 33522849,
894        ),
895        u32x8::new_const(
896            63812888, 23995539, 28920539, 24005193, 26412223, 36582218, 4251418, 26160309,
897        ),
898        u32x8::new_const(
899            16822053, 66064082, 3482145, 31979593, 45937188, 54475379, 612917, 7976478,
900        ),
901    ])),
902    CachedPoint(FieldElement2625x4([
903        u32x8::new_const(
904            46509314, 55327128, 8944536, 274914, 26432930, 53829300, 21192572, 3569894,
905        ),
906        u32x8::new_const(
907            20919764, 64356651, 30642344, 17215170, 20335124, 11203745, 18663316, 19024174,
908        ),
909        u32x8::new_const(
910            59297055, 53842463, 3680204, 9806710, 54004169, 51484914, 29807998, 20134199,
911        ),
912        u32x8::new_const(
913            14781592, 22628010, 26877930, 25880359, 30434803, 190607, 30184292, 8991040,
914        ),
915        u32x8::new_const(
916            64400983, 64591751, 854562, 28216111, 20010398, 50414793, 9803872, 22687008,
917        ),
918    ])),
919    CachedPoint(FieldElement2625x4([
920        u32x8::new_const(
921            15091184, 32550863, 8818643, 4244752, 43123513, 64565526, 408838, 13206998,
922        ),
923        u32x8::new_const(
924            16405061, 60379639, 31489017, 20949281, 27568751, 38734986, 8364264, 12451020,
925        ),
926        u32x8::new_const(
927            16005217, 58008076, 1406778, 26546927, 39571784, 56365493, 31274296, 8918790,
928        ),
929        u32x8::new_const(
930            23271122, 19453469, 27718201, 32742670, 234332, 36785342, 22601675, 14331046,
931        ),
932        u32x8::new_const(
933            40636025, 22442705, 22115403, 23745859, 41164945, 61012, 12499614, 542137,
934        ),
935    ])),
936    CachedPoint(FieldElement2625x4([
937        u32x8::new_const(
938            62776018, 32835413, 17373246, 17187309, 54469193, 21770290, 15923753, 28996575,
939        ),
940        u32x8::new_const(
941            59385210, 63082298, 12568449, 8509004, 9483342, 16105238, 5756054, 26890758,
942        ),
943        u32x8::new_const(
944            53987996, 38201748, 5521661, 19060159, 18663191, 9093637, 27786835, 31189196,
945        ),
946        u32x8::new_const(
947            65872678, 43635130, 27903055, 25020300, 65772737, 38110437, 5213502, 21909342,
948        ),
949        u32x8::new_const(
950            4438979, 9680838, 10212446, 4764184, 13235684, 58245995, 20264570, 21024049,
951        ),
952    ])),
953    CachedPoint(FieldElement2625x4([
954        u32x8::new_const(
955            60835961, 48209103, 31049052, 4688268, 12426713, 59829045, 22302488, 29008521,
956        ),
957        u32x8::new_const(
958            50401667, 29716596, 23531224, 7581281, 49071895, 6952617, 14934683, 8218256,
959        ),
960        u32x8::new_const(
961            1601446, 36631413, 31774811, 29625330, 56786114, 8331539, 23129509, 19783344,
962        ),
963        u32x8::new_const(
964            59514327, 64513110, 1772300, 5701338, 5737511, 16147555, 9461515, 5703271,
965        ),
966        u32x8::new_const(
967            33072974, 54300426, 11940114, 1308663, 15627555, 4931627, 28443714, 20924342,
968        ),
969    ])),
970    CachedPoint(FieldElement2625x4([
971        u32x8::new_const(
972            18135013, 20358426, 4922557, 10015355, 65729669, 34786528, 26248549, 29194359,
973        ),
974        u32x8::new_const(
975            797666, 34997544, 24316856, 25107230, 24612576, 4761401, 15307321, 32404252,
976        ),
977        u32x8::new_const(
978            16501152, 60565831, 9487105, 9316022, 24986054, 31917592, 3962024, 2501883,
979        ),
980        u32x8::new_const(
981            63356796, 50432342, 18044926, 30566881, 42032028, 31415202, 13524600, 16119907,
982        ),
983        u32x8::new_const(
984            3927286, 57022374, 9265437, 21620772, 19481940, 3806938, 24836192, 14572399,
985        ),
986    ])),
987    CachedPoint(FieldElement2625x4([
988        u32x8::new_const(
989            10785787, 46564798, 368445, 33181384, 5319843, 52687136, 30347110, 29837357,
990        ),
991        u32x8::new_const(
992            56436732, 47859251, 24141084, 22250712, 59046084, 4963427, 33463413, 17168859,
993        ),
994        u32x8::new_const(
995            15512044, 6366740, 4737504, 27644548, 30307977, 25037929, 14593903, 12836490,
996        ),
997        u32x8::new_const(
998            63878897, 34013023, 5860752, 7244096, 3689461, 57012135, 18389096, 11589351,
999        ),
1000        u32x8::new_const(
1001            4682110, 36302830, 653422, 22316819, 14081831, 5657024, 11088376, 24110612,
1002        ),
1003    ])),
1004    CachedPoint(FieldElement2625x4([
1005        u32x8::new_const(
1006            39907267, 45940262, 24887471, 18342609, 878445, 40456159, 12019082, 345107,
1007        ),
1008        u32x8::new_const(
1009            12794982, 28893944, 9447505, 11387200, 16961963, 13916996, 10893728, 25898006,
1010        ),
1011        u32x8::new_const(
1012            44934162, 53465865, 3583620, 1102334, 53917811, 63478576, 2426066, 10389549,
1013        ),
1014        u32x8::new_const(
1015            45096036, 37595344, 19367718, 20257175, 10280866, 41653449, 27665642, 375926,
1016        ),
1017        u32x8::new_const(
1018            45847901, 24064074, 32494820, 32204556, 10720704, 51079060, 1297436, 29853825,
1019        ),
1020    ])),
1021    CachedPoint(FieldElement2625x4([
1022        u32x8::new_const(
1023            66303987, 36060363, 16494578, 24962147, 11971403, 49538586, 25060560, 1964341,
1024        ),
1025        u32x8::new_const(
1026            25988481, 27641502, 24909517, 27237087, 66646363, 52777626, 16360849, 10459972,
1027        ),
1028        u32x8::new_const(
1029            43930529, 34374176, 31225968, 8807030, 10394758, 35904854, 25325589, 19335583,
1030        ),
1031        u32x8::new_const(
1032            25094697, 34380951, 20051185, 32287161, 11739332, 53887441, 30517319, 26601892,
1033        ),
1034        u32x8::new_const(
1035            8868546, 35635502, 32513071, 28248087, 51946989, 14222744, 19198839, 23261841,
1036        ),
1037    ])),
1038    CachedPoint(FieldElement2625x4([
1039        u32x8::new_const(
1040            51218008, 5070126, 11046681, 5320810, 61212079, 34104447, 23895089, 6460727,
1041        ),
1042        u32x8::new_const(
1043            39843528, 46278671, 10426120, 25624792, 66658766, 37140083, 28933107, 12969597,
1044        ),
1045        u32x8::new_const(
1046            59635793, 40220191, 5751421, 173680, 58321825, 740337, 1412847, 7682623,
1047        ),
1048        u32x8::new_const(
1049            975962, 56440763, 20812276, 22631115, 49095824, 19883130, 2419746, 31043648,
1050        ),
1051        u32x8::new_const(
1052            66208703, 39669328, 22525915, 3748897, 65994776, 34533552, 8126286, 18326047,
1053        ),
1054    ])),
1055    CachedPoint(FieldElement2625x4([
1056        u32x8::new_const(
1057            64176557, 3912400, 19351673, 30068471, 31190055, 24221683, 33142424, 28698542,
1058        ),
1059        u32x8::new_const(
1060            34784792, 4109933, 3867193, 19557314, 2112512, 32715890, 24550117, 16595976,
1061        ),
1062        u32x8::new_const(
1063            35542761, 48024875, 10925431, 31526577, 66577735, 23189821, 13375709, 1735095,
1064        ),
1065        u32x8::new_const(
1066            59699254, 43854093, 29783239, 24777271, 19600372, 39924461, 2896720, 1472185,
1067        ),
1068        u32x8::new_const(
1069            56389656, 35980854, 33172342, 1370336, 23707480, 57654949, 7850973, 12655016,
1070        ),
1071    ])),
1072    CachedPoint(FieldElement2625x4([
1073        u32x8::new_const(
1074            38372660, 57101970, 7044964, 12732710, 57535705, 6043201, 30858914, 10946592,
1075        ),
1076        u32x8::new_const(
1077            21023468, 6946992, 26403324, 23901823, 35695559, 23440687, 4763891, 6514074,
1078        ),
1079        u32x8::new_const(
1080            28662273, 30933699, 9352242, 26354829, 37402243, 3145176, 8770289, 525937,
1081        ),
1082        u32x8::new_const(
1083            54933102, 36695832, 3281859, 4755022, 23043294, 32794379, 15618886, 23602412,
1084        ),
1085        u32x8::new_const(
1086            9931565, 29897140, 2480737, 24193701, 7833615, 2284939, 893926, 13421882,
1087        ),
1088    ])),
1089    CachedPoint(FieldElement2625x4([
1090        u32x8::new_const(
1091            22917795, 22088359, 28978099, 19794863, 60542318, 29878494, 31053731, 9080720,
1092        ),
1093        u32x8::new_const(
1094            23679072, 52547035, 28424916, 20647332, 4008761, 28267029, 12961289, 1589095,
1095        ),
1096        u32x8::new_const(
1097            55616194, 26678929, 14998265, 23274397, 54625466, 46244264, 28627706, 33030665,
1098        ),
1099        u32x8::new_const(
1100            11527330, 6449415, 26531607, 3472938, 41541592, 62607682, 19862690, 20564723,
1101        ),
1102        u32x8::new_const(
1103            32843805, 49066843, 28425824, 19521495, 48792073, 48242878, 27392443, 13175986,
1104        ),
1105    ])),
1106    CachedPoint(FieldElement2625x4([
1107        u32x8::new_const(
1108            16185025, 61537525, 2961305, 1492442, 25123147, 3095034, 31896958, 33089615,
1109        ),
1110        u32x8::new_const(
1111            64748157, 18336595, 16522231, 25426312, 65718949, 35485695, 30554083, 10205918,
1112        ),
1113        u32x8::new_const(
1114            39626934, 39271045, 16420458, 9826240, 56483981, 27128085, 3783403, 13360006,
1115        ),
1116        u32x8::new_const(
1117            30793778, 66771960, 17241420, 6564573, 61102581, 29974476, 32385512, 9011754,
1118        ),
1119        u32x8::new_const(
1120            28068166, 11862220, 14323567, 12380617, 52090465, 16029056, 24495309, 21409233,
1121        ),
1122    ])),
1123    CachedPoint(FieldElement2625x4([
1124        u32x8::new_const(
1125            59411973, 57437124, 11695483, 17586857, 16108987, 43449109, 31098002, 6248476,
1126        ),
1127        u32x8::new_const(
1128            42258047, 61595931, 29308533, 11742653, 43042345, 27373650, 30165249, 21929989,
1129        ),
1130        u32x8::new_const(
1131            49907221, 9620337, 21888081, 20981082, 56288861, 61562203, 33223566, 3582446,
1132        ),
1133        u32x8::new_const(
1134            57535017, 41003416, 22080416, 14463796, 65518565, 18127889, 24370863, 33332664,
1135        ),
1136        u32x8::new_const(
1137            66655380, 6430175, 471782, 11947673, 30596400, 18898659, 15930721, 4211851,
1138        ),
1139    ])),
1140    CachedPoint(FieldElement2625x4([
1141        u32x8::new_const(
1142            6757410, 65455566, 13584784, 11362173, 10797127, 24451471, 19541370, 29309435,
1143        ),
1144        u32x8::new_const(
1145            40360156, 17685025, 18326181, 3846903, 13693365, 63049479, 31900359, 23385063,
1146        ),
1147        u32x8::new_const(
1148            52455038, 57513503, 22163311, 27095042, 48610726, 66454160, 12085341, 26357004,
1149        ),
1150        u32x8::new_const(
1151            22097042, 14063840, 6705778, 14342902, 66139825, 20702105, 31279090, 7495745,
1152        ),
1153        u32x8::new_const(
1154            27360710, 49314837, 18774847, 7146436, 37066216, 42004961, 22409916, 10524446,
1155        ),
1156    ])),
1157    CachedPoint(FieldElement2625x4([
1158        u32x8::new_const(
1159            1497507, 33054449, 11839906, 2960428, 40538463, 18884538, 25018820, 4073970,
1160        ),
1161        u32x8::new_const(
1162            54484385, 43640735, 2808257, 20710708, 39840730, 27222424, 21783544, 11848522,
1163        ),
1164        u32x8::new_const(
1165            45765237, 48200555, 9299019, 9393151, 34818188, 56098995, 13575233, 21012731,
1166        ),
1167        u32x8::new_const(
1168            4265428, 49627650, 24960282, 9425650, 47883651, 2797524, 11853190, 22877329,
1169        ),
1170        u32x8::new_const(
1171            25008173, 64199503, 380047, 12107343, 12329448, 11914399, 764281, 29687002,
1172        ),
1173    ])),
1174    CachedPoint(FieldElement2625x4([
1175        u32x8::new_const(
1176            35889734, 23047226, 4022841, 7017445, 7274086, 53316179, 25100176, 15310676,
1177        ),
1178        u32x8::new_const(
1179            42409427, 30270106, 6823853, 31551384, 40645017, 66489807, 18021817, 32669351,
1180        ),
1181        u32x8::new_const(
1182            39827134, 43680850, 28297996, 20258133, 26058742, 52643238, 22238331, 21690533,
1183        ),
1184        u32x8::new_const(
1185            60808002, 17499995, 30042246, 29310584, 48219954, 29389518, 8680514, 17844709,
1186        ),
1187        u32x8::new_const(
1188            6452896, 50116553, 9532047, 26821214, 44524351, 50428429, 21904953, 12608048,
1189        ),
1190    ])),
1191]);