1use decaf377::Fq;
2use poseidon_parameters::v1::{
3 Alpha, ArcMatrix, Matrix, MdsMatrix, OptimizedArcMatrix, OptimizedMdsMatrices,
4 PoseidonParameters, RoundNumbers, SquareMatrix,
5};
6
7pub const fn rate_2() -> PoseidonParameters<3, 2, 9, 4, 39, 3, 117, 31> {
9 PoseidonParameters {
10 M: 128,
11 arc: ArcMatrix::<39, 3, 117>::new_from_known([
12 Fq::from_montgomery_limbs([
13 13532052565085671856,
14 13175575834742130482,
15 14571043277169067394,
16 1128324334676141805,
17 ]),
18 Fq::from_montgomery_limbs([
19 10586567975029405298,
20 5987505274649066590,
21 9663655893165983133,
22 381788629769180835,
23 ]),
24 Fq::from_montgomery_limbs([
25 7404335995308317606,
26 10342209374602516054,
27 14679697400509748167,
28 1259991645283011647,
29 ]),
30 Fq::from_montgomery_limbs([
31 12711294721892819516,
32 8412935995118692797,
33 7069737649526067295,
34 549549236990677487,
35 ]),
36 Fq::from_montgomery_limbs([
37 128694122049037398,
38 15825223235256271389,
39 74647683628497806,
40 403759781237802093,
41 ]),
42 Fq::from_montgomery_limbs([
43 3501552524290051296,
44 10688664658423588201,
45 8345653809557910120,
46 766292783896459938,
47 ]),
48 Fq::from_montgomery_limbs([
49 13998055823902745235,
50 15535161481341849823,
51 9848874496394823215,
52 579121379437172744,
53 ]),
54 Fq::from_montgomery_limbs([
55 16363263235454987811,
56 9117252686821547535,
57 4794867261658414781,
58 418411818796950741,
59 ]),
60 Fq::from_montgomery_limbs([
61 3710344964675021293,
62 13957371261080223237,
63 15195218532629186765,
64 760708816844813378,
65 ]),
66 Fq::from_montgomery_limbs([
67 16135673103471103205,
68 13943139040297964408,
69 12037506718934223099,
70 1187380734246932890,
71 ]),
72 Fq::from_montgomery_limbs([
73 11326210002632211732,
74 2893415499386035614,
75 2949171194607212014,
76 568849018592141776,
77 ]),
78 Fq::from_montgomery_limbs([
79 13925494990768706056,
80 13969996543019858204,
81 13457764640058086886,
82 114396439087701688,
83 ]),
84 Fq::from_montgomery_limbs([
85 16351586607272228519,
86 6269966282891300082,
87 12490381894697744781,
88 834648274293416263,
89 ]),
90 Fq::from_montgomery_limbs([
91 1437979443977545600,
92 14767193465362841311,
93 11074881595123675812,
94 1204201379421269428,
95 ]),
96 Fq::from_montgomery_limbs([
97 5230240271406271908,
98 16847766581152362930,
99 1712847198165617791,
100 311937423231086981,
101 ]),
102 Fq::from_montgomery_limbs([
103 3645836740283016323,
104 15685198898945208452,
105 1980971647688859029,
106 176967089015698342,
107 ]),
108 Fq::from_montgomery_limbs([
109 7550143813701248311,
110 18291556615524985846,
111 8534400014086995148,
112 500430429779017952,
113 ]),
114 Fq::from_montgomery_limbs([
115 596957473479108084,
116 6324092840533510915,
117 4811101589352947098,
118 76518932650696039,
119 ]),
120 Fq::from_montgomery_limbs([
121 336812235439984799,
122 13522610888312181094,
123 10501405696980879642,
124 449669351326561391,
125 ]),
126 Fq::from_montgomery_limbs([
127 12592523411743912820,
128 3924222765120111350,
129 5699458771760954386,
130 892267873608702453,
131 ]),
132 Fq::from_montgomery_limbs([
133 12993017322389395630,
134 5952902593915102432,
135 5247111021983199097,
136 470467609253978097,
137 ]),
138 Fq::from_montgomery_limbs([
139 7244663031809848522,
140 3071554415549245091,
141 2773295222867337766,
142 1090905641165090834,
143 ]),
144 Fq::from_montgomery_limbs([
145 9981097535495148290,
146 12930981823992014491,
147 9629464214154256600,
148 308026108875661910,
149 ]),
150 Fq::from_montgomery_limbs([
151 12850815434424207307,
152 8847171669624931211,
153 16288364336002865240,
154 954936779594025677,
155 ]),
156 Fq::from_montgomery_limbs([
157 11236881576270168641,
158 15414742267201110956,
159 7825767860878753872,
160 721136380245447153,
161 ]),
162 Fq::from_montgomery_limbs([
163 2832704701681877466,
164 7235621408572302496,
165 11812570847329545593,
166 792455748001887640,
167 ]),
168 Fq::from_montgomery_limbs([
169 3432713492718273410,
170 6465506654245539380,
171 8827139003294513485,
172 992550877185604089,
173 ]),
174 Fq::from_montgomery_limbs([
175 9728786934890323565,
176 10584002864733096791,
177 2293345482796697755,
178 180937419315601034,
179 ]),
180 Fq::from_montgomery_limbs([
181 13822678097673121251,
182 4948809415032161320,
183 15691917123613077102,
184 683890210553461269,
185 ]),
186 Fq::from_montgomery_limbs([
187 9002390647260096239,
188 10448673368926307125,
189 17815937281103619895,
190 1097505426950771788,
191 ]),
192 Fq::from_montgomery_limbs([
193 13908365267431289868,
194 3370079770970658040,
195 15308027316557057295,
196 1308145822882463267,
197 ]),
198 Fq::from_montgomery_limbs([
199 7831189882886479452,
200 4689238810753296883,
201 13159502922430301346,
202 27611585919074368,
203 ]),
204 Fq::from_montgomery_limbs([
205 14912709676120752020,
206 10115204646384083757,
207 10138309295115926582,
208 223210301540489796,
209 ]),
210 Fq::from_montgomery_limbs([
211 12627294687244820632,
212 2059848305109767326,
213 1888484742856066068,
214 1272834063475208138,
215 ]),
216 Fq::from_montgomery_limbs([
217 6115210324513801758,
218 10929870666119062300,
219 11707806468269326656,
220 949025326858793021,
221 ]),
222 Fq::from_montgomery_limbs([
223 7061826933729287205,
224 1126603583829494325,
225 5469143638052028670,
226 1033665004945948695,
227 ]),
228 Fq::from_montgomery_limbs([
229 11008930476894918520,
230 11381807375074895164,
231 2844592577512486485,
232 1128817316316311928,
233 ]),
234 Fq::from_montgomery_limbs([
235 5300558244079945539,
236 8283037415518590201,
237 11038807277807240648,
238 1178232107582202545,
239 ]),
240 Fq::from_montgomery_limbs([
241 11862022433031293870,
242 8913994378642882666,
243 9450763413034135432,
244 77958396662445698,
245 ]),
246 Fq::from_montgomery_limbs([
247 17688402066322086519,
248 524036851070457942,
249 14909117109897886121,
250 557290224371677333,
251 ]),
252 Fq::from_montgomery_limbs([
253 1875815915909501089,
254 10678692213853973640,
255 15989623299920327105,
256 428879321377057641,
257 ]),
258 Fq::from_montgomery_limbs([
259 1082841901890716129,
260 12068516826131602351,
261 7102481379375591007,
262 906616535867466859,
263 ]),
264 Fq::from_montgomery_limbs([
265 17613918888580330287,
266 6204465427334198417,
267 9436344365449852604,
268 655489186886697,
269 ]),
270 Fq::from_montgomery_limbs([
271 17585284967658841164,
272 80944379680805043,
273 2698615756683481750,
274 351188921018806563,
275 ]),
276 Fq::from_montgomery_limbs([
277 15687615037958784071,
278 2186404284346347770,
279 5652967689160162635,
280 1056583988063876017,
281 ]),
282 Fq::from_montgomery_limbs([
283 13107987562409563672,
284 3871322351409280978,
285 8803804680465229381,
286 1030040159656924298,
287 ]),
288 Fq::from_montgomery_limbs([
289 16684869482081657339,
290 10281204171444660632,
291 1624958597982547757,
292 386745834466917047,
293 ]),
294 Fq::from_montgomery_limbs([
295 6970896123209894127,
296 7830160530923913939,
297 17422861911349199859,
298 623374110284783712,
299 ]),
300 Fq::from_montgomery_limbs([
301 4331844870617545742,
302 520046082233107649,
303 5594606953430693091,
304 249698853373994073,
305 ]),
306 Fq::from_montgomery_limbs([
307 6680837442175120485,
308 6814766854525276712,
309 6556825746309967179,
310 570042050188335199,
311 ]),
312 Fq::from_montgomery_limbs([
313 15436728868072851979,
314 10638387680273826288,
315 16379320772832534606,
316 822954407147775124,
317 ]),
318 Fq::from_montgomery_limbs([
319 11837214986206518455,
320 596921394620411645,
321 13159256680099246054,
322 1277661308547494330,
323 ]),
324 Fq::from_montgomery_limbs([
325 13679203667889812546,
326 11676386286470050129,
327 8357354920215222534,
328 456950010799870038,
329 ]),
330 Fq::from_montgomery_limbs([
331 2229876009761017392,
332 13089694557765213339,
333 16529665410348556997,
334 1200161010593736391,
335 ]),
336 Fq::from_montgomery_limbs([
337 16005321486742773520,
338 8650710416750881700,
339 12927174790925866955,
340 1318630719916273524,
341 ]),
342 Fq::from_montgomery_limbs([
343 11180409359961118236,
344 7275623093671008389,
345 11439214005189014436,
346 975533040864102009,
347 ]),
348 Fq::from_montgomery_limbs([
349 1493684412606064445,
350 1600586062110688441,
351 6392169949497859284,
352 320645276436957806,
353 ]),
354 Fq::from_montgomery_limbs([
355 18076284763174743111,
356 15528272241931714086,
357 1987806618344857317,
358 81963683463344143,
359 ]),
360 Fq::from_montgomery_limbs([
361 2380106604330211947,
362 13999809284604519871,
363 17117752833631344354,
364 928049684624129249,
365 ]),
366 Fq::from_montgomery_limbs([
367 16709180677553116618,
368 15078892089982505559,
369 12839669848886637777,
370 1151522444646802538,
371 ]),
372 Fq::from_montgomery_limbs([
373 1024922389916170464,
374 4633605473275241115,
375 8890730306179887903,
376 1145679956560153579,
377 ]),
378 Fq::from_montgomery_limbs([
379 2689026397641652069,
380 13435392347048733438,
381 4613843849026450873,
382 644769297929746792,
383 ]),
384 Fq::from_montgomery_limbs([
385 1477469845453362358,
386 8875949790662885201,
387 7478581831156986579,
388 67083263015332207,
389 ]),
390 Fq::from_montgomery_limbs([
391 1506147123099314810,
392 6546355754774050650,
393 13235191534515389566,
394 573446483563428911,
395 ]),
396 Fq::from_montgomery_limbs([
397 11592075759296992527,
398 11495396924055153811,
399 17020953547937729115,
400 326913902434578022,
401 ]),
402 Fq::from_montgomery_limbs([
403 10523148363065643749,
404 13492540919508068783,
405 17386067260199896807,
406 528704601527288393,
407 ]),
408 Fq::from_montgomery_limbs([
409 9127950768740932108,
410 15914409702651500773,
411 11784570023787002367,
412 340904789729663175,
413 ]),
414 Fq::from_montgomery_limbs([
415 6245027322171754000,
416 15663478768566472378,
417 11402185558701422250,
418 36675236290199327,
419 ]),
420 Fq::from_montgomery_limbs([
421 6063749964881818939,
422 10257461935793181106,
423 942936442940111744,
424 540037121922249544,
425 ]),
426 Fq::from_montgomery_limbs([
427 12968659316148036261,
428 14899520595018177284,
429 3836336888070673001,
430 941781069635905693,
431 ]),
432 Fq::from_montgomery_limbs([
433 126228530830236165,
434 5499407626081829044,
435 14133761497400979158,
436 1184006332035149871,
437 ]),
438 Fq::from_montgomery_limbs([
439 5031808939874245057,
440 12620452215680194384,
441 1600289362926216464,
442 1200752349590914751,
443 ]),
444 Fq::from_montgomery_limbs([
445 13105110393340809165,
446 7101636223400183860,
447 1455202496382111435,
448 1040366751489349639,
449 ]),
450 Fq::from_montgomery_limbs([
451 2247493102747455874,
452 3444719793324110884,
453 17343476723736941016,
454 460423680466113922,
455 ]),
456 Fq::from_montgomery_limbs([
457 18230610362649795022,
458 4850929477447852354,
459 2999970116929109994,
460 374491266534684371,
461 ]),
462 Fq::from_montgomery_limbs([
463 205446930692894616,
464 10625340386042781881,
465 2267554848789579110,
466 805571592523062224,
467 ]),
468 Fq::from_montgomery_limbs([
469 9554436490539537540,
470 3781982688039156286,
471 12732806211783679988,
472 207650560800307204,
473 ]),
474 Fq::from_montgomery_limbs([
475 14608069410708161069,
476 15150367565152858757,
477 7976963546254869682,
478 1302080053778539832,
479 ]),
480 Fq::from_montgomery_limbs([
481 5668581368285301758,
482 1481024316238442280,
483 14073619068562930813,
484 157011518856032932,
485 ]),
486 Fq::from_montgomery_limbs([
487 10782685697581511660,
488 656395425526716484,
489 12429361742269361127,
490 1218629948585201369,
491 ]),
492 Fq::from_montgomery_limbs([
493 9945724486634605933,
494 5559580130460001707,
495 4958363795583827901,
496 1086630389709013647,
497 ]),
498 Fq::from_montgomery_limbs([
499 6214153618072836629,
500 6297284130475637236,
501 3341157682715609955,
502 687805559853576127,
503 ]),
504 Fq::from_montgomery_limbs([
505 17561648631049166744,
506 4193461398377217711,
507 17499970945040917083,
508 352506169960283993,
509 ]),
510 Fq::from_montgomery_limbs([
511 1122765646603573063,
512 1498611916106521677,
513 10924305234288949443,
514 728326887801130515,
515 ]),
516 Fq::from_montgomery_limbs([
517 5800850628186966207,
518 4398317517906769115,
519 9597227115480831972,
520 526197039749009419,
521 ]),
522 Fq::from_montgomery_limbs([
523 5159263173914965708,
524 8792786795115987428,
525 3124972989790777106,
526 1052873249848825660,
527 ]),
528 Fq::from_montgomery_limbs([
529 1668691385020369393,
530 4311283499155522888,
531 13095876963782085960,
532 334904475460146335,
533 ]),
534 Fq::from_montgomery_limbs([
535 14551884987824763154,
536 5459630410931408158,
537 838248742615457530,
538 355270342663742218,
539 ]),
540 Fq::from_montgomery_limbs([
541 13811707083670026157,
542 17980420357872171335,
543 15680078942835361627,
544 508494405154027190,
545 ]),
546 Fq::from_montgomery_limbs([
547 259245969673242010,
548 12143818002017916372,
549 9104957694955299615,
550 588078921942677607,
551 ]),
552 Fq::from_montgomery_limbs([
553 1402823264425646775,
554 17394328405754534008,
555 8594536777296298084,
556 589743092826427286,
557 ]),
558 Fq::from_montgomery_limbs([
559 17525191514318164285,
560 3032947818017798651,
561 8010733640330629183,
562 18263345896298111,
563 ]),
564 Fq::from_montgomery_limbs([
565 2324591806430845335,
566 3802314283763375525,
567 5802980770825972296,
568 1172121386066784655,
569 ]),
570 Fq::from_montgomery_limbs([
571 3481957081013606129,
572 7174433466077666272,
573 18298661318322644558,
574 779600890592950522,
575 ]),
576 Fq::from_montgomery_limbs([
577 12191117132876429501,
578 13984916474435046850,
579 15993612081836470001,
580 982264150805006675,
581 ]),
582 Fq::from_montgomery_limbs([
583 5832216401942411966,
584 14563514500329138886,
585 4063839581877579762,
586 988127094162723498,
587 ]),
588 Fq::from_montgomery_limbs([
589 9980296771901734820,
590 8406919274419375318,
591 7382848308758481422,
592 288106649508594049,
593 ]),
594 Fq::from_montgomery_limbs([
595 15311094169366877824,
596 8845543297515843004,
597 5111676196784685495,
598 854309633222289538,
599 ]),
600 Fq::from_montgomery_limbs([
601 11805299538225612753,
602 2464747910811709980,
603 7821113581135412494,
604 698716086285897944,
605 ]),
606 Fq::from_montgomery_limbs([
607 14453145658534747007,
608 17272254080461340124,
609 10230451546974640772,
610 626243697059407772,
611 ]),
612 Fq::from_montgomery_limbs([
613 11287978532447653494,
614 18279346120194159177,
615 2333031913403775389,
616 200338723139384832,
617 ]),
618 Fq::from_montgomery_limbs([
619 12366653650419860061,
620 16274230817774725784,
621 4516721510516055669,
622 75055982532212210,
623 ]),
624 Fq::from_montgomery_limbs([
625 388555674032981681,
626 6567318722554709379,
627 2086741448191262667,
628 908777123569794972,
629 ]),
630 Fq::from_montgomery_limbs([
631 9649589442582163437,
632 13541178269507352071,
633 14258536536571968121,
634 575215969686158075,
635 ]),
636 Fq::from_montgomery_limbs([
637 597836451158842199,
638 1858657668022201800,
639 504852646431126025,
640 351889211223645499,
641 ]),
642 Fq::from_montgomery_limbs([
643 8710335429210318089,
644 15939765460477572548,
645 13493874982974354172,
646 1195299757590572308,
647 ]),
648 Fq::from_montgomery_limbs([
649 16720044796621311460,
650 6297107607479107816,
651 15666086360782481298,
652 946070823657072210,
653 ]),
654 Fq::from_montgomery_limbs([
655 5216764590966106189,
656 18330556132248987975,
657 14778046174865524185,
658 601592383999400705,
659 ]),
660 Fq::from_montgomery_limbs([
661 12284358746189003172,
662 15796822047553990474,
663 10249807758448272935,
664 1260540691182942177,
665 ]),
666 Fq::from_montgomery_limbs([
667 14671741496053748797,
668 15956144823383552989,
669 8978105115308257315,
670 1129739098292337641,
671 ]),
672 Fq::from_montgomery_limbs([
673 16528885559305010985,
674 14885472285663731653,
675 8692450371018254777,
676 875854298006252122,
677 ]),
678 Fq::from_montgomery_limbs([
679 11216935928075429441,
680 7088545516130524118,
681 3510979311098449529,
682 980345967679074250,
683 ]),
684 Fq::from_montgomery_limbs([
685 8480849792218315917,
686 11146529356407982510,
687 4204845623809735650,
688 554809226012522197,
689 ]),
690 Fq::from_montgomery_limbs([
691 9465397404983425896,
692 1339596460298740670,
693 2695000812316794677,
694 164270174202044235,
695 ]),
696 Fq::from_montgomery_limbs([
697 12807958353199166386,
698 2607509355362673632,
699 9510828759520576266,
700 306232379852697998,
701 ]),
702 Fq::from_montgomery_limbs([
703 14216260065142834520,
704 8830790711865643815,
705 7264415235010871052,
706 905551093713836953,
707 ]),
708 Fq::from_montgomery_limbs([
709 1392129315389772974,
710 3163495863255052347,
711 5961497987857813198,
712 47707649459794917,
713 ]),
714 ]),
715 mds: MdsMatrix::<3, 2, 9, 4>::new_from_known([
716 Fq::from_montgomery_limbs([
717 15302903146332116305,
718 8895355854553175376,
719 548696419140371791,
720 319366418254432479,
721 ]),
722 Fq::from_montgomery_limbs([
723 16270238816294404093,
724 17510165790819614716,
725 15988650198697570299,
726 575844906362867708,
727 ]),
728 Fq::from_montgomery_limbs([
729 2093244959304135473,
730 7921656493611837028,
731 14184576022206158435,
732 729731999227928846,
733 ]),
734 Fq::from_montgomery_limbs([
735 16270238816294404093,
736 17510165790819614716,
737 15988650198697570299,
738 575844906362867708,
739 ]),
740 Fq::from_montgomery_limbs([
741 2093244959304135473,
742 7921656493611837028,
743 14184576022206158435,
744 729731999227928846,
745 ]),
746 Fq::from_montgomery_limbs([
747 17237574486256691881,
748 7678231653376502440,
749 12981859904545217192,
750 832323394471302938,
751 ]),
752 Fq::from_montgomery_limbs([
753 2093244959304135473,
754 7921656493611837028,
755 14184576022206158435,
756 729731999227928846,
757 ]),
758 Fq::from_montgomery_limbs([
759 17237574486256691881,
760 7678231653376502440,
761 12981859904545217192,
762 832323394471302938,
763 ]),
764 Fq::from_montgomery_limbs([
765 14878706952858838161,
766 15410104227655356999,
767 17393275270132988194,
768 905602962502284432,
769 ]),
770 ]),
771 alpha: Alpha::Exponent(17),
772 rounds: RoundNumbers { r_P: 31, r_F: 8 },
773 optimized_mds: OptimizedMdsMatrices {
774 M_hat: SquareMatrix::<2, 4>::new_from_known([
775 Fq::from_montgomery_limbs([
776 2093244959304135473,
777 7921656493611837028,
778 14184576022206158435,
779 729731999227928846,
780 ]),
781 Fq::from_montgomery_limbs([
782 17237574486256691881,
783 7678231653376502440,
784 12981859904545217192,
785 832323394471302938,
786 ]),
787 Fq::from_montgomery_limbs([
788 17237574486256691881,
789 7678231653376502440,
790 12981859904545217192,
791 832323394471302938,
792 ]),
793 Fq::from_montgomery_limbs([
794 14878706952858838161,
795 15410104227655356999,
796 17393275270132988194,
797 905602962502284432,
798 ]),
799 ]),
800 v: Matrix::<1, 2, 2>::new_from_known([
801 Fq::from_montgomery_limbs([
802 16270238816294404093,
803 17510165790819614716,
804 15988650198697570299,
805 575844906362867708,
806 ]),
807 Fq::from_montgomery_limbs([
808 2093244959304135473,
809 7921656493611837028,
810 14184576022206158435,
811 729731999227928846,
812 ]),
813 ]),
814 w: Matrix::<2, 1, 2>::new_from_known([
815 Fq::from_montgomery_limbs([
816 16270238816294404093,
817 17510165790819614716,
818 15988650198697570299,
819 575844906362867708,
820 ]),
821 Fq::from_montgomery_limbs([
822 2093244959304135473,
823 7921656493611837028,
824 14184576022206158435,
825 729731999227928846,
826 ]),
827 ]),
828 M_prime: SquareMatrix::<3, 9>::new_from_known([
829 Fq::from_montgomery_limbs([
830 9015221291577245683,
831 8239323489949974514,
832 1646089257421115374,
833 958099254763297437,
834 ]),
835 Fq::from_montgomery_limbs([0, 0, 0, 0]),
836 Fq::from_montgomery_limbs([0, 0, 0, 0]),
837 Fq::from_montgomery_limbs([0, 0, 0, 0]),
838 Fq::from_montgomery_limbs([
839 2093244959304135473,
840 7921656493611837028,
841 14184576022206158435,
842 729731999227928846,
843 ]),
844 Fq::from_montgomery_limbs([
845 17237574486256691881,
846 7678231653376502440,
847 12981859904545217192,
848 832323394471302938,
849 ]),
850 Fq::from_montgomery_limbs([0, 0, 0, 0]),
851 Fq::from_montgomery_limbs([
852 17237574486256691881,
853 7678231653376502440,
854 12981859904545217192,
855 832323394471302938,
856 ]),
857 Fq::from_montgomery_limbs([
858 14878706952858838161,
859 15410104227655356999,
860 17393275270132988194,
861 905602962502284432,
862 ]),
863 ]),
864 M_doubleprime: SquareMatrix::<3, 9>::new_from_known([
865 Fq::from_montgomery_limbs([
866 15302903146332116305,
867 8895355854553175376,
868 548696419140371791,
869 319366418254432479,
870 ]),
871 Fq::from_montgomery_limbs([
872 16270238816294404093,
873 17510165790819614716,
874 15988650198697570299,
875 575844906362867708,
876 ]),
877 Fq::from_montgomery_limbs([
878 2093244959304135473,
879 7921656493611837028,
880 14184576022206158435,
881 729731999227928846,
882 ]),
883 Fq::from_montgomery_limbs([
884 7147916296078753751,
885 11795755565450264533,
886 9448453213491875784,
887 183737022913545514,
888 ]),
889 Fq::from_montgomery_limbs([
890 9015221291577245683,
891 8239323489949974514,
892 1646089257421115374,
893 958099254763297437,
894 ]),
895 Fq::from_montgomery_limbs([0, 0, 0, 0]),
896 Fq::from_montgomery_limbs([
897 10406805428937057924,
898 14160037477503257835,
899 7036231764655967476,
900 1082136417579874198,
901 ]),
902 Fq::from_montgomery_limbs([0, 0, 0, 0]),
903 Fq::from_montgomery_limbs([
904 9015221291577245683,
905 8239323489949974514,
906 1646089257421115374,
907 958099254763297437,
908 ]),
909 ]),
910 M_inverse: SquareMatrix::<3, 9>::new_from_known([
911 Fq::from_montgomery_limbs([
912 4383832024780107759,
913 7223259317565124429,
914 5707462847421561422,
915 885057472408297272,
916 ]),
917 Fq::from_montgomery_limbs([
918 6746251504312660021,
919 9699181025413837338,
920 15260914163925889303,
921 35388324151454979,
922 ]),
923 Fq::from_montgomery_limbs([
924 5008847210566114882,
925 8801394942975925486,
926 18175922902442652272,
927 916924432575702892,
928 ]),
929 Fq::from_montgomery_limbs([
930 6746251504312660021,
931 9699181025413837338,
932 15260914163925889303,
933 35388324151454979,
934 ]),
935 Fq::from_montgomery_limbs([
936 15450583684112934333,
937 18216376800760520619,
938 4209613945072000948,
939 155813436852978744,
940 ]),
941 Fq::from_montgomery_limbs([
942 9834172736316928124,
943 189466111752828136,
944 13335900722961176546,
945 530999546582786085,
946 ]),
947 Fq::from_montgomery_limbs([
948 5008847210566114882,
949 8801394942975925486,
950 18175922902442652272,
951 916924432575702892,
952 ]),
953 Fq::from_montgomery_limbs([
954 9834172736316928124,
955 189466111752828136,
956 13335900722961176546,
957 530999546582786085,
958 ]),
959 Fq::from_montgomery_limbs([
960 11796616273943571364,
961 15542379905239984210,
962 1578039792447016471,
963 947030710751083834,
964 ]),
965 ]),
966 M_hat_inverse: SquareMatrix::<2, 4>::new_from_known([
967 Fq::from_montgomery_limbs([
968 17242594123341362780,
969 10420431729582929402,
970 13098868289430565627,
971 261978409307343683,
972 ]),
973 Fq::from_montgomery_limbs([
974 4962966789362289472,
975 13671436036280945585,
976 17033622650389008176,
977 591212102933547967,
978 ]),
979 Fq::from_montgomery_limbs([
980 4962966789362289472,
981 13671436036280945585,
982 17033622650389008176,
983 591212102933547967,
984 ]),
985 Fq::from_montgomery_limbs([
986 2148639234720789121,
987 15880825911856067065,
988 16042722653708983750,
989 635825847167915836,
990 ]),
991 ]),
992 M_00: Fq::from_montgomery_limbs([
993 15302903146332116305,
994 8895355854553175376,
995 548696419140371791,
996 319366418254432479,
997 ]),
998 M_i: Matrix::<3, 3, 9>::new_from_known([
999 Fq::from_montgomery_limbs([
1000 9015221291577245683,
1001 8239323489949974514,
1002 1646089257421115374,
1003 958099254763297437,
1004 ]),
1005 Fq::from_montgomery_limbs([0, 0, 0, 0]),
1006 Fq::from_montgomery_limbs([0, 0, 0, 0]),
1007 Fq::from_montgomery_limbs([0, 0, 0, 0]),
1008 Fq::from_montgomery_limbs([
1009 16360065460916622652,
1010 6825609680461496913,
1011 5558627326231064465,
1012 128471165991923814,
1013 ]),
1014 Fq::from_montgomery_limbs([
1015 7428548079683657885,
1016 9054293525864294989,
1017 16239738740266557642,
1018 509891970840567989,
1019 ]),
1020 Fq::from_montgomery_limbs([0, 0, 0, 0]),
1021 Fq::from_montgomery_limbs([
1022 7428548079683657885,
1023 9054293525864294989,
1024 16239738740266557642,
1025 509891970840567989,
1026 ]),
1027 Fq::from_montgomery_limbs([
1028 1051461353787812132,
1029 3723993058108873740,
1030 15567687070894540562,
1031 722382702096971016,
1032 ]),
1033 ]),
1034 v_collection: [
1035 Matrix::<1, 2, 2>::new_from_known([
1036 Fq::from_montgomery_limbs([
1037 16270238816294404093,
1038 17510165790819614716,
1039 15988650198697570299,
1040 575844906362867708,
1041 ]),
1042 Fq::from_montgomery_limbs([
1043 2093244959304135473,
1044 7921656493611837028,
1045 14184576022206158435,
1046 729731999227928846,
1047 ]),
1048 ]),
1049 Matrix::<1, 2, 2>::new_from_known([
1050 Fq::from_montgomery_limbs([
1051 18204910156218979669,
1052 16293041589642941780,
1053 9975069610392864084,
1054 1088801882579738168,
1055 ]),
1056 Fq::from_montgomery_limbs([
1057 3072474957567996411,
1058 7632850653899625657,
1059 6867324839353272651,
1060 1129105644996777990,
1061 ]),
1062 ]),
1063 Matrix::<1, 2, 2>::new_from_known([
1064 Fq::from_montgomery_limbs([
1065 11749409346063797401,
1066 13847779958722295463,
1067 5230051856842938218,
1068 809528761888529318,
1069 ]),
1070 Fq::from_montgomery_limbs([
1071 16538317435082867476,
1072 140673227072662684,
1073 4917458456429054520,
1074 951347002169384040,
1075 ]),
1076 ]),
1077 Matrix::<1, 2, 2>::new_from_known([
1078 Fq::from_montgomery_limbs([
1079 8049501819868988169,
1080 4640840621228515661,
1081 5281323386686467274,
1082 1217317166531385469,
1083 ]),
1084 Fq::from_montgomery_limbs([
1085 15861181624207003323,
1086 10871450011713172103,
1087 4492382029642778046,
1088 495041570025076744,
1089 ]),
1090 ]),
1091 Matrix::<1, 2, 2>::new_from_known([
1092 Fq::from_montgomery_limbs([
1093 491531644685882947,
1094 16236469504155238438,
1095 13405996466460073108,
1096 191442324574972544,
1097 ]),
1098 Fq::from_montgomery_limbs([
1099 14234832595612208455,
1100 16711171142020806901,
1101 9818085755212544560,
1102 433758843793119660,
1103 ]),
1104 ]),
1105 Matrix::<1, 2, 2>::new_from_known([
1106 Fq::from_montgomery_limbs([
1107 8692243294689566788,
1108 17131754811489911037,
1109 16082421295010554115,
1110 245109642615998458,
1111 ]),
1112 Fq::from_montgomery_limbs([
1113 12752747264486126419,
1114 12936758402746978248,
1115 7901753820298393242,
1116 1086817638717069074,
1117 ]),
1118 ]),
1119 Matrix::<1, 2, 2>::new_from_known([
1120 Fq::from_montgomery_limbs([
1121 716899015486837574,
1122 12929955716143301332,
1123 6296181173922398814,
1124 95630164573893864,
1125 ]),
1126 Fq::from_montgomery_limbs([
1127 10771615223994036552,
1128 12477611863199363886,
1129 5019464732542008653,
1130 260172239809303582,
1131 ]),
1132 ]),
1133 Matrix::<1, 2, 2>::new_from_known([
1134 Fq::from_montgomery_limbs([
1135 2083749357590716775,
1136 7802489018239475310,
1137 4719252491703553508,
1138 331544147020630716,
1139 ]),
1140 Fq::from_montgomery_limbs([
1141 11839081110669849836,
1142 16458332811546812068,
1143 4108523134706353886,
1144 1014020374083768583,
1145 ]),
1146 ]),
1147 Matrix::<1, 2, 2>::new_from_known([
1148 Fq::from_montgomery_limbs([
1149 11143510974855252250,
1150 1906425947937085984,
1151 2407368748249553491,
1152 504368299222388920,
1153 ]),
1154 Fq::from_montgomery_limbs([
1155 8041950831366606113,
1156 14611771049638947187,
1157 11221299042990583579,
1158 744635656555856530,
1159 ]),
1160 ]),
1161 Matrix::<1, 2, 2>::new_from_known([
1162 Fq::from_montgomery_limbs([
1163 15987773674750471853,
1164 7582780421302456968,
1165 3513070142855093124,
1166 449192997718482772,
1167 ]),
1168 Fq::from_montgomery_limbs([
1169 1698389311466971615,
1170 4208825745762883192,
1171 17737380562723619127,
1172 1023230515994865951,
1173 ]),
1174 ]),
1175 Matrix::<1, 2, 2>::new_from_known([
1176 Fq::from_montgomery_limbs([
1177 15719775543772287808,
1178 4711976878746234330,
1179 9616083067266331949,
1180 1291758636403773818,
1181 ]),
1182 Fq::from_montgomery_limbs([
1183 11511319411419341690,
1184 4611804125723845050,
1185 17905923766281011346,
1186 701498562864789906,
1187 ]),
1188 ]),
1189 Matrix::<1, 2, 2>::new_from_known([
1190 Fq::from_montgomery_limbs([
1191 6775959117219461845,
1192 7248217303083744152,
1193 8323273847079805491,
1194 1272121734883668680,
1195 ]),
1196 Fq::from_montgomery_limbs([
1197 15960231410259949054,
1198 831075562495169556,
1199 666337526106305827,
1200 827994946738712632,
1201 ]),
1202 ]),
1203 Matrix::<1, 2, 2>::new_from_known([
1204 Fq::from_montgomery_limbs([
1205 3075648154561933440,
1206 4787490504369527279,
1207 2103456873768609578,
1208 930535653041788534,
1209 ]),
1210 Fq::from_montgomery_limbs([
1211 13632064958207562507,
1212 2403612539570381736,
1213 9671114344743639907,
1214 554518676653218341,
1215 ]),
1216 ]),
1217 Matrix::<1, 2, 2>::new_from_known([
1218 Fq::from_montgomery_limbs([
1219 16017511834618514656,
1220 10675130055946071909,
1221 4737919029540133580,
1222 682111021257012783,
1223 ]),
1224 Fq::from_montgomery_limbs([
1225 4054052073615595653,
1226 15900491953977945207,
1227 9657244812600116702,
1228 746793989576728670,
1229 ]),
1230 ]),
1231 Matrix::<1, 2, 2>::new_from_known([
1232 Fq::from_montgomery_limbs([
1233 11427159084253523216,
1234 8137374149736453962,
1235 493707633722255071,
1236 574786622341431128,
1237 ]),
1238 Fq::from_montgomery_limbs([
1239 3016813624761290833,
1240 9410383431703917657,
1241 207322790806709582,
1242 604735846059941483,
1243 ]),
1244 ]),
1245 Matrix::<1, 2, 2>::new_from_known([
1246 Fq::from_montgomery_limbs([
1247 13182715603850996122,
1248 1385581621557644096,
1249 15928797776098706943,
1250 1247128249672542744,
1251 ]),
1252 Fq::from_montgomery_limbs([
1253 12343557143080639521,
1254 10608577464123341465,
1255 8700628699767163855,
1256 822798305869360351,
1257 ]),
1258 ]),
1259 Matrix::<1, 2, 2>::new_from_known([
1260 Fq::from_montgomery_limbs([
1261 15640932130097417474,
1262 2198144264546084253,
1263 15157422365823566225,
1264 162345305798039707,
1265 ]),
1266 Fq::from_montgomery_limbs([
1267 15379897571473551238,
1268 13605062526804796454,
1269 1262497433072300524,
1270 325397323402951460,
1271 ]),
1272 ]),
1273 Matrix::<1, 2, 2>::new_from_known([
1274 Fq::from_montgomery_limbs([
1275 11985517729662602408,
1276 11378058393967136140,
1277 10784471266494716066,
1278 355758022531067864,
1279 ]),
1280 Fq::from_montgomery_limbs([
1281 15749607349459966392,
1282 10347221607350790242,
1283 16868641356169832097,
1284 9481912848277140,
1285 ]),
1286 ]),
1287 Matrix::<1, 2, 2>::new_from_known([
1288 Fq::from_montgomery_limbs([
1289 5070404887673962603,
1290 7505346455783472838,
1291 11581801124979799833,
1292 162417281360137989,
1293 ]),
1294 Fq::from_montgomery_limbs([
1295 14359230556911256253,
1296 4739001612305070282,
1297 615167045189603842,
1298 893440173159515387,
1299 ]),
1300 ]),
1301 Matrix::<1, 2, 2>::new_from_known([
1302 Fq::from_montgomery_limbs([
1303 6892861075705566142,
1304 16405352091222855583,
1305 9442037024015442096,
1306 943715695188578421,
1307 ]),
1308 Fq::from_montgomery_limbs([
1309 2681738006276381668,
1310 13590338127726729778,
1311 9006319668283998389,
1312 571100162557721724,
1313 ]),
1314 ]),
1315 Matrix::<1, 2, 2>::new_from_known([
1316 Fq::from_montgomery_limbs([
1317 7926076457258912989,
1318 15568541251154450028,
1319 15222738110907421829,
1320 194241141418124411,
1321 ]),
1322 Fq::from_montgomery_limbs([
1323 3900695082401480226,
1324 13241392216815987825,
1325 6715445016875356020,
1326 559176536870193173,
1327 ]),
1328 ]),
1329 Matrix::<1, 2, 2>::new_from_known([
1330 Fq::from_montgomery_limbs([
1331 4273472679882108688,
1332 7043568940286842511,
1333 9096453621609771899,
1334 490785749945503317,
1335 ]),
1336 Fq::from_montgomery_limbs([
1337 2078179201499171590,
1338 16327227019578678368,
1339 17980150213785344661,
1340 1297383831585962991,
1341 ]),
1342 ]),
1343 Matrix::<1, 2, 2>::new_from_known([
1344 Fq::from_montgomery_limbs([
1345 14728670056946621521,
1346 17042639142917167694,
1347 2971308019248556661,
1348 314387788586761162,
1349 ]),
1350 Fq::from_montgomery_limbs([
1351 14126190491907727041,
1352 8208403354023925517,
1353 4660262216078686939,
1354 971808842720812284,
1355 ]),
1356 ]),
1357 Matrix::<1, 2, 2>::new_from_known([
1358 Fq::from_montgomery_limbs([
1359 12606246547610594540,
1360 9049616062023318605,
1361 11742190485797839027,
1362 90317661102003606,
1363 ]),
1364 Fq::from_montgomery_limbs([
1365 7135240500841828540,
1366 8166637984141883895,
1367 4762161495768731224,
1368 1056050894881259133,
1369 ]),
1370 ]),
1371 Matrix::<1, 2, 2>::new_from_known([
1372 Fq::from_montgomery_limbs([
1373 11752411941768010421,
1374 2371987101660996229,
1375 7910923918069285785,
1376 283757372746488803,
1377 ]),
1378 Fq::from_montgomery_limbs([
1379 14169661373594066352,
1380 10756814747639910216,
1381 4179402566370914468,
1382 294039297137006515,
1383 ]),
1384 ]),
1385 Matrix::<1, 2, 2>::new_from_known([
1386 Fq::from_montgomery_limbs([
1387 12380990947758453459,
1388 15919689303377847053,
1389 4451172135381562238,
1390 643870172347401539,
1391 ]),
1392 Fq::from_montgomery_limbs([
1393 16919934541410985772,
1394 12894445305080351094,
1395 3222976969400102992,
1396 1274426454940711344,
1397 ]),
1398 ]),
1399 Matrix::<1, 2, 2>::new_from_known([
1400 Fq::from_montgomery_limbs([
1401 17739117012754232566,
1402 7855016506876230601,
1403 10199750748041585788,
1404 610234517763900211,
1405 ]),
1406 Fq::from_montgomery_limbs([
1407 14969807057009266193,
1408 9743543989422659962,
1409 265344874800963549,
1410 193281162476465682,
1411 ]),
1412 ]),
1413 Matrix::<1, 2, 2>::new_from_known([
1414 Fq::from_montgomery_limbs([
1415 9334899116745497567,
1416 1443910720530394642,
1417 15242704534506362012,
1418 557844541838643008,
1419 ]),
1420 Fq::from_montgomery_limbs([
1421 12596150337841453197,
1422 17941854592742713998,
1423 9536226961205720981,
1424 193378317632915294,
1425 ]),
1426 ]),
1427 Matrix::<1, 2, 2>::new_from_known([
1428 Fq::from_montgomery_limbs([
1429 2145847197367443746,
1430 3494461491303192245,
1431 8559536859052153255,
1432 188641306996153597,
1433 ]),
1434 Fq::from_montgomery_limbs([
1435 6619736277081498517,
1436 16354589870583930111,
1437 5727794428272011445,
1438 472934899434235719,
1439 ]),
1440 ]),
1441 Matrix::<1, 2, 2>::new_from_known([
1442 Fq::from_montgomery_limbs([
1443 15229354881950810050,
1444 13117262548706587,
1445 18434975406822541359,
1446 430449497798843798,
1447 ]),
1448 Fq::from_montgomery_limbs([
1449 4585061371183060684,
1450 14866599352008180181,
1451 17851236730068556506,
1452 483368166519918339,
1453 ]),
1454 ]),
1455 Matrix::<1, 2, 2>::new_from_known([
1456 Fq::from_montgomery_limbs([
1457 16121753970412208543,
1458 9309799407998260359,
1459 13316268079574695590,
1460 1332560915242838761,
1461 ]),
1462 Fq::from_montgomery_limbs([
1463 5320180137128926885,
1464 4585099896596608821,
1465 4959026927695406777,
1466 12672238118064834,
1467 ]),
1468 ]),
1469 ],
1470 w_hat_collection: [
1471 Matrix::<2, 1, 2>::new_from_known([
1472 Fq::from_montgomery_limbs([
1473 7147916296078753751,
1474 11795755565450264533,
1475 9448453213491875784,
1476 183737022913545514,
1477 ]),
1478 Fq::from_montgomery_limbs([
1479 10406805428937057924,
1480 14160037477503257835,
1481 7036231764655967476,
1482 1082136417579874198,
1483 ]),
1484 ]),
1485 Matrix::<2, 1, 2>::new_from_known([
1486 Fq::from_montgomery_limbs([
1487 18050286569012579189,
1488 12701735779500542307,
1489 16028299840828156173,
1490 889670182449753716,
1491 ]),
1492 Fq::from_montgomery_limbs([
1493 17537805078915517156,
1494 3881567050914191905,
1495 15320666583506005360,
1496 34817918541568626,
1497 ]),
1498 ]),
1499 Matrix::<2, 1, 2>::new_from_known([
1500 Fq::from_montgomery_limbs([
1501 639651884569206475,
1502 3208454571154516477,
1503 5589814573911893755,
1504 812188059462663385,
1505 ]),
1506 Fq::from_montgomery_limbs([
1507 6035414598134387451,
1508 221157594769622514,
1509 1246867853953039854,
1510 865666459554075403,
1511 ]),
1512 ]),
1513 Matrix::<2, 1, 2>::new_from_known([
1514 Fq::from_montgomery_limbs([
1515 10986953500964328689,
1516 4552354314624673085,
1517 10130711827018722177,
1518 726464205504256466,
1519 ]),
1520 Fq::from_montgomery_limbs([
1521 14592704253024955499,
1522 4367720503141755092,
1523 3264507028823567377,
1524 503642346381621716,
1525 ]),
1526 ]),
1527 Matrix::<2, 1, 2>::new_from_known([
1528 Fq::from_montgomery_limbs([
1529 6929349916420721052,
1530 7263465717590274222,
1531 16428445137775857828,
1532 783617578238482410,
1533 ]),
1534 Fq::from_montgomery_limbs([
1535 1105466080997706678,
1536 15638892732603802885,
1537 15163494631828844812,
1538 1265995546038282468,
1539 ]),
1540 ]),
1541 Matrix::<2, 1, 2>::new_from_known([
1542 Fq::from_montgomery_limbs([
1543 12695614650926966465,
1544 7645153902251269333,
1545 15007858904354383754,
1546 303173888887641556,
1547 ]),
1548 Fq::from_montgomery_limbs([
1549 13532111267254117566,
1550 453207663850979705,
1551 1118439931840184625,
1552 1109223913114108441,
1553 ]),
1554 ]),
1555 Matrix::<2, 1, 2>::new_from_known([
1556 Fq::from_montgomery_limbs([
1557 1127605964966272093,
1558 459071588792078574,
1559 17569200668490318799,
1560 556567547339769587,
1561 ]),
1562 Fq::from_montgomery_limbs([
1563 743383751775379478,
1564 2152757563916176356,
1565 18215266305796881375,
1566 613050128242856475,
1567 ]),
1568 ]),
1569 Matrix::<2, 1, 2>::new_from_known([
1570 Fq::from_montgomery_limbs([
1571 7479292154348380014,
1572 12505834466797528681,
1573 7061175132070981799,
1574 1037799745298480638,
1575 ]),
1576 Fq::from_montgomery_limbs([
1577 4733881782580367683,
1578 13385554219210821909,
1579 11595152338390400937,
1580 1286877367267536722,
1581 ]),
1582 ]),
1583 Matrix::<2, 1, 2>::new_from_known([
1584 Fq::from_montgomery_limbs([
1585 10482398298648703137,
1586 13154284141257785070,
1587 12900892582326783232,
1588 1312370380898727254,
1589 ]),
1590 Fq::from_montgomery_limbs([
1591 7694076120856540521,
1592 15146007605344947747,
1593 3193830018416013595,
1594 78000754372621570,
1595 ]),
1596 ]),
1597 Matrix::<2, 1, 2>::new_from_known([
1598 Fq::from_montgomery_limbs([
1599 5244970134326960239,
1600 15516929113764341255,
1601 17564742414096943825,
1602 565809721348112173,
1603 ]),
1604 Fq::from_montgomery_limbs([
1605 5301582977685139465,
1606 1069505112975002608,
1607 16894882112854195663,
1608 1006960914609031286,
1609 ]),
1610 ]),
1611 Matrix::<2, 1, 2>::new_from_known([
1612 Fq::from_montgomery_limbs([
1613 933807009911564028,
1614 17655717523721777752,
1615 659854032695183391,
1616 696948171193839726,
1617 ]),
1618 Fq::from_montgomery_limbs([
1619 14431054331145497962,
1620 17304755953697263142,
1621 1213662370814867240,
1622 406071929554987935,
1623 ]),
1624 ]),
1625 Matrix::<2, 1, 2>::new_from_known([
1626 Fq::from_montgomery_limbs([
1627 12663120994246797343,
1628 2294330459533986298,
1629 12312665243517552316,
1630 1162434858386655769,
1631 ]),
1632 Fq::from_montgomery_limbs([
1633 14926635415117511105,
1634 17764138882091983380,
1635 9845162467394310721,
1636 365262529860339315,
1637 ]),
1638 ]),
1639 Matrix::<2, 1, 2>::new_from_known([
1640 Fq::from_montgomery_limbs([
1641 14453117806705169688,
1642 15371763008771329739,
1643 859830826361086373,
1644 695666911485789237,
1645 ]),
1646 Fq::from_montgomery_limbs([
1647 4372294882149658880,
1648 8953368466178039118,
1649 7175551968845157174,
1650 1296799522059563299,
1651 ]),
1652 ]),
1653 Matrix::<2, 1, 2>::new_from_known([
1654 Fq::from_montgomery_limbs([
1655 10743785724983518030,
1656 11011793084410944909,
1657 4710170432674399868,
1658 872985210632843618,
1659 ]),
1660 Fq::from_montgomery_limbs([
1661 17034928244178709962,
1662 7064630411064620365,
1663 11395663509669588708,
1664 435858474778976283,
1665 ]),
1666 ]),
1667 Matrix::<2, 1, 2>::new_from_known([
1668 Fq::from_montgomery_limbs([
1669 376125808430990068,
1670 3949770427712474479,
1671 1831829189608085506,
1672 1033600417294508604,
1673 ]),
1674 Fq::from_montgomery_limbs([
1675 10474175416970714387,
1676 7638666470072040137,
1677 15323998975775188709,
1678 499861799254400548,
1679 ]),
1680 ]),
1681 Matrix::<2, 1, 2>::new_from_known([
1682 Fq::from_montgomery_limbs([
1683 1311503503152331198,
1684 10444356300795820152,
1685 14006643509954394380,
1686 360275028297029580,
1687 ]),
1688 Fq::from_montgomery_limbs([
1689 8848990081142010576,
1690 3767709270230096287,
1691 3203373808160299103,
1692 388150987057922534,
1693 ]),
1694 ]),
1695 Matrix::<2, 1, 2>::new_from_known([
1696 Fq::from_montgomery_limbs([
1697 10527714796170242821,
1698 10614707629823438759,
1699 2166835449751899854,
1700 826442630247846539,
1701 ]),
1702 Fq::from_montgomery_limbs([
1703 6013609006746740436,
1704 17829255150171580013,
1705 4865370498689675602,
1706 631806865209492278,
1707 ]),
1708 ]),
1709 Matrix::<2, 1, 2>::new_from_known([
1710 Fq::from_montgomery_limbs([
1711 15407698184224138641,
1712 13892993523782417432,
1713 11074522626536989473,
1714 1282147673049091223,
1715 ]),
1716 Fq::from_montgomery_limbs([
1717 13566156582579433121,
1718 10666124267110644787,
1719 17585510383615080517,
1720 460461758314188289,
1721 ]),
1722 ]),
1723 Matrix::<2, 1, 2>::new_from_known([
1724 Fq::from_montgomery_limbs([
1725 242069913640544639,
1726 8584725967717195423,
1727 8673969491922319906,
1728 906855204727712918,
1729 ]),
1730 Fq::from_montgomery_limbs([
1731 7507622872789915132,
1732 8838834878197495556,
1733 4143887577251148647,
1734 147314013318059527,
1735 ]),
1736 ]),
1737 Matrix::<2, 1, 2>::new_from_known([
1738 Fq::from_montgomery_limbs([
1739 739343839918695474,
1740 15137511284934501835,
1741 8206744331706291412,
1742 460517726754831566,
1743 ]),
1744 Fq::from_montgomery_limbs([
1745 5332098194526476884,
1746 17462053065946204764,
1747 17109918215020530224,
1748 45500621783055396,
1749 ]),
1750 ]),
1751 Matrix::<2, 1, 2>::new_from_known([
1752 Fq::from_montgomery_limbs([
1753 7181843829067274762,
1754 93170180385149654,
1755 16601265500332534068,
1756 692920224266685092,
1757 ]),
1758 Fq::from_montgomery_limbs([
1759 17373541931105532396,
1760 11757401236546761356,
1761 8986928677878657520,
1762 855377794858428568,
1763 ]),
1764 ]),
1765 Matrix::<2, 1, 2>::new_from_known([
1766 Fq::from_montgomery_limbs([
1767 16770152912401058713,
1768 7784323106136704842,
1769 3166414142982631778,
1770 252798645948426673,
1771 ]),
1772 Fq::from_montgomery_limbs([
1773 9867428128375842792,
1774 6330871821464522409,
1775 2509737650104409073,
1776 87377932535113034,
1777 ]),
1778 ]),
1779 Matrix::<2, 1, 2>::new_from_known([
1780 Fq::from_montgomery_limbs([
1781 9620378538351684400,
1782 16259903847898782084,
1783 14224517332394904862,
1784 248783024579596034,
1785 ]),
1786 Fq::from_montgomery_limbs([
1787 15289486933546124534,
1788 5057961130890228616,
1789 5618412873763815158,
1790 1218252246195044797,
1791 ]),
1792 ]),
1793 Matrix::<2, 1, 2>::new_from_known([
1794 Fq::from_montgomery_limbs([
1795 18285461524892798097,
1796 1312649631515945874,
1797 2702563113361998981,
1798 156990921411102370,
1799 ]),
1800 Fq::from_montgomery_limbs([
1801 16897672275046167563,
1802 14631253948673542966,
1803 7825433188494427672,
1804 497140819371349325,
1805 ]),
1806 ]),
1807 Matrix::<2, 1, 2>::new_from_known([
1808 Fq::from_montgomery_limbs([
1809 5586425496410891559,
1810 3860435103896432777,
1811 15075562942840298887,
1812 539774915240951994,
1813 ]),
1814 Fq::from_montgomery_limbs([
1815 18444236515588467614,
1816 2138469830557977395,
1817 8290712504743660259,
1818 832327778452741186,
1819 ]),
1820 ]),
1821 Matrix::<2, 1, 2>::new_from_known([
1822 Fq::from_montgomery_limbs([
1823 15144610075012749322,
1824 11801332079357554718,
1825 11652842602527962385,
1826 396912768209767018,
1827 ]),
1828 Fq::from_montgomery_limbs([
1829 10639969620247737667,
1830 7334159324553590340,
1831 15063492084884778567,
1832 878961650630548788,
1833 ]),
1834 ]),
1835 Matrix::<2, 1, 2>::new_from_known([
1836 Fq::from_montgomery_limbs([
1837 18348264072788817511,
1838 8009061068808737218,
1839 6097418426121505352,
1840 1211183153837556564,
1841 ]),
1842 Fq::from_montgomery_limbs([
1843 17198860156343170394,
1844 2167538157704278478,
1845 10949270097435223366,
1846 928056824653534234,
1847 ]),
1848 ]),
1849 Matrix::<2, 1, 2>::new_from_known([
1850 Fq::from_montgomery_limbs([
1851 10634763804674129031,
1852 9612181115928191305,
1853 7893421171473086290,
1854 251268211819044542,
1855 ]),
1856 Fq::from_montgomery_limbs([
1857 12969986235926373418,
1858 712178654575523278,
1859 3830673788986900912,
1860 1046343437814522982,
1861 ]),
1862 ]),
1863 Matrix::<2, 1, 2>::new_from_known([
1864 Fq::from_montgomery_limbs([
1865 4298621992800380154,
1866 4055578536241120435,
1867 9617612244989535309,
1868 382604375840733162,
1869 ]),
1870 Fq::from_montgomery_limbs([
1871 18067399474523304446,
1872 12223555489918789755,
1873 9993950631657703109,
1874 1048484019905387459,
1875 ]),
1876 ]),
1877 Matrix::<2, 1, 2>::new_from_known([
1878 Fq::from_montgomery_limbs([
1879 13058818877006642653,
1880 18414014235319212231,
1881 14027764563566307518,
1882 703825358964196766,
1883 ]),
1884 Fq::from_montgomery_limbs([
1885 9830948603405623404,
1886 3341559968925646454,
1887 12259602563968066179,
1888 912923676012093495,
1889 ]),
1890 ]),
1891 Matrix::<2, 1, 2>::new_from_known([
1892 Fq::from_montgomery_limbs([
1893 8043127764066461437,
1894 14803670394754936674,
1895 15225608398783219441,
1896 893330814736280447,
1897 ]),
1898 Fq::from_montgomery_limbs([
1899 4386126239109851849,
1900 12096965878015338652,
1901 13672154659709754401,
1902 191338360587662586,
1903 ]),
1904 ]),
1905 ],
1906 },
1907 optimized_arc: OptimizedArcMatrix::<39, 3, 117>::new_from_known([
1908 Fq::from_montgomery_limbs([
1909 13532052565085671856,
1910 13175575834742130482,
1911 14571043277169067394,
1912 1128324334676141805,
1913 ]),
1914 Fq::from_montgomery_limbs([
1915 10586567975029405298,
1916 5987505274649066590,
1917 9663655893165983133,
1918 381788629769180835,
1919 ]),
1920 Fq::from_montgomery_limbs([
1921 7404335995308317606,
1922 10342209374602516054,
1923 14679697400509748167,
1924 1259991645283011647,
1925 ]),
1926 Fq::from_montgomery_limbs([
1927 12711294721892819516,
1928 8412935995118692797,
1929 7069737649526067295,
1930 549549236990677487,
1931 ]),
1932 Fq::from_montgomery_limbs([
1933 128694122049037398,
1934 15825223235256271389,
1935 74647683628497806,
1936 403759781237802093,
1937 ]),
1938 Fq::from_montgomery_limbs([
1939 3501552524290051296,
1940 10688664658423588201,
1941 8345653809557910120,
1942 766292783896459938,
1943 ]),
1944 Fq::from_montgomery_limbs([
1945 13998055823902745235,
1946 15535161481341849823,
1947 9848874496394823215,
1948 579121379437172744,
1949 ]),
1950 Fq::from_montgomery_limbs([
1951 16363263235454987811,
1952 9117252686821547535,
1953 4794867261658414781,
1954 418411818796950741,
1955 ]),
1956 Fq::from_montgomery_limbs([
1957 3710344964675021293,
1958 13957371261080223237,
1959 15195218532629186765,
1960 760708816844813378,
1961 ]),
1962 Fq::from_montgomery_limbs([
1963 16135673103471103205,
1964 13943139040297964408,
1965 12037506718934223099,
1966 1187380734246932890,
1967 ]),
1968 Fq::from_montgomery_limbs([
1969 11326210002632211732,
1970 2893415499386035614,
1971 2949171194607212014,
1972 568849018592141776,
1973 ]),
1974 Fq::from_montgomery_limbs([
1975 13925494990768706056,
1976 13969996543019858204,
1977 13457764640058086886,
1978 114396439087701688,
1979 ]),
1980 Fq::from_montgomery_limbs([
1981 16351586607272228519,
1982 6269966282891300082,
1983 12490381894697744781,
1984 834648274293416263,
1985 ]),
1986 Fq::from_montgomery_limbs([
1987 8699206025130866823,
1988 13848489523222436720,
1989 17766508449394109403,
1990 431734376631208559,
1991 ]),
1992 Fq::from_montgomery_limbs([
1993 14700415236695759193,
1994 989025675687828871,
1995 13240672964496825486,
1996 748003865243962980,
1997 ]),
1998 Fq::from_montgomery_limbs([
1999 9214232780783070449,
2000 14602960282866682732,
2001 11429301634278273897,
2002 1184931746603958427,
2003 ]),
2004 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2005 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2006 Fq::from_montgomery_limbs([
2007 16918226576727530642,
2008 1752255981222787988,
2009 8817230776216477202,
2010 44114642545061535,
2011 ]),
2012 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2013 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2014 Fq::from_montgomery_limbs([
2015 17686129245176609251,
2016 9674361899119805900,
2017 9621008306276981352,
2018 1255623840056121919,
2019 ]),
2020 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2021 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2022 Fq::from_montgomery_limbs([
2023 10364230610752960663,
2024 23910044943574860,
2025 13406278639865106346,
2026 1187183151912921258,
2027 ]),
2028 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2029 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2030 Fq::from_montgomery_limbs([
2031 248381449107176191,
2032 10056558558812610353,
2033 2935304612801451247,
2034 120643143760647643,
2035 ]),
2036 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2037 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2038 Fq::from_montgomery_limbs([
2039 3742705574147487793,
2040 4686024809709633429,
2041 16670792739934718940,
2042 963767567248511600,
2043 ]),
2044 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2045 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2046 Fq::from_montgomery_limbs([
2047 13818431717487898976,
2048 12602204397986520132,
2049 12877538805399868553,
2050 707732823673573212,
2051 ]),
2052 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2053 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2054 Fq::from_montgomery_limbs([
2055 1195524900235019800,
2056 10255957893776983045,
2057 17449323294835632168,
2058 1338958398006622846,
2059 ]),
2060 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2061 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2062 Fq::from_montgomery_limbs([
2063 561235443935255932,
2064 15462505627668153377,
2065 15246107413854263254,
2066 504727735813765489,
2067 ]),
2068 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2069 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2070 Fq::from_montgomery_limbs([
2071 5653045592293015958,
2072 3671862246408432263,
2073 7122935779684396291,
2074 7330594669677847,
2075 ]),
2076 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2077 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2078 Fq::from_montgomery_limbs([
2079 16480412187204912644,
2080 2983094841853066492,
2081 7734631524643537613,
2082 311160218197782574,
2083 ]),
2084 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2085 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2086 Fq::from_montgomery_limbs([
2087 6090779872384130856,
2088 3292296244344624559,
2089 14896131539665449347,
2090 1294066060635586937,
2091 ]),
2092 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2093 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2094 Fq::from_montgomery_limbs([
2095 4370576169448893808,
2096 12445091387328652898,
2097 4928931422125126888,
2098 1290627573012356056,
2099 ]),
2100 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2101 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2102 Fq::from_montgomery_limbs([
2103 12051840169477196739,
2104 3885157525438683377,
2105 15460563848822265709,
2106 371728860504033938,
2107 ]),
2108 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2109 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2110 Fq::from_montgomery_limbs([
2111 12236751112463919400,
2112 10461860001193096708,
2113 18252891305864475627,
2114 422909291039524709,
2115 ]),
2116 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2117 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2118 Fq::from_montgomery_limbs([
2119 18089753698150707757,
2120 11984889148538027693,
2121 14464882633247838012,
2122 989393623597663020,
2123 ]),
2124 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2125 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2126 Fq::from_montgomery_limbs([
2127 5947035363582041005,
2128 10165882087299872929,
2129 17463545041843069654,
2130 661760845006520055,
2131 ]),
2132 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2133 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2134 Fq::from_montgomery_limbs([
2135 12977803574308926045,
2136 11603755933737030579,
2137 13169368374394024728,
2138 264871768182436351,
2139 ]),
2140 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2141 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2142 Fq::from_montgomery_limbs([
2143 14419631251839461179,
2144 11301211733526246620,
2145 15903366283781829327,
2146 773728645355215118,
2147 ]),
2148 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2149 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2150 Fq::from_montgomery_limbs([
2151 8308101026985166387,
2152 7726119298360373485,
2153 10162441497855384077,
2154 189302244249177174,
2155 ]),
2156 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2157 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2158 Fq::from_montgomery_limbs([
2159 12797668472951431300,
2160 13827763415857474023,
2161 14698122219544096234,
2162 1231082431746263546,
2163 ]),
2164 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2165 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2166 Fq::from_montgomery_limbs([
2167 9036419769160652203,
2168 14179415714825094519,
2169 1197988233308979514,
2170 1215761277179828327,
2171 ]),
2172 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2173 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2174 Fq::from_montgomery_limbs([
2175 4698260184489833131,
2176 10279668321438795791,
2177 12410250074379293741,
2178 1217500461705392747,
2179 ]),
2180 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2181 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2182 Fq::from_montgomery_limbs([
2183 12177225652612451477,
2184 6323252679960824348,
2185 2982537087474808916,
2186 1265097794155080401,
2187 ]),
2188 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2189 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2190 Fq::from_montgomery_limbs([
2191 10936589967746372713,
2192 1315336780394893005,
2193 11802358065708482185,
2194 926000082171380579,
2195 ]),
2196 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2197 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2198 Fq::from_montgomery_limbs([
2199 9602562037821535541,
2200 6086973874915377682,
2201 14393911822211896593,
2202 197271477318300291,
2203 ]),
2204 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2205 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2206 Fq::from_montgomery_limbs([
2207 702050427916060493,
2208 13537318979711565901,
2209 15026546140525067500,
2210 581472194808990332,
2211 ]),
2212 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2213 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2214 Fq::from_montgomery_limbs([
2215 16536035763574678680,
2216 10430337823398608412,
2217 14603639842087973366,
2218 184743670576012836,
2219 ]),
2220 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2221 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2222 Fq::from_montgomery_limbs([
2223 703457789642747182,
2224 14826807143913517966,
2225 278957441362419559,
2226 572670923489064055,
2227 ]),
2228 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2229 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2230 Fq::from_montgomery_limbs([
2231 11986568387549799012,
2232 17060314952512548206,
2233 5848465513240015059,
2234 844014096680008996,
2235 ]),
2236 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2237 Fq::from_montgomery_limbs([0, 0, 0, 0]),
2238 Fq::from_montgomery_limbs([
2239 8710335429210318089,
2240 15939765460477572548,
2241 13493874982974354172,
2242 1195299757590572308,
2243 ]),
2244 Fq::from_montgomery_limbs([
2245 16720044796621311460,
2246 6297107607479107816,
2247 15666086360782481298,
2248 946070823657072210,
2249 ]),
2250 Fq::from_montgomery_limbs([
2251 5216764590966106189,
2252 18330556132248987975,
2253 14778046174865524185,
2254 601592383999400705,
2255 ]),
2256 Fq::from_montgomery_limbs([
2257 12284358746189003172,
2258 15796822047553990474,
2259 10249807758448272935,
2260 1260540691182942177,
2261 ]),
2262 Fq::from_montgomery_limbs([
2263 14671741496053748797,
2264 15956144823383552989,
2265 8978105115308257315,
2266 1129739098292337641,
2267 ]),
2268 Fq::from_montgomery_limbs([
2269 16528885559305010985,
2270 14885472285663731653,
2271 8692450371018254777,
2272 875854298006252122,
2273 ]),
2274 Fq::from_montgomery_limbs([
2275 11216935928075429441,
2276 7088545516130524118,
2277 3510979311098449529,
2278 980345967679074250,
2279 ]),
2280 Fq::from_montgomery_limbs([
2281 8480849792218315917,
2282 11146529356407982510,
2283 4204845623809735650,
2284 554809226012522197,
2285 ]),
2286 Fq::from_montgomery_limbs([
2287 9465397404983425896,
2288 1339596460298740670,
2289 2695000812316794677,
2290 164270174202044235,
2291 ]),
2292 Fq::from_montgomery_limbs([
2293 12807958353199166386,
2294 2607509355362673632,
2295 9510828759520576266,
2296 306232379852697998,
2297 ]),
2298 Fq::from_montgomery_limbs([
2299 14216260065142834520,
2300 8830790711865643815,
2301 7264415235010871052,
2302 905551093713836953,
2303 ]),
2304 Fq::from_montgomery_limbs([
2305 1392129315389772974,
2306 3163495863255052347,
2307 5961497987857813198,
2308 47707649459794917,
2309 ]),
2310 ]),
2311 }
2312}