simplicity/jet/init/
core.rs

1/* This file has been automatically generated. */
2
3use crate::jet::type_name::TypeName;
4use crate::jet::Jet;
5use crate::merkle::cmr::Cmr;
6use crate::decode_bits;
7use crate::{decode, BitIter, BitWriter};
8use crate::analysis::Cost;
9use hashes::sha256::Midstate;
10use simplicity_sys::CFrameItem;
11use std::io::Write;
12use std::{fmt, str};
13
14/// The Core jet family.
15#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)]
16pub enum Core {
17    Add16,
18    Add32,
19    Add64,
20    Add8,
21    All16,
22    All32,
23    All64,
24    All8,
25    And1,
26    And16,
27    And32,
28    And64,
29    And8,
30    Bip0340Verify,
31    Ch1,
32    Ch16,
33    Ch32,
34    Ch64,
35    Ch8,
36    CheckSigVerify,
37    Complement1,
38    Complement16,
39    Complement32,
40    Complement64,
41    Complement8,
42    Decompress,
43    Decrement16,
44    Decrement32,
45    Decrement64,
46    Decrement8,
47    DivMod128_64,
48    DivMod16,
49    DivMod32,
50    DivMod64,
51    DivMod8,
52    Divide16,
53    Divide32,
54    Divide64,
55    Divide8,
56    Divides16,
57    Divides32,
58    Divides64,
59    Divides8,
60    Eq1,
61    Eq16,
62    Eq256,
63    Eq32,
64    Eq64,
65    Eq8,
66    FeAdd,
67    FeInvert,
68    FeIsOdd,
69    FeIsZero,
70    FeMultiply,
71    FeMultiplyBeta,
72    FeNegate,
73    FeNormalize,
74    FeSquare,
75    FeSquareRoot,
76    FullAdd16,
77    FullAdd32,
78    FullAdd64,
79    FullAdd8,
80    FullDecrement16,
81    FullDecrement32,
82    FullDecrement64,
83    FullDecrement8,
84    FullIncrement16,
85    FullIncrement32,
86    FullIncrement64,
87    FullIncrement8,
88    FullLeftShift16_1,
89    FullLeftShift16_2,
90    FullLeftShift16_4,
91    FullLeftShift16_8,
92    FullLeftShift32_1,
93    FullLeftShift32_16,
94    FullLeftShift32_2,
95    FullLeftShift32_4,
96    FullLeftShift32_8,
97    FullLeftShift64_1,
98    FullLeftShift64_16,
99    FullLeftShift64_2,
100    FullLeftShift64_32,
101    FullLeftShift64_4,
102    FullLeftShift64_8,
103    FullLeftShift8_1,
104    FullLeftShift8_2,
105    FullLeftShift8_4,
106    FullMultiply16,
107    FullMultiply32,
108    FullMultiply64,
109    FullMultiply8,
110    FullRightShift16_1,
111    FullRightShift16_2,
112    FullRightShift16_4,
113    FullRightShift16_8,
114    FullRightShift32_1,
115    FullRightShift32_16,
116    FullRightShift32_2,
117    FullRightShift32_4,
118    FullRightShift32_8,
119    FullRightShift64_1,
120    FullRightShift64_16,
121    FullRightShift64_2,
122    FullRightShift64_32,
123    FullRightShift64_4,
124    FullRightShift64_8,
125    FullRightShift8_1,
126    FullRightShift8_2,
127    FullRightShift8_4,
128    FullSubtract16,
129    FullSubtract32,
130    FullSubtract64,
131    FullSubtract8,
132    GeIsOnCurve,
133    GeNegate,
134    GejAdd,
135    GejDouble,
136    GejEquiv,
137    GejGeAdd,
138    GejGeAddEx,
139    GejGeEquiv,
140    GejInfinity,
141    GejIsInfinity,
142    GejIsOnCurve,
143    GejNegate,
144    GejNormalize,
145    GejRescale,
146    GejXEquiv,
147    GejYIsOdd,
148    Generate,
149    HashToCurve,
150    High1,
151    High16,
152    High32,
153    High64,
154    High8,
155    Increment16,
156    Increment32,
157    Increment64,
158    Increment8,
159    IsOne16,
160    IsOne32,
161    IsOne64,
162    IsOne8,
163    IsZero16,
164    IsZero32,
165    IsZero64,
166    IsZero8,
167    Le16,
168    Le32,
169    Le64,
170    Le8,
171    LeftExtend16_32,
172    LeftExtend16_64,
173    LeftExtend1_16,
174    LeftExtend1_32,
175    LeftExtend1_64,
176    LeftExtend1_8,
177    LeftExtend32_64,
178    LeftExtend8_16,
179    LeftExtend8_32,
180    LeftExtend8_64,
181    LeftPadHigh16_32,
182    LeftPadHigh16_64,
183    LeftPadHigh1_16,
184    LeftPadHigh1_32,
185    LeftPadHigh1_64,
186    LeftPadHigh1_8,
187    LeftPadHigh32_64,
188    LeftPadHigh8_16,
189    LeftPadHigh8_32,
190    LeftPadHigh8_64,
191    LeftPadLow16_32,
192    LeftPadLow16_64,
193    LeftPadLow1_16,
194    LeftPadLow1_32,
195    LeftPadLow1_64,
196    LeftPadLow1_8,
197    LeftPadLow32_64,
198    LeftPadLow8_16,
199    LeftPadLow8_32,
200    LeftPadLow8_64,
201    LeftRotate16,
202    LeftRotate32,
203    LeftRotate64,
204    LeftRotate8,
205    LeftShift16,
206    LeftShift32,
207    LeftShift64,
208    LeftShift8,
209    LeftShiftWith16,
210    LeftShiftWith32,
211    LeftShiftWith64,
212    LeftShiftWith8,
213    Leftmost16_1,
214    Leftmost16_2,
215    Leftmost16_4,
216    Leftmost16_8,
217    Leftmost32_1,
218    Leftmost32_16,
219    Leftmost32_2,
220    Leftmost32_4,
221    Leftmost32_8,
222    Leftmost64_1,
223    Leftmost64_16,
224    Leftmost64_2,
225    Leftmost64_32,
226    Leftmost64_4,
227    Leftmost64_8,
228    Leftmost8_1,
229    Leftmost8_2,
230    Leftmost8_4,
231    LinearCombination1,
232    LinearVerify1,
233    Low1,
234    Low16,
235    Low32,
236    Low64,
237    Low8,
238    Lt16,
239    Lt32,
240    Lt64,
241    Lt8,
242    Maj1,
243    Maj16,
244    Maj32,
245    Maj64,
246    Maj8,
247    Max16,
248    Max32,
249    Max64,
250    Max8,
251    Median16,
252    Median32,
253    Median64,
254    Median8,
255    Min16,
256    Min32,
257    Min64,
258    Min8,
259    Modulo16,
260    Modulo32,
261    Modulo64,
262    Modulo8,
263    Multiply16,
264    Multiply32,
265    Multiply64,
266    Multiply8,
267    Negate16,
268    Negate32,
269    Negate64,
270    Negate8,
271    One16,
272    One32,
273    One64,
274    One8,
275    Or1,
276    Or16,
277    Or32,
278    Or64,
279    Or8,
280    ParseLock,
281    ParseSequence,
282    PointVerify1,
283    RightExtend16_32,
284    RightExtend16_64,
285    RightExtend32_64,
286    RightExtend8_16,
287    RightExtend8_32,
288    RightExtend8_64,
289    RightPadHigh16_32,
290    RightPadHigh16_64,
291    RightPadHigh1_16,
292    RightPadHigh1_32,
293    RightPadHigh1_64,
294    RightPadHigh1_8,
295    RightPadHigh32_64,
296    RightPadHigh8_16,
297    RightPadHigh8_32,
298    RightPadHigh8_64,
299    RightPadLow16_32,
300    RightPadLow16_64,
301    RightPadLow1_16,
302    RightPadLow1_32,
303    RightPadLow1_64,
304    RightPadLow1_8,
305    RightPadLow32_64,
306    RightPadLow8_16,
307    RightPadLow8_32,
308    RightPadLow8_64,
309    RightRotate16,
310    RightRotate32,
311    RightRotate64,
312    RightRotate8,
313    RightShift16,
314    RightShift32,
315    RightShift64,
316    RightShift8,
317    RightShiftWith16,
318    RightShiftWith32,
319    RightShiftWith64,
320    RightShiftWith8,
321    Rightmost16_1,
322    Rightmost16_2,
323    Rightmost16_4,
324    Rightmost16_8,
325    Rightmost32_1,
326    Rightmost32_16,
327    Rightmost32_2,
328    Rightmost32_4,
329    Rightmost32_8,
330    Rightmost64_1,
331    Rightmost64_16,
332    Rightmost64_2,
333    Rightmost64_32,
334    Rightmost64_4,
335    Rightmost64_8,
336    Rightmost8_1,
337    Rightmost8_2,
338    Rightmost8_4,
339    ScalarAdd,
340    ScalarInvert,
341    ScalarIsZero,
342    ScalarMultiply,
343    ScalarMultiplyLambda,
344    ScalarNegate,
345    ScalarNormalize,
346    ScalarSquare,
347    Scale,
348    Sha256Block,
349    Sha256Ctx8Add1,
350    Sha256Ctx8Add128,
351    Sha256Ctx8Add16,
352    Sha256Ctx8Add2,
353    Sha256Ctx8Add256,
354    Sha256Ctx8Add32,
355    Sha256Ctx8Add4,
356    Sha256Ctx8Add512,
357    Sha256Ctx8Add64,
358    Sha256Ctx8Add8,
359    Sha256Ctx8AddBuffer511,
360    Sha256Ctx8Finalize,
361    Sha256Ctx8Init,
362    Sha256Iv,
363    Some1,
364    Some16,
365    Some32,
366    Some64,
367    Some8,
368    Subtract16,
369    Subtract32,
370    Subtract64,
371    Subtract8,
372    Swu,
373    TapdataInit,
374    Verify,
375    Xor1,
376    Xor16,
377    Xor32,
378    Xor64,
379    Xor8,
380    XorXor1,
381    XorXor16,
382    XorXor32,
383    XorXor64,
384    XorXor8,
385}
386
387impl Core {
388    /// Array of all Core jets.
389    pub const ALL: [Self; 368] = [
390        Self::Add16,
391        Self::Add32,
392        Self::Add64,
393        Self::Add8,
394        Self::All16,
395        Self::All32,
396        Self::All64,
397        Self::All8,
398        Self::And1,
399        Self::And16,
400        Self::And32,
401        Self::And64,
402        Self::And8,
403        Self::Bip0340Verify,
404        Self::Ch1,
405        Self::Ch16,
406        Self::Ch32,
407        Self::Ch64,
408        Self::Ch8,
409        Self::CheckSigVerify,
410        Self::Complement1,
411        Self::Complement16,
412        Self::Complement32,
413        Self::Complement64,
414        Self::Complement8,
415        Self::Decompress,
416        Self::Decrement16,
417        Self::Decrement32,
418        Self::Decrement64,
419        Self::Decrement8,
420        Self::DivMod128_64,
421        Self::DivMod16,
422        Self::DivMod32,
423        Self::DivMod64,
424        Self::DivMod8,
425        Self::Divide16,
426        Self::Divide32,
427        Self::Divide64,
428        Self::Divide8,
429        Self::Divides16,
430        Self::Divides32,
431        Self::Divides64,
432        Self::Divides8,
433        Self::Eq1,
434        Self::Eq16,
435        Self::Eq256,
436        Self::Eq32,
437        Self::Eq64,
438        Self::Eq8,
439        Self::FeAdd,
440        Self::FeInvert,
441        Self::FeIsOdd,
442        Self::FeIsZero,
443        Self::FeMultiply,
444        Self::FeMultiplyBeta,
445        Self::FeNegate,
446        Self::FeNormalize,
447        Self::FeSquare,
448        Self::FeSquareRoot,
449        Self::FullAdd16,
450        Self::FullAdd32,
451        Self::FullAdd64,
452        Self::FullAdd8,
453        Self::FullDecrement16,
454        Self::FullDecrement32,
455        Self::FullDecrement64,
456        Self::FullDecrement8,
457        Self::FullIncrement16,
458        Self::FullIncrement32,
459        Self::FullIncrement64,
460        Self::FullIncrement8,
461        Self::FullLeftShift16_1,
462        Self::FullLeftShift16_2,
463        Self::FullLeftShift16_4,
464        Self::FullLeftShift16_8,
465        Self::FullLeftShift32_1,
466        Self::FullLeftShift32_16,
467        Self::FullLeftShift32_2,
468        Self::FullLeftShift32_4,
469        Self::FullLeftShift32_8,
470        Self::FullLeftShift64_1,
471        Self::FullLeftShift64_16,
472        Self::FullLeftShift64_2,
473        Self::FullLeftShift64_32,
474        Self::FullLeftShift64_4,
475        Self::FullLeftShift64_8,
476        Self::FullLeftShift8_1,
477        Self::FullLeftShift8_2,
478        Self::FullLeftShift8_4,
479        Self::FullMultiply16,
480        Self::FullMultiply32,
481        Self::FullMultiply64,
482        Self::FullMultiply8,
483        Self::FullRightShift16_1,
484        Self::FullRightShift16_2,
485        Self::FullRightShift16_4,
486        Self::FullRightShift16_8,
487        Self::FullRightShift32_1,
488        Self::FullRightShift32_16,
489        Self::FullRightShift32_2,
490        Self::FullRightShift32_4,
491        Self::FullRightShift32_8,
492        Self::FullRightShift64_1,
493        Self::FullRightShift64_16,
494        Self::FullRightShift64_2,
495        Self::FullRightShift64_32,
496        Self::FullRightShift64_4,
497        Self::FullRightShift64_8,
498        Self::FullRightShift8_1,
499        Self::FullRightShift8_2,
500        Self::FullRightShift8_4,
501        Self::FullSubtract16,
502        Self::FullSubtract32,
503        Self::FullSubtract64,
504        Self::FullSubtract8,
505        Self::GeIsOnCurve,
506        Self::GeNegate,
507        Self::GejAdd,
508        Self::GejDouble,
509        Self::GejEquiv,
510        Self::GejGeAdd,
511        Self::GejGeAddEx,
512        Self::GejGeEquiv,
513        Self::GejInfinity,
514        Self::GejIsInfinity,
515        Self::GejIsOnCurve,
516        Self::GejNegate,
517        Self::GejNormalize,
518        Self::GejRescale,
519        Self::GejXEquiv,
520        Self::GejYIsOdd,
521        Self::Generate,
522        Self::HashToCurve,
523        Self::High1,
524        Self::High16,
525        Self::High32,
526        Self::High64,
527        Self::High8,
528        Self::Increment16,
529        Self::Increment32,
530        Self::Increment64,
531        Self::Increment8,
532        Self::IsOne16,
533        Self::IsOne32,
534        Self::IsOne64,
535        Self::IsOne8,
536        Self::IsZero16,
537        Self::IsZero32,
538        Self::IsZero64,
539        Self::IsZero8,
540        Self::Le16,
541        Self::Le32,
542        Self::Le64,
543        Self::Le8,
544        Self::LeftExtend16_32,
545        Self::LeftExtend16_64,
546        Self::LeftExtend1_16,
547        Self::LeftExtend1_32,
548        Self::LeftExtend1_64,
549        Self::LeftExtend1_8,
550        Self::LeftExtend32_64,
551        Self::LeftExtend8_16,
552        Self::LeftExtend8_32,
553        Self::LeftExtend8_64,
554        Self::LeftPadHigh16_32,
555        Self::LeftPadHigh16_64,
556        Self::LeftPadHigh1_16,
557        Self::LeftPadHigh1_32,
558        Self::LeftPadHigh1_64,
559        Self::LeftPadHigh1_8,
560        Self::LeftPadHigh32_64,
561        Self::LeftPadHigh8_16,
562        Self::LeftPadHigh8_32,
563        Self::LeftPadHigh8_64,
564        Self::LeftPadLow16_32,
565        Self::LeftPadLow16_64,
566        Self::LeftPadLow1_16,
567        Self::LeftPadLow1_32,
568        Self::LeftPadLow1_64,
569        Self::LeftPadLow1_8,
570        Self::LeftPadLow32_64,
571        Self::LeftPadLow8_16,
572        Self::LeftPadLow8_32,
573        Self::LeftPadLow8_64,
574        Self::LeftRotate16,
575        Self::LeftRotate32,
576        Self::LeftRotate64,
577        Self::LeftRotate8,
578        Self::LeftShift16,
579        Self::LeftShift32,
580        Self::LeftShift64,
581        Self::LeftShift8,
582        Self::LeftShiftWith16,
583        Self::LeftShiftWith32,
584        Self::LeftShiftWith64,
585        Self::LeftShiftWith8,
586        Self::Leftmost16_1,
587        Self::Leftmost16_2,
588        Self::Leftmost16_4,
589        Self::Leftmost16_8,
590        Self::Leftmost32_1,
591        Self::Leftmost32_16,
592        Self::Leftmost32_2,
593        Self::Leftmost32_4,
594        Self::Leftmost32_8,
595        Self::Leftmost64_1,
596        Self::Leftmost64_16,
597        Self::Leftmost64_2,
598        Self::Leftmost64_32,
599        Self::Leftmost64_4,
600        Self::Leftmost64_8,
601        Self::Leftmost8_1,
602        Self::Leftmost8_2,
603        Self::Leftmost8_4,
604        Self::LinearCombination1,
605        Self::LinearVerify1,
606        Self::Low1,
607        Self::Low16,
608        Self::Low32,
609        Self::Low64,
610        Self::Low8,
611        Self::Lt16,
612        Self::Lt32,
613        Self::Lt64,
614        Self::Lt8,
615        Self::Maj1,
616        Self::Maj16,
617        Self::Maj32,
618        Self::Maj64,
619        Self::Maj8,
620        Self::Max16,
621        Self::Max32,
622        Self::Max64,
623        Self::Max8,
624        Self::Median16,
625        Self::Median32,
626        Self::Median64,
627        Self::Median8,
628        Self::Min16,
629        Self::Min32,
630        Self::Min64,
631        Self::Min8,
632        Self::Modulo16,
633        Self::Modulo32,
634        Self::Modulo64,
635        Self::Modulo8,
636        Self::Multiply16,
637        Self::Multiply32,
638        Self::Multiply64,
639        Self::Multiply8,
640        Self::Negate16,
641        Self::Negate32,
642        Self::Negate64,
643        Self::Negate8,
644        Self::One16,
645        Self::One32,
646        Self::One64,
647        Self::One8,
648        Self::Or1,
649        Self::Or16,
650        Self::Or32,
651        Self::Or64,
652        Self::Or8,
653        Self::ParseLock,
654        Self::ParseSequence,
655        Self::PointVerify1,
656        Self::RightExtend16_32,
657        Self::RightExtend16_64,
658        Self::RightExtend32_64,
659        Self::RightExtend8_16,
660        Self::RightExtend8_32,
661        Self::RightExtend8_64,
662        Self::RightPadHigh16_32,
663        Self::RightPadHigh16_64,
664        Self::RightPadHigh1_16,
665        Self::RightPadHigh1_32,
666        Self::RightPadHigh1_64,
667        Self::RightPadHigh1_8,
668        Self::RightPadHigh32_64,
669        Self::RightPadHigh8_16,
670        Self::RightPadHigh8_32,
671        Self::RightPadHigh8_64,
672        Self::RightPadLow16_32,
673        Self::RightPadLow16_64,
674        Self::RightPadLow1_16,
675        Self::RightPadLow1_32,
676        Self::RightPadLow1_64,
677        Self::RightPadLow1_8,
678        Self::RightPadLow32_64,
679        Self::RightPadLow8_16,
680        Self::RightPadLow8_32,
681        Self::RightPadLow8_64,
682        Self::RightRotate16,
683        Self::RightRotate32,
684        Self::RightRotate64,
685        Self::RightRotate8,
686        Self::RightShift16,
687        Self::RightShift32,
688        Self::RightShift64,
689        Self::RightShift8,
690        Self::RightShiftWith16,
691        Self::RightShiftWith32,
692        Self::RightShiftWith64,
693        Self::RightShiftWith8,
694        Self::Rightmost16_1,
695        Self::Rightmost16_2,
696        Self::Rightmost16_4,
697        Self::Rightmost16_8,
698        Self::Rightmost32_1,
699        Self::Rightmost32_16,
700        Self::Rightmost32_2,
701        Self::Rightmost32_4,
702        Self::Rightmost32_8,
703        Self::Rightmost64_1,
704        Self::Rightmost64_16,
705        Self::Rightmost64_2,
706        Self::Rightmost64_32,
707        Self::Rightmost64_4,
708        Self::Rightmost64_8,
709        Self::Rightmost8_1,
710        Self::Rightmost8_2,
711        Self::Rightmost8_4,
712        Self::ScalarAdd,
713        Self::ScalarInvert,
714        Self::ScalarIsZero,
715        Self::ScalarMultiply,
716        Self::ScalarMultiplyLambda,
717        Self::ScalarNegate,
718        Self::ScalarNormalize,
719        Self::ScalarSquare,
720        Self::Scale,
721        Self::Sha256Block,
722        Self::Sha256Ctx8Add1,
723        Self::Sha256Ctx8Add128,
724        Self::Sha256Ctx8Add16,
725        Self::Sha256Ctx8Add2,
726        Self::Sha256Ctx8Add256,
727        Self::Sha256Ctx8Add32,
728        Self::Sha256Ctx8Add4,
729        Self::Sha256Ctx8Add512,
730        Self::Sha256Ctx8Add64,
731        Self::Sha256Ctx8Add8,
732        Self::Sha256Ctx8AddBuffer511,
733        Self::Sha256Ctx8Finalize,
734        Self::Sha256Ctx8Init,
735        Self::Sha256Iv,
736        Self::Some1,
737        Self::Some16,
738        Self::Some32,
739        Self::Some64,
740        Self::Some8,
741        Self::Subtract16,
742        Self::Subtract32,
743        Self::Subtract64,
744        Self::Subtract8,
745        Self::Swu,
746        Self::TapdataInit,
747        Self::Verify,
748        Self::Xor1,
749        Self::Xor16,
750        Self::Xor32,
751        Self::Xor64,
752        Self::Xor8,
753        Self::XorXor1,
754        Self::XorXor16,
755        Self::XorXor32,
756        Self::XorXor64,
757        Self::XorXor8,
758    ];
759}
760
761impl Jet for Core {
762
763    type Environment = ();
764    type CJetEnvironment = ();
765
766    fn c_jet_env(env: &Self::Environment) -> &Self::CJetEnvironment {
767        env
768    }
769
770    fn cmr(&self) -> Cmr {
771        let bytes = match self {
772            Core::Add16 => [
773                0x26, 0xae, 0x09, 0x94, 0xce, 0x8b, 0x77, 0x1a, 0xf7, 0xad, 0x28, 0x51, 0xb8, 0x3b,
774                0x49, 0xa5, 0x95, 0x05, 0x36, 0x58, 0x9f, 0x67, 0xbd, 0x85, 0x59, 0x47, 0x04, 0x60,
775                0x29, 0x75, 0x1c, 0x0d,
776            ],
777            Core::Add32 => [
778                0x3d, 0x76, 0x74, 0x46, 0x6e, 0xd6, 0x9e, 0x1d, 0xbe, 0xdc, 0xd4, 0x80, 0x57, 0xa9,
779                0xe6, 0x28, 0x8c, 0x22, 0x25, 0x32, 0xfb, 0xc5, 0x04, 0x80, 0x49, 0x92, 0x8c, 0xfb,
780                0x77, 0xf8, 0x29, 0xd9,
781            ],
782            Core::Add64 => [
783                0x9b, 0x56, 0xe6, 0x1e, 0xef, 0xe2, 0x80, 0x5c, 0xa8, 0x73, 0x96, 0xbd, 0xfb, 0x03,
784                0xf5, 0xe1, 0xb1, 0x38, 0x5f, 0x7a, 0xc4, 0xbf, 0xf7, 0x68, 0x40, 0x26, 0xa0, 0x7c,
785                0xf9, 0x7f, 0xb6, 0xf6,
786            ],
787            Core::Add8 => [
788                0xd7, 0x32, 0x8c, 0x09, 0x14, 0xee, 0x99, 0x9e, 0xfa, 0x0a, 0x6c, 0xb2, 0x6e, 0xb4,
789                0x09, 0x12, 0xc2, 0x15, 0xc0, 0x62, 0xe5, 0x8a, 0x98, 0x1a, 0xe6, 0xb2, 0xe4, 0xa8,
790                0x04, 0x74, 0xa1, 0xda,
791            ],
792            Core::All16 => [
793                0x16, 0xf0, 0xc9, 0x30, 0x7e, 0xb8, 0xf4, 0xc1, 0xfd, 0xd1, 0xba, 0xfa, 0xef, 0x28,
794                0x79, 0x24, 0x29, 0x58, 0x49, 0x8e, 0x8f, 0x5b, 0x2e, 0x0d, 0x29, 0xf0, 0x65, 0x53,
795                0xdc, 0x06, 0xa0, 0xbd,
796            ],
797            Core::All32 => [
798                0x0e, 0xb8, 0xb4, 0x0d, 0x29, 0x02, 0x17, 0x47, 0xee, 0xc4, 0x51, 0xd4, 0xe6, 0x63,
799                0x58, 0x6a, 0x43, 0x6c, 0x2d, 0xb0, 0x93, 0x26, 0x75, 0xda, 0xf2, 0x16, 0x61, 0x23,
800                0xbf, 0xe4, 0x52, 0xa6,
801            ],
802            Core::All64 => [
803                0xa6, 0x5c, 0x82, 0xd5, 0x3d, 0x38, 0x2e, 0xe2, 0x9a, 0xa8, 0x8b, 0x77, 0x18, 0xa9,
804                0x7f, 0xbb, 0xce, 0x64, 0x75, 0xec, 0x32, 0xc4, 0xb4, 0xcd, 0x69, 0x08, 0xfd, 0xe4,
805                0x5d, 0x81, 0xb6, 0x24,
806            ],
807            Core::All8 => [
808                0x1d, 0x3e, 0xc7, 0xfb, 0x6a, 0x07, 0x84, 0x7c, 0x92, 0xb8, 0xa9, 0x98, 0xe1, 0xf6,
809                0xb4, 0x78, 0x31, 0x9d, 0x05, 0x0a, 0x38, 0x76, 0x42, 0xf4, 0x03, 0x2d, 0x2f, 0x7d,
810                0x2e, 0x02, 0x7f, 0xcd,
811            ],
812            Core::And1 => [
813                0xb7, 0x73, 0xce, 0xfa, 0x41, 0x89, 0x57, 0xfe, 0xa7, 0xdf, 0xb4, 0x9c, 0x6c, 0x43,
814                0xb3, 0xdb, 0xfa, 0x35, 0xfa, 0x3d, 0x80, 0xde, 0x8c, 0xfd, 0x4d, 0x70, 0xc0, 0x8d,
815                0x94, 0x5f, 0x5f, 0xba,
816            ],
817            Core::And16 => [
818                0x57, 0xdd, 0x73, 0x0b, 0x1c, 0x8d, 0xdf, 0xf1, 0x3c, 0xae, 0x27, 0x69, 0x56, 0x2b,
819                0xe0, 0xab, 0xc6, 0xca, 0x3b, 0xc8, 0x02, 0xda, 0x0a, 0xbb, 0xb7, 0xfc, 0x13, 0x8c,
820                0xa4, 0x63, 0xda, 0x59,
821            ],
822            Core::And32 => [
823                0x75, 0x3e, 0x33, 0x2d, 0xdf, 0xa0, 0x96, 0xf0, 0x83, 0x99, 0xff, 0xaa, 0x7e, 0xc4,
824                0xda, 0x40, 0x35, 0xbc, 0xba, 0xa1, 0x42, 0xe6, 0xe3, 0x8d, 0x4c, 0xb6, 0x07, 0xce,
825                0x1f, 0x0b, 0x05, 0x1d,
826            ],
827            Core::And64 => [
828                0xf1, 0xad, 0x5e, 0x6c, 0x63, 0xee, 0x5c, 0x89, 0x0b, 0x0f, 0x2e, 0x71, 0x15, 0x61,
829                0xb9, 0x05, 0x31, 0x64, 0x87, 0xac, 0x40, 0x44, 0xdd, 0x23, 0x0c, 0xf6, 0xa7, 0x36,
830                0xf8, 0x1b, 0xd4, 0xf3,
831            ],
832            Core::And8 => [
833                0xac, 0x82, 0x8b, 0x72, 0x4c, 0x5f, 0x53, 0x40, 0xb5, 0x1e, 0x76, 0xe7, 0xb6, 0xe8,
834                0xb2, 0x3a, 0xea, 0xb7, 0x53, 0x3f, 0xd8, 0xc0, 0x91, 0xae, 0x2a, 0x51, 0x55, 0x30,
835                0xae, 0x7a, 0xb2, 0x00,
836            ],
837            Core::Bip0340Verify => [
838                0xc9, 0xc4, 0x5a, 0x8a, 0xec, 0x86, 0x59, 0x14, 0x3b, 0xfe, 0x2a, 0xf6, 0xea, 0xd4,
839                0x8d, 0x4e, 0x05, 0x42, 0x45, 0x3a, 0xca, 0xe8, 0x4b, 0x9b, 0xbb, 0x97, 0x65, 0x6b,
840                0x67, 0x0b, 0xdf, 0xdd,
841            ],
842            Core::Ch1 => [
843                0xb8, 0x41, 0xb8, 0x57, 0xa4, 0xaa, 0x50, 0xea, 0xca, 0x27, 0xa2, 0x6f, 0x74, 0x42,
844                0xfc, 0xbf, 0xe9, 0x54, 0x67, 0x7a, 0xe6, 0xd4, 0x55, 0xf6, 0x05, 0x65, 0x49, 0x89,
845                0xe3, 0x5a, 0xeb, 0x13,
846            ],
847            Core::Ch16 => [
848                0x9c, 0xff, 0x11, 0xa0, 0x9b, 0x60, 0x41, 0xe5, 0xf2, 0x63, 0x9a, 0xe4, 0xc0, 0x65,
849                0xa1, 0x8f, 0xc6, 0x75, 0xdb, 0x2f, 0xbd, 0x98, 0x54, 0x08, 0xe2, 0x8f, 0x02, 0x7a,
850                0x99, 0x11, 0x0e, 0x11,
851            ],
852            Core::Ch32 => [
853                0x07, 0x1c, 0xef, 0x80, 0x39, 0xc7, 0x9f, 0x71, 0x31, 0xcd, 0x6a, 0x5f, 0xe4, 0x93,
854                0xdc, 0x26, 0x8f, 0x9d, 0xb5, 0x8f, 0x7b, 0x20, 0xa8, 0x55, 0x55, 0xe2, 0x97, 0xbd,
855                0xd2, 0x16, 0xcf, 0x40,
856            ],
857            Core::Ch64 => [
858                0xd5, 0x55, 0xd2, 0x19, 0x63, 0xb0, 0x19, 0x2f, 0xc9, 0x72, 0x14, 0xb6, 0x3d, 0xc1,
859                0xc3, 0xaf, 0x75, 0x8b, 0x29, 0x11, 0x58, 0xf0, 0xe1, 0xa3, 0xbc, 0xfd, 0xea, 0x67,
860                0x9c, 0x66, 0x6d, 0xa6,
861            ],
862            Core::Ch8 => [
863                0x35, 0x3f, 0x63, 0xb0, 0xf8, 0xcb, 0x54, 0xf5, 0xae, 0x65, 0x75, 0xaf, 0x8c, 0xa2,
864                0x24, 0x2c, 0xee, 0xe9, 0xf2, 0x7a, 0x84, 0x18, 0x6e, 0xb8, 0x0e, 0x62, 0x0d, 0x5e,
865                0x2e, 0x85, 0x48, 0xec,
866            ],
867            Core::CheckSigVerify => [
868                0xb5, 0x80, 0x15, 0x54, 0x6d, 0x28, 0x52, 0x66, 0x5d, 0xd2, 0x1b, 0xf1, 0x12, 0x66,
869                0x26, 0x70, 0x20, 0xfa, 0x5e, 0x27, 0x50, 0x01, 0xdd, 0x46, 0x18, 0xfa, 0x41, 0x56,
870                0x25, 0x95, 0x2e, 0x68,
871            ],
872            Core::Complement1 => [
873                0xed, 0x74, 0xee, 0xb8, 0x3a, 0x00, 0xc7, 0x13, 0xcc, 0x14, 0xf3, 0x3e, 0xfe, 0x55,
874                0x33, 0x83, 0xcd, 0x04, 0x11, 0xcc, 0x30, 0x20, 0xfd, 0x89, 0x27, 0x93, 0x16, 0x67,
875                0x5d, 0x91, 0x0e, 0x66,
876            ],
877            Core::Complement16 => [
878                0x61, 0xfd, 0xd9, 0x04, 0xa4, 0xae, 0xb7, 0xeb, 0x76, 0x84, 0xaf, 0x61, 0x8e, 0x25,
879                0xaa, 0xe9, 0x07, 0xcd, 0x1d, 0xb0, 0xf6, 0x2d, 0x97, 0x03, 0xc5, 0xb8, 0x54, 0xe1,
880                0x66, 0x3c, 0xac, 0x9f,
881            ],
882            Core::Complement32 => [
883                0xfe, 0xb0, 0x2c, 0xc3, 0x6e, 0x19, 0x5b, 0x46, 0x2a, 0xe5, 0x04, 0xa9, 0x12, 0xda,
884                0xdf, 0xe6, 0x6a, 0xd4, 0x7f, 0x23, 0xa0, 0xcb, 0x3b, 0xae, 0xa2, 0x1d, 0x31, 0xaa,
885                0xa0, 0xce, 0x10, 0x1d,
886            ],
887            Core::Complement64 => [
888                0x45, 0x07, 0x2d, 0x5a, 0xa0, 0xe5, 0xc3, 0x7c, 0x9e, 0x52, 0x1d, 0xcc, 0x92, 0xe8,
889                0xf3, 0x9a, 0x5f, 0x75, 0xe7, 0xd9, 0x28, 0x67, 0x0a, 0xca, 0xb7, 0x9c, 0xd8, 0xc8,
890                0xb5, 0xb5, 0x9e, 0x1a,
891            ],
892            Core::Complement8 => [
893                0x69, 0x16, 0xb2, 0x8f, 0xb5, 0x74, 0xd9, 0xc9, 0x08, 0xa3, 0xf3, 0x3f, 0x74, 0xbf,
894                0x06, 0xf7, 0xed, 0x93, 0x72, 0x54, 0x24, 0x7f, 0x9e, 0xfc, 0x26, 0x03, 0xd7, 0x17,
895                0x1d, 0xd4, 0x97, 0xbe,
896            ],
897            Core::Decompress => [
898                0x13, 0x97, 0x33, 0x17, 0xd5, 0x87, 0x41, 0x8e, 0xf3, 0x06, 0x36, 0x31, 0xa6, 0xed,
899                0xb0, 0xac, 0xfa, 0x1c, 0xbe, 0x49, 0x83, 0xd7, 0x57, 0x4b, 0x1b, 0x30, 0x5f, 0x96,
900                0x61, 0xc0, 0x48, 0xcb,
901            ],
902            Core::Decrement16 => [
903                0xe3, 0x4d, 0xb1, 0x18, 0x79, 0x27, 0x2b, 0x32, 0x7a, 0x3b, 0xd0, 0x34, 0xc0, 0xf6,
904                0x1e, 0xf6, 0x0a, 0x2b, 0xe9, 0x6f, 0xdf, 0xe0, 0xb2, 0xd5, 0x7f, 0xfe, 0x39, 0xce,
905                0x71, 0x4c, 0x78, 0xfb,
906            ],
907            Core::Decrement32 => [
908                0x01, 0x9e, 0xad, 0x5a, 0x73, 0x05, 0x60, 0x6d, 0xc9, 0x50, 0xfb, 0x55, 0x47, 0x6d,
909                0x09, 0xc1, 0x7d, 0x66, 0xf5, 0x70, 0xda, 0xb5, 0x10, 0xb9, 0x0d, 0x2a, 0x27, 0xe2,
910                0x26, 0x65, 0x99, 0xcf,
911            ],
912            Core::Decrement64 => [
913                0x34, 0x75, 0x2c, 0xf4, 0xe1, 0xd0, 0xa4, 0x31, 0xf0, 0x17, 0xa6, 0x8b, 0xeb, 0xfa,
914                0xb7, 0x41, 0xbb, 0xc8, 0x8a, 0xff, 0xb5, 0x7c, 0xc0, 0xb3, 0x02, 0x5c, 0xcf, 0xdd,
915                0x67, 0x62, 0x2f, 0x35,
916            ],
917            Core::Decrement8 => [
918                0x28, 0x92, 0xce, 0xb3, 0xb6, 0xec, 0x53, 0x25, 0xd0, 0xc1, 0xb9, 0xf5, 0x20, 0x42,
919                0x5e, 0x4b, 0x05, 0xc2, 0xe1, 0xf4, 0x37, 0xe0, 0xb3, 0xf5, 0x81, 0xf4, 0x1b, 0x9d,
920                0x0f, 0x7d, 0xff, 0x4d,
921            ],
922            Core::DivMod128_64 => [
923                0x22, 0x96, 0xb7, 0x0f, 0x60, 0x0e, 0x8a, 0x21, 0x4a, 0xd0, 0x70, 0xb2, 0x19, 0x4a,
924                0x67, 0x7d, 0x30, 0x51, 0xbc, 0x1c, 0x49, 0x01, 0x83, 0x97, 0x5f, 0x2a, 0x1d, 0x3e,
925                0x0c, 0xad, 0xe3, 0x78,
926            ],
927            Core::DivMod16 => [
928                0x64, 0x8f, 0xab, 0x86, 0x43, 0x74, 0x84, 0x6a, 0xbf, 0x4f, 0x9d, 0x9d, 0xef, 0xe2,
929                0x75, 0x61, 0x4d, 0x33, 0xf4, 0x82, 0x9c, 0x36, 0xa4, 0x7e, 0xcb, 0x53, 0xd7, 0xbf,
930                0xb6, 0x05, 0x48, 0x5f,
931            ],
932            Core::DivMod32 => [
933                0xbd, 0x3d, 0x4d, 0x55, 0x2d, 0x7b, 0x34, 0x7b, 0xd8, 0xa4, 0x4e, 0x3e, 0xe2, 0x24,
934                0xc8, 0x46, 0xbe, 0x23, 0x0f, 0xf6, 0xe2, 0x04, 0x4d, 0xdb, 0x97, 0xf4, 0x8e, 0x27,
935                0xd2, 0x0c, 0x42, 0x25,
936            ],
937            Core::DivMod64 => [
938                0xfa, 0x6b, 0xad, 0x6a, 0x95, 0xe2, 0xab, 0xa4, 0x30, 0x5b, 0xfe, 0x91, 0xcc, 0x47,
939                0xac, 0xc3, 0xd9, 0x9b, 0x92, 0xe6, 0x75, 0xe6, 0x9d, 0x3b, 0x37, 0xbb, 0x09, 0x13,
940                0x3d, 0x39, 0x0d, 0x0f,
941            ],
942            Core::DivMod8 => [
943                0x48, 0xcd, 0x50, 0x1b, 0xb2, 0xaa, 0x2a, 0xca, 0xe0, 0x14, 0xfe, 0x20, 0x8b, 0xb9,
944                0x94, 0x1d, 0x07, 0xa9, 0xbf, 0xfe, 0x1a, 0xd6, 0xcd, 0x3d, 0x36, 0xfc, 0x6b, 0x08,
945                0x60, 0xf6, 0xeb, 0xa7,
946            ],
947            Core::Divide16 => [
948                0x47, 0x0b, 0x01, 0xa5, 0x7c, 0x4f, 0x9d, 0x8f, 0x99, 0x7f, 0xcd, 0xe0, 0x06, 0x19,
949                0x16, 0x11, 0xdd, 0xa4, 0xc9, 0x8b, 0xa2, 0xa5, 0xf1, 0xda, 0x13, 0x4a, 0xe4, 0xc2,
950                0x2d, 0x52, 0xe9, 0x20,
951            ],
952            Core::Divide32 => [
953                0xab, 0x03, 0xac, 0xd8, 0x93, 0x61, 0x0c, 0x3c, 0x65, 0x82, 0xe7, 0xf7, 0xfb, 0xe5,
954                0xe7, 0x56, 0x25, 0x74, 0xa7, 0xb2, 0x66, 0x46, 0xf1, 0xc2, 0xfd, 0xc6, 0xe7, 0x6e,
955                0x44, 0x5a, 0x77, 0xa1,
956            ],
957            Core::Divide64 => [
958                0xeb, 0xfc, 0x56, 0xfb, 0xb8, 0xa4, 0x7e, 0x73, 0xff, 0xab, 0xb7, 0xea, 0x22, 0x8a,
959                0xc7, 0x84, 0x37, 0xbe, 0x82, 0x0e, 0xdd, 0xfa, 0x47, 0x81, 0x4c, 0xce, 0xbd, 0x26,
960                0x1b, 0xd8, 0xcf, 0xff,
961            ],
962            Core::Divide8 => [
963                0x2c, 0xcf, 0xbc, 0x7c, 0x02, 0xbf, 0x4d, 0x53, 0x04, 0x93, 0xbb, 0x22, 0x86, 0x7a,
964                0x95, 0x1d, 0x8a, 0xe9, 0x13, 0x12, 0x66, 0x87, 0x59, 0x72, 0x84, 0xe9, 0xbb, 0xb3,
965                0xe1, 0xe7, 0xe3, 0x49,
966            ],
967            Core::Divides16 => [
968                0x5f, 0xc3, 0xac, 0x38, 0x4d, 0x5f, 0x45, 0x40, 0x41, 0x56, 0x97, 0x1a, 0x76, 0x8d,
969                0x93, 0xbc, 0x06, 0x4b, 0xc1, 0x7c, 0x15, 0xa3, 0x7c, 0x27, 0x01, 0x9d, 0xde, 0xef,
970                0x17, 0x04, 0x6d, 0xd4,
971            ],
972            Core::Divides32 => [
973                0xcc, 0x45, 0xb4, 0x05, 0x24, 0x64, 0x38, 0xf7, 0x65, 0x74, 0x0b, 0x4f, 0xb0, 0xa3,
974                0x4d, 0xc8, 0x1b, 0x34, 0x78, 0x01, 0x98, 0x86, 0x3b, 0x0f, 0xb1, 0x86, 0x44, 0x6a,
975                0xdf, 0xbb, 0x09, 0xde,
976            ],
977            Core::Divides64 => [
978                0xdc, 0x47, 0x3b, 0xfd, 0xec, 0x30, 0xab, 0x98, 0xd4, 0x8c, 0xd0, 0x88, 0x84, 0xef,
979                0x4f, 0xff, 0xef, 0x3d, 0x4b, 0x16, 0xad, 0x5c, 0x37, 0x11, 0x2a, 0x20, 0x35, 0xb9,
980                0x9b, 0xb7, 0x74, 0x58,
981            ],
982            Core::Divides8 => [
983                0x0b, 0x55, 0x02, 0xac, 0x4f, 0x21, 0xf2, 0x30, 0xa0, 0x9c, 0xcf, 0xaf, 0xfa, 0xac,
984                0x77, 0xa7, 0xc4, 0x1b, 0x2b, 0xf3, 0x0b, 0x14, 0x68, 0x48, 0x1e, 0x4d, 0xfb, 0x98,
985                0xb6, 0x18, 0x7a, 0x0d,
986            ],
987            Core::Eq1 => [
988                0x60, 0x7f, 0x6b, 0x8f, 0x5d, 0x25, 0xb8, 0x0e, 0x05, 0xa2, 0xbf, 0x79, 0xd6, 0x2e,
989                0x87, 0x07, 0x99, 0x52, 0x2c, 0xc3, 0xe3, 0x9c, 0xe9, 0x62, 0x57, 0x45, 0x52, 0x93,
990                0xf9, 0xb2, 0xb2, 0xed,
991            ],
992            Core::Eq16 => [
993                0xc9, 0x96, 0xe4, 0x2b, 0x97, 0x9a, 0xbc, 0x53, 0x0c, 0xc2, 0x71, 0x63, 0x66, 0x71,
994                0xe9, 0x20, 0x54, 0x87, 0x6a, 0x1e, 0xca, 0xed, 0x14, 0x33, 0xfd, 0x61, 0x9a, 0x25,
995                0xfe, 0x6d, 0x03, 0xad,
996            ],
997            Core::Eq256 => [
998                0x77, 0x8d, 0x15, 0x06, 0xc7, 0x35, 0xd2, 0x77, 0x6b, 0x95, 0x0f, 0xac, 0xef, 0xc1,
999                0x59, 0xb6, 0x78, 0xde, 0xc0, 0x38, 0x28, 0xcf, 0x02, 0x73, 0xee, 0xea, 0x64, 0xa9,
1000                0xda, 0x98, 0xc1, 0x2c,
1001            ],
1002            Core::Eq32 => [
1003                0x66, 0xd3, 0x89, 0x03, 0xe7, 0x3b, 0x1a, 0x13, 0x20, 0xc6, 0x8a, 0x4a, 0x39, 0x70,
1004                0xd7, 0x1f, 0x94, 0xba, 0x9e, 0x2b, 0x15, 0x16, 0x83, 0x99, 0x43, 0xfb, 0x15, 0xe4,
1005                0x4e, 0xbf, 0x57, 0xfb,
1006            ],
1007            Core::Eq64 => [
1008                0xd6, 0xa6, 0x66, 0xb4, 0xe0, 0xf9, 0xf5, 0x75, 0x50, 0x8d, 0xbf, 0x3b, 0x31, 0xce,
1009                0xea, 0x68, 0x39, 0x3c, 0x7d, 0xb2, 0xe9, 0x8b, 0xc5, 0x92, 0xfd, 0xd2, 0x6f, 0xae,
1010                0x83, 0x7a, 0x0b, 0x87,
1011            ],
1012            Core::Eq8 => [
1013                0x99, 0x78, 0x7b, 0xa2, 0x67, 0x2d, 0xd0, 0xeb, 0x4d, 0x7d, 0x2e, 0xa9, 0x94, 0x49,
1014                0xde, 0x8f, 0x79, 0x8e, 0x7c, 0xb1, 0x81, 0xa5, 0xe1, 0x66, 0xe1, 0xa5, 0x3f, 0x98,
1015                0x02, 0xb6, 0x20, 0x64,
1016            ],
1017            Core::FeAdd => [
1018                0xb0, 0x59, 0x3e, 0x18, 0x7e, 0xe7, 0x33, 0x3c, 0x47, 0xa0, 0x54, 0x67, 0xdf, 0x66,
1019                0xd5, 0x82, 0x0a, 0x6f, 0x5b, 0xef, 0x91, 0x4a, 0x4b, 0x76, 0xe5, 0xd1, 0x63, 0x31,
1020                0x4b, 0x5e, 0xf2, 0x0e,
1021            ],
1022            Core::FeInvert => [
1023                0x34, 0x3e, 0x9c, 0x90, 0xf1, 0x28, 0x50, 0x60, 0x56, 0xb5, 0x48, 0xd2, 0xed, 0x5e,
1024                0x22, 0x3c, 0x81, 0xf5, 0xb0, 0x6a, 0x1e, 0xd8, 0x6b, 0x7c, 0xd9, 0x35, 0x40, 0x57,
1025                0xaa, 0x59, 0x51, 0x02,
1026            ],
1027            Core::FeIsOdd => [
1028                0xdc, 0xf0, 0x37, 0x5d, 0x20, 0x81, 0x8a, 0x99, 0xf7, 0x23, 0xf8, 0x12, 0x3c, 0xbd,
1029                0x05, 0x1a, 0x38, 0x78, 0xa4, 0x28, 0x24, 0xb3, 0x74, 0x0f, 0x68, 0x21, 0xa5, 0xfa,
1030                0x12, 0x3f, 0x14, 0xc7,
1031            ],
1032            Core::FeIsZero => [
1033                0x28, 0xff, 0x41, 0x69, 0x9a, 0x88, 0x1a, 0xaf, 0xb7, 0xa9, 0x76, 0xc0, 0xc5, 0x76,
1034                0x35, 0x3f, 0x7f, 0xe5, 0x44, 0x63, 0xb6, 0xaa, 0x75, 0x4c, 0xf2, 0xc6, 0x32, 0x9a,
1035                0xf2, 0x65, 0x0e, 0x3b,
1036            ],
1037            Core::FeMultiply => [
1038                0x56, 0x69, 0x92, 0x9b, 0x5f, 0x31, 0xfa, 0x3d, 0x02, 0xc5, 0x83, 0x9d, 0xd0, 0x63,
1039                0x54, 0xcd, 0x17, 0x16, 0x35, 0xf3, 0xa0, 0x72, 0x7f, 0x32, 0x2a, 0xbf, 0xc9, 0x94,
1040                0xba, 0x62, 0x90, 0xde,
1041            ],
1042            Core::FeMultiplyBeta => [
1043                0x7a, 0x78, 0x13, 0x45, 0x0d, 0x82, 0xe9, 0x35, 0x69, 0x0f, 0x43, 0x3e, 0x65, 0xdf,
1044                0x70, 0x7a, 0x4d, 0xd1, 0x75, 0x34, 0xa0, 0x0d, 0xdd, 0x40, 0xdd, 0x85, 0xe3, 0xe3,
1045                0xf7, 0x84, 0x02, 0xc3,
1046            ],
1047            Core::FeNegate => [
1048                0x3b, 0x0d, 0x7b, 0x5c, 0x2e, 0x6c, 0x3a, 0xeb, 0x5e, 0x00, 0x08, 0x5b, 0x9d, 0x30,
1049                0x58, 0x5a, 0xff, 0x05, 0x4e, 0x32, 0x5a, 0x99, 0x83, 0x61, 0x11, 0x3b, 0xfd, 0x23,
1050                0x28, 0xc0, 0x08, 0xf6,
1051            ],
1052            Core::FeNormalize => [
1053                0xc5, 0x1b, 0xef, 0xfa, 0x21, 0x5e, 0x9c, 0xde, 0x8e, 0x93, 0x3b, 0xb9, 0x46, 0x80,
1054                0xba, 0xe0, 0x12, 0xc4, 0xda, 0xab, 0x3d, 0x04, 0xb6, 0xcb, 0xf0, 0x73, 0x3f, 0xd7,
1055                0x35, 0x73, 0x35, 0x38,
1056            ],
1057            Core::FeSquare => [
1058                0x5a, 0x6e, 0x7b, 0x2e, 0xac, 0x73, 0xf4, 0xe4, 0x4d, 0xfa, 0x28, 0xfb, 0x86, 0xbb,
1059                0x11, 0x7b, 0x65, 0x60, 0x6f, 0x28, 0x74, 0xd5, 0x65, 0xc9, 0x79, 0x9c, 0x63, 0xe0,
1060                0xfe, 0x69, 0x2b, 0x1a,
1061            ],
1062            Core::FeSquareRoot => [
1063                0xe0, 0x01, 0x42, 0xea, 0x03, 0x09, 0x4a, 0x30, 0x4a, 0xc8, 0x2b, 0xc1, 0xe2, 0xd2,
1064                0xdc, 0x71, 0xfb, 0x06, 0x4e, 0xd0, 0x82, 0x85, 0x67, 0x35, 0xb1, 0x4f, 0xf2, 0xc7,
1065                0xfa, 0xf0, 0x36, 0xf0,
1066            ],
1067            Core::FullAdd16 => [
1068                0xfc, 0x9e, 0x5d, 0xf8, 0x3b, 0xfd, 0xb9, 0x02, 0x8c, 0x87, 0xd1, 0x39, 0xf8, 0x58,
1069                0x39, 0x03, 0xcb, 0x2a, 0x07, 0x04, 0x2a, 0x73, 0xe5, 0x34, 0x81, 0xde, 0xb5, 0x2f,
1070                0xf1, 0xf1, 0xf8, 0x84,
1071            ],
1072            Core::FullAdd32 => [
1073                0xa7, 0xd9, 0x8d, 0x50, 0xd0, 0x45, 0xcb, 0x90, 0x6b, 0x19, 0x5e, 0x65, 0x11, 0x87,
1074                0x94, 0x95, 0xc8, 0x51, 0x09, 0x59, 0x49, 0xa9, 0xc0, 0x1e, 0x60, 0x39, 0xa8, 0x4b,
1075                0x2a, 0x5e, 0xc9, 0x09,
1076            ],
1077            Core::FullAdd64 => [
1078                0x7a, 0xec, 0xc8, 0xc9, 0x05, 0x3b, 0xb2, 0xfb, 0x17, 0x0c, 0x1c, 0x97, 0x2f, 0xd4,
1079                0x00, 0x25, 0x64, 0xe1, 0x52, 0xa0, 0x6d, 0x9f, 0x45, 0x80, 0x75, 0xe3, 0x8c, 0x7a,
1080                0x06, 0x98, 0xa7, 0xf4,
1081            ],
1082            Core::FullAdd8 => [
1083                0xed, 0x3b, 0xa5, 0xb7, 0x9e, 0xa4, 0x5b, 0x18, 0x7a, 0x2d, 0x43, 0xe8, 0xed, 0x80,
1084                0x2d, 0xe1, 0xed, 0x44, 0x26, 0x59, 0x6c, 0xbe, 0x32, 0xe7, 0x57, 0xc8, 0x51, 0x19,
1085                0x15, 0xff, 0xa5, 0xcf,
1086            ],
1087            Core::FullDecrement16 => [
1088                0xd4, 0xc2, 0xed, 0xda, 0x87, 0x2c, 0x05, 0x50, 0x6f, 0x79, 0x2c, 0xf5, 0x46, 0xa8,
1089                0x9d, 0x4d, 0x7c, 0xff, 0xcb, 0x1e, 0x17, 0xf5, 0xda, 0x61, 0x03, 0x10, 0x0e, 0x7e,
1090                0x73, 0xa7, 0x73, 0x7d,
1091            ],
1092            Core::FullDecrement32 => [
1093                0x7c, 0xc2, 0x30, 0x4d, 0x17, 0x43, 0x12, 0x10, 0x2e, 0x9b, 0x73, 0x63, 0x45, 0xc7,
1094                0x7f, 0x77, 0x1d, 0x1f, 0x6a, 0x9c, 0x9e, 0x1d, 0x1c, 0xd8, 0xdb, 0x8c, 0xb4, 0x61,
1095                0x39, 0x80, 0xc8, 0xc2,
1096            ],
1097            Core::FullDecrement64 => [
1098                0x15, 0xc1, 0x63, 0x45, 0x4b, 0xcd, 0x75, 0x44, 0x30, 0xda, 0x55, 0x79, 0xbb, 0xca,
1099                0xad, 0x26, 0xe5, 0x7e, 0x95, 0xc7, 0x72, 0x22, 0x4b, 0x7b, 0x83, 0xc7, 0x05, 0xf7,
1100                0xde, 0xb6, 0x4a, 0xa6,
1101            ],
1102            Core::FullDecrement8 => [
1103                0x7c, 0x5e, 0x94, 0xa9, 0x98, 0x02, 0x81, 0x82, 0x17, 0x37, 0xb1, 0xce, 0x73, 0xbf,
1104                0xda, 0x4c, 0x79, 0xef, 0x64, 0x9b, 0x3d, 0x05, 0xcc, 0x1c, 0x00, 0xc4, 0xa8, 0xb6,
1105                0x4b, 0x94, 0x9b, 0xbe,
1106            ],
1107            Core::FullIncrement16 => [
1108                0x81, 0x38, 0x0a, 0xda, 0xa3, 0xa5, 0x47, 0xf1, 0xbc, 0x4b, 0xbb, 0x64, 0x6b, 0xda,
1109                0x9d, 0x9f, 0xb7, 0xbd, 0x4d, 0xc1, 0xb3, 0xa9, 0xf3, 0xdd, 0x22, 0x0b, 0x56, 0xa4,
1110                0x7c, 0x27, 0x98, 0xfb,
1111            ],
1112            Core::FullIncrement32 => [
1113                0xa7, 0x60, 0xa8, 0x44, 0x9a, 0x2a, 0xb5, 0xde, 0xdb, 0x4e, 0xe5, 0x1b, 0xf5, 0xc2,
1114                0x5a, 0x8f, 0x06, 0xaf, 0x06, 0x66, 0xdf, 0x7f, 0xc4, 0x19, 0xb4, 0x98, 0xb9, 0x09,
1115                0x76, 0xd6, 0x98, 0xcb,
1116            ],
1117            Core::FullIncrement64 => [
1118                0xc6, 0xaf, 0x30, 0xdd, 0x28, 0x6d, 0x6e, 0x21, 0xc3, 0x88, 0x60, 0xed, 0x1e, 0x2f,
1119                0x21, 0x2a, 0x21, 0xb2, 0xfd, 0x1e, 0xde, 0xad, 0xb5, 0xe0, 0xfc, 0xe2, 0xe3, 0xfd,
1120                0x75, 0xb7, 0xf3, 0xc2,
1121            ],
1122            Core::FullIncrement8 => [
1123                0xd3, 0x04, 0xea, 0x28, 0xa9, 0x5d, 0x49, 0x6d, 0x14, 0xb4, 0xf2, 0xfb, 0x5c, 0x86,
1124                0x03, 0x72, 0xec, 0xf2, 0x47, 0xbe, 0xfd, 0xe3, 0xea, 0x3b, 0x2a, 0xd6, 0x7b, 0xce,
1125                0x99, 0x03, 0x9d, 0xbc,
1126            ],
1127            Core::FullLeftShift16_1 => [
1128                0x14, 0xdc, 0xc3, 0x46, 0x6f, 0xa8, 0x28, 0xa3, 0xf0, 0x74, 0x04, 0x51, 0xb8, 0x03,
1129                0x7d, 0x7a, 0xd6, 0x03, 0xea, 0xdc, 0x80, 0xaa, 0xea, 0xdc, 0x66, 0x44, 0x34, 0xac,
1130                0x2a, 0xd7, 0xfd, 0x9c,
1131            ],
1132            Core::FullLeftShift16_2 => [
1133                0xaf, 0xb7, 0xe9, 0x28, 0xb0, 0x52, 0xc2, 0x28, 0x79, 0x21, 0x66, 0x2c, 0xd8, 0xab,
1134                0x12, 0x2f, 0xe0, 0x74, 0xef, 0xd2, 0x51, 0xa5, 0xc9, 0xcf, 0xbc, 0xaa, 0x36, 0x9d,
1135                0x06, 0x33, 0x73, 0x92,
1136            ],
1137            Core::FullLeftShift16_4 => [
1138                0x16, 0x6f, 0x34, 0x8c, 0x59, 0xe2, 0x6f, 0x89, 0xa8, 0x3a, 0x99, 0x1f, 0x67, 0xe5,
1139                0xdb, 0xf7, 0x10, 0xcf, 0xae, 0x3d, 0x6d, 0x96, 0x93, 0x82, 0x82, 0xbb, 0x44, 0xc1,
1140                0xaf, 0xa7, 0x10, 0x9b,
1141            ],
1142            Core::FullLeftShift16_8 => [
1143                0xc0, 0xcd, 0x01, 0x5d, 0xe8, 0xac, 0x4f, 0xcc, 0xd8, 0xdb, 0x89, 0xf4, 0xe5, 0x14,
1144                0x2f, 0xde, 0x27, 0x97, 0x55, 0xb5, 0x42, 0xa2, 0x4f, 0x57, 0xa2, 0xa3, 0xc7, 0xc1,
1145                0xf5, 0x0d, 0x1d, 0xb5,
1146            ],
1147            Core::FullLeftShift32_1 => [
1148                0xce, 0x33, 0xb5, 0xd0, 0xc5, 0x8d, 0x2d, 0x0b, 0x9b, 0x5a, 0x99, 0x44, 0xd3, 0xda,
1149                0xbd, 0xa0, 0x23, 0xcd, 0x44, 0x64, 0x7b, 0xe6, 0x7c, 0xf4, 0x08, 0x28, 0x30, 0xbb,
1150                0x20, 0x5f, 0x8f, 0xbb,
1151            ],
1152            Core::FullLeftShift32_16 => [
1153                0x1c, 0xb3, 0x6e, 0x6f, 0x99, 0x30, 0x85, 0x15, 0xd4, 0xb7, 0x11, 0x90, 0x9c, 0x57,
1154                0x4b, 0x21, 0x24, 0xc1, 0xff, 0x42, 0x2d, 0x8d, 0x7d, 0x94, 0x82, 0xe2, 0x5d, 0x87,
1155                0x88, 0xb3, 0xb9, 0x57,
1156            ],
1157            Core::FullLeftShift32_2 => [
1158                0x3f, 0xae, 0xa9, 0xb5, 0x73, 0xfc, 0x06, 0x9d, 0x8f, 0x43, 0x0f, 0xac, 0xa8, 0x97,
1159                0xb6, 0x87, 0x1e, 0xa0, 0x95, 0x73, 0xc7, 0x15, 0x09, 0x4b, 0x1f, 0x1b, 0xe0, 0x81,
1160                0x84, 0x88, 0xa7, 0x16,
1161            ],
1162            Core::FullLeftShift32_4 => [
1163                0xcd, 0xbb, 0x0d, 0x23, 0x31, 0x05, 0x90, 0x11, 0x3c, 0x93, 0x4f, 0xe6, 0x60, 0x04,
1164                0xd2, 0xa1, 0x1d, 0xa9, 0xcb, 0xf8, 0x87, 0x3d, 0x00, 0xde, 0xe7, 0xf0, 0x22, 0x96,
1165                0xff, 0x0a, 0x2f, 0x12,
1166            ],
1167            Core::FullLeftShift32_8 => [
1168                0xcc, 0xd9, 0x24, 0xe1, 0xa6, 0x18, 0x49, 0x42, 0x0f, 0xf6, 0x2e, 0xd8, 0xb2, 0x45,
1169                0xa3, 0xaa, 0x18, 0xc9, 0x8c, 0x41, 0xf9, 0xc5, 0xa3, 0xc0, 0xb8, 0x85, 0x86, 0x3c,
1170                0x44, 0x9b, 0x7d, 0x14,
1171            ],
1172            Core::FullLeftShift64_1 => [
1173                0xd4, 0x63, 0xcc, 0xdc, 0x7f, 0xd1, 0x4e, 0x5e, 0x89, 0x41, 0x62, 0xb2, 0xae, 0x71,
1174                0x41, 0x28, 0xa1, 0x0d, 0xc9, 0x20, 0x00, 0xb5, 0x4c, 0x84, 0x3b, 0x64, 0x9c, 0xcb,
1175                0x77, 0x56, 0x26, 0xe5,
1176            ],
1177            Core::FullLeftShift64_16 => [
1178                0x88, 0x2d, 0xce, 0x21, 0x2a, 0x0e, 0x61, 0xf8, 0xf9, 0x4c, 0xb5, 0xe3, 0x2e, 0x00,
1179                0xa5, 0x28, 0x7c, 0xf6, 0x4f, 0x20, 0xc2, 0x1f, 0xca, 0x84, 0xf1, 0xe3, 0xdf, 0x7f,
1180                0x4a, 0x62, 0x91, 0xcd,
1181            ],
1182            Core::FullLeftShift64_2 => [
1183                0x48, 0xc8, 0x9b, 0x19, 0x1a, 0x51, 0xb6, 0xab, 0x03, 0x4c, 0x80, 0xea, 0xff, 0x34,
1184                0x82, 0x38, 0xd9, 0x3f, 0xb3, 0x1c, 0x1e, 0x92, 0xe7, 0xf2, 0xae, 0x49, 0x31, 0x7e,
1185                0x0e, 0x33, 0xf8, 0x2d,
1186            ],
1187            Core::FullLeftShift64_32 => [
1188                0x39, 0x75, 0x90, 0x73, 0x33, 0xe1, 0x27, 0x30, 0x62, 0x55, 0xb7, 0xf8, 0x89, 0x39,
1189                0xe2, 0x85, 0x7f, 0x42, 0xae, 0x1b, 0xf0, 0xc6, 0x62, 0x40, 0xa8, 0x22, 0x4c, 0x8d,
1190                0xa3, 0x8b, 0xb1, 0xbe,
1191            ],
1192            Core::FullLeftShift64_4 => [
1193                0x29, 0x31, 0x32, 0xeb, 0x15, 0xdd, 0xf4, 0x17, 0x74, 0xb0, 0x00, 0x5a, 0x3b, 0x5c,
1194                0x50, 0x95, 0x9f, 0xa8, 0x98, 0x2b, 0x75, 0x9e, 0x83, 0x28, 0x27, 0xc7, 0x4f, 0xa8,
1195                0x28, 0x50, 0x66, 0x6c,
1196            ],
1197            Core::FullLeftShift64_8 => [
1198                0xe6, 0xab, 0xde, 0xd8, 0xbe, 0x58, 0x5e, 0xb0, 0xb6, 0xd4, 0x6e, 0x0c, 0x5e, 0xb2,
1199                0x8a, 0x74, 0x5f, 0x4e, 0x5c, 0x56, 0xfd, 0x65, 0x21, 0xf8, 0xf3, 0x96, 0xcb, 0x21,
1200                0xa7, 0x58, 0xf7, 0x4c,
1201            ],
1202            Core::FullLeftShift8_1 => [
1203                0x73, 0x3f, 0xed, 0x08, 0x47, 0xa2, 0xff, 0xac, 0x9a, 0xab, 0xf5, 0x0a, 0x2f, 0xeb,
1204                0x50, 0x59, 0x89, 0x84, 0xf1, 0x6d, 0x8b, 0x73, 0x24, 0x68, 0xb3, 0xd3, 0x15, 0xc0,
1205                0x1e, 0xa4, 0x29, 0x9b,
1206            ],
1207            Core::FullLeftShift8_2 => [
1208                0xb4, 0x47, 0x4d, 0x0b, 0xa1, 0xcf, 0x4f, 0xa2, 0xd6, 0x4c, 0xd4, 0xfe, 0x67, 0xbd,
1209                0xc9, 0x2c, 0xb8, 0x9e, 0xfa, 0x70, 0xcb, 0x99, 0xaf, 0x77, 0x91, 0xbf, 0x7e, 0xf6,
1210                0xe9, 0x09, 0xd2, 0xc7,
1211            ],
1212            Core::FullLeftShift8_4 => [
1213                0x8e, 0xb5, 0x22, 0xb9, 0x97, 0x04, 0x74, 0xad, 0xbb, 0x7a, 0xb0, 0xde, 0x37, 0xc4,
1214                0xe7, 0xa0, 0x56, 0xa1, 0xcb, 0x21, 0x2e, 0x41, 0x03, 0xe4, 0xa8, 0xcb, 0xbb, 0xb6,
1215                0x3d, 0x97, 0x56, 0x06,
1216            ],
1217            Core::FullMultiply16 => [
1218                0x88, 0x47, 0x0c, 0xbf, 0x9b, 0x4d, 0xec, 0x37, 0xea, 0x05, 0xd7, 0xb6, 0x30, 0xf2,
1219                0xf1, 0x12, 0x54, 0x75, 0x67, 0xd3, 0x4f, 0x33, 0xd9, 0x6e, 0x5f, 0x61, 0x1b, 0xd9,
1220                0xda, 0x97, 0xab, 0xb5,
1221            ],
1222            Core::FullMultiply32 => [
1223                0x28, 0x04, 0x06, 0x00, 0xa6, 0x6e, 0x1a, 0x0c, 0x52, 0x25, 0x85, 0x20, 0x48, 0x8b,
1224                0x94, 0xc8, 0x20, 0xc6, 0xcf, 0x86, 0xca, 0x27, 0xae, 0x39, 0x03, 0x4d, 0xdd, 0xca,
1225                0xb9, 0x04, 0xd1, 0xd5,
1226            ],
1227            Core::FullMultiply64 => [
1228                0x53, 0x01, 0x4f, 0x35, 0xa8, 0xdf, 0x20, 0x91, 0xaf, 0x3e, 0xf9, 0xb8, 0xd1, 0x6b,
1229                0x38, 0xb9, 0xbc, 0x96, 0x61, 0xbf, 0xdb, 0xc9, 0x57, 0x33, 0x3f, 0xba, 0x2a, 0x94,
1230                0x8c, 0x1e, 0x8c, 0x25,
1231            ],
1232            Core::FullMultiply8 => [
1233                0xd3, 0xd2, 0x45, 0x54, 0xc4, 0x66, 0xdd, 0x60, 0x37, 0x54, 0x52, 0x47, 0x36, 0xa7,
1234                0x1e, 0xb2, 0x35, 0xde, 0xf9, 0xb5, 0x06, 0x96, 0x5e, 0x32, 0xd5, 0x68, 0x26, 0xe1,
1235                0x9f, 0xba, 0xd6, 0xc1,
1236            ],
1237            Core::FullRightShift16_1 => [
1238                0xb3, 0x79, 0xe2, 0x96, 0xe9, 0xa9, 0x8f, 0xb3, 0xb5, 0x66, 0x2b, 0x8b, 0xa0, 0x4e,
1239                0x3c, 0xc1, 0xa4, 0x3c, 0x74, 0x42, 0x9e, 0x93, 0x12, 0x33, 0xfd, 0xd7, 0xfc, 0x8f,
1240                0xe6, 0xb7, 0xa2, 0xe0,
1241            ],
1242            Core::FullRightShift16_2 => [
1243                0xae, 0xb8, 0xc6, 0x08, 0x06, 0xa4, 0x79, 0x20, 0x77, 0x58, 0xe3, 0x90, 0x83, 0xb4,
1244                0xa9, 0xa7, 0xa1, 0x4d, 0xa4, 0xee, 0x9b, 0xc1, 0x09, 0x7f, 0xc5, 0xcb, 0x4b, 0x75,
1245                0x54, 0x0d, 0x75, 0x78,
1246            ],
1247            Core::FullRightShift16_4 => [
1248                0x60, 0xb7, 0xf0, 0x84, 0x75, 0xcc, 0x0c, 0xce, 0x64, 0xdc, 0xa1, 0x2d, 0x9f, 0x6a,
1249                0x91, 0x9c, 0x30, 0x61, 0x81, 0x10, 0xed, 0xa1, 0x40, 0x65, 0x92, 0x9c, 0x00, 0x4e,
1250                0x7f, 0xc1, 0xb0, 0xfb,
1251            ],
1252            Core::FullRightShift16_8 => [
1253                0xf7, 0x9d, 0xba, 0x3e, 0x0a, 0xf3, 0xd6, 0xa5, 0x59, 0xa9, 0xe9, 0xdf, 0xfe, 0xa7,
1254                0x10, 0xaf, 0x62, 0x3f, 0xe6, 0xe6, 0x64, 0x4b, 0x89, 0x79, 0x95, 0xd7, 0x1b, 0x8a,
1255                0x41, 0x67, 0xdd, 0xb0,
1256            ],
1257            Core::FullRightShift32_1 => [
1258                0xad, 0x0d, 0x5c, 0x75, 0xea, 0x68, 0x43, 0x71, 0x91, 0x77, 0x0d, 0x7f, 0xdf, 0x80,
1259                0x4b, 0xbc, 0x9d, 0x57, 0x3d, 0x5f, 0x10, 0x19, 0x98, 0x23, 0xd8, 0x09, 0xc9, 0xc4,
1260                0x6c, 0xd2, 0x75, 0xad,
1261            ],
1262            Core::FullRightShift32_16 => [
1263                0x45, 0x52, 0x99, 0xfd, 0x6f, 0x42, 0xab, 0x49, 0xdb, 0xb7, 0x09, 0xe6, 0x5a, 0x3b,
1264                0x53, 0x66, 0x25, 0x0b, 0xdc, 0x54, 0x5d, 0x62, 0x29, 0xe8, 0xe2, 0x36, 0x05, 0x6d,
1265                0xdd, 0x19, 0x77, 0xfd,
1266            ],
1267            Core::FullRightShift32_2 => [
1268                0x44, 0x38, 0x4b, 0x15, 0x06, 0xd4, 0x43, 0xd2, 0xf8, 0xa2, 0x88, 0x2b, 0x45, 0x63,
1269                0xd7, 0x93, 0x1a, 0x7e, 0xbc, 0xe6, 0x4a, 0xcf, 0x0d, 0x02, 0xee, 0x59, 0xec, 0x69,
1270                0xd3, 0x06, 0x52, 0x39,
1271            ],
1272            Core::FullRightShift32_4 => [
1273                0x2e, 0x9a, 0x8a, 0xb5, 0xa1, 0x81, 0x7b, 0xd0, 0xb8, 0xa4, 0x66, 0x26, 0x99, 0x49,
1274                0x17, 0xa0, 0xde, 0x1a, 0x74, 0x5e, 0x99, 0x52, 0x0c, 0xe6, 0xeb, 0xcc, 0x67, 0xd4,
1275                0x63, 0x65, 0x51, 0xb7,
1276            ],
1277            Core::FullRightShift32_8 => [
1278                0xaf, 0x47, 0xd4, 0xf9, 0x6e, 0x7d, 0x80, 0x26, 0xd4, 0x4e, 0x6e, 0xca, 0x1b, 0x80,
1279                0x7f, 0x73, 0x34, 0x4c, 0xe2, 0xea, 0xf7, 0x00, 0xb2, 0xc8, 0x2b, 0x4b, 0xb0, 0x02,
1280                0x61, 0xa8, 0x6f, 0x94,
1281            ],
1282            Core::FullRightShift64_1 => [
1283                0x03, 0xaf, 0xb5, 0x47, 0xc3, 0x09, 0x13, 0xf1, 0x6f, 0x3e, 0x37, 0x0d, 0x7f, 0x9c,
1284                0xa0, 0x29, 0x0b, 0x61, 0x5b, 0x42, 0x85, 0x05, 0x1b, 0xb9, 0x3c, 0x3c, 0x1a, 0x9b,
1285                0x72, 0xee, 0x8d, 0xe4,
1286            ],
1287            Core::FullRightShift64_16 => [
1288                0x1f, 0xb0, 0x56, 0xfc, 0xb6, 0x90, 0xce, 0xe3, 0xcf, 0xf7, 0x2c, 0x7d, 0xec, 0xda,
1289                0x80, 0x6d, 0x21, 0x46, 0xc4, 0x92, 0xae, 0x73, 0x1a, 0x6b, 0x94, 0xb8, 0xbb, 0x4f,
1290                0x15, 0x99, 0xb0, 0xcc,
1291            ],
1292            Core::FullRightShift64_2 => [
1293                0x06, 0x73, 0xbf, 0xf2, 0x1e, 0x37, 0x5e, 0x5d, 0xbc, 0xaf, 0x38, 0x04, 0x66, 0x48,
1294                0x25, 0xdd, 0x67, 0x48, 0x44, 0xd2, 0xfd, 0xb7, 0x84, 0xa4, 0xfe, 0xfb, 0xc9, 0x25,
1295                0xcf, 0x6b, 0x27, 0xad,
1296            ],
1297            Core::FullRightShift64_32 => [
1298                0x35, 0x6f, 0x7d, 0xd4, 0x6b, 0xa3, 0x3f, 0x84, 0xb0, 0x66, 0x72, 0xfd, 0xe9, 0xa2,
1299                0x97, 0x2e, 0x80, 0xf3, 0xea, 0x96, 0x5a, 0xe8, 0xbc, 0x0b, 0xff, 0x67, 0xaa, 0x2f,
1300                0x69, 0xf1, 0x0b, 0x56,
1301            ],
1302            Core::FullRightShift64_4 => [
1303                0x4c, 0x25, 0xf6, 0x01, 0x1f, 0xd3, 0xd1, 0xac, 0x18, 0xe1, 0x1e, 0xb4, 0x30, 0x61,
1304                0xfa, 0xd6, 0x9f, 0x3c, 0xe3, 0x9f, 0x7a, 0x99, 0xce, 0xde, 0x50, 0xcc, 0x85, 0xbf,
1305                0x88, 0xbf, 0xba, 0x82,
1306            ],
1307            Core::FullRightShift64_8 => [
1308                0xa5, 0x1d, 0xf9, 0x44, 0x86, 0x02, 0xfa, 0x81, 0x00, 0x1a, 0xa1, 0xb5, 0xb1, 0x3b,
1309                0xe8, 0x8d, 0x4b, 0x2f, 0x4d, 0x0f, 0x60, 0x74, 0x08, 0x01, 0xce, 0xf9, 0x91, 0x00,
1310                0x2f, 0xe3, 0x7d, 0x6d,
1311            ],
1312            Core::FullRightShift8_1 => [
1313                0xd9, 0xd4, 0xb1, 0x6d, 0x37, 0xe4, 0xeb, 0x5c, 0xc5, 0x15, 0x04, 0x26, 0xe3, 0xe8,
1314                0x6c, 0xf6, 0x0a, 0xbb, 0xdf, 0xa1, 0xd0, 0xec, 0xb4, 0x15, 0x82, 0x96, 0x5e, 0x80,
1315                0x00, 0xcb, 0xd2, 0x91,
1316            ],
1317            Core::FullRightShift8_2 => [
1318                0x07, 0x9a, 0xa1, 0x66, 0x17, 0x19, 0x8a, 0xd5, 0xdf, 0x2c, 0x98, 0xa6, 0x3a, 0xf7,
1319                0x6c, 0x1b, 0x3e, 0x12, 0x0f, 0xd2, 0x10, 0x6b, 0x22, 0x5f, 0x63, 0xfd, 0x06, 0xac,
1320                0x57, 0x1d, 0x04, 0xa4,
1321            ],
1322            Core::FullRightShift8_4 => [
1323                0x9d, 0x9d, 0x3f, 0x63, 0x8a, 0x84, 0x63, 0x86, 0xa2, 0x1e, 0x71, 0x5f, 0x39, 0x46,
1324                0x16, 0x86, 0x4a, 0x2e, 0xf7, 0x98, 0x4a, 0x88, 0xcd, 0x95, 0x50, 0x55, 0x66, 0x29,
1325                0x7b, 0xe7, 0xe0, 0x6c,
1326            ],
1327            Core::FullSubtract16 => [
1328                0x1f, 0xc8, 0x8e, 0x23, 0x29, 0xf4, 0xaa, 0xf1, 0x2b, 0x30, 0x51, 0x3f, 0x7a, 0x21,
1329                0xcf, 0x5d, 0x8d, 0xe2, 0x4b, 0x60, 0x0a, 0x19, 0xa2, 0x17, 0x41, 0x28, 0x1b, 0x4d,
1330                0x61, 0xaa, 0xc6, 0x33,
1331            ],
1332            Core::FullSubtract32 => [
1333                0x78, 0x27, 0x05, 0xfb, 0x42, 0xe3, 0x6a, 0x7e, 0xf8, 0x31, 0x20, 0x0c, 0x61, 0x77,
1334                0x38, 0xd3, 0x1e, 0x13, 0xb1, 0xd0, 0xe7, 0xce, 0xed, 0x69, 0x3f, 0x13, 0x33, 0x88,
1335                0x35, 0xb3, 0x0a, 0xcb,
1336            ],
1337            Core::FullSubtract64 => [
1338                0xb2, 0x85, 0x6a, 0x91, 0x80, 0x23, 0x1b, 0xee, 0x3c, 0xb8, 0x92, 0x30, 0xf7, 0x5c,
1339                0x29, 0x2a, 0xf3, 0xe7, 0x52, 0x39, 0xdb, 0xeb, 0x39, 0x65, 0x48, 0x44, 0x1e, 0x6b,
1340                0x5a, 0x27, 0xe8, 0x13,
1341            ],
1342            Core::FullSubtract8 => [
1343                0x68, 0x85, 0xe1, 0x41, 0xae, 0x23, 0x4c, 0x1e, 0x2a, 0x7e, 0x4f, 0x23, 0x52, 0x98,
1344                0x93, 0x90, 0x36, 0x96, 0x9c, 0x95, 0x0f, 0x2c, 0xef, 0xd4, 0x59, 0xb4, 0x98, 0xac,
1345                0x3d, 0xd8, 0x92, 0x20,
1346            ],
1347            Core::GeIsOnCurve => [
1348                0x69, 0xf0, 0xe7, 0xa0, 0xc5, 0xff, 0xf8, 0x70, 0x84, 0xed, 0x69, 0x25, 0xf8, 0xdb,
1349                0x76, 0x2e, 0x41, 0x9e, 0x05, 0x7b, 0x96, 0x83, 0x4d, 0xce, 0x96, 0x99, 0xb0, 0xb0,
1350                0x09, 0x42, 0x30, 0x59,
1351            ],
1352            Core::GeNegate => [
1353                0x1e, 0xd0, 0xce, 0xd8, 0xdd, 0x25, 0x58, 0xe3, 0x48, 0x5f, 0x6f, 0xc3, 0x2d, 0x69,
1354                0xa2, 0x40, 0x5e, 0xca, 0xee, 0x31, 0x2d, 0xc4, 0xdc, 0x65, 0xe0, 0xfd, 0x34, 0x77,
1355                0x73, 0xf5, 0x98, 0x3d,
1356            ],
1357            Core::GejAdd => [
1358                0x5a, 0x1c, 0x31, 0x03, 0x49, 0xe8, 0xff, 0x5c, 0x5a, 0x61, 0xac, 0x3e, 0x10, 0x12,
1359                0x3f, 0x74, 0xe8, 0x7f, 0xab, 0xa1, 0x4c, 0x78, 0xbc, 0x83, 0xf9, 0xe3, 0x41, 0x36,
1360                0x87, 0xec, 0xf2, 0x8b,
1361            ],
1362            Core::GejDouble => [
1363                0x1e, 0xdd, 0x05, 0x82, 0xe2, 0xfc, 0xad, 0x99, 0xb1, 0x2d, 0x50, 0x6d, 0x29, 0xb5,
1364                0x0a, 0x63, 0x01, 0x7f, 0x67, 0x69, 0x28, 0xbe, 0x51, 0x13, 0x69, 0x00, 0x6e, 0x07,
1365                0xcb, 0x80, 0xd9, 0x82,
1366            ],
1367            Core::GejEquiv => [
1368                0x02, 0x74, 0x71, 0x05, 0x94, 0x87, 0xa1, 0x2c, 0xa2, 0x07, 0xf0, 0x94, 0x05, 0x94,
1369                0xd6, 0xcd, 0x87, 0xfc, 0x93, 0x0a, 0x8b, 0x5b, 0x31, 0x43, 0x4a, 0x16, 0xa2, 0xd6,
1370                0x7f, 0x1d, 0x8d, 0xd4,
1371            ],
1372            Core::GejGeAdd => [
1373                0x1e, 0xa7, 0x10, 0xd5, 0x6e, 0xaf, 0xee, 0x32, 0x5d, 0x26, 0x07, 0xdd, 0xb4, 0x5f,
1374                0xf0, 0x17, 0x0a, 0xde, 0xc2, 0xe0, 0xee, 0x9b, 0xcc, 0x68, 0xe4, 0xb9, 0x3e, 0x1d,
1375                0xe6, 0xad, 0x35, 0x68,
1376            ],
1377            Core::GejGeAddEx => [
1378                0x78, 0xf0, 0x87, 0x1b, 0x81, 0x73, 0xab, 0xde, 0x71, 0x87, 0x11, 0x26, 0x3b, 0x3a,
1379                0xc1, 0xd9, 0x22, 0x33, 0x7e, 0xd5, 0xed, 0x13, 0x8d, 0x29, 0x49, 0x62, 0xd6, 0x5c,
1380                0xe5, 0x59, 0xbd, 0x92,
1381            ],
1382            Core::GejGeEquiv => [
1383                0xba, 0x89, 0x9a, 0x00, 0x62, 0x16, 0xd1, 0xc9, 0x3b, 0xd5, 0xec, 0xbe, 0x00, 0x80,
1384                0xd9, 0x07, 0x8a, 0x50, 0x0a, 0x72, 0x9b, 0xbd, 0x39, 0x6a, 0x00, 0x4a, 0xf5, 0x1d,
1385                0x4f, 0xf7, 0xd9, 0x3a,
1386            ],
1387            Core::GejInfinity => [
1388                0x88, 0xa9, 0x52, 0xdb, 0x38, 0x16, 0xe9, 0x42, 0x59, 0xa6, 0x75, 0x37, 0xfa, 0x8f,
1389                0xca, 0x1a, 0x35, 0xa9, 0x07, 0xa8, 0x6f, 0x51, 0xed, 0xe4, 0x51, 0xfd, 0x32, 0xec,
1390                0x25, 0x3d, 0x9c, 0x62,
1391            ],
1392            Core::GejIsInfinity => [
1393                0x29, 0x80, 0xa7, 0x35, 0x41, 0x4e, 0x43, 0x21, 0xaf, 0xef, 0xfe, 0xfa, 0x88, 0x37,
1394                0xed, 0xb0, 0xa3, 0x30, 0x9a, 0x33, 0x7d, 0x59, 0xb7, 0xbd, 0xea, 0x92, 0x1c, 0x13,
1395                0x05, 0x6b, 0x04, 0x28,
1396            ],
1397            Core::GejIsOnCurve => [
1398                0x01, 0x87, 0xe1, 0xe5, 0xef, 0x76, 0x34, 0xa5, 0xf0, 0x16, 0x12, 0x4d, 0x4f, 0xeb,
1399                0x5a, 0x93, 0xdd, 0xe6, 0xaa, 0x78, 0x17, 0x6c, 0xda, 0x48, 0xb1, 0x65, 0xa9, 0xaa,
1400                0x8e, 0x04, 0x49, 0xf2,
1401            ],
1402            Core::GejNegate => [
1403                0xb3, 0x2c, 0x74, 0xca, 0xb2, 0xc7, 0x50, 0x0b, 0x73, 0xf8, 0xec, 0x05, 0x60, 0xfe,
1404                0x23, 0xfc, 0x4c, 0x21, 0xaa, 0x66, 0x59, 0x6d, 0x7f, 0x2a, 0xcf, 0x49, 0x67, 0x88,
1405                0x6b, 0x76, 0xd8, 0x56,
1406            ],
1407            Core::GejNormalize => [
1408                0x5d, 0xe0, 0x97, 0x6a, 0xe7, 0xf3, 0x8b, 0x36, 0xf0, 0x02, 0x28, 0x14, 0x96, 0x6d,
1409                0xb2, 0xba, 0xed, 0x5c, 0x47, 0x67, 0x14, 0x94, 0x4d, 0x74, 0x1a, 0x89, 0x79, 0xc4,
1410                0xbc, 0xf8, 0xbe, 0x25,
1411            ],
1412            Core::GejRescale => [
1413                0xdc, 0xfc, 0x72, 0xa7, 0x68, 0xd5, 0xbe, 0x77, 0x0f, 0x8d, 0xb2, 0x78, 0xae, 0xaf,
1414                0xd1, 0x8e, 0x27, 0x70, 0x4c, 0x64, 0xf8, 0xb4, 0x0f, 0xa6, 0xfe, 0x54, 0xca, 0x94,
1415                0x72, 0x7a, 0x07, 0x6e,
1416            ],
1417            Core::GejXEquiv => [
1418                0x52, 0xcc, 0x21, 0x47, 0x09, 0xc0, 0xd9, 0xfc, 0xa9, 0xdb, 0x1d, 0x09, 0xcc, 0x80,
1419                0x7c, 0x75, 0xcf, 0x5a, 0x63, 0x13, 0xca, 0x54, 0x0a, 0x77, 0x2d, 0x4e, 0xa9, 0x92,
1420                0x1f, 0x37, 0xe6, 0x24,
1421            ],
1422            Core::GejYIsOdd => [
1423                0xfe, 0x01, 0x06, 0xaf, 0xb9, 0xd9, 0xe2, 0x4f, 0xd4, 0xdb, 0xe5, 0x45, 0x11, 0xfe,
1424                0x27, 0x2f, 0x4d, 0xcb, 0x30, 0x7a, 0x0e, 0xa5, 0x6d, 0x59, 0x1c, 0xeb, 0x93, 0xab,
1425                0x4b, 0xf8, 0x87, 0x45,
1426            ],
1427            Core::Generate => [
1428                0xdf, 0x44, 0xe1, 0x7d, 0x2a, 0x55, 0x9d, 0xd0, 0xa7, 0x03, 0x49, 0x54, 0xab, 0x33,
1429                0x37, 0x77, 0x78, 0xb1, 0x51, 0xf1, 0xcd, 0x1e, 0x4f, 0x9f, 0xd3, 0x1b, 0x36, 0x1d,
1430                0x34, 0xa8, 0xd9, 0x73,
1431            ],
1432            Core::HashToCurve => [
1433                0x76, 0xf7, 0xca, 0x1d, 0xb9, 0x44, 0xee, 0x31, 0x5e, 0xd3, 0x62, 0xfe, 0xe0, 0x67,
1434                0x3c, 0x58, 0x94, 0xf8, 0x85, 0x3b, 0x44, 0x60, 0x70, 0x90, 0x1b, 0x85, 0x79, 0x01,
1435                0xf9, 0x49, 0x9d, 0x9b,
1436            ],
1437            Core::High1 => [
1438                0xc3, 0x2d, 0x87, 0x7e, 0x67, 0x0d, 0x6c, 0x03, 0x7c, 0xb3, 0x35, 0x33, 0x28, 0x9e,
1439                0x19, 0xa7, 0x24, 0xc3, 0x68, 0xaa, 0x75, 0x51, 0xda, 0xa6, 0xd2, 0xda, 0xcc, 0xcd,
1440                0x8c, 0x95, 0xf4, 0xd0,
1441            ],
1442            Core::High16 => [
1443                0x41, 0x64, 0xab, 0x6e, 0x2f, 0xf8, 0xee, 0xf6, 0x3c, 0x06, 0xc0, 0x80, 0xf1, 0xde,
1444                0xc6, 0x97, 0x0b, 0x4c, 0x5c, 0x31, 0xc0, 0x23, 0x05, 0xab, 0xcc, 0xd8, 0xed, 0x2c,
1445                0x5e, 0x1c, 0x45, 0xce,
1446            ],
1447            Core::High32 => [
1448                0xd3, 0xa7, 0xce, 0x9c, 0xd5, 0xd5, 0xfb, 0x67, 0x9a, 0x98, 0xef, 0x57, 0xb8, 0x63,
1449                0x22, 0x77, 0x0c, 0xb6, 0x6f, 0xb6, 0xf0, 0x61, 0x6e, 0x16, 0x34, 0xcf, 0xa8, 0x4c,
1450                0x8f, 0x68, 0x09, 0xc6,
1451            ],
1452            Core::High64 => [
1453                0x4a, 0xf9, 0x1f, 0xaf, 0x8e, 0x39, 0xf4, 0xda, 0x7c, 0x28, 0xa8, 0x79, 0x65, 0x94,
1454                0xa9, 0x22, 0x82, 0x13, 0xd7, 0x32, 0x3e, 0xea, 0x2c, 0xa6, 0x30, 0x75, 0x2c, 0xe4,
1455                0xc5, 0x7f, 0x16, 0xe1,
1456            ],
1457            Core::High8 => [
1458                0xcb, 0xd7, 0x8d, 0x50, 0xaf, 0x77, 0x99, 0x85, 0x5a, 0xdc, 0x49, 0x03, 0xdb, 0xbe,
1459                0xfc, 0x13, 0x45, 0xd5, 0x14, 0x84, 0xf0, 0x3d, 0x3c, 0x75, 0x5c, 0xaa, 0xa5, 0xca,
1460                0xa9, 0x7d, 0x4a, 0x14,
1461            ],
1462            Core::Increment16 => [
1463                0xdf, 0x27, 0x48, 0x88, 0xce, 0x4c, 0xeb, 0xdd, 0x57, 0x08, 0xb3, 0x8d, 0xc3, 0xdb,
1464                0xb1, 0x9c, 0xc2, 0xf0, 0x36, 0x4b, 0x24, 0x63, 0xe9, 0x9c, 0xf5, 0xaa, 0xb4, 0xf8,
1465                0xa2, 0x3e, 0xa5, 0x8a,
1466            ],
1467            Core::Increment32 => [
1468                0x54, 0xf7, 0x57, 0xae, 0xa7, 0x6b, 0xc7, 0xa3, 0x9f, 0xc4, 0x3d, 0x19, 0xb8, 0xdd,
1469                0x56, 0x3a, 0x68, 0x07, 0xdf, 0x02, 0x77, 0xa5, 0x6f, 0xcb, 0x50, 0x10, 0x89, 0xce,
1470                0x7d, 0x06, 0x77, 0x4c,
1471            ],
1472            Core::Increment64 => [
1473                0x79, 0xed, 0x5f, 0x77, 0x99, 0xfb, 0x09, 0xda, 0x51, 0x04, 0x29, 0xa2, 0x01, 0x28,
1474                0xbe, 0xd0, 0x91, 0xd8, 0x58, 0x76, 0x47, 0x07, 0x12, 0x85, 0xcd, 0xec, 0x3a, 0x0c,
1475                0x95, 0x70, 0x9e, 0x5b,
1476            ],
1477            Core::Increment8 => [
1478                0x0c, 0x71, 0x7e, 0x84, 0xdf, 0x67, 0x82, 0x3f, 0x57, 0x41, 0xb3, 0xd5, 0x5d, 0xbe,
1479                0xb4, 0x72, 0x9c, 0x2b, 0xd6, 0x2f, 0x5d, 0x1d, 0xef, 0x3c, 0xab, 0xcc, 0xdd, 0x6c,
1480                0xb8, 0xdc, 0xb5, 0x6c,
1481            ],
1482            Core::IsOne16 => [
1483                0x84, 0x35, 0x87, 0x9c, 0xcb, 0x86, 0x44, 0x19, 0x8d, 0xcb, 0x9a, 0x0c, 0xd7, 0x35,
1484                0x46, 0xd7, 0x01, 0xfd, 0xd5, 0xa4, 0xc4, 0x43, 0x23, 0xf5, 0x63, 0x97, 0x15, 0x99,
1485                0xc3, 0x7d, 0x16, 0xfb,
1486            ],
1487            Core::IsOne32 => [
1488                0xdd, 0xfb, 0xd9, 0xf0, 0xa2, 0xe6, 0x7c, 0x07, 0xde, 0xdb, 0x89, 0xe8, 0x96, 0xb6,
1489                0xc4, 0xf7, 0xd4, 0x5c, 0x51, 0x47, 0xee, 0xd0, 0x61, 0x4e, 0x4c, 0xe7, 0xd0, 0x87,
1490                0x69, 0xaf, 0xf8, 0x2d,
1491            ],
1492            Core::IsOne64 => [
1493                0x35, 0xc5, 0x25, 0x54, 0x8e, 0x48, 0xee, 0xa0, 0xf7, 0x7b, 0x3b, 0xf9, 0x7a, 0xb6,
1494                0x7a, 0x1f, 0xfe, 0x8f, 0xb0, 0x94, 0xed, 0xe3, 0x32, 0x5e, 0x40, 0x64, 0xb1, 0x65,
1495                0x9c, 0x6d, 0x07, 0x65,
1496            ],
1497            Core::IsOne8 => [
1498                0x0a, 0xba, 0x9e, 0x57, 0x6e, 0x64, 0xd2, 0x80, 0x4c, 0x8a, 0xc4, 0x68, 0x2b, 0xbb,
1499                0xa5, 0x39, 0x0e, 0xbc, 0x31, 0xa6, 0xe3, 0xe2, 0x65, 0x0f, 0x92, 0x19, 0x23, 0x5d,
1500                0xf4, 0xa6, 0xec, 0xbb,
1501            ],
1502            Core::IsZero16 => [
1503                0xa2, 0x5a, 0xbd, 0x9c, 0xd2, 0xa4, 0x07, 0x0c, 0x74, 0x2e, 0xf8, 0xde, 0xb0, 0x68,
1504                0x29, 0x22, 0x46, 0x03, 0x2b, 0x96, 0xa5, 0x17, 0x22, 0x3b, 0x12, 0x8c, 0xfc, 0x12,
1505                0xd2, 0x15, 0xc5, 0xba,
1506            ],
1507            Core::IsZero32 => [
1508                0x61, 0x2a, 0x48, 0x0c, 0xed, 0x6a, 0x79, 0xda, 0x61, 0x19, 0x54, 0x6e, 0x05, 0x6b,
1509                0x8d, 0xf9, 0xfa, 0x95, 0xd1, 0x12, 0x4b, 0x96, 0xd6, 0x01, 0xe1, 0xd3, 0xea, 0x91,
1510                0x8c, 0xc5, 0x60, 0x69,
1511            ],
1512            Core::IsZero64 => [
1513                0x18, 0xe8, 0xe1, 0x77, 0x6b, 0xa0, 0x80, 0xcc, 0xd3, 0xe1, 0xd6, 0x0c, 0xb7, 0x53,
1514                0x41, 0x45, 0x36, 0xbf, 0x70, 0xdf, 0x18, 0x5f, 0x72, 0xc9, 0xe0, 0x70, 0x79, 0x6f,
1515                0x4c, 0x63, 0xcc, 0x71,
1516            ],
1517            Core::IsZero8 => [
1518                0xb4, 0xba, 0xa5, 0x09, 0x38, 0x10, 0x84, 0x26, 0x74, 0x0d, 0x82, 0xcf, 0x12, 0x11,
1519                0xe0, 0xed, 0x12, 0x6d, 0xe3, 0xb7, 0x6b, 0x8d, 0x25, 0x9c, 0x50, 0xad, 0x4b, 0x8f,
1520                0xca, 0xb1, 0x0a, 0xb6,
1521            ],
1522            Core::Le16 => [
1523                0x63, 0xda, 0x72, 0x7c, 0xcb, 0x4c, 0x6a, 0x9d, 0x4e, 0x00, 0x09, 0x64, 0xe7, 0x63,
1524                0xbf, 0xf9, 0x34, 0xea, 0xaf, 0xd0, 0x44, 0x28, 0x7e, 0x12, 0x68, 0xd0, 0x7e, 0xcd,
1525                0xfd, 0xe2, 0x07, 0xe1,
1526            ],
1527            Core::Le32 => [
1528                0xde, 0xe2, 0x9a, 0x91, 0x65, 0x6d, 0x7a, 0xe7, 0x3d, 0xf4, 0x95, 0x6f, 0xd8, 0xa2,
1529                0xc6, 0xb6, 0x27, 0xaa, 0xb5, 0x1c, 0x11, 0x29, 0xf9, 0xfe, 0x7f, 0x6e, 0xd3, 0xe3,
1530                0x47, 0x92, 0xc7, 0x62,
1531            ],
1532            Core::Le64 => [
1533                0x01, 0xc5, 0x5d, 0xf7, 0xd4, 0x46, 0x59, 0x66, 0x65, 0x9d, 0xdf, 0xc9, 0x4b, 0x36,
1534                0xd0, 0x33, 0x24, 0x2c, 0x2e, 0xc5, 0x93, 0xce, 0xe1, 0x21, 0x22, 0x44, 0x07, 0x75,
1535                0x66, 0xed, 0x01, 0x5f,
1536            ],
1537            Core::Le8 => [
1538                0x0f, 0xb7, 0x2d, 0x9f, 0x8e, 0xe2, 0x37, 0x0a, 0xba, 0x55, 0x66, 0x3a, 0x48, 0x99,
1539                0x16, 0x2e, 0x40, 0xca, 0x55, 0x14, 0x71, 0x3e, 0xfb, 0x25, 0xe4, 0xa8, 0x9e, 0x2a,
1540                0x10, 0x4b, 0x34, 0xdb,
1541            ],
1542            Core::LeftExtend16_32 => [
1543                0xdc, 0xf4, 0x2b, 0x65, 0x42, 0xf6, 0xd4, 0x1c, 0xb7, 0xb5, 0x0e, 0x7c, 0x77, 0x2f,
1544                0x3c, 0x7f, 0x6e, 0x43, 0x22, 0x32, 0xf2, 0xba, 0x20, 0x79, 0xb3, 0x86, 0xa0, 0x5d,
1545                0x7b, 0x46, 0x6a, 0xdd,
1546            ],
1547            Core::LeftExtend16_64 => [
1548                0x2e, 0xee, 0x48, 0xa9, 0x22, 0x37, 0x94, 0x7c, 0x1a, 0x51, 0x7d, 0xf9, 0x95, 0xf4,
1549                0x4f, 0x1d, 0xfe, 0xf2, 0x0d, 0xdb, 0x4e, 0x9b, 0x53, 0x0b, 0x22, 0xd1, 0x8a, 0x0a,
1550                0x7f, 0xd6, 0x28, 0xaa,
1551            ],
1552            Core::LeftExtend1_16 => [
1553                0x9a, 0x48, 0xa4, 0x77, 0x8e, 0x7c, 0x3c, 0x28, 0x5a, 0xb6, 0x53, 0x29, 0xd1, 0xcc,
1554                0xc4, 0x99, 0x9d, 0x2d, 0x19, 0x4e, 0x00, 0x5b, 0xd7, 0x94, 0x69, 0x49, 0x53, 0x3d,
1555                0x8c, 0xba, 0x80, 0x6c,
1556            ],
1557            Core::LeftExtend1_32 => [
1558                0xda, 0xb6, 0xa5, 0x33, 0xcb, 0xcb, 0xe8, 0x36, 0x2c, 0xf1, 0xd5, 0xa1, 0x6e, 0xa3,
1559                0x7c, 0xbc, 0x7e, 0xdc, 0x7f, 0xc8, 0xa9, 0x42, 0x85, 0x71, 0xe1, 0x71, 0xec, 0x6e,
1560                0xe4, 0x4d, 0x08, 0x00,
1561            ],
1562            Core::LeftExtend1_64 => [
1563                0x11, 0x0e, 0x5c, 0x1e, 0xf0, 0xb4, 0x69, 0xa7, 0x63, 0x85, 0x70, 0xda, 0x94, 0x4d,
1564                0x23, 0x2e, 0x0f, 0x28, 0xc4, 0x61, 0x51, 0xa2, 0x25, 0x35, 0x7d, 0xe3, 0xe9, 0x04,
1565                0x57, 0xa8, 0x8e, 0xa2,
1566            ],
1567            Core::LeftExtend1_8 => [
1568                0x5a, 0x83, 0x1c, 0xa9, 0x96, 0x21, 0x51, 0x7a, 0x2b, 0x35, 0x4e, 0x5c, 0xac, 0x38,
1569                0xbc, 0x3a, 0x30, 0xc4, 0x00, 0x1f, 0x20, 0xd2, 0x5d, 0x77, 0x97, 0xad, 0xdc, 0xac,
1570                0x5d, 0xa8, 0x61, 0x06,
1571            ],
1572            Core::LeftExtend32_64 => [
1573                0x84, 0xfc, 0xc6, 0x9b, 0xa1, 0xdb, 0x50, 0xdb, 0xd5, 0x36, 0x3c, 0xf2, 0x77, 0x79,
1574                0x57, 0x60, 0x1d, 0xe2, 0x56, 0x8a, 0xdf, 0x07, 0xaf, 0x41, 0x61, 0xde, 0xbb, 0x1e,
1575                0x5e, 0x37, 0x31, 0x0a,
1576            ],
1577            Core::LeftExtend8_16 => [
1578                0xfe, 0xa1, 0xf2, 0x5a, 0x82, 0xfd, 0xf6, 0xf8, 0x66, 0x9c, 0xc4, 0x0f, 0xbb, 0x8e,
1579                0x54, 0xa9, 0x26, 0x58, 0xbf, 0xab, 0x94, 0xeb, 0x08, 0x2f, 0x71, 0x7b, 0xa2, 0x65,
1580                0xb5, 0xd8, 0x44, 0xb4,
1581            ],
1582            Core::LeftExtend8_32 => [
1583                0x09, 0xd7, 0x03, 0xca, 0x46, 0xf7, 0x5d, 0x05, 0x1a, 0x93, 0xd0, 0xe8, 0xa2, 0xaf,
1584                0x05, 0x01, 0xa3, 0x8e, 0x84, 0x86, 0x83, 0xef, 0x10, 0x9c, 0x1f, 0xb4, 0xb5, 0xbe,
1585                0x20, 0xe6, 0x31, 0x5d,
1586            ],
1587            Core::LeftExtend8_64 => [
1588                0xd3, 0xda, 0xfc, 0xbd, 0xab, 0x69, 0xa2, 0xbb, 0x32, 0x0f, 0x8d, 0x23, 0x0c, 0xef,
1589                0xd0, 0x9c, 0x27, 0xa1, 0x54, 0xc5, 0x1e, 0x7e, 0x5c, 0xd5, 0x33, 0x4e, 0xaf, 0xed,
1590                0x19, 0xe2, 0x0d, 0xf4,
1591            ],
1592            Core::LeftPadHigh16_32 => [
1593                0x88, 0x8c, 0x7e, 0x0a, 0xb0, 0x03, 0x14, 0x75, 0xc5, 0x14, 0xf9, 0xb3, 0x7c, 0x81,
1594                0xf4, 0x5a, 0x47, 0x31, 0x49, 0x84, 0xe5, 0x02, 0x75, 0x08, 0xdd, 0xc5, 0xeb, 0x8d,
1595                0x8d, 0x10, 0xbe, 0xb9,
1596            ],
1597            Core::LeftPadHigh16_64 => [
1598                0x52, 0x6b, 0x35, 0x05, 0x45, 0x01, 0x36, 0xd6, 0x81, 0xa5, 0x0b, 0x4b, 0xde, 0x4f,
1599                0xa6, 0x12, 0xda, 0x9d, 0x69, 0xbd, 0x08, 0x17, 0x0e, 0xa3, 0x2d, 0x0a, 0x26, 0x51,
1600                0x11, 0x50, 0x72, 0xeb,
1601            ],
1602            Core::LeftPadHigh1_16 => [
1603                0x93, 0xae, 0xd6, 0xf6, 0x87, 0x50, 0x77, 0x4b, 0x2d, 0xbf, 0x83, 0x14, 0xca, 0xde,
1604                0xbe, 0x5a, 0x41, 0x52, 0x43, 0xfb, 0xdf, 0x7c, 0x2e, 0xea, 0x8b, 0x22, 0x3d, 0xf3,
1605                0x26, 0x1e, 0x3b, 0xdb,
1606            ],
1607            Core::LeftPadHigh1_32 => [
1608                0x00, 0x82, 0x98, 0xf8, 0x2f, 0xb6, 0xcf, 0x37, 0xe9, 0xdc, 0x70, 0x3e, 0xa4, 0xf9,
1609                0x49, 0x56, 0x5c, 0x29, 0x65, 0xa7, 0xc7, 0xf4, 0xfa, 0x22, 0xf5, 0x54, 0x56, 0x42,
1610                0x34, 0x08, 0xa3, 0xab,
1611            ],
1612            Core::LeftPadHigh1_64 => [
1613                0x2b, 0x45, 0x4e, 0xbd, 0x79, 0x1e, 0xc7, 0xda, 0xce, 0xdc, 0xb8, 0x6c, 0x69, 0xd0,
1614                0x26, 0x79, 0x4a, 0x5d, 0xc3, 0x72, 0x52, 0x61, 0xe7, 0xdc, 0x16, 0x50, 0xcc, 0x88,
1615                0x81, 0x17, 0xfc, 0x4f,
1616            ],
1617            Core::LeftPadHigh1_8 => [
1618                0x6c, 0x27, 0x7c, 0x4c, 0xd0, 0x53, 0xdd, 0x35, 0x02, 0xdb, 0xe0, 0xbb, 0xc1, 0x4e,
1619                0xb0, 0xb3, 0x6a, 0x20, 0x1a, 0xbe, 0xf3, 0xb1, 0x74, 0xb0, 0xeb, 0xfe, 0x05, 0x20,
1620                0x18, 0xb6, 0x7e, 0x67,
1621            ],
1622            Core::LeftPadHigh32_64 => [
1623                0x5d, 0x41, 0x22, 0x1c, 0xf6, 0x15, 0x82, 0x97, 0xb0, 0x6c, 0x19, 0x57, 0x11, 0x2c,
1624                0x0d, 0x12, 0xf3, 0xeb, 0x91, 0x7a, 0x2f, 0x50, 0x9a, 0x53, 0x9d, 0x5c, 0x9b, 0x79,
1625                0x10, 0x21, 0x9b, 0x65,
1626            ],
1627            Core::LeftPadHigh8_16 => [
1628                0x21, 0x78, 0xdc, 0x76, 0xc0, 0x4c, 0x79, 0xd9, 0x18, 0x15, 0xd3, 0x8c, 0x96, 0x7f,
1629                0x34, 0x21, 0x3f, 0xfc, 0xc6, 0xc5, 0xf2, 0x43, 0xc9, 0x56, 0x29, 0x73, 0xf0, 0x90,
1630                0xca, 0x5c, 0xae, 0xfa,
1631            ],
1632            Core::LeftPadHigh8_32 => [
1633                0xa4, 0xe8, 0x6b, 0x53, 0xe5, 0xd0, 0x0f, 0xaf, 0x0b, 0x3e, 0x9d, 0x53, 0x20, 0x2a,
1634                0xf7, 0x73, 0x8d, 0xcb, 0x88, 0x87, 0xa1, 0x8d, 0xfe, 0xe5, 0xbe, 0x34, 0xc4, 0x97,
1635                0x69, 0x8c, 0xa6, 0xb7,
1636            ],
1637            Core::LeftPadHigh8_64 => [
1638                0xc8, 0x43, 0xa7, 0x2c, 0x41, 0x17, 0x0f, 0x40, 0x34, 0x33, 0xc4, 0x36, 0xa3, 0x9b,
1639                0x05, 0xcf, 0x19, 0x3c, 0x27, 0xd8, 0xbe, 0x35, 0x30, 0xf9, 0xb9, 0x4e, 0x42, 0xd7,
1640                0x63, 0x00, 0x3d, 0x54,
1641            ],
1642            Core::LeftPadLow16_32 => [
1643                0x21, 0x53, 0x7f, 0x7d, 0x8f, 0x97, 0xf2, 0x20, 0x3c, 0xcc, 0xb0, 0x35, 0xef, 0x1d,
1644                0x46, 0x28, 0x9e, 0xe8, 0xaa, 0x50, 0xf0, 0x23, 0x60, 0x77, 0xd0, 0xd0, 0xb2, 0x10,
1645                0x70, 0x04, 0x40, 0xa1,
1646            ],
1647            Core::LeftPadLow16_64 => [
1648                0x6b, 0x2e, 0xa9, 0x63, 0x0c, 0x5d, 0xde, 0x03, 0x7a, 0xab, 0x2b, 0xf7, 0x33, 0x21,
1649                0x9b, 0x99, 0xc7, 0xed, 0xc2, 0xec, 0xed, 0xb9, 0xa0, 0x3a, 0xdf, 0xd1, 0x69, 0x43,
1650                0x0b, 0x08, 0xbb, 0x9c,
1651            ],
1652            Core::LeftPadLow1_16 => [
1653                0x4a, 0xa4, 0x05, 0x20, 0xfa, 0xed, 0x72, 0xe6, 0xe9, 0xbe, 0x3b, 0xe6, 0x93, 0x0f,
1654                0x1e, 0x32, 0xb0, 0xb1, 0x82, 0xc4, 0x32, 0x7a, 0xda, 0x94, 0xa7, 0x1f, 0x00, 0x6d,
1655                0x14, 0x90, 0x15, 0xf9,
1656            ],
1657            Core::LeftPadLow1_32 => [
1658                0xcf, 0xb4, 0x75, 0x3b, 0xb9, 0xba, 0x36, 0x21, 0xba, 0x09, 0x37, 0x82, 0x5f, 0xad,
1659                0xe6, 0x43, 0x09, 0x8e, 0x38, 0x5e, 0xd6, 0x8e, 0xfb, 0x16, 0xff, 0x58, 0xec, 0xf3,
1660                0x65, 0xd7, 0xe5, 0xe2,
1661            ],
1662            Core::LeftPadLow1_64 => [
1663                0xe6, 0xf1, 0xc0, 0x9b, 0x5f, 0xe1, 0x26, 0xd0, 0xea, 0x86, 0xe7, 0xbf, 0xc0, 0xb2,
1664                0x8e, 0x84, 0x9f, 0x8f, 0x7e, 0xfd, 0x31, 0x06, 0x4e, 0xa4, 0xfd, 0x1c, 0xca, 0x07,
1665                0x1b, 0x45, 0xdb, 0x93,
1666            ],
1667            Core::LeftPadLow1_8 => [
1668                0xdc, 0x5a, 0x47, 0xf8, 0xd7, 0x77, 0x65, 0xc9, 0x94, 0xcb, 0xe8, 0x6a, 0xae, 0x44,
1669                0xa9, 0xc5, 0xff, 0x2e, 0xbc, 0x38, 0x10, 0xd7, 0x9c, 0xd8, 0x3b, 0xd2, 0xc4, 0x09,
1670                0x8c, 0x76, 0x2b, 0xf5,
1671            ],
1672            Core::LeftPadLow32_64 => [
1673                0x2d, 0x88, 0xe4, 0xd0, 0x1e, 0x01, 0x08, 0xc0, 0xd6, 0x88, 0x0f, 0x3c, 0xe8, 0x48,
1674                0x2b, 0xb0, 0x95, 0x1f, 0x2b, 0x3f, 0xc5, 0xdf, 0x4b, 0x1a, 0xdb, 0x18, 0x4a, 0x1b,
1675                0xfd, 0x1f, 0x64, 0x65,
1676            ],
1677            Core::LeftPadLow8_16 => [
1678                0xac, 0x1a, 0x4c, 0x97, 0x83, 0xe4, 0xdb, 0xed, 0x27, 0x00, 0xeb, 0x29, 0x52, 0xe3,
1679                0x06, 0x2a, 0x5a, 0x72, 0x71, 0x2f, 0x82, 0x15, 0x98, 0x61, 0xb0, 0x8e, 0x67, 0xef,
1680                0x4a, 0x71, 0xf5, 0xf2,
1681            ],
1682            Core::LeftPadLow8_32 => [
1683                0x3d, 0xa5, 0xf1, 0xa8, 0xc9, 0x78, 0x19, 0xae, 0x7e, 0x10, 0xb9, 0x36, 0x4f, 0xf8,
1684                0x49, 0x96, 0xd0, 0xd7, 0x3e, 0x69, 0x8a, 0x49, 0xda, 0x69, 0x1f, 0x69, 0xa2, 0x73,
1685                0x25, 0x42, 0x01, 0xcd,
1686            ],
1687            Core::LeftPadLow8_64 => [
1688                0x25, 0xbc, 0x18, 0xd4, 0x9f, 0x93, 0x40, 0x72, 0x27, 0x7d, 0x3f, 0x61, 0x3b, 0xf1,
1689                0x6c, 0x11, 0x8d, 0xf1, 0x97, 0xbc, 0x92, 0x87, 0x2d, 0x2a, 0xff, 0xe4, 0x17, 0xad,
1690                0xea, 0xaf, 0x1a, 0x85,
1691            ],
1692            Core::LeftRotate16 => [
1693                0x88, 0xc1, 0x23, 0x37, 0xcd, 0x75, 0x4f, 0x83, 0x80, 0x98, 0x6d, 0x86, 0xfe, 0x3a,
1694                0x89, 0xe2, 0x62, 0x74, 0x66, 0x53, 0xe1, 0xba, 0xdd, 0x9c, 0xc9, 0xb4, 0x76, 0x45,
1695                0xfe, 0x57, 0x19, 0x5a,
1696            ],
1697            Core::LeftRotate32 => [
1698                0x39, 0x81, 0x6c, 0xcd, 0x9e, 0x9c, 0xf1, 0x19, 0x1f, 0x06, 0x5d, 0x2e, 0xb7, 0xa7,
1699                0xfb, 0x83, 0x82, 0x8d, 0x91, 0xec, 0x7d, 0x99, 0x77, 0xa1, 0xfc, 0x70, 0xbe, 0x9b,
1700                0x31, 0xa4, 0x68, 0xb9,
1701            ],
1702            Core::LeftRotate64 => [
1703                0x8b, 0x23, 0x55, 0xc3, 0x1e, 0x3b, 0x61, 0x4b, 0xd4, 0xb4, 0x1c, 0x3e, 0xcf, 0x27,
1704                0x74, 0x24, 0xd0, 0x26, 0x76, 0x6b, 0x37, 0xbc, 0x6c, 0x10, 0x56, 0x21, 0xf4, 0xf6,
1705                0xa1, 0x6f, 0x9b, 0xdf,
1706            ],
1707            Core::LeftRotate8 => [
1708                0x9e, 0x96, 0x6e, 0x88, 0x0c, 0x6b, 0x0c, 0x48, 0x3c, 0x90, 0xbe, 0xee, 0xd7, 0xc5,
1709                0x73, 0x7c, 0xa5, 0xf3, 0xfa, 0xcf, 0x85, 0xaa, 0xb3, 0xd5, 0x31, 0xad, 0x34, 0xbd,
1710                0x7b, 0x1a, 0x9b, 0x68,
1711            ],
1712            Core::LeftShift16 => [
1713                0xb0, 0x53, 0x60, 0x18, 0x4d, 0x06, 0x02, 0xb5, 0x81, 0x40, 0x5e, 0x32, 0x96, 0x0b,
1714                0x31, 0xc0, 0x52, 0x19, 0x35, 0x8d, 0xe8, 0x9e, 0xfd, 0xf4, 0x94, 0x64, 0x72, 0x3d,
1715                0xd6, 0x25, 0x61, 0x7a,
1716            ],
1717            Core::LeftShift32 => [
1718                0x34, 0xbf, 0x54, 0xf5, 0x94, 0xc2, 0x62, 0x10, 0x07, 0xf8, 0xc7, 0x8b, 0x30, 0xfa,
1719                0xd3, 0x96, 0x72, 0x00, 0x9b, 0xb3, 0x66, 0xaa, 0xce, 0x1e, 0x5e, 0x41, 0xee, 0x4d,
1720                0x9c, 0xc5, 0x41, 0xa8,
1721            ],
1722            Core::LeftShift64 => [
1723                0x5d, 0xe9, 0x53, 0xf0, 0x4d, 0xea, 0xed, 0x90, 0x47, 0x56, 0x76, 0x47, 0xa1, 0xeb,
1724                0x7a, 0xbe, 0x66, 0x5f, 0xec, 0xcb, 0xe7, 0xed, 0x10, 0xcb, 0x7d, 0xbe, 0x69, 0x12,
1725                0x73, 0xc0, 0x94, 0xb0,
1726            ],
1727            Core::LeftShift8 => [
1728                0xab, 0x9d, 0x3e, 0x9a, 0xc3, 0x90, 0x38, 0xad, 0x88, 0xb1, 0x03, 0xf0, 0x72, 0x25,
1729                0x4c, 0x0e, 0xc6, 0xe2, 0x74, 0x75, 0xe2, 0x75, 0xc2, 0x45, 0xe8, 0x8c, 0xce, 0x0d,
1730                0x07, 0x2e, 0x64, 0x46,
1731            ],
1732            Core::LeftShiftWith16 => [
1733                0xe2, 0x91, 0x07, 0x88, 0x55, 0x50, 0x45, 0x0e, 0xb7, 0x27, 0xd0, 0xcf, 0x14, 0xe1,
1734                0x04, 0xae, 0x12, 0xf8, 0x3a, 0x24, 0xe2, 0xe2, 0xac, 0xa3, 0xcc, 0xe4, 0x33, 0xde,
1735                0x2f, 0x35, 0xd7, 0xb3,
1736            ],
1737            Core::LeftShiftWith32 => [
1738                0xf3, 0x92, 0x50, 0xc4, 0x5a, 0x13, 0x10, 0xcc, 0x63, 0x8c, 0x78, 0x8d, 0xee, 0xc5,
1739                0xc3, 0x65, 0xb4, 0xd1, 0x76, 0xd1, 0x0e, 0xfb, 0xf4, 0xc6, 0x01, 0xcf, 0x5e, 0xeb,
1740                0xe0, 0xa5, 0x73, 0xe9,
1741            ],
1742            Core::LeftShiftWith64 => [
1743                0xad, 0x87, 0x94, 0xcf, 0xae, 0xf2, 0xb7, 0xf7, 0x74, 0xfa, 0x68, 0xd3, 0x09, 0xbb,
1744                0xc9, 0x8d, 0xfe, 0xe5, 0x8c, 0x40, 0x40, 0x0b, 0x2e, 0xb5, 0x78, 0xa2, 0x12, 0xf4,
1745                0x38, 0xbd, 0x07, 0xab,
1746            ],
1747            Core::LeftShiftWith8 => [
1748                0xdd, 0x9c, 0xc1, 0xce, 0xa7, 0x49, 0x09, 0x48, 0x1f, 0xf5, 0x8f, 0x87, 0x6f, 0xf6,
1749                0x6e, 0x0f, 0x5d, 0x52, 0xbf, 0x89, 0xb0, 0x25, 0x8f, 0xa9, 0x5b, 0x32, 0x00, 0x02,
1750                0xc3, 0x2a, 0x79, 0x15,
1751            ],
1752            Core::Leftmost16_1 => [
1753                0xde, 0x6a, 0x4c, 0x98, 0x33, 0x7e, 0x68, 0x0d, 0x6e, 0x6e, 0xe2, 0xbf, 0x36, 0xd3,
1754                0xa0, 0x81, 0x7d, 0x2a, 0x9a, 0x98, 0x32, 0x5f, 0x87, 0xe5, 0xec, 0xeb, 0x8a, 0x6f,
1755                0x11, 0x68, 0xf5, 0xca,
1756            ],
1757            Core::Leftmost16_2 => [
1758                0x00, 0x58, 0x09, 0xb8, 0x05, 0x1a, 0x2a, 0x50, 0x28, 0x33, 0xb2, 0x2c, 0x2c, 0x17,
1759                0x98, 0x1e, 0xaf, 0x9d, 0xd1, 0xd3, 0xdb, 0xc8, 0xf8, 0xc8, 0x94, 0x51, 0x6c, 0x1d,
1760                0x5f, 0x31, 0x14, 0x6c,
1761            ],
1762            Core::Leftmost16_4 => [
1763                0x9c, 0x50, 0xee, 0x22, 0x84, 0xd8, 0x57, 0xc4, 0x7c, 0x05, 0x44, 0x47, 0x13, 0x54,
1764                0x10, 0x5e, 0x98, 0xdf, 0xe0, 0x27, 0x54, 0xd2, 0xe4, 0x2d, 0xe1, 0x1d, 0x32, 0x34,
1765                0xed, 0x10, 0xb6, 0x42,
1766            ],
1767            Core::Leftmost16_8 => [
1768                0x5a, 0x1a, 0x72, 0x91, 0x4e, 0x14, 0x9c, 0x22, 0xb4, 0x64, 0xc8, 0xf6, 0xa3, 0xd9,
1769                0xcf, 0x41, 0xb0, 0x71, 0x92, 0xbe, 0xf0, 0xd8, 0xa1, 0xcc, 0x7c, 0xbe, 0x57, 0x04,
1770                0xa9, 0xe8, 0xea, 0x70,
1771            ],
1772            Core::Leftmost32_1 => [
1773                0x5f, 0xb8, 0xe6, 0x34, 0x2a, 0xb7, 0x4e, 0xe2, 0xc9, 0x22, 0x5b, 0x87, 0x2f, 0xa0,
1774                0xc9, 0x12, 0x04, 0x6a, 0x69, 0xdb, 0xb7, 0x19, 0xbc, 0xd6, 0xc8, 0xd7, 0x9b, 0x76,
1775                0x60, 0xc4, 0xeb, 0xca,
1776            ],
1777            Core::Leftmost32_16 => [
1778                0x54, 0xae, 0x50, 0xb4, 0x6b, 0x5b, 0x2e, 0x68, 0xf5, 0x36, 0xc0, 0x1c, 0x39, 0x61,
1779                0x7b, 0x0c, 0xee, 0x42, 0xe1, 0xc4, 0x9a, 0x2c, 0xd1, 0xd2, 0x6a, 0xf8, 0xea, 0x87,
1780                0x15, 0xac, 0x4d, 0x11,
1781            ],
1782            Core::Leftmost32_2 => [
1783                0x12, 0x30, 0x68, 0x55, 0x45, 0x95, 0x42, 0x7e, 0x3c, 0x1d, 0xe2, 0x43, 0xba, 0xb6,
1784                0x6f, 0x33, 0x48, 0x36, 0x8a, 0xaa, 0x44, 0x61, 0x7d, 0x6a, 0x02, 0x47, 0x9f, 0xb7,
1785                0x04, 0xbc, 0xfd, 0x1e,
1786            ],
1787            Core::Leftmost32_4 => [
1788                0x55, 0xa8, 0x7b, 0x66, 0xc3, 0x39, 0xe3, 0x63, 0xe0, 0x3d, 0x4d, 0xaa, 0xc6, 0x22,
1789                0x90, 0xeb, 0xa9, 0x3c, 0x1a, 0x3a, 0x73, 0x82, 0xcb, 0xf6, 0x1f, 0x20, 0xb3, 0x4a,
1790                0x50, 0x51, 0x24, 0xad,
1791            ],
1792            Core::Leftmost32_8 => [
1793                0x9f, 0x34, 0x5b, 0xee, 0x0b, 0x16, 0x2d, 0x42, 0xa0, 0x35, 0x71, 0x8f, 0x8c, 0xa1,
1794                0xad, 0xc8, 0xac, 0x2f, 0x71, 0x0d, 0xc4, 0x00, 0x52, 0xa8, 0x25, 0x66, 0xe6, 0xd8,
1795                0x07, 0xbe, 0xf8, 0xb8,
1796            ],
1797            Core::Leftmost64_1 => [
1798                0xb9, 0x24, 0xd3, 0x3b, 0x5e, 0xfe, 0xfc, 0x8e, 0x20, 0x42, 0x08, 0x19, 0x25, 0x91,
1799                0x7c, 0xff, 0x23, 0x9b, 0x31, 0xc8, 0xbd, 0xbd, 0xf4, 0xac, 0xae, 0x6b, 0xb8, 0xd9,
1800                0xcd, 0x21, 0x7b, 0x4f,
1801            ],
1802            Core::Leftmost64_16 => [
1803                0x12, 0xaa, 0x85, 0xe0, 0x5c, 0x1e, 0x96, 0x22, 0x27, 0x9c, 0x4c, 0x2d, 0xdc, 0xf8,
1804                0x97, 0xc9, 0x5d, 0xdc, 0xc0, 0x11, 0x39, 0x97, 0x28, 0x3b, 0x6b, 0x3e, 0x09, 0x49,
1805                0xbc, 0x81, 0x13, 0xcb,
1806            ],
1807            Core::Leftmost64_2 => [
1808                0xbc, 0xec, 0x97, 0xf4, 0x3b, 0xa5, 0x5c, 0xd4, 0x0d, 0x85, 0xa1, 0xe7, 0x6c, 0xba,
1809                0xde, 0x7b, 0x0b, 0x1e, 0x9f, 0x13, 0x97, 0x47, 0x79, 0x3d, 0xcb, 0x34, 0x80, 0xbe,
1810                0xe1, 0xf7, 0x51, 0xca,
1811            ],
1812            Core::Leftmost64_32 => [
1813                0x9c, 0x89, 0x69, 0x39, 0x86, 0xe5, 0x57, 0x33, 0xab, 0x96, 0x2a, 0x30, 0x0b, 0x05,
1814                0x79, 0x50, 0x3d, 0x83, 0xde, 0x8a, 0xc1, 0x9b, 0x17, 0x9b, 0x41, 0x7e, 0x1c, 0xa2,
1815                0x53, 0x85, 0xb3, 0x8f,
1816            ],
1817            Core::Leftmost64_4 => [
1818                0xd2, 0xd6, 0x45, 0x20, 0x92, 0xd6, 0x56, 0x6f, 0x89, 0xa1, 0xf6, 0x4e, 0x73, 0x65,
1819                0x96, 0xf9, 0x00, 0x0e, 0x5e, 0x6f, 0x63, 0xe4, 0x00, 0x17, 0xd0, 0xcb, 0x80, 0xf3,
1820                0xf7, 0xad, 0xfd, 0x18,
1821            ],
1822            Core::Leftmost64_8 => [
1823                0xf7, 0x7b, 0x62, 0xbb, 0x01, 0xb9, 0x05, 0x11, 0xb6, 0xd0, 0x6e, 0xbf, 0x2e, 0x36,
1824                0xc0, 0x65, 0x65, 0xac, 0xb5, 0xaa, 0xd1, 0xef, 0xc7, 0x7c, 0x36, 0xa1, 0x0a, 0x26,
1825                0x1d, 0xe9, 0x21, 0xda,
1826            ],
1827            Core::Leftmost8_1 => [
1828                0x5a, 0x73, 0x0b, 0x58, 0xe3, 0xab, 0xcb, 0x2f, 0x4d, 0xe2, 0x21, 0x59, 0x80, 0x30,
1829                0x23, 0x10, 0x2c, 0xd6, 0x64, 0x21, 0x91, 0x19, 0x20, 0xca, 0x21, 0xa2, 0xa0, 0x5c,
1830                0x9b, 0x21, 0x1c, 0xe8,
1831            ],
1832            Core::Leftmost8_2 => [
1833                0x25, 0x79, 0x08, 0x56, 0x10, 0x3d, 0xce, 0x6c, 0x7b, 0xbb, 0x3d, 0xd7, 0x18, 0xb1,
1834                0x69, 0x10, 0x9c, 0xae, 0x85, 0x37, 0x99, 0xd1, 0x24, 0x56, 0xc8, 0x5d, 0x83, 0x49,
1835                0xec, 0x18, 0xdc, 0x53,
1836            ],
1837            Core::Leftmost8_4 => [
1838                0x73, 0xd9, 0xf0, 0x18, 0x15, 0x7a, 0x14, 0x78, 0x4e, 0xe7, 0x0b, 0x21, 0x9c, 0xeb,
1839                0x40, 0x42, 0xfa, 0x62, 0x1d, 0x0e, 0xe6, 0xd5, 0x45, 0xa0, 0xfd, 0xba, 0xb9, 0x44,
1840                0x43, 0x46, 0xe3, 0x31,
1841            ],
1842            Core::LinearCombination1 => [
1843                0x6d, 0x9f, 0x4a, 0x87, 0x0f, 0xbf, 0x74, 0x0c, 0x22, 0x0e, 0xff, 0xf3, 0x07, 0xb5,
1844                0xed, 0x91, 0xa5, 0x8c, 0x5e, 0x51, 0xa8, 0xad, 0xfc, 0x3b, 0x15, 0x90, 0x30, 0xf5,
1845                0x12, 0xd3, 0x99, 0x41,
1846            ],
1847            Core::LinearVerify1 => [
1848                0x27, 0x83, 0x13, 0xd7, 0xce, 0x4a, 0xd5, 0x89, 0x11, 0xde, 0x24, 0xee, 0x54, 0x0d,
1849                0x19, 0xec, 0xeb, 0xb6, 0x2f, 0x4a, 0xb4, 0xa7, 0x1e, 0x2a, 0xad, 0xd4, 0x51, 0x2b,
1850                0x2e, 0x4b, 0xc2, 0xe2,
1851            ],
1852            Core::Low1 => [
1853                0xf2, 0x7b, 0x69, 0xbb, 0x09, 0x16, 0x09, 0xf5, 0x9e, 0x00, 0x33, 0x05, 0x0d, 0x01,
1854                0xa5, 0xbc, 0x77, 0xff, 0x07, 0xd9, 0x42, 0x70, 0x7a, 0x79, 0xcf, 0x5e, 0xe4, 0x10,
1855                0xa9, 0x98, 0xa0, 0x43,
1856            ],
1857            Core::Low16 => [
1858                0x97, 0x7c, 0xbd, 0x1e, 0x7f, 0xfc, 0x05, 0xe7, 0x16, 0xd9, 0xc1, 0xb4, 0x9f, 0x7d,
1859                0x51, 0x7f, 0x85, 0x3d, 0xbf, 0x3e, 0x98, 0xa4, 0xc7, 0x48, 0x04, 0x6e, 0xac, 0xf4,
1860                0x17, 0xf8, 0x9c, 0x2f,
1861            ],
1862            Core::Low32 => [
1863                0xbe, 0x41, 0x69, 0x82, 0x8f, 0x07, 0x67, 0x78, 0xb6, 0x0d, 0x54, 0x56, 0xf7, 0x88,
1864                0x6e, 0xd7, 0xf3, 0x0b, 0x10, 0x1d, 0x6c, 0xcb, 0xd9, 0xea, 0x0c, 0x4d, 0xb1, 0x42,
1865                0xea, 0xc6, 0x6b, 0x12,
1866            ],
1867            Core::Low64 => [
1868                0x01, 0x9a, 0x66, 0xbf, 0xba, 0x17, 0x51, 0x68, 0x8b, 0xe7, 0x13, 0x89, 0xed, 0x7b,
1869                0xf3, 0x71, 0xb3, 0x01, 0x4d, 0xfb, 0x32, 0x95, 0x62, 0xac, 0x3b, 0x3e, 0x9d, 0xfe,
1870                0x92, 0x06, 0xa5, 0xbc,
1871            ],
1872            Core::Low8 => [
1873                0x21, 0x7b, 0x56, 0x43, 0x95, 0x6b, 0x48, 0x33, 0xaa, 0x56, 0x22, 0xf0, 0x0f, 0x06,
1874                0x88, 0xba, 0x86, 0x0d, 0x4a, 0xdb, 0xf9, 0x40, 0xcb, 0xdc, 0xd2, 0xb5, 0x9f, 0x26,
1875                0xd6, 0x15, 0x93, 0xb1,
1876            ],
1877            Core::Lt16 => [
1878                0x56, 0xa2, 0x0d, 0x55, 0xed, 0xb4, 0x43, 0x88, 0x18, 0x05, 0x44, 0xc3, 0xed, 0x40,
1879                0x41, 0x45, 0xa3, 0xb6, 0x6f, 0xd2, 0xc4, 0x11, 0x38, 0x42, 0xf6, 0x4e, 0xae, 0xaf,
1880                0xba, 0xd4, 0xbb, 0x06,
1881            ],
1882            Core::Lt32 => [
1883                0xca, 0xb0, 0xdc, 0x5b, 0x0e, 0xcb, 0xf6, 0xd2, 0x48, 0x16, 0xfc, 0x20, 0x10, 0xfc,
1884                0x31, 0x19, 0x36, 0x63, 0xc3, 0x06, 0x96, 0x8d, 0x9c, 0xee, 0x3b, 0x00, 0x4c, 0x0b,
1885                0xc1, 0x84, 0xb4, 0x78,
1886            ],
1887            Core::Lt64 => [
1888                0x47, 0xd6, 0x7e, 0x52, 0xb2, 0x7b, 0xa7, 0x8e, 0xdd, 0x07, 0x5a, 0xa2, 0x70, 0xde,
1889                0xd0, 0x07, 0xa7, 0xa9, 0xa6, 0x84, 0x99, 0x34, 0x4f, 0x28, 0x62, 0xf5, 0x06, 0x90,
1890                0x49, 0xa0, 0xce, 0xfe,
1891            ],
1892            Core::Lt8 => [
1893                0x73, 0xd0, 0x04, 0x46, 0x55, 0xc0, 0xdf, 0x45, 0xc2, 0x71, 0xa1, 0x71, 0x3f, 0xf9,
1894                0xb9, 0xa4, 0x3d, 0xde, 0x56, 0xe6, 0x74, 0xd1, 0x75, 0x4e, 0x76, 0xed, 0xb1, 0x6f,
1895                0x94, 0x9c, 0x4f, 0xab,
1896            ],
1897            Core::Maj1 => [
1898                0xcb, 0x2d, 0x98, 0x6d, 0x7f, 0x00, 0x10, 0x7a, 0x3c, 0x25, 0xf6, 0xb2, 0xf1, 0x48,
1899                0x91, 0xd0, 0x2e, 0x20, 0xae, 0x16, 0xf0, 0xa1, 0x25, 0x2c, 0x92, 0xd9, 0xb5, 0x8a,
1900                0xe7, 0x33, 0x88, 0xaa,
1901            ],
1902            Core::Maj16 => [
1903                0x0a, 0xf6, 0xd0, 0xc1, 0x71, 0xfe, 0x33, 0xa2, 0x15, 0x9b, 0xf9, 0x88, 0x00, 0xf0,
1904                0x41, 0x2c, 0x25, 0x97, 0xe9, 0x97, 0x84, 0xd0, 0x74, 0xfd, 0xfa, 0x33, 0xd7, 0xfd,
1905                0xe5, 0x97, 0xdd, 0xfd,
1906            ],
1907            Core::Maj32 => [
1908                0x30, 0x60, 0x83, 0x8d, 0x48, 0x45, 0x6f, 0x33, 0x92, 0xd5, 0xd6, 0x9b, 0x5e, 0xec,
1909                0x08, 0x92, 0x76, 0xcd, 0x58, 0xbb, 0x67, 0xa1, 0x2c, 0x64, 0x2e, 0xc7, 0x3a, 0xeb,
1910                0x9a, 0xda, 0xcb, 0xdd,
1911            ],
1912            Core::Maj64 => [
1913                0x8e, 0xbc, 0xc1, 0x74, 0x57, 0xea, 0x2b, 0x14, 0x23, 0x1b, 0x0e, 0x90, 0x1e, 0xa7,
1914                0xb1, 0xd4, 0x7b, 0x9b, 0x78, 0x98, 0x63, 0x72, 0xa4, 0x41, 0x6f, 0xe7, 0x3f, 0x67,
1915                0x63, 0xfe, 0xb2, 0x4b,
1916            ],
1917            Core::Maj8 => [
1918                0x89, 0x30, 0xd1, 0xd0, 0x99, 0x1b, 0x0a, 0x58, 0x1d, 0x0b, 0x1d, 0x85, 0xad, 0x72,
1919                0x14, 0x7d, 0x66, 0x49, 0xa3, 0x59, 0x93, 0x28, 0x3f, 0xc9, 0x72, 0x14, 0x43, 0x1f,
1920                0x0b, 0x6a, 0x7a, 0xa8,
1921            ],
1922            Core::Max16 => [
1923                0xe0, 0x11, 0x47, 0x17, 0x69, 0x1a, 0xc1, 0xa7, 0x39, 0x28, 0x8f, 0xc6, 0xff, 0xa1,
1924                0xc6, 0x50, 0x7c, 0x43, 0xe6, 0xf1, 0xd4, 0xc1, 0x87, 0x70, 0xff, 0xa1, 0x66, 0xae,
1925                0x83, 0x9d, 0xd5, 0x33,
1926            ],
1927            Core::Max32 => [
1928                0x1d, 0x72, 0x3c, 0xb3, 0x89, 0x94, 0x22, 0x19, 0xec, 0x10, 0x34, 0x85, 0x31, 0x7f,
1929                0xa5, 0xd8, 0x7e, 0xe1, 0x5c, 0x24, 0xb2, 0x08, 0x0f, 0x50, 0x46, 0x65, 0x0d, 0x80,
1930                0x30, 0x8b, 0x18, 0x9d,
1931            ],
1932            Core::Max64 => [
1933                0x00, 0x73, 0xac, 0x3c, 0x6e, 0xa9, 0x39, 0xdc, 0xc7, 0xee, 0xe4, 0xea, 0x63, 0xdc,
1934                0xfd, 0x75, 0x20, 0x37, 0x35, 0x5b, 0x48, 0x4f, 0x6e, 0x70, 0x16, 0xb3, 0x00, 0xe2,
1935                0xd2, 0x8c, 0x07, 0xc3,
1936            ],
1937            Core::Max8 => [
1938                0x6b, 0xc1, 0x03, 0x70, 0xf3, 0xe7, 0xa7, 0xb9, 0x2a, 0xcb, 0x14, 0x23, 0xbb, 0xdf,
1939                0x0b, 0x3d, 0x7e, 0x3c, 0xd0, 0xd2, 0xdb, 0xc7, 0x05, 0xa3, 0x4d, 0x8d, 0xc9, 0x9c,
1940                0x91, 0x04, 0x22, 0xfb,
1941            ],
1942            Core::Median16 => [
1943                0x24, 0x14, 0xe3, 0xc4, 0x39, 0x65, 0x9d, 0x8a, 0xa9, 0xd0, 0x87, 0xe1, 0xad, 0xe7,
1944                0x72, 0x66, 0x67, 0x3d, 0x1c, 0x8b, 0xd4, 0xe7, 0x50, 0x1b, 0x22, 0xac, 0x46, 0xa3,
1945                0xff, 0x39, 0x97, 0x5d,
1946            ],
1947            Core::Median32 => [
1948                0x07, 0x92, 0x35, 0x6b, 0x61, 0x0b, 0x57, 0xd0, 0xec, 0x19, 0x9e, 0x98, 0x53, 0x5e,
1949                0xa9, 0xbc, 0xcc, 0xe8, 0x43, 0xa5, 0xdf, 0x5d, 0xd2, 0x40, 0x8c, 0x41, 0x48, 0x86,
1950                0xdf, 0xd6, 0xbd, 0x1e,
1951            ],
1952            Core::Median64 => [
1953                0x07, 0x66, 0xd8, 0x9b, 0x43, 0x0f, 0xfd, 0xf0, 0x38, 0x69, 0x1b, 0x18, 0x43, 0x9c,
1954                0xd6, 0xfc, 0x49, 0x29, 0x17, 0x2e, 0xa8, 0x84, 0xfd, 0xaf, 0x16, 0x69, 0x36, 0xb3,
1955                0x8b, 0x15, 0xfd, 0x0c,
1956            ],
1957            Core::Median8 => [
1958                0xa4, 0xa0, 0xb6, 0x31, 0x0f, 0xf0, 0xed, 0x4a, 0x4c, 0x3e, 0x03, 0xeb, 0xc7, 0xa9,
1959                0x13, 0x06, 0xef, 0x66, 0x04, 0x24, 0xbc, 0x95, 0xa0, 0xd3, 0xf2, 0xfd, 0xb7, 0x1f,
1960                0xb6, 0xaf, 0xd8, 0xb7,
1961            ],
1962            Core::Min16 => [
1963                0xf1, 0x58, 0xf4, 0x0a, 0x86, 0x09, 0x93, 0xb4, 0x10, 0x7f, 0xb2, 0x71, 0xfb, 0x4c,
1964                0x8f, 0x95, 0x5b, 0xa4, 0x54, 0x2a, 0xd1, 0x82, 0x1c, 0xd2, 0xf1, 0x3c, 0x88, 0x0c,
1965                0xa4, 0xbe, 0xe2, 0xe2,
1966            ],
1967            Core::Min32 => [
1968                0xe5, 0xe4, 0x13, 0xdc, 0x5d, 0xe5, 0xe2, 0x2d, 0x66, 0xf3, 0x2d, 0x8d, 0xbf, 0x50,
1969                0x05, 0x3e, 0xd2, 0x78, 0xe1, 0x75, 0xc0, 0xd4, 0xb3, 0x44, 0xeb, 0xd4, 0x61, 0xbe,
1970                0xb1, 0x08, 0xe5, 0x5e,
1971            ],
1972            Core::Min64 => [
1973                0x43, 0xd8, 0x2f, 0x6c, 0x61, 0x28, 0xaa, 0x01, 0xa9, 0x97, 0xbb, 0x17, 0xe5, 0xe7,
1974                0xf5, 0x01, 0xe7, 0xbe, 0x7d, 0xb9, 0x58, 0x9e, 0x56, 0x6d, 0xe9, 0x7a, 0x32, 0xea,
1975                0xe7, 0xe7, 0xb3, 0x39,
1976            ],
1977            Core::Min8 => [
1978                0x6b, 0x01, 0x2c, 0xa3, 0x18, 0x5d, 0xc0, 0x05, 0xe8, 0x94, 0x2c, 0xfb, 0xc9, 0xf2,
1979                0x38, 0xdc, 0xed, 0xaf, 0x0c, 0x00, 0x43, 0x52, 0x64, 0x47, 0xe3, 0xec, 0x31, 0xce,
1980                0xfa, 0x6e, 0x40, 0x64,
1981            ],
1982            Core::Modulo16 => [
1983                0x62, 0xc1, 0x79, 0xac, 0x84, 0xc5, 0x75, 0x0b, 0x42, 0x5f, 0x9a, 0x1b, 0x8f, 0x81,
1984                0xed, 0xaa, 0x7f, 0x5c, 0xf2, 0x2c, 0x19, 0xd8, 0x6b, 0x0d, 0xcf, 0x96, 0xde, 0xa6,
1985                0xba, 0xd9, 0x9b, 0x3b,
1986            ],
1987            Core::Modulo32 => [
1988                0xa1, 0xf0, 0x1c, 0x10, 0x6f, 0xc3, 0x6a, 0x76, 0x4e, 0x99, 0xb2, 0x33, 0x98, 0xe2,
1989                0x1e, 0x7c, 0x26, 0x7f, 0x88, 0x9f, 0xcc, 0xeb, 0xd1, 0x48, 0x7d, 0x3d, 0xe1, 0xcc,
1990                0x67, 0xc3, 0x2b, 0xd9,
1991            ],
1992            Core::Modulo64 => [
1993                0x50, 0xc8, 0x2f, 0xd0, 0x31, 0x09, 0xc9, 0x8b, 0x72, 0x37, 0xe9, 0x16, 0x74, 0x04,
1994                0x19, 0x64, 0x38, 0x1e, 0x6c, 0x2e, 0xbb, 0xe2, 0x5b, 0xf3, 0xe0, 0xd3, 0x7a, 0x9f,
1995                0x06, 0x0f, 0x15, 0x02,
1996            ],
1997            Core::Modulo8 => [
1998                0x5c, 0x63, 0xc7, 0x7a, 0x16, 0x08, 0xe2, 0xf6, 0xa3, 0x74, 0x8c, 0x11, 0x0f, 0xbb,
1999                0x9a, 0x1c, 0x56, 0x9f, 0xb4, 0xd5, 0x40, 0xf3, 0xdd, 0x2e, 0x4f, 0x80, 0xe9, 0x0d,
2000                0xd5, 0xea, 0x99, 0x82,
2001            ],
2002            Core::Multiply16 => [
2003                0x46, 0xe6, 0x2a, 0xbf, 0x8e, 0x30, 0xa7, 0x74, 0x6d, 0xe0, 0xe9, 0x29, 0xf7, 0xbe,
2004                0xed, 0xdb, 0xde, 0x8b, 0x26, 0x9b, 0xab, 0x08, 0xf7, 0x6e, 0x95, 0x47, 0x10, 0x8b,
2005                0x1c, 0x36, 0x01, 0x74,
2006            ],
2007            Core::Multiply32 => [
2008                0x2d, 0xec, 0xdc, 0x5b, 0x0c, 0x6f, 0xf6, 0x3d, 0x11, 0xf5, 0x38, 0x52, 0xe0, 0xde,
2009                0xed, 0x11, 0x44, 0x81, 0x35, 0x5b, 0xb6, 0xc6, 0xce, 0x15, 0x46, 0xae, 0x9f, 0x81,
2010                0x5b, 0xee, 0x77, 0x50,
2011            ],
2012            Core::Multiply64 => [
2013                0xbf, 0xa8, 0x62, 0x6d, 0xbf, 0x10, 0x00, 0x1d, 0xe3, 0x90, 0xd9, 0x97, 0xf2, 0xee,
2014                0x7b, 0x19, 0x0c, 0x24, 0xa7, 0x8c, 0xfe, 0xcb, 0x91, 0xf5, 0xd7, 0xc1, 0x0c, 0x3f,
2015                0x9d, 0xdb, 0xb1, 0xe6,
2016            ],
2017            Core::Multiply8 => [
2018                0x29, 0xda, 0x13, 0x37, 0x4f, 0x7c, 0xb3, 0x08, 0x40, 0x5f, 0xe2, 0x30, 0xf8, 0x99,
2019                0x48, 0x5c, 0x50, 0x0e, 0x6e, 0x95, 0x20, 0xc1, 0x5e, 0x8a, 0x76, 0xe5, 0x3a, 0x92,
2020                0xe7, 0xac, 0x64, 0xd6,
2021            ],
2022            Core::Negate16 => [
2023                0xf6, 0x42, 0x17, 0x3b, 0x85, 0xef, 0x21, 0x96, 0x9d, 0x8d, 0x90, 0x48, 0x80, 0x7e,
2024                0x3d, 0x4f, 0xac, 0xf3, 0xf5, 0xf9, 0xe5, 0x9a, 0xa5, 0xcf, 0x0c, 0x60, 0xf8, 0x74,
2025                0x22, 0xed, 0x7c, 0x8f,
2026            ],
2027            Core::Negate32 => [
2028                0x54, 0x9b, 0x65, 0xce, 0x97, 0xc6, 0xb3, 0x34, 0xb8, 0xae, 0x94, 0x56, 0x96, 0x0e,
2029                0x36, 0x5b, 0xb2, 0x84, 0xd7, 0x6d, 0x40, 0x05, 0xe9, 0x21, 0xf4, 0x89, 0xbc, 0x36,
2030                0x26, 0x17, 0x1b, 0x06,
2031            ],
2032            Core::Negate64 => [
2033                0x35, 0xac, 0xca, 0x27, 0xce, 0x65, 0x85, 0x79, 0xef, 0x1c, 0x55, 0xad, 0x1a, 0xbe,
2034                0xa0, 0x05, 0x0d, 0x93, 0x66, 0xd1, 0x22, 0x09, 0xad, 0x13, 0x05, 0x25, 0x49, 0xc3,
2035                0x43, 0x64, 0x91, 0xd0,
2036            ],
2037            Core::Negate8 => [
2038                0xd8, 0x71, 0xc5, 0x42, 0x47, 0x3f, 0x4d, 0xd9, 0x02, 0xd3, 0x1f, 0xe3, 0xfc, 0x9a,
2039                0xc0, 0xf3, 0x31, 0x9e, 0x42, 0xe8, 0x0c, 0xae, 0x21, 0x81, 0xff, 0xc8, 0x5e, 0x6c,
2040                0x60, 0xfb, 0x09, 0x88,
2041            ],
2042            Core::One16 => [
2043                0x3f, 0x9f, 0x8d, 0xd1, 0x4c, 0x46, 0xee, 0x02, 0x47, 0x15, 0x57, 0x92, 0x9a, 0xc2,
2044                0xbb, 0x6c, 0x1a, 0xca, 0x00, 0x52, 0x1d, 0x8a, 0xfa, 0xf0, 0xdc, 0xd9, 0xf2, 0xca,
2045                0x7f, 0x31, 0xe6, 0x04,
2046            ],
2047            Core::One32 => [
2048                0x47, 0x8d, 0xc3, 0x9d, 0xc3, 0x99, 0x5e, 0x2e, 0xdb, 0x7e, 0xc6, 0x74, 0x65, 0x6c,
2049                0xae, 0x79, 0x8f, 0x52, 0xe5, 0x72, 0x92, 0x61, 0x74, 0xa6, 0x68, 0xcc, 0x97, 0xbc,
2050                0xa4, 0x48, 0xd1, 0xcc,
2051            ],
2052            Core::One64 => [
2053                0xa3, 0x92, 0xce, 0xfc, 0x0d, 0xa5, 0x3c, 0x65, 0xae, 0xe6, 0x12, 0xf5, 0xc6, 0x81,
2054                0x6c, 0xa8, 0x92, 0xfc, 0x15, 0x6d, 0x43, 0x71, 0x48, 0x76, 0xb3, 0xa0, 0x05, 0x68,
2055                0xe1, 0xba, 0x3e, 0xba,
2056            ],
2057            Core::One8 => [
2058                0xff, 0x59, 0x4e, 0x22, 0xbf, 0xd7, 0x58, 0x13, 0xc0, 0x56, 0xe0, 0xa2, 0x34, 0xed,
2059                0x12, 0xfa, 0x82, 0x87, 0xd1, 0xd5, 0x31, 0x6f, 0x23, 0x90, 0x2b, 0xf0, 0x79, 0xdb,
2060                0xcc, 0x4f, 0x4e, 0xa8,
2061            ],
2062            Core::Or1 => [
2063                0x9b, 0xf5, 0x91, 0x74, 0x41, 0x0a, 0x80, 0x9d, 0x3d, 0xa2, 0xb5, 0x8c, 0x7e, 0x0d,
2064                0x05, 0xc5, 0x5c, 0xec, 0x38, 0xbd, 0xaa, 0x5f, 0xca, 0xc3, 0x82, 0xa3, 0x11, 0x77,
2065                0x0e, 0xe0, 0xeb, 0x38,
2066            ],
2067            Core::Or16 => [
2068                0xdd, 0x9a, 0x31, 0x93, 0xd6, 0x19, 0xd9, 0x59, 0xfa, 0x0b, 0x6d, 0x8b, 0x47, 0xaf,
2069                0x78, 0x54, 0xf7, 0xe0, 0x46, 0x7b, 0xa3, 0x59, 0x01, 0xce, 0x43, 0xd8, 0x00, 0xfc,
2070                0xaf, 0x73, 0x0f, 0xf9,
2071            ],
2072            Core::Or32 => [
2073                0x9a, 0x01, 0x9f, 0x07, 0xdf, 0x49, 0x96, 0xb3, 0x3e, 0x64, 0x7f, 0x4d, 0xe7, 0xe5,
2074                0x6c, 0x1d, 0x8f, 0x03, 0x26, 0x9c, 0xbf, 0xa3, 0xc7, 0x58, 0x2c, 0xfe, 0x80, 0x8e,
2075                0x90, 0x98, 0x70, 0xb7,
2076            ],
2077            Core::Or64 => [
2078                0xc2, 0x4f, 0x35, 0x80, 0x05, 0xf8, 0x03, 0x77, 0x2b, 0x1c, 0x3e, 0x43, 0x9c, 0xf1,
2079                0xb7, 0x09, 0xbd, 0x9f, 0x4d, 0x42, 0x52, 0x75, 0x91, 0x30, 0x3a, 0x36, 0xf6, 0xb1,
2080                0xc3, 0xcf, 0x29, 0xcc,
2081            ],
2082            Core::Or8 => [
2083                0x84, 0xb5, 0x36, 0x89, 0xf2, 0x1d, 0x4e, 0x69, 0x7d, 0x0f, 0xe8, 0x98, 0x8c, 0xe7,
2084                0x36, 0xab, 0x72, 0xc9, 0xc8, 0x6f, 0x84, 0x75, 0x89, 0xda, 0xa9, 0xae, 0x6a, 0x78,
2085                0x46, 0x30, 0xe6, 0x20,
2086            ],
2087            Core::ParseLock => [
2088                0x3d, 0x38, 0x36, 0xfd, 0x30, 0x85, 0xc1, 0xfb, 0xac, 0x6c, 0xd5, 0xfa, 0x0d, 0xbf,
2089                0x4a, 0x3f, 0xb2, 0x55, 0x45, 0x93, 0x17, 0xa2, 0x66, 0xd6, 0xd6, 0xf7, 0x38, 0x2b,
2090                0xb0, 0x5f, 0x07, 0xad,
2091            ],
2092            Core::ParseSequence => [
2093                0x74, 0xf3, 0x5c, 0x01, 0x9e, 0xf5, 0x14, 0xb7, 0x0a, 0xb0, 0x08, 0xbf, 0x2a, 0x12,
2094                0x6d, 0xe7, 0xe0, 0x0f, 0x6e, 0x3c, 0xcd, 0x28, 0x5d, 0x51, 0xdb, 0xd3, 0xac, 0x71,
2095                0xbe, 0xa9, 0xc8, 0x8d,
2096            ],
2097            Core::PointVerify1 => [
2098                0x90, 0xa3, 0xd6, 0x69, 0xb0, 0x0d, 0xa7, 0x95, 0xef, 0xb2, 0xbe, 0xd8, 0xc3, 0x70,
2099                0xc9, 0xe3, 0xea, 0x0f, 0x19, 0xc4, 0x1c, 0x7c, 0xf2, 0x3e, 0x49, 0x2e, 0x33, 0x17,
2100                0x1a, 0x47, 0xf5, 0xff,
2101            ],
2102            Core::RightExtend16_32 => [
2103                0x78, 0x07, 0x16, 0xd3, 0xe8, 0x29, 0x1a, 0x51, 0xe4, 0x5a, 0xda, 0x50, 0x55, 0x8e,
2104                0xfe, 0x41, 0x1c, 0x47, 0x5c, 0x08, 0x5e, 0xec, 0x5a, 0x28, 0xad, 0x97, 0x91, 0xc3,
2105                0x12, 0xfe, 0xe2, 0xbc,
2106            ],
2107            Core::RightExtend16_64 => [
2108                0xc7, 0x70, 0x49, 0x7e, 0x45, 0x23, 0x08, 0xeb, 0xf5, 0x2e, 0x51, 0xb0, 0x58, 0x5e,
2109                0x91, 0x51, 0xe0, 0xff, 0xc3, 0x50, 0x86, 0xab, 0x77, 0x2d, 0x72, 0x41, 0x53, 0x2a,
2110                0x1b, 0xe1, 0x5e, 0x07,
2111            ],
2112            Core::RightExtend32_64 => [
2113                0x42, 0xb4, 0x3a, 0xdc, 0x74, 0xb5, 0x26, 0x6c, 0x91, 0xd7, 0x3d, 0xf4, 0x91, 0xdc,
2114                0xae, 0x59, 0x73, 0x88, 0x04, 0xeb, 0x44, 0x0b, 0x23, 0xda, 0x32, 0x75, 0x30, 0x48,
2115                0x74, 0x86, 0xb7, 0xe8,
2116            ],
2117            Core::RightExtend8_16 => [
2118                0xbc, 0xb2, 0x68, 0x3a, 0x8c, 0xb8, 0xb8, 0xc2, 0x35, 0xfa, 0xa8, 0x96, 0xa9, 0xc0,
2119                0x69, 0xe1, 0xb5, 0x5b, 0xb0, 0x55, 0x8e, 0x73, 0x9e, 0x70, 0xe2, 0x89, 0x14, 0x21,
2120                0x1e, 0x32, 0x75, 0xc8,
2121            ],
2122            Core::RightExtend8_32 => [
2123                0x6d, 0xdb, 0x55, 0x48, 0xfd, 0x58, 0x3c, 0xd2, 0xd3, 0x58, 0x6e, 0x6b, 0x8b, 0xf9,
2124                0x95, 0x24, 0x6b, 0x61, 0x93, 0x4f, 0x49, 0x76, 0x44, 0x67, 0x77, 0xdd, 0x57, 0x40,
2125                0xb3, 0x19, 0xe4, 0x62,
2126            ],
2127            Core::RightExtend8_64 => [
2128                0xda, 0x4f, 0x9c, 0x21, 0x45, 0x51, 0x26, 0x82, 0x07, 0x58, 0xa2, 0xe4, 0xb5, 0x3f,
2129                0xce, 0xb4, 0x52, 0x3e, 0x6e, 0x7a, 0x29, 0x23, 0xa1, 0xa1, 0x61, 0xfc, 0x37, 0x89,
2130                0x2a, 0xc8, 0xda, 0x2a,
2131            ],
2132            Core::RightPadHigh16_32 => [
2133                0x3e, 0x4e, 0x5e, 0x9e, 0x71, 0xe1, 0x37, 0xa2, 0x68, 0x63, 0x43, 0xe0, 0x5a, 0xc5,
2134                0x63, 0x16, 0xac, 0xfc, 0x58, 0x99, 0x1c, 0xb3, 0x8d, 0xb1, 0xb3, 0x23, 0x44, 0x13,
2135                0xf7, 0x30, 0xa1, 0x42,
2136            ],
2137            Core::RightPadHigh16_64 => [
2138                0xde, 0x09, 0xdf, 0x9d, 0x43, 0xdd, 0xad, 0x2d, 0x69, 0x12, 0x04, 0x98, 0x6c, 0xf0,
2139                0x81, 0x9d, 0x6b, 0x80, 0x45, 0xbc, 0xa4, 0x14, 0xd8, 0x0a, 0xf2, 0x16, 0x28, 0x92,
2140                0xa9, 0x25, 0x7e, 0xad,
2141            ],
2142            Core::RightPadHigh1_16 => [
2143                0xff, 0x12, 0x97, 0xd8, 0x78, 0xe2, 0x6e, 0x19, 0x59, 0xbc, 0xc7, 0xe8, 0xae, 0xf9,
2144                0x7a, 0xc0, 0xb6, 0x5a, 0xdc, 0x39, 0x92, 0x3e, 0xc6, 0x50, 0x5e, 0x50, 0xf9, 0x83,
2145                0x05, 0x73, 0x3b, 0x6c,
2146            ],
2147            Core::RightPadHigh1_32 => [
2148                0x28, 0x3f, 0x8a, 0xfb, 0x41, 0x38, 0x2d, 0x2b, 0xe1, 0x8f, 0x8a, 0x77, 0xc3, 0x14,
2149                0xba, 0x17, 0x76, 0xcb, 0x80, 0xc8, 0xec, 0x36, 0xca, 0x12, 0xaa, 0x67, 0xb3, 0x2b,
2150                0xb6, 0x4e, 0xd8, 0x43,
2151            ],
2152            Core::RightPadHigh1_64 => [
2153                0xa3, 0x42, 0x35, 0x28, 0x60, 0xa3, 0x35, 0x0d, 0x79, 0xc3, 0xe9, 0xfc, 0x7a, 0x4a,
2154                0xb3, 0x78, 0x9b, 0x8b, 0x02, 0x97, 0x85, 0x6f, 0xd1, 0x69, 0xca, 0x4d, 0x7d, 0xe2,
2155                0x5f, 0x7d, 0x7c, 0xc4,
2156            ],
2157            Core::RightPadHigh1_8 => [
2158                0x71, 0x03, 0xc0, 0xfe, 0x00, 0xf5, 0x22, 0xa2, 0x21, 0x6c, 0x4a, 0x6b, 0xe5, 0xf7,
2159                0xe0, 0xeb, 0x4d, 0x70, 0x3c, 0xa7, 0x8f, 0x9c, 0x59, 0x8f, 0x6b, 0x3d, 0xfd, 0xe4,
2160                0x37, 0xd8, 0x0c, 0x84,
2161            ],
2162            Core::RightPadHigh32_64 => [
2163                0x5d, 0xc9, 0x10, 0x7d, 0x45, 0x34, 0x95, 0x8c, 0xe4, 0x42, 0x27, 0x67, 0x56, 0x3a,
2164                0x03, 0x1a, 0x38, 0x0f, 0x60, 0xd3, 0x83, 0x71, 0x48, 0xab, 0x3c, 0x8c, 0xc9, 0xc4,
2165                0xc7, 0xd9, 0x96, 0xa2,
2166            ],
2167            Core::RightPadHigh8_16 => [
2168                0xc0, 0xe2, 0xfd, 0x46, 0xf7, 0x88, 0x3b, 0x12, 0x85, 0xa6, 0xf1, 0xa1, 0xdb, 0x96,
2169                0xd9, 0x3c, 0x25, 0x48, 0x04, 0x0f, 0xcd, 0x3f, 0x5c, 0x23, 0xfb, 0xb2, 0x0b, 0x5e,
2170                0x83, 0x03, 0x7c, 0x96,
2171            ],
2172            Core::RightPadHigh8_32 => [
2173                0x29, 0x1e, 0x62, 0x77, 0x08, 0x52, 0x0c, 0x2c, 0xa6, 0xae, 0xce, 0x32, 0xa8, 0x77,
2174                0xb7, 0x78, 0x49, 0xc4, 0xa7, 0xa2, 0x13, 0xcb, 0x89, 0xe1, 0xbd, 0xa7, 0xc5, 0xc5,
2175                0xfe, 0x75, 0x5f, 0x73,
2176            ],
2177            Core::RightPadHigh8_64 => [
2178                0x6b, 0x6f, 0xa2, 0x37, 0x2e, 0xd2, 0x5e, 0x4a, 0x34, 0xd4, 0xae, 0x17, 0x23, 0x42,
2179                0xad, 0xbb, 0x25, 0x9b, 0xe8, 0x98, 0x76, 0x00, 0xdb, 0x19, 0x2e, 0xcb, 0x8d, 0xa4,
2180                0x34, 0xb9, 0xd8, 0x8f,
2181            ],
2182            Core::RightPadLow16_32 => [
2183                0x77, 0x31, 0xd5, 0x60, 0xd3, 0x75, 0x92, 0xd1, 0xa3, 0x1f, 0x73, 0x62, 0x96, 0x7a,
2184                0xb2, 0xe4, 0x75, 0x92, 0xac, 0xa6, 0xe9, 0x2a, 0xb8, 0x58, 0x82, 0x37, 0x92, 0xda,
2185                0xe5, 0xd2, 0xdb, 0x52,
2186            ],
2187            Core::RightPadLow16_64 => [
2188                0x0f, 0xe1, 0xc0, 0xdb, 0x9d, 0x4a, 0x2d, 0x63, 0xe2, 0xba, 0x4a, 0x33, 0x11, 0x7a,
2189                0xad, 0xba, 0x64, 0x51, 0x4a, 0x2b, 0x87, 0xa7, 0xa4, 0xe7, 0x93, 0xfa, 0xac, 0xfe,
2190                0x6b, 0x36, 0x34, 0x47,
2191            ],
2192            Core::RightPadLow1_16 => [
2193                0x79, 0x14, 0xc8, 0xf2, 0x22, 0x47, 0xc2, 0xc3, 0x4b, 0x9c, 0x84, 0xe9, 0x2d, 0x14,
2194                0x44, 0xae, 0xc2, 0xe1, 0x7a, 0x0e, 0xf5, 0x86, 0xba, 0xb2, 0x78, 0x8e, 0xe6, 0xef,
2195                0x68, 0x84, 0x0d, 0x98,
2196            ],
2197            Core::RightPadLow1_32 => [
2198                0x31, 0xb6, 0xce, 0x26, 0xe5, 0x59, 0xf7, 0x6c, 0xf3, 0x66, 0xf4, 0x80, 0x69, 0x85,
2199                0xec, 0xc2, 0x99, 0x55, 0x0f, 0x15, 0xd4, 0xc3, 0xa6, 0x72, 0x9e, 0x29, 0xd7, 0x0e,
2200                0x39, 0x89, 0x56, 0x52,
2201            ],
2202            Core::RightPadLow1_64 => [
2203                0xc5, 0x52, 0x4a, 0xe6, 0x54, 0x8a, 0xcd, 0x63, 0x08, 0x2d, 0x94, 0x89, 0x3e, 0x18,
2204                0xf9, 0xed, 0xbb, 0x92, 0x31, 0xe7, 0x6b, 0xb4, 0xe1, 0x1b, 0xbf, 0xf6, 0xa7, 0xbd,
2205                0x16, 0xf4, 0xb0, 0x29,
2206            ],
2207            Core::RightPadLow1_8 => [
2208                0x59, 0xd7, 0x22, 0x70, 0xef, 0x0e, 0x8f, 0x77, 0x0c, 0x8d, 0x11, 0xf3, 0x17, 0x73,
2209                0xf9, 0xb6, 0xe9, 0x0a, 0x4a, 0xec, 0xeb, 0x5b, 0xfb, 0x3d, 0xfe, 0x96, 0x8c, 0x4e,
2210                0x9d, 0xac, 0x5f, 0xe8,
2211            ],
2212            Core::RightPadLow32_64 => [
2213                0xd4, 0x22, 0x7d, 0x06, 0x6f, 0x18, 0xb9, 0x11, 0xd6, 0xf5, 0xd9, 0xbf, 0xb9, 0xd9,
2214                0xf4, 0x6e, 0x9a, 0xea, 0xdb, 0xbe, 0xfa, 0x34, 0xd4, 0x74, 0x43, 0x2a, 0x1e, 0x78,
2215                0x9e, 0x48, 0x86, 0xff,
2216            ],
2217            Core::RightPadLow8_16 => [
2218                0xab, 0xa4, 0x7a, 0x53, 0x6e, 0x12, 0x27, 0xe1, 0x22, 0xba, 0xac, 0xf1, 0x9c, 0xfd,
2219                0x28, 0x23, 0xb9, 0xb7, 0x8d, 0x79, 0xcc, 0x06, 0xd3, 0x4c, 0x34, 0x8b, 0x14, 0xa1,
2220                0xa1, 0x5a, 0xbd, 0x64,
2221            ],
2222            Core::RightPadLow8_32 => [
2223                0x8f, 0x80, 0xa6, 0xc2, 0x74, 0x71, 0x6b, 0x67, 0x22, 0x04, 0x11, 0x34, 0xea, 0x1c,
2224                0x68, 0xaa, 0xbf, 0x02, 0x13, 0x29, 0x8f, 0x4e, 0x18, 0xf8, 0xf4, 0x92, 0xdc, 0x53,
2225                0x80, 0x8a, 0x31, 0x74,
2226            ],
2227            Core::RightPadLow8_64 => [
2228                0xd6, 0x9c, 0x85, 0xe7, 0xb2, 0xd7, 0xe9, 0x49, 0x43, 0x6c, 0xb1, 0x29, 0x5e, 0x4a,
2229                0xa7, 0x05, 0x57, 0xd7, 0x5e, 0x7c, 0xbd, 0xec, 0x02, 0xcc, 0xa8, 0x5f, 0xbf, 0xb1,
2230                0x33, 0x08, 0xb2, 0x10,
2231            ],
2232            Core::RightRotate16 => [
2233                0xe5, 0x10, 0x70, 0x82, 0x47, 0xf9, 0x1b, 0x4f, 0x0a, 0x8a, 0x22, 0xa4, 0x46, 0xb8,
2234                0x13, 0x7d, 0x0d, 0x42, 0xbe, 0xe7, 0x4c, 0x8c, 0x1e, 0xdd, 0x6d, 0x44, 0x6e, 0xdb,
2235                0x20, 0x13, 0xb5, 0x98,
2236            ],
2237            Core::RightRotate32 => [
2238                0x98, 0x91, 0x57, 0x31, 0x41, 0x29, 0x22, 0xdb, 0xc5, 0x16, 0xa7, 0x37, 0x3a, 0xfc,
2239                0x4d, 0xe6, 0x48, 0x09, 0xf8, 0x3b, 0x26, 0x4b, 0xcf, 0xca, 0x6a, 0xe7, 0x48, 0x83,
2240                0xdb, 0xe1, 0x04, 0xd6,
2241            ],
2242            Core::RightRotate64 => [
2243                0x9e, 0x2f, 0xb9, 0x8a, 0xdf, 0x10, 0x29, 0x33, 0x9d, 0xbe, 0x45, 0xa2, 0x2a, 0x54,
2244                0xa3, 0x90, 0xca, 0x09, 0x86, 0xed, 0xce, 0xa3, 0x2e, 0xac, 0xb8, 0x2e, 0xbc, 0xc8,
2245                0x94, 0xa2, 0x71, 0x1a,
2246            ],
2247            Core::RightRotate8 => [
2248                0x00, 0xc7, 0xc2, 0x6d, 0x95, 0xa5, 0x0b, 0x5a, 0xf9, 0x34, 0x9f, 0xfe, 0x47, 0xe1,
2249                0xd4, 0x3f, 0x3d, 0x76, 0x1f, 0x17, 0xa7, 0x45, 0x3c, 0x98, 0x47, 0x91, 0xe8, 0x7d,
2250                0xc6, 0xa3, 0x11, 0xc8,
2251            ],
2252            Core::RightShift16 => [
2253                0x8b, 0x5e, 0x0f, 0xeb, 0x95, 0x81, 0x30, 0xf0, 0x50, 0x83, 0x32, 0x15, 0x9e, 0x54,
2254                0xc2, 0xdf, 0x98, 0xaf, 0x83, 0x52, 0x1a, 0xca, 0xb3, 0x08, 0x4f, 0xd4, 0xf7, 0xc3,
2255                0xa2, 0xcc, 0xea, 0x77,
2256            ],
2257            Core::RightShift32 => [
2258                0x4b, 0x1f, 0x25, 0x80, 0xe0, 0x85, 0x0d, 0x38, 0xe2, 0xa1, 0x15, 0x73, 0x38, 0x05,
2259                0x2f, 0x1c, 0x37, 0x9f, 0x9d, 0x81, 0x57, 0xf6, 0x2d, 0x33, 0x89, 0x0a, 0xf2, 0x4f,
2260                0xd9, 0xa7, 0xf7, 0x3e,
2261            ],
2262            Core::RightShift64 => [
2263                0x91, 0xa2, 0x97, 0xd7, 0xb5, 0x8a, 0x39, 0x3b, 0xf5, 0x90, 0x25, 0x94, 0x77, 0x47,
2264                0xc8, 0x6d, 0xd4, 0x87, 0x65, 0x9c, 0xc5, 0x6f, 0xb5, 0xa6, 0xf6, 0x43, 0x99, 0x55,
2265                0x12, 0x9a, 0x95, 0x63,
2266            ],
2267            Core::RightShift8 => [
2268                0xa4, 0xc3, 0x54, 0x6f, 0xf2, 0x7e, 0x56, 0xd6, 0x4e, 0x91, 0x8a, 0xb2, 0xfa, 0x6d,
2269                0x00, 0xfc, 0x27, 0x04, 0x58, 0x5b, 0x25, 0xbd, 0xe0, 0x04, 0x9d, 0x6d, 0x8f, 0x48,
2270                0xd8, 0xcf, 0x1c, 0xd0,
2271            ],
2272            Core::RightShiftWith16 => [
2273                0xfd, 0x97, 0x70, 0x30, 0xe3, 0xa2, 0x5a, 0x32, 0xe7, 0x75, 0xb8, 0xd5, 0xe8, 0x71,
2274                0x74, 0xa7, 0xa9, 0xe8, 0x73, 0x1e, 0xc3, 0x6c, 0xf1, 0x32, 0x64, 0x20, 0xad, 0x91,
2275                0x50, 0x2e, 0x6e, 0x98,
2276            ],
2277            Core::RightShiftWith32 => [
2278                0x28, 0x29, 0xba, 0x02, 0x1f, 0x54, 0x07, 0x7a, 0xff, 0xb6, 0x6a, 0xc6, 0xb6, 0xdf,
2279                0xd3, 0xfe, 0xf3, 0x8b, 0xc4, 0x14, 0x91, 0x84, 0x5a, 0x41, 0xce, 0x9d, 0xd3, 0x70,
2280                0x58, 0x6c, 0x2d, 0x04,
2281            ],
2282            Core::RightShiftWith64 => [
2283                0x00, 0x6f, 0xa3, 0xc5, 0x45, 0x79, 0x75, 0x47, 0x86, 0xfc, 0x64, 0xdc, 0x32, 0xe1,
2284                0x9a, 0x22, 0x5c, 0xc1, 0x52, 0xc9, 0x4d, 0xee, 0xb3, 0xc6, 0xab, 0x29, 0x67, 0xdd,
2285                0xbf, 0xc6, 0x46, 0x53,
2286            ],
2287            Core::RightShiftWith8 => [
2288                0xfc, 0xb5, 0xbe, 0x65, 0x07, 0xf0, 0xca, 0x44, 0xbe, 0x2b, 0xe1, 0xcc, 0x3c, 0x3c,
2289                0xfe, 0x39, 0x94, 0x40, 0x4b, 0x80, 0x83, 0xbd, 0x76, 0x02, 0xb2, 0x10, 0x2c, 0xb1,
2290                0xfc, 0xfa, 0x2c, 0x61,
2291            ],
2292            Core::Rightmost16_1 => [
2293                0x3f, 0x3c, 0x43, 0x46, 0x87, 0x17, 0x42, 0x26, 0x5e, 0x87, 0xf0, 0x01, 0xb4, 0x6d,
2294                0xe7, 0xd1, 0x98, 0x75, 0x1b, 0x34, 0xfa, 0xa1, 0x80, 0x18, 0xde, 0x60, 0xc8, 0x46,
2295                0x8d, 0x9b, 0x98, 0xa4,
2296            ],
2297            Core::Rightmost16_2 => [
2298                0x78, 0xf1, 0x71, 0x47, 0x6a, 0x3b, 0x0e, 0xd1, 0xe3, 0xa5, 0x45, 0x5a, 0x5f, 0xbb,
2299                0xcc, 0x90, 0x19, 0x81, 0xb3, 0x23, 0x0f, 0xea, 0x12, 0x64, 0x20, 0x4d, 0xac, 0xd0,
2300                0x81, 0xf9, 0x40, 0x80,
2301            ],
2302            Core::Rightmost16_4 => [
2303                0x75, 0xa1, 0xdf, 0xb6, 0xae, 0x2c, 0x06, 0x6b, 0x2d, 0x0e, 0x20, 0x93, 0x04, 0x8a,
2304                0xdb, 0xc5, 0x0d, 0x46, 0x50, 0x65, 0x6f, 0xb2, 0xd3, 0x57, 0x8b, 0x57, 0xd9, 0xde,
2305                0x4c, 0x61, 0xc8, 0xb5,
2306            ],
2307            Core::Rightmost16_8 => [
2308                0xee, 0x76, 0x9c, 0x1c, 0xc8, 0xa3, 0xfd, 0xd1, 0x83, 0x8f, 0xc9, 0xf0, 0x49, 0x0c,
2309                0xe7, 0x03, 0x93, 0xfd, 0x91, 0xba, 0x3c, 0xbd, 0x4a, 0xbd, 0x08, 0x64, 0x9f, 0xb9,
2310                0xc4, 0x43, 0x11, 0xbd,
2311            ],
2312            Core::Rightmost32_1 => [
2313                0xcb, 0x0d, 0xb5, 0x69, 0xa3, 0x61, 0x86, 0xa2, 0x56, 0x05, 0xa9, 0xd2, 0xe4, 0xe1,
2314                0x0a, 0x20, 0xc1, 0x11, 0xd5, 0x0c, 0x34, 0xf1, 0x72, 0x46, 0x52, 0x0b, 0xc4, 0x54,
2315                0xd8, 0x68, 0x28, 0x36,
2316            ],
2317            Core::Rightmost32_16 => [
2318                0x06, 0xfa, 0xa3, 0xbe, 0x67, 0x8c, 0xd6, 0xfd, 0xd7, 0xf3, 0x11, 0x2e, 0xbf, 0x2c,
2319                0x48, 0x62, 0x7a, 0xfa, 0x78, 0x75, 0xf7, 0x06, 0x8d, 0x26, 0xa9, 0xcc, 0x04, 0x5b,
2320                0x2c, 0x8f, 0x11, 0xbc,
2321            ],
2322            Core::Rightmost32_2 => [
2323                0x00, 0xb8, 0x81, 0x5a, 0xd7, 0x42, 0x3d, 0xd5, 0x8c, 0xb9, 0x8b, 0xe8, 0x2c, 0xad,
2324                0x26, 0x67, 0x5c, 0x3b, 0xf5, 0x4a, 0x0b, 0xed, 0xba, 0xde, 0x34, 0x64, 0xb4, 0xfe,
2325                0x5a, 0x4e, 0x8c, 0xe6,
2326            ],
2327            Core::Rightmost32_4 => [
2328                0x3d, 0xfa, 0x7a, 0x20, 0x19, 0x8e, 0x42, 0xd6, 0xa7, 0x94, 0x8c, 0x8e, 0xd8, 0xe0,
2329                0xd4, 0x7e, 0xc7, 0xc0, 0x00, 0x7b, 0x3d, 0x68, 0x66, 0xca, 0x15, 0xe3, 0xda, 0x04,
2330                0x5b, 0x85, 0x63, 0xc7,
2331            ],
2332            Core::Rightmost32_8 => [
2333                0x17, 0xb5, 0x8d, 0x6e, 0x30, 0x4b, 0x1c, 0x7e, 0x5d, 0xbf, 0x0c, 0x4d, 0xf6, 0xfc,
2334                0xc8, 0x03, 0xc0, 0x08, 0x94, 0x4c, 0x79, 0x95, 0x55, 0x5b, 0x94, 0xe1, 0x28, 0x9b,
2335                0x25, 0x49, 0xbe, 0x99,
2336            ],
2337            Core::Rightmost64_1 => [
2338                0x5e, 0x8f, 0xb4, 0x9f, 0xac, 0xe0, 0x34, 0x48, 0x1d, 0xc6, 0x53, 0x61, 0x8e, 0x2a,
2339                0x8b, 0x65, 0xea, 0xf0, 0x99, 0x3f, 0x28, 0x84, 0x4c, 0xc9, 0xb1, 0x30, 0xca, 0xcc,
2340                0xe4, 0x5e, 0x82, 0xde,
2341            ],
2342            Core::Rightmost64_16 => [
2343                0xc6, 0x4c, 0xa9, 0x96, 0x55, 0x36, 0xf2, 0x37, 0xbc, 0x4d, 0x16, 0x6e, 0x4a, 0xec,
2344                0xa5, 0x6e, 0xac, 0x26, 0x62, 0xe6, 0x3a, 0xcc, 0xb9, 0x8b, 0x6e, 0x54, 0x25, 0x60,
2345                0xf9, 0xe5, 0x38, 0xda,
2346            ],
2347            Core::Rightmost64_2 => [
2348                0x83, 0xd2, 0xda, 0x6f, 0x34, 0x20, 0xd7, 0x79, 0xbc, 0xb8, 0xf6, 0x0d, 0x0b, 0x69,
2349                0x6e, 0xed, 0x74, 0xc3, 0x1d, 0xb0, 0x8a, 0xdd, 0xbe, 0xbd, 0x12, 0x35, 0xa5, 0xdf,
2350                0x8f, 0x59, 0xc4, 0x2f,
2351            ],
2352            Core::Rightmost64_32 => [
2353                0x7d, 0x2d, 0xff, 0x6e, 0x3d, 0xd5, 0x04, 0xbb, 0x0e, 0x57, 0x03, 0xa0, 0x33, 0x58,
2354                0x6d, 0x27, 0xd9, 0x66, 0x44, 0xc0, 0x48, 0xab, 0x34, 0xa4, 0x5b, 0xf5, 0x35, 0x12,
2355                0x9d, 0x50, 0x11, 0x67,
2356            ],
2357            Core::Rightmost64_4 => [
2358                0x84, 0x1b, 0xbd, 0x65, 0x27, 0x42, 0xdd, 0xd3, 0xad, 0xea, 0xe4, 0x3c, 0xfe, 0xd6,
2359                0x32, 0x9f, 0x2f, 0xd6, 0x2e, 0x6f, 0xec, 0xd0, 0xfd, 0x58, 0xe3, 0xc3, 0xfb, 0x8b,
2360                0x5a, 0x0e, 0x4d, 0xd5,
2361            ],
2362            Core::Rightmost64_8 => [
2363                0xa0, 0xa6, 0x1c, 0x76, 0x58, 0xa1, 0x86, 0x23, 0xbf, 0x1d, 0x01, 0x1a, 0x97, 0x92,
2364                0xd5, 0x18, 0xfb, 0xd0, 0x24, 0x14, 0x2a, 0x90, 0x44, 0x00, 0xec, 0xde, 0xea, 0x92,
2365                0x45, 0x7a, 0x0a, 0x81,
2366            ],
2367            Core::Rightmost8_1 => [
2368                0x99, 0x9b, 0x68, 0x6e, 0x60, 0xb3, 0xd1, 0xec, 0xd6, 0xc6, 0xd7, 0x7f, 0xbc, 0xa8,
2369                0x2c, 0xb2, 0xab, 0xbd, 0x41, 0x82, 0xc8, 0x21, 0x12, 0x67, 0x47, 0x5f, 0xa0, 0xc1,
2370                0x90, 0x1d, 0x89, 0xf9,
2371            ],
2372            Core::Rightmost8_2 => [
2373                0x53, 0x07, 0xff, 0xbf, 0x51, 0x6c, 0xd0, 0xee, 0xf3, 0xff, 0x43, 0x87, 0xb9, 0x05,
2374                0x2c, 0x14, 0x4a, 0x4d, 0xfa, 0x23, 0x29, 0x23, 0x7c, 0x6b, 0x27, 0x49, 0x92, 0xb2,
2375                0xc8, 0x04, 0x7b, 0x60,
2376            ],
2377            Core::Rightmost8_4 => [
2378                0x7f, 0x52, 0xe6, 0x45, 0xbb, 0xbb, 0xd7, 0x92, 0x69, 0xc4, 0x3e, 0xf0, 0x2d, 0xb9,
2379                0x82, 0xf8, 0xc6, 0x36, 0x33, 0xc1, 0x79, 0xe4, 0x06, 0x91, 0x73, 0x93, 0x36, 0x04,
2380                0xcc, 0x63, 0x5b, 0xca,
2381            ],
2382            Core::ScalarAdd => [
2383                0x34, 0xba, 0xa4, 0x0b, 0x2e, 0x0a, 0xa8, 0xcb, 0x7e, 0x97, 0xc7, 0x3e, 0x3e, 0xd3,
2384                0xb3, 0x65, 0xa1, 0x5b, 0x7c, 0x3f, 0x76, 0x61, 0xfb, 0x19, 0x71, 0x5e, 0xc6, 0x05,
2385                0xc1, 0x14, 0x9d, 0x11,
2386            ],
2387            Core::ScalarInvert => [
2388                0x62, 0x31, 0xbd, 0xab, 0x73, 0xca, 0x34, 0xea, 0x7e, 0x83, 0x7d, 0xaa, 0xd6, 0x92,
2389                0xed, 0xe5, 0xba, 0xbf, 0xae, 0x09, 0xb5, 0x75, 0x6d, 0x2a, 0xb3, 0x6c, 0x5a, 0x36,
2390                0x47, 0x5a, 0x65, 0x89,
2391            ],
2392            Core::ScalarIsZero => [
2393                0xf7, 0x5e, 0xda, 0x06, 0xce, 0x6a, 0xf0, 0x9f, 0xae, 0x37, 0xdb, 0x4e, 0x62, 0x25,
2394                0xe6, 0xa8, 0xac, 0x86, 0xa2, 0x36, 0x37, 0x62, 0x7d, 0x62, 0x64, 0x09, 0x19, 0x0f,
2395                0xf3, 0xb3, 0x9d, 0x90,
2396            ],
2397            Core::ScalarMultiply => [
2398                0xb2, 0xbc, 0xc3, 0x90, 0xd6, 0x37, 0xb9, 0xe0, 0x3f, 0xbf, 0xc4, 0x2f, 0xff, 0x71,
2399                0xd2, 0x2e, 0x72, 0x00, 0xf6, 0x93, 0x29, 0xce, 0xf7, 0x16, 0x9e, 0x68, 0xa8, 0xc7,
2400                0x1a, 0x7f, 0x0a, 0x4b,
2401            ],
2402            Core::ScalarMultiplyLambda => [
2403                0x89, 0xd5, 0x85, 0x5c, 0x5f, 0x85, 0xc0, 0x03, 0x5d, 0x27, 0xb0, 0xc0, 0x9e, 0x20,
2404                0x33, 0x0b, 0x00, 0x1c, 0x68, 0x4b, 0x59, 0x86, 0xab, 0xce, 0xd8, 0x36, 0x0c, 0xd3,
2405                0x9b, 0x08, 0xc4, 0xe1,
2406            ],
2407            Core::ScalarNegate => [
2408                0x07, 0x05, 0xac, 0xdf, 0xb8, 0x66, 0x40, 0x00, 0x0e, 0x3d, 0x3b, 0xad, 0x50, 0x9a,
2409                0x14, 0xa7, 0x8c, 0x17, 0x1f, 0x61, 0xed, 0xc0, 0x84, 0x23, 0xb0, 0x42, 0xb9, 0x47,
2410                0x48, 0x43, 0x9c, 0xf8,
2411            ],
2412            Core::ScalarNormalize => [
2413                0xa0, 0x61, 0xe1, 0x9d, 0x75, 0xc3, 0x25, 0xa2, 0x6d, 0x56, 0x5a, 0xad, 0x7e, 0x3f,
2414                0x9a, 0xe2, 0x6b, 0x22, 0x2f, 0x25, 0xe8, 0x02, 0x17, 0x4f, 0x6b, 0xac, 0xd5, 0x11,
2415                0x27, 0x7a, 0xea, 0xa5,
2416            ],
2417            Core::ScalarSquare => [
2418                0x49, 0xf7, 0x34, 0xa2, 0x65, 0x9c, 0xa0, 0xab, 0x7c, 0x9e, 0x67, 0xfc, 0xfc, 0x3c,
2419                0x0d, 0x72, 0xaf, 0x0f, 0x91, 0x7c, 0x9e, 0xdc, 0xb9, 0x92, 0x9d, 0x17, 0x7a, 0x0f,
2420                0x0d, 0xe8, 0x9d, 0x59,
2421            ],
2422            Core::Scale => [
2423                0xc0, 0x45, 0x43, 0xdc, 0x85, 0xef, 0x11, 0x37, 0x4a, 0x93, 0x0f, 0x4a, 0x94, 0x8e,
2424                0xb7, 0x35, 0xa6, 0x50, 0x0a, 0x1a, 0x71, 0x58, 0xd5, 0x73, 0x12, 0x3f, 0x07, 0x21,
2425                0x71, 0x75, 0xf3, 0x18,
2426            ],
2427            Core::Sha256Block => [
2428                0x0c, 0x97, 0xa0, 0x08, 0xad, 0xe8, 0x7b, 0xb1, 0xe0, 0xac, 0x06, 0xb7, 0xd0, 0x31,
2429                0x30, 0x23, 0x36, 0x28, 0x58, 0xef, 0x90, 0xec, 0x14, 0xec, 0x9c, 0xb9, 0x5f, 0x0d,
2430                0xa9, 0x64, 0xe0, 0x08,
2431            ],
2432            Core::Sha256Ctx8Add1 => [
2433                0x37, 0x06, 0x6c, 0x67, 0xad, 0x95, 0x24, 0x9d, 0x4b, 0xa6, 0xe1, 0x81, 0x44, 0xca,
2434                0x0a, 0x41, 0x5d, 0x9c, 0x83, 0x2a, 0xa6, 0xb6, 0x06, 0x28, 0xe9, 0x7c, 0x96, 0x7e,
2435                0xb1, 0x79, 0x33, 0x83,
2436            ],
2437            Core::Sha256Ctx8Add128 => [
2438                0x2d, 0xcf, 0x48, 0x4c, 0x25, 0x7f, 0x67, 0x94, 0x0c, 0xa3, 0x75, 0xba, 0x98, 0xe8,
2439                0x3c, 0xe0, 0xe2, 0xa7, 0x1e, 0x16, 0xda, 0x50, 0x51, 0xd1, 0xbb, 0x19, 0xfb, 0x5f,
2440                0x34, 0x6f, 0x15, 0x4f,
2441            ],
2442            Core::Sha256Ctx8Add16 => [
2443                0x82, 0x99, 0x25, 0x20, 0x40, 0xcb, 0x39, 0xe3, 0x26, 0xa2, 0x48, 0xd5, 0xc7, 0x88,
2444                0xf9, 0x51, 0x6d, 0x15, 0xa2, 0xff, 0x41, 0x45, 0xbb, 0x64, 0xad, 0x65, 0x77, 0xae,
2445                0x1a, 0x3e, 0xf7, 0x27,
2446            ],
2447            Core::Sha256Ctx8Add2 => [
2448                0x8b, 0xae, 0x3e, 0x7e, 0x1e, 0xd4, 0xdc, 0xba, 0x6e, 0x64, 0x5a, 0xa1, 0x43, 0x41,
2449                0xbb, 0xae, 0x0d, 0xbb, 0x3a, 0xe2, 0x1b, 0xb6, 0x3d, 0xc0, 0x30, 0xca, 0x0e, 0x44,
2450                0x7a, 0x85, 0x7e, 0xc2,
2451            ],
2452            Core::Sha256Ctx8Add256 => [
2453                0x44, 0xb7, 0x17, 0xe1, 0x97, 0x09, 0x99, 0xb6, 0x6b, 0x69, 0x3d, 0x8c, 0x9d, 0x1d,
2454                0x3b, 0x06, 0x05, 0xc2, 0xb7, 0xa6, 0x21, 0x3e, 0x6b, 0xa5, 0x6c, 0x69, 0xaf, 0x8d,
2455                0x7f, 0xae, 0x16, 0x86,
2456            ],
2457            Core::Sha256Ctx8Add32 => [
2458                0x39, 0x23, 0x9a, 0x43, 0xa8, 0x4b, 0xac, 0x6f, 0x29, 0x69, 0xbf, 0xa9, 0x5b, 0xfe,
2459                0x6a, 0x04, 0xfc, 0xba, 0x80, 0x92, 0x89, 0x59, 0x39, 0xf1, 0x2a, 0x1c, 0xe0, 0xe2,
2460                0x63, 0x21, 0xec, 0x10,
2461            ],
2462            Core::Sha256Ctx8Add4 => [
2463                0xd7, 0xd7, 0x45, 0x61, 0x4b, 0x37, 0xa7, 0xe0, 0x7d, 0xce, 0x22, 0xf6, 0x4e, 0x7b,
2464                0x1e, 0xdf, 0xe2, 0x3b, 0xed, 0xa8, 0x51, 0xf1, 0xe7, 0x6f, 0x1a, 0x6b, 0x02, 0x8f,
2465                0xcc, 0x5e, 0x9f, 0xc0,
2466            ],
2467            Core::Sha256Ctx8Add512 => [
2468                0xbe, 0x36, 0x80, 0x32, 0xd8, 0x6e, 0xbc, 0xf2, 0x13, 0xca, 0x45, 0xba, 0x6e, 0xca,
2469                0xb5, 0x4c, 0xb1, 0xf2, 0x66, 0x1d, 0x40, 0x3d, 0xa0, 0x59, 0x06, 0x30, 0x0b, 0xc5,
2470                0x11, 0x37, 0xaa, 0xb5,
2471            ],
2472            Core::Sha256Ctx8Add64 => [
2473                0xfd, 0xc4, 0x34, 0xce, 0x83, 0xdb, 0xdc, 0xe0, 0x78, 0x2a, 0xa3, 0x6d, 0x41, 0x8d,
2474                0xef, 0x7f, 0x99, 0xaf, 0x82, 0x93, 0xaf, 0xb2, 0x9e, 0x83, 0x9f, 0xe4, 0x94, 0x8f,
2475                0x62, 0x34, 0xf7, 0x7f,
2476            ],
2477            Core::Sha256Ctx8Add8 => [
2478                0x9c, 0x98, 0x83, 0x30, 0x79, 0x9a, 0x68, 0x0b, 0xfe, 0x73, 0xd7, 0xca, 0xa3, 0x68,
2479                0x9f, 0xe4, 0xe4, 0x83, 0xda, 0x4e, 0xe6, 0xd8, 0x18, 0x58, 0x79, 0x27, 0xc7, 0xf4,
2480                0x33, 0x92, 0xde, 0xf7,
2481            ],
2482            Core::Sha256Ctx8AddBuffer511 => [
2483                0xc0, 0x27, 0xe1, 0x06, 0x29, 0x96, 0xae, 0x94, 0xac, 0x39, 0x71, 0xa2, 0xc4, 0xfa,
2484                0xe5, 0x49, 0x97, 0xeb, 0xf0, 0x9b, 0x9f, 0x7d, 0xa5, 0x75, 0x63, 0x9b, 0xe6, 0x17,
2485                0x16, 0x7f, 0x02, 0xe3,
2486            ],
2487            Core::Sha256Ctx8Finalize => [
2488                0xcb, 0xba, 0x1f, 0x1d, 0x8a, 0x97, 0xab, 0x4d, 0x1f, 0xa9, 0x68, 0x6e, 0x7a, 0xee,
2489                0xf0, 0x66, 0xfb, 0x5b, 0xf2, 0x90, 0x71, 0x6e, 0xae, 0x10, 0xe7, 0x0b, 0x61, 0x99,
2490                0x96, 0xc5, 0x95, 0x94,
2491            ],
2492            Core::Sha256Ctx8Init => [
2493                0xa5, 0x3c, 0x76, 0x79, 0xe3, 0xae, 0x03, 0x47, 0xd4, 0xd7, 0x91, 0x26, 0xa7, 0xc7,
2494                0xe4, 0x9a, 0xc0, 0xde, 0xc9, 0x0c, 0xdf, 0x93, 0x57, 0x99, 0xcd, 0xdb, 0x58, 0xda,
2495                0x8f, 0x44, 0x96, 0xe4,
2496            ],
2497            Core::Sha256Iv => [
2498                0x73, 0x89, 0xf0, 0x02, 0x53, 0x05, 0xdc, 0xe8, 0x28, 0xd4, 0xa1, 0xfe, 0x83, 0x74,
2499                0x30, 0x46, 0xa3, 0x67, 0xc9, 0x23, 0xf1, 0x8a, 0xbf, 0x36, 0x5e, 0x39, 0x1e, 0x5b,
2500                0x04, 0xaf, 0x1a, 0x47,
2501            ],
2502            Core::Some1 => [
2503                0xfb, 0xda, 0xd6, 0xb0, 0x22, 0xa0, 0xc7, 0x8f, 0xf3, 0x56, 0x04, 0xaa, 0xfa, 0xcd,
2504                0x27, 0xcc, 0x10, 0xf5, 0x1e, 0xe0, 0x69, 0x8c, 0x41, 0xf1, 0xad, 0xa9, 0x03, 0x97,
2505                0x61, 0x8d, 0x52, 0x6f,
2506            ],
2507            Core::Some16 => [
2508                0x7e, 0x2c, 0xcd, 0xbf, 0xc2, 0x4d, 0xd8, 0xd8, 0xa9, 0x04, 0xb0, 0x17, 0xdd, 0x4f,
2509                0x57, 0xe7, 0xc8, 0x74, 0x96, 0x34, 0x8a, 0xca, 0x7d, 0x04, 0x58, 0xc9, 0xd1, 0x6b,
2510                0x68, 0xbc, 0xda, 0x1c,
2511            ],
2512            Core::Some32 => [
2513                0x45, 0x36, 0xae, 0xb1, 0x21, 0xc4, 0x27, 0x3f, 0xfc, 0x2a, 0x48, 0xfe, 0xd9, 0xee,
2514                0xd0, 0x31, 0x2e, 0xbd, 0x97, 0x2d, 0xec, 0x56, 0x81, 0xf4, 0x7e, 0xad, 0x0f, 0x62,
2515                0xd9, 0x54, 0x45, 0x2a,
2516            ],
2517            Core::Some64 => [
2518                0x7f, 0x0b, 0xbd, 0x9d, 0x66, 0x31, 0xc1, 0x30, 0x9f, 0x90, 0x1c, 0x2f, 0x0d, 0x7a,
2519                0x0d, 0x28, 0x4a, 0x34, 0x41, 0x6c, 0xf7, 0x50, 0xdb, 0x1f, 0xe2, 0xb9, 0xf3, 0xd6,
2520                0xed, 0x70, 0x94, 0x09,
2521            ],
2522            Core::Some8 => [
2523                0x2d, 0x8c, 0x8f, 0x71, 0xee, 0x5e, 0x75, 0x82, 0xf0, 0xed, 0x65, 0xf5, 0x26, 0xc0,
2524                0x26, 0x05, 0xdc, 0xb9, 0x3c, 0x0b, 0xdd, 0xb9, 0x43, 0x3a, 0xff, 0x3f, 0x25, 0xc2,
2525                0x28, 0xac, 0xda, 0x8a,
2526            ],
2527            Core::Subtract16 => [
2528                0x56, 0x9e, 0x6c, 0x6b, 0x39, 0xe7, 0xd8, 0x12, 0x65, 0x9b, 0x67, 0xaa, 0xc0, 0x8a,
2529                0xd1, 0x50, 0x99, 0xee, 0xad, 0x79, 0x8f, 0xd1, 0xd4, 0x2d, 0xa1, 0x7e, 0xe3, 0xf0,
2530                0xd4, 0xd4, 0x49, 0x2a,
2531            ],
2532            Core::Subtract32 => [
2533                0x19, 0xd3, 0x5e, 0x0a, 0xf1, 0xe1, 0x65, 0x14, 0xa6, 0xdf, 0xc2, 0x9a, 0x91, 0x41,
2534                0x87, 0x13, 0x39, 0x64, 0xc4, 0x80, 0xf6, 0x60, 0xe7, 0xeb, 0x92, 0x4e, 0xe1, 0x6d,
2535                0xba, 0xa2, 0x49, 0xcb,
2536            ],
2537            Core::Subtract64 => [
2538                0x52, 0x3e, 0x11, 0x86, 0x28, 0xbf, 0x3a, 0xc1, 0xa6, 0xbe, 0x5a, 0x72, 0xbd, 0xb1,
2539                0x14, 0x1b, 0x89, 0xe0, 0xe0, 0x01, 0xe4, 0x02, 0xad, 0xda, 0x82, 0x58, 0x79, 0x00,
2540                0x03, 0xf8, 0x8a, 0xd8,
2541            ],
2542            Core::Subtract8 => [
2543                0x40, 0x95, 0x0b, 0x86, 0xf6, 0xf1, 0xf9, 0x93, 0x55, 0xde, 0xe1, 0x1f, 0x77, 0xda,
2544                0xf2, 0x79, 0xa0, 0xcb, 0x6c, 0x6d, 0x15, 0x6a, 0xe4, 0x4b, 0x7d, 0x5d, 0x25, 0x71,
2545                0x64, 0xb2, 0x67, 0xc5,
2546            ],
2547            Core::Swu => [
2548                0xab, 0xf7, 0x0b, 0xe0, 0x0b, 0x30, 0xf5, 0x77, 0xf9, 0x87, 0xcb, 0x50, 0x48, 0x89,
2549                0x96, 0xba, 0x35, 0x96, 0xdb, 0xf9, 0xc1, 0xe8, 0x44, 0xa8, 0xb1, 0xb8, 0xb7, 0x10,
2550                0x85, 0x3b, 0x65, 0xeb,
2551            ],
2552            Core::TapdataInit => [
2553                0x6c, 0x67, 0xe5, 0xc1, 0x07, 0x35, 0x30, 0x5e, 0xe7, 0xde, 0xb5, 0x9a, 0x6c, 0x6a,
2554                0xc2, 0xef, 0xfc, 0xab, 0x4f, 0xf7, 0xbb, 0x47, 0x9e, 0xa7, 0x00, 0x81, 0x60, 0x6e,
2555                0x60, 0x48, 0x4c, 0xa7,
2556            ],
2557            Core::Verify => [
2558                0x34, 0x3e, 0x6d, 0xc1, 0x6b, 0x3f, 0x52, 0xe8, 0x3e, 0x3b, 0x4c, 0xcc, 0x99, 0xb8,
2559                0xc6, 0xf9, 0x6a, 0x07, 0x4f, 0xe3, 0x99, 0x32, 0x7a, 0xf3, 0x64, 0xbc, 0x28, 0x5e,
2560                0x29, 0x97, 0x45, 0xa2,
2561            ],
2562            Core::Xor1 => [
2563                0x9d, 0xc9, 0xfe, 0x42, 0xf7, 0xeb, 0x34, 0x64, 0x9f, 0x1c, 0x72, 0xd2, 0xe5, 0xdd,
2564                0x16, 0x7d, 0xb2, 0x1b, 0xe5, 0x32, 0x13, 0x72, 0xd5, 0xca, 0x7f, 0x6a, 0x18, 0x4f,
2565                0x93, 0xe0, 0x5e, 0xe3,
2566            ],
2567            Core::Xor16 => [
2568                0x1f, 0xca, 0xf4, 0x0b, 0xde, 0xdd, 0x72, 0xe7, 0x97, 0xb0, 0x9f, 0xe7, 0x87, 0x53,
2569                0xb0, 0xab, 0x27, 0x87, 0x2c, 0x0b, 0xd1, 0x2b, 0x03, 0x49, 0x55, 0xfb, 0xfa, 0xc2,
2570                0x38, 0x12, 0xef, 0x26,
2571            ],
2572            Core::Xor32 => [
2573                0x1d, 0x49, 0xfc, 0x94, 0xf2, 0x2b, 0x5d, 0x31, 0xb7, 0xf9, 0xef, 0xb5, 0x37, 0x8e,
2574                0x5f, 0x8a, 0x42, 0x62, 0x6a, 0xed, 0x4e, 0x92, 0x79, 0x93, 0x48, 0xd6, 0xb7, 0x88,
2575                0xdf, 0xe8, 0x6b, 0x1c,
2576            ],
2577            Core::Xor64 => [
2578                0x7a, 0x3f, 0x3f, 0x55, 0x20, 0x47, 0x83, 0x65, 0x33, 0x44, 0x31, 0x1d, 0x1d, 0xc5,
2579                0x09, 0xd3, 0x5b, 0x66, 0x39, 0xc0, 0xd8, 0xb9, 0x67, 0xa2, 0x07, 0x80, 0x6c, 0xd8,
2580                0x7d, 0x31, 0xd6, 0xe6,
2581            ],
2582            Core::Xor8 => [
2583                0xd8, 0x33, 0x5f, 0x48, 0x90, 0xc1, 0xd8, 0xed, 0x76, 0x6c, 0x71, 0x35, 0x90, 0x2e,
2584                0x01, 0xa0, 0x09, 0x4e, 0x3a, 0x98, 0x16, 0xf7, 0x0c, 0x84, 0x7c, 0xc3, 0xd7, 0xc0,
2585                0x00, 0x40, 0x6e, 0xfe,
2586            ],
2587            Core::XorXor1 => [
2588                0x1e, 0x10, 0x7b, 0x05, 0xff, 0x94, 0x1d, 0x31, 0xd7, 0x57, 0x8b, 0x43, 0x73, 0x28,
2589                0xba, 0x52, 0xf3, 0xff, 0x20, 0xa0, 0x68, 0xc0, 0xd2, 0xbd, 0xef, 0x08, 0x76, 0x80,
2590                0x93, 0xcc, 0x7c, 0x63,
2591            ],
2592            Core::XorXor16 => [
2593                0xb7, 0x76, 0x98, 0x9d, 0xa5, 0x09, 0x5c, 0x4b, 0xe9, 0x4b, 0x1a, 0xef, 0x75, 0x94,
2594                0x66, 0xe1, 0x1f, 0x63, 0x9c, 0x19, 0x39, 0x47, 0x1f, 0xa1, 0x8e, 0x36, 0xe7, 0xe4,
2595                0x90, 0xc3, 0x89, 0x61,
2596            ],
2597            Core::XorXor32 => [
2598                0xd1, 0x68, 0xfa, 0xc1, 0xac, 0x7f, 0xc4, 0x83, 0x57, 0xbe, 0x1b, 0x65, 0x33, 0x75,
2599                0xec, 0x5e, 0x3f, 0x05, 0x82, 0x3a, 0xae, 0x6a, 0xc9, 0x85, 0xe9, 0x40, 0x3e, 0xea,
2600                0xb1, 0x2b, 0xb9, 0xf8,
2601            ],
2602            Core::XorXor64 => [
2603                0x36, 0x1c, 0x57, 0x93, 0x0e, 0xf9, 0x7d, 0x49, 0xcb, 0xc6, 0x79, 0xfa, 0xef, 0x1e,
2604                0x3b, 0xcf, 0xfb, 0x78, 0x79, 0x95, 0xb9, 0x61, 0xe5, 0x53, 0x7d, 0x2b, 0x1e, 0xeb,
2605                0xc9, 0xc9, 0xa6, 0xe8,
2606            ],
2607            Core::XorXor8 => [
2608                0xc2, 0xda, 0x6e, 0x9c, 0xa6, 0x4d, 0x8a, 0x73, 0xc1, 0x77, 0x26, 0x67, 0xb3, 0xd7,
2609                0xa0, 0x93, 0x8b, 0xcb, 0x8a, 0x6c, 0x43, 0xfd, 0x04, 0x73, 0xee, 0xc7, 0x1b, 0x77,
2610                0x49, 0x4a, 0xad, 0x94,
2611            ],
2612        };
2613
2614        Cmr(Midstate(bytes))
2615    }
2616
2617    fn source_ty(&self) -> TypeName {
2618        let name: &'static [u8] = match self {
2619            Core::Add16 => b"i",
2620            Core::Add32 => b"l",
2621            Core::Add64 => b"*ll",
2622            Core::Add8 => b"****22*22**22*22***22*22**22*22",
2623            Core::All16 => b"****22*22**22*22***22*22**22*22",
2624            Core::All32 => b"i",
2625            Core::All64 => b"l",
2626            Core::All8 => b"***22*22**22*22",
2627            Core::And1 => b"*22",
2628            Core::And16 => b"i",
2629            Core::And32 => b"l",
2630            Core::And64 => b"*ll",
2631            Core::And8 => b"****22*22**22*22***22*22**22*22",
2632            Core::Bip0340Verify => b"**hh*hh",
2633            Core::Ch1 => b"*2*22",
2634            Core::Ch16 => b"*****22*22**22*22***22*22**22*22i",
2635            Core::Ch32 => b"*il",
2636            Core::Ch64 => b"*l*ll",
2637            Core::Ch8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
2638            Core::CheckSigVerify => b"**h*hh*hh",
2639            Core::Complement1 => b"2",
2640            Core::Complement16 => b"****22*22**22*22***22*22**22*22",
2641            Core::Complement32 => b"i",
2642            Core::Complement64 => b"l",
2643            Core::Complement8 => b"***22*22**22*22",
2644            Core::Decompress => b"*2h",
2645            Core::Decrement16 => b"****22*22**22*22***22*22**22*22",
2646            Core::Decrement32 => b"i",
2647            Core::Decrement64 => b"l",
2648            Core::Decrement8 => b"***22*22**22*22",
2649            Core::DivMod128_64 => b"**lll",
2650            Core::DivMod16 => b"i",
2651            Core::DivMod32 => b"l",
2652            Core::DivMod64 => b"*ll",
2653            Core::DivMod8 => b"****22*22**22*22***22*22**22*22",
2654            Core::Divide16 => b"i",
2655            Core::Divide32 => b"l",
2656            Core::Divide64 => b"*ll",
2657            Core::Divide8 => b"****22*22**22*22***22*22**22*22",
2658            Core::Divides16 => b"i",
2659            Core::Divides32 => b"l",
2660            Core::Divides64 => b"*ll",
2661            Core::Divides8 => b"****22*22**22*22***22*22**22*22",
2662            Core::Eq1 => b"*22",
2663            Core::Eq16 => b"i",
2664            Core::Eq256 => b"*hh",
2665            Core::Eq32 => b"l",
2666            Core::Eq64 => b"*ll",
2667            Core::Eq8 => b"****22*22**22*22***22*22**22*22",
2668            Core::FeAdd => b"*hh",
2669            Core::FeInvert => b"h",
2670            Core::FeIsOdd => b"h",
2671            Core::FeIsZero => b"h",
2672            Core::FeMultiply => b"*hh",
2673            Core::FeMultiplyBeta => b"h",
2674            Core::FeNegate => b"h",
2675            Core::FeNormalize => b"h",
2676            Core::FeSquare => b"h",
2677            Core::FeSquareRoot => b"h",
2678            Core::FullAdd16 => b"*2i",
2679            Core::FullAdd32 => b"*2l",
2680            Core::FullAdd64 => b"*2*ll",
2681            Core::FullAdd8 => b"*2****22*22**22*22***22*22**22*22",
2682            Core::FullDecrement16 => b"*2****22*22**22*22***22*22**22*22",
2683            Core::FullDecrement32 => b"*2i",
2684            Core::FullDecrement64 => b"*2l",
2685            Core::FullDecrement8 => b"*2***22*22**22*22",
2686            Core::FullIncrement16 => b"*2****22*22**22*22***22*22**22*22",
2687            Core::FullIncrement32 => b"*2i",
2688            Core::FullIncrement64 => b"*2l",
2689            Core::FullIncrement8 => b"*2***22*22**22*22",
2690            Core::FullLeftShift16_1 => b"*****22*22**22*22***22*22**22*222",
2691            Core::FullLeftShift16_2 => b"*****22*22**22*22***22*22**22*22*22",
2692            Core::FullLeftShift16_4 => b"*****22*22**22*22***22*22**22*22**22*22",
2693            Core::FullLeftShift16_8 => b"*****22*22**22*22***22*22**22*22***22*22**22*22",
2694            Core::FullLeftShift32_1 => b"*i2",
2695            Core::FullLeftShift32_16 => b"*i****22*22**22*22***22*22**22*22",
2696            Core::FullLeftShift32_2 => b"*i*22",
2697            Core::FullLeftShift32_4 => b"*i**22*22",
2698            Core::FullLeftShift32_8 => b"*i***22*22**22*22",
2699            Core::FullLeftShift64_1 => b"*l2",
2700            Core::FullLeftShift64_16 => b"*l****22*22**22*22***22*22**22*22",
2701            Core::FullLeftShift64_2 => b"*l*22",
2702            Core::FullLeftShift64_32 => b"*li",
2703            Core::FullLeftShift64_4 => b"*l**22*22",
2704            Core::FullLeftShift64_8 => b"*l***22*22**22*22",
2705            Core::FullLeftShift8_1 => b"****22*22**22*222",
2706            Core::FullLeftShift8_2 => b"****22*22**22*22*22",
2707            Core::FullLeftShift8_4 => b"****22*22**22*22**22*22",
2708            Core::FullMultiply16 => b"l",
2709            Core::FullMultiply32 => b"*ll",
2710            Core::FullMultiply64 => b"h",
2711            Core::FullMultiply8 => b"i",
2712            Core::FullRightShift16_1 => b"*2****22*22**22*22***22*22**22*22",
2713            Core::FullRightShift16_2 => b"**22****22*22**22*22***22*22**22*22",
2714            Core::FullRightShift16_4 => b"***22*22****22*22**22*22***22*22**22*22",
2715            Core::FullRightShift16_8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
2716            Core::FullRightShift32_1 => b"*2i",
2717            Core::FullRightShift32_16 => b"*****22*22**22*22***22*22**22*22i",
2718            Core::FullRightShift32_2 => b"**22i",
2719            Core::FullRightShift32_4 => b"***22*22i",
2720            Core::FullRightShift32_8 => b"****22*22**22*22i",
2721            Core::FullRightShift64_1 => b"*2l",
2722            Core::FullRightShift64_16 => b"*****22*22**22*22***22*22**22*22l",
2723            Core::FullRightShift64_2 => b"**22l",
2724            Core::FullRightShift64_32 => b"*il",
2725            Core::FullRightShift64_4 => b"***22*22l",
2726            Core::FullRightShift64_8 => b"****22*22**22*22l",
2727            Core::FullRightShift8_1 => b"*2***22*22**22*22",
2728            Core::FullRightShift8_2 => b"**22***22*22**22*22",
2729            Core::FullRightShift8_4 => b"***22*22***22*22**22*22",
2730            Core::FullSubtract16 => b"*2i",
2731            Core::FullSubtract32 => b"*2l",
2732            Core::FullSubtract64 => b"*2*ll",
2733            Core::FullSubtract8 => b"*2****22*22**22*22***22*22**22*22",
2734            Core::GeIsOnCurve => b"*hh",
2735            Core::GeNegate => b"*hh",
2736            Core::GejAdd => b"***hhh**hhh",
2737            Core::GejDouble => b"**hhh",
2738            Core::GejEquiv => b"***hhh**hhh",
2739            Core::GejGeAdd => b"***hhh*hh",
2740            Core::GejGeAddEx => b"***hhh*hh",
2741            Core::GejGeEquiv => b"***hhh*hh",
2742            Core::GejInfinity => b"1",
2743            Core::GejIsInfinity => b"**hhh",
2744            Core::GejIsOnCurve => b"**hhh",
2745            Core::GejNegate => b"**hhh",
2746            Core::GejNormalize => b"**hhh",
2747            Core::GejRescale => b"***hhhh",
2748            Core::GejXEquiv => b"*h**hhh",
2749            Core::GejYIsOdd => b"**hhh",
2750            Core::Generate => b"h",
2751            Core::HashToCurve => b"h",
2752            Core::High1 => b"1",
2753            Core::High16 => b"1",
2754            Core::High32 => b"1",
2755            Core::High64 => b"1",
2756            Core::High8 => b"1",
2757            Core::Increment16 => b"****22*22**22*22***22*22**22*22",
2758            Core::Increment32 => b"i",
2759            Core::Increment64 => b"l",
2760            Core::Increment8 => b"***22*22**22*22",
2761            Core::IsOne16 => b"****22*22**22*22***22*22**22*22",
2762            Core::IsOne32 => b"i",
2763            Core::IsOne64 => b"l",
2764            Core::IsOne8 => b"***22*22**22*22",
2765            Core::IsZero16 => b"****22*22**22*22***22*22**22*22",
2766            Core::IsZero32 => b"i",
2767            Core::IsZero64 => b"l",
2768            Core::IsZero8 => b"***22*22**22*22",
2769            Core::Le16 => b"i",
2770            Core::Le32 => b"l",
2771            Core::Le64 => b"*ll",
2772            Core::Le8 => b"****22*22**22*22***22*22**22*22",
2773            Core::LeftExtend16_32 => b"****22*22**22*22***22*22**22*22",
2774            Core::LeftExtend16_64 => b"****22*22**22*22***22*22**22*22",
2775            Core::LeftExtend1_16 => b"2",
2776            Core::LeftExtend1_32 => b"2",
2777            Core::LeftExtend1_64 => b"2",
2778            Core::LeftExtend1_8 => b"2",
2779            Core::LeftExtend32_64 => b"i",
2780            Core::LeftExtend8_16 => b"***22*22**22*22",
2781            Core::LeftExtend8_32 => b"***22*22**22*22",
2782            Core::LeftExtend8_64 => b"***22*22**22*22",
2783            Core::LeftPadHigh16_32 => b"****22*22**22*22***22*22**22*22",
2784            Core::LeftPadHigh16_64 => b"****22*22**22*22***22*22**22*22",
2785            Core::LeftPadHigh1_16 => b"2",
2786            Core::LeftPadHigh1_32 => b"2",
2787            Core::LeftPadHigh1_64 => b"2",
2788            Core::LeftPadHigh1_8 => b"2",
2789            Core::LeftPadHigh32_64 => b"i",
2790            Core::LeftPadHigh8_16 => b"***22*22**22*22",
2791            Core::LeftPadHigh8_32 => b"***22*22**22*22",
2792            Core::LeftPadHigh8_64 => b"***22*22**22*22",
2793            Core::LeftPadLow16_32 => b"****22*22**22*22***22*22**22*22",
2794            Core::LeftPadLow16_64 => b"****22*22**22*22***22*22**22*22",
2795            Core::LeftPadLow1_16 => b"2",
2796            Core::LeftPadLow1_32 => b"2",
2797            Core::LeftPadLow1_64 => b"2",
2798            Core::LeftPadLow1_8 => b"2",
2799            Core::LeftPadLow32_64 => b"i",
2800            Core::LeftPadLow8_16 => b"***22*22**22*22",
2801            Core::LeftPadLow8_32 => b"***22*22**22*22",
2802            Core::LeftPadLow8_64 => b"***22*22**22*22",
2803            Core::LeftRotate16 => b"***22*22****22*22**22*22***22*22**22*22",
2804            Core::LeftRotate32 => b"****22*22**22*22i",
2805            Core::LeftRotate64 => b"****22*22**22*22l",
2806            Core::LeftRotate8 => b"***22*22***22*22**22*22",
2807            Core::LeftShift16 => b"***22*22****22*22**22*22***22*22**22*22",
2808            Core::LeftShift32 => b"****22*22**22*22i",
2809            Core::LeftShift64 => b"****22*22**22*22l",
2810            Core::LeftShift8 => b"***22*22***22*22**22*22",
2811            Core::LeftShiftWith16 => b"*2***22*22****22*22**22*22***22*22**22*22",
2812            Core::LeftShiftWith32 => b"*2****22*22**22*22i",
2813            Core::LeftShiftWith64 => b"*2****22*22**22*22l",
2814            Core::LeftShiftWith8 => b"*2***22*22***22*22**22*22",
2815            Core::Leftmost16_1 => b"****22*22**22*22***22*22**22*22",
2816            Core::Leftmost16_2 => b"****22*22**22*22***22*22**22*22",
2817            Core::Leftmost16_4 => b"****22*22**22*22***22*22**22*22",
2818            Core::Leftmost16_8 => b"****22*22**22*22***22*22**22*22",
2819            Core::Leftmost32_1 => b"i",
2820            Core::Leftmost32_16 => b"i",
2821            Core::Leftmost32_2 => b"i",
2822            Core::Leftmost32_4 => b"i",
2823            Core::Leftmost32_8 => b"i",
2824            Core::Leftmost64_1 => b"l",
2825            Core::Leftmost64_16 => b"l",
2826            Core::Leftmost64_2 => b"l",
2827            Core::Leftmost64_32 => b"l",
2828            Core::Leftmost64_4 => b"l",
2829            Core::Leftmost64_8 => b"l",
2830            Core::Leftmost8_1 => b"***22*22**22*22",
2831            Core::Leftmost8_2 => b"***22*22**22*22",
2832            Core::Leftmost8_4 => b"***22*22**22*22",
2833            Core::LinearCombination1 => b"**h**hhhh",
2834            Core::LinearVerify1 => b"***h*hhh*hh",
2835            Core::Low1 => b"1",
2836            Core::Low16 => b"1",
2837            Core::Low32 => b"1",
2838            Core::Low64 => b"1",
2839            Core::Low8 => b"1",
2840            Core::Lt16 => b"i",
2841            Core::Lt32 => b"l",
2842            Core::Lt64 => b"*ll",
2843            Core::Lt8 => b"****22*22**22*22***22*22**22*22",
2844            Core::Maj1 => b"*2*22",
2845            Core::Maj16 => b"*****22*22**22*22***22*22**22*22i",
2846            Core::Maj32 => b"*il",
2847            Core::Maj64 => b"*l*ll",
2848            Core::Maj8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
2849            Core::Max16 => b"i",
2850            Core::Max32 => b"l",
2851            Core::Max64 => b"*ll",
2852            Core::Max8 => b"****22*22**22*22***22*22**22*22",
2853            Core::Median16 => b"*****22*22**22*22***22*22**22*22i",
2854            Core::Median32 => b"*il",
2855            Core::Median64 => b"*l*ll",
2856            Core::Median8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
2857            Core::Min16 => b"i",
2858            Core::Min32 => b"l",
2859            Core::Min64 => b"*ll",
2860            Core::Min8 => b"****22*22**22*22***22*22**22*22",
2861            Core::Modulo16 => b"i",
2862            Core::Modulo32 => b"l",
2863            Core::Modulo64 => b"*ll",
2864            Core::Modulo8 => b"****22*22**22*22***22*22**22*22",
2865            Core::Multiply16 => b"i",
2866            Core::Multiply32 => b"l",
2867            Core::Multiply64 => b"*ll",
2868            Core::Multiply8 => b"****22*22**22*22***22*22**22*22",
2869            Core::Negate16 => b"****22*22**22*22***22*22**22*22",
2870            Core::Negate32 => b"i",
2871            Core::Negate64 => b"l",
2872            Core::Negate8 => b"***22*22**22*22",
2873            Core::One16 => b"1",
2874            Core::One32 => b"1",
2875            Core::One64 => b"1",
2876            Core::One8 => b"1",
2877            Core::Or1 => b"*22",
2878            Core::Or16 => b"i",
2879            Core::Or32 => b"l",
2880            Core::Or64 => b"*ll",
2881            Core::Or8 => b"****22*22**22*22***22*22**22*22",
2882            Core::ParseLock => b"i",
2883            Core::ParseSequence => b"i",
2884            Core::PointVerify1 => b"***h*2hh*2h",
2885            Core::RightExtend16_32 => b"****22*22**22*22***22*22**22*22",
2886            Core::RightExtend16_64 => b"****22*22**22*22***22*22**22*22",
2887            Core::RightExtend32_64 => b"i",
2888            Core::RightExtend8_16 => b"***22*22**22*22",
2889            Core::RightExtend8_32 => b"***22*22**22*22",
2890            Core::RightExtend8_64 => b"***22*22**22*22",
2891            Core::RightPadHigh16_32 => b"****22*22**22*22***22*22**22*22",
2892            Core::RightPadHigh16_64 => b"****22*22**22*22***22*22**22*22",
2893            Core::RightPadHigh1_16 => b"2",
2894            Core::RightPadHigh1_32 => b"2",
2895            Core::RightPadHigh1_64 => b"2",
2896            Core::RightPadHigh1_8 => b"2",
2897            Core::RightPadHigh32_64 => b"i",
2898            Core::RightPadHigh8_16 => b"***22*22**22*22",
2899            Core::RightPadHigh8_32 => b"***22*22**22*22",
2900            Core::RightPadHigh8_64 => b"***22*22**22*22",
2901            Core::RightPadLow16_32 => b"****22*22**22*22***22*22**22*22",
2902            Core::RightPadLow16_64 => b"****22*22**22*22***22*22**22*22",
2903            Core::RightPadLow1_16 => b"2",
2904            Core::RightPadLow1_32 => b"2",
2905            Core::RightPadLow1_64 => b"2",
2906            Core::RightPadLow1_8 => b"2",
2907            Core::RightPadLow32_64 => b"i",
2908            Core::RightPadLow8_16 => b"***22*22**22*22",
2909            Core::RightPadLow8_32 => b"***22*22**22*22",
2910            Core::RightPadLow8_64 => b"***22*22**22*22",
2911            Core::RightRotate16 => b"***22*22****22*22**22*22***22*22**22*22",
2912            Core::RightRotate32 => b"****22*22**22*22i",
2913            Core::RightRotate64 => b"****22*22**22*22l",
2914            Core::RightRotate8 => b"***22*22***22*22**22*22",
2915            Core::RightShift16 => b"***22*22****22*22**22*22***22*22**22*22",
2916            Core::RightShift32 => b"****22*22**22*22i",
2917            Core::RightShift64 => b"****22*22**22*22l",
2918            Core::RightShift8 => b"***22*22***22*22**22*22",
2919            Core::RightShiftWith16 => b"*2***22*22****22*22**22*22***22*22**22*22",
2920            Core::RightShiftWith32 => b"*2****22*22**22*22i",
2921            Core::RightShiftWith64 => b"*2****22*22**22*22l",
2922            Core::RightShiftWith8 => b"*2***22*22***22*22**22*22",
2923            Core::Rightmost16_1 => b"****22*22**22*22***22*22**22*22",
2924            Core::Rightmost16_2 => b"****22*22**22*22***22*22**22*22",
2925            Core::Rightmost16_4 => b"****22*22**22*22***22*22**22*22",
2926            Core::Rightmost16_8 => b"****22*22**22*22***22*22**22*22",
2927            Core::Rightmost32_1 => b"i",
2928            Core::Rightmost32_16 => b"i",
2929            Core::Rightmost32_2 => b"i",
2930            Core::Rightmost32_4 => b"i",
2931            Core::Rightmost32_8 => b"i",
2932            Core::Rightmost64_1 => b"l",
2933            Core::Rightmost64_16 => b"l",
2934            Core::Rightmost64_2 => b"l",
2935            Core::Rightmost64_32 => b"l",
2936            Core::Rightmost64_4 => b"l",
2937            Core::Rightmost64_8 => b"l",
2938            Core::Rightmost8_1 => b"***22*22**22*22",
2939            Core::Rightmost8_2 => b"***22*22**22*22",
2940            Core::Rightmost8_4 => b"***22*22**22*22",
2941            Core::ScalarAdd => b"*hh",
2942            Core::ScalarInvert => b"h",
2943            Core::ScalarIsZero => b"h",
2944            Core::ScalarMultiply => b"*hh",
2945            Core::ScalarMultiplyLambda => b"h",
2946            Core::ScalarNegate => b"h",
2947            Core::ScalarNormalize => b"h",
2948            Core::ScalarSquare => b"h",
2949            Core::Scale => b"*h**hhh",
2950            Core::Sha256Block => b"*h*hh",
2951            Core::Sha256Ctx8Add1 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh***22*22**22*22",
2952            Core::Sha256Ctx8Add128 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh**hh*hh",
2953            Core::Sha256Ctx8Add16 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*ll",
2954            Core::Sha256Ctx8Add2 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh****22*22**22*22***22*22**22*22",
2955            Core::Sha256Ctx8Add256 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh***hh*hh**hh*hh",
2956            Core::Sha256Ctx8Add32 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lhh",
2957            Core::Sha256Ctx8Add4 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lhi",
2958            Core::Sha256Ctx8Add512 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh****hh*hh**hh*hh***hh*hh**hh*hh",
2959            Core::Sha256Ctx8Add64 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*hh",
2960            Core::Sha256Ctx8Add8 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lhl",
2961            Core::Sha256Ctx8AddBuffer511 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*+1***hh*hh**hh*hh*+1**hh*hh*+1*hh*+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22",
2962            Core::Sha256Ctx8Finalize => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
2963            Core::Sha256Ctx8Init => b"1",
2964            Core::Sha256Iv => b"1",
2965            Core::Some1 => b"2",
2966            Core::Some16 => b"****22*22**22*22***22*22**22*22",
2967            Core::Some32 => b"i",
2968            Core::Some64 => b"l",
2969            Core::Some8 => b"***22*22**22*22",
2970            Core::Subtract16 => b"i",
2971            Core::Subtract32 => b"l",
2972            Core::Subtract64 => b"*ll",
2973            Core::Subtract8 => b"****22*22**22*22***22*22**22*22",
2974            Core::Swu => b"h",
2975            Core::TapdataInit => b"1",
2976            Core::Verify => b"2",
2977            Core::Xor1 => b"*22",
2978            Core::Xor16 => b"i",
2979            Core::Xor32 => b"l",
2980            Core::Xor64 => b"*ll",
2981            Core::Xor8 => b"****22*22**22*22***22*22**22*22",
2982            Core::XorXor1 => b"*2*22",
2983            Core::XorXor16 => b"*****22*22**22*22***22*22**22*22i",
2984            Core::XorXor32 => b"*il",
2985            Core::XorXor64 => b"*l*ll",
2986            Core::XorXor8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
2987        };
2988
2989        TypeName(name)
2990    }
2991
2992    fn target_ty(&self) -> TypeName {
2993        let name: &'static [u8] = match self {
2994            Core::Add16 => b"*2****22*22**22*22***22*22**22*22",
2995            Core::Add32 => b"*2i",
2996            Core::Add64 => b"*2l",
2997            Core::Add8 => b"*2***22*22**22*22",
2998            Core::All16 => b"2",
2999            Core::All32 => b"2",
3000            Core::All64 => b"2",
3001            Core::All8 => b"2",
3002            Core::And1 => b"2",
3003            Core::And16 => b"****22*22**22*22***22*22**22*22",
3004            Core::And32 => b"i",
3005            Core::And64 => b"l",
3006            Core::And8 => b"***22*22**22*22",
3007            Core::Bip0340Verify => b"1",
3008            Core::Ch1 => b"2",
3009            Core::Ch16 => b"****22*22**22*22***22*22**22*22",
3010            Core::Ch32 => b"i",
3011            Core::Ch64 => b"l",
3012            Core::Ch8 => b"***22*22**22*22",
3013            Core::CheckSigVerify => b"1",
3014            Core::Complement1 => b"2",
3015            Core::Complement16 => b"****22*22**22*22***22*22**22*22",
3016            Core::Complement32 => b"i",
3017            Core::Complement64 => b"l",
3018            Core::Complement8 => b"***22*22**22*22",
3019            Core::Decompress => b"+1*hh",
3020            Core::Decrement16 => b"*2****22*22**22*22***22*22**22*22",
3021            Core::Decrement32 => b"*2i",
3022            Core::Decrement64 => b"*2l",
3023            Core::Decrement8 => b"*2***22*22**22*22",
3024            Core::DivMod128_64 => b"*ll",
3025            Core::DivMod16 => b"i",
3026            Core::DivMod32 => b"l",
3027            Core::DivMod64 => b"*ll",
3028            Core::DivMod8 => b"****22*22**22*22***22*22**22*22",
3029            Core::Divide16 => b"****22*22**22*22***22*22**22*22",
3030            Core::Divide32 => b"i",
3031            Core::Divide64 => b"l",
3032            Core::Divide8 => b"***22*22**22*22",
3033            Core::Divides16 => b"2",
3034            Core::Divides32 => b"2",
3035            Core::Divides64 => b"2",
3036            Core::Divides8 => b"2",
3037            Core::Eq1 => b"2",
3038            Core::Eq16 => b"2",
3039            Core::Eq256 => b"2",
3040            Core::Eq32 => b"2",
3041            Core::Eq64 => b"2",
3042            Core::Eq8 => b"2",
3043            Core::FeAdd => b"h",
3044            Core::FeInvert => b"h",
3045            Core::FeIsOdd => b"2",
3046            Core::FeIsZero => b"2",
3047            Core::FeMultiply => b"h",
3048            Core::FeMultiplyBeta => b"h",
3049            Core::FeNegate => b"h",
3050            Core::FeNormalize => b"h",
3051            Core::FeSquare => b"h",
3052            Core::FeSquareRoot => b"+1h",
3053            Core::FullAdd16 => b"*2****22*22**22*22***22*22**22*22",
3054            Core::FullAdd32 => b"*2i",
3055            Core::FullAdd64 => b"*2l",
3056            Core::FullAdd8 => b"*2***22*22**22*22",
3057            Core::FullDecrement16 => b"*2****22*22**22*22***22*22**22*22",
3058            Core::FullDecrement32 => b"*2i",
3059            Core::FullDecrement64 => b"*2l",
3060            Core::FullDecrement8 => b"*2***22*22**22*22",
3061            Core::FullIncrement16 => b"*2****22*22**22*22***22*22**22*22",
3062            Core::FullIncrement32 => b"*2i",
3063            Core::FullIncrement64 => b"*2l",
3064            Core::FullIncrement8 => b"*2***22*22**22*22",
3065            Core::FullLeftShift16_1 => b"*2****22*22**22*22***22*22**22*22",
3066            Core::FullLeftShift16_2 => b"**22****22*22**22*22***22*22**22*22",
3067            Core::FullLeftShift16_4 => b"***22*22****22*22**22*22***22*22**22*22",
3068            Core::FullLeftShift16_8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3069            Core::FullLeftShift32_1 => b"*2i",
3070            Core::FullLeftShift32_16 => b"*****22*22**22*22***22*22**22*22i",
3071            Core::FullLeftShift32_2 => b"**22i",
3072            Core::FullLeftShift32_4 => b"***22*22i",
3073            Core::FullLeftShift32_8 => b"****22*22**22*22i",
3074            Core::FullLeftShift64_1 => b"*2l",
3075            Core::FullLeftShift64_16 => b"*****22*22**22*22***22*22**22*22l",
3076            Core::FullLeftShift64_2 => b"**22l",
3077            Core::FullLeftShift64_32 => b"*il",
3078            Core::FullLeftShift64_4 => b"***22*22l",
3079            Core::FullLeftShift64_8 => b"****22*22**22*22l",
3080            Core::FullLeftShift8_1 => b"*2***22*22**22*22",
3081            Core::FullLeftShift8_2 => b"**22***22*22**22*22",
3082            Core::FullLeftShift8_4 => b"***22*22***22*22**22*22",
3083            Core::FullMultiply16 => b"i",
3084            Core::FullMultiply32 => b"l",
3085            Core::FullMultiply64 => b"*ll",
3086            Core::FullMultiply8 => b"****22*22**22*22***22*22**22*22",
3087            Core::FullRightShift16_1 => b"*****22*22**22*22***22*22**22*222",
3088            Core::FullRightShift16_2 => b"*****22*22**22*22***22*22**22*22*22",
3089            Core::FullRightShift16_4 => b"*****22*22**22*22***22*22**22*22**22*22",
3090            Core::FullRightShift16_8 => b"*****22*22**22*22***22*22**22*22***22*22**22*22",
3091            Core::FullRightShift32_1 => b"*i2",
3092            Core::FullRightShift32_16 => b"*i****22*22**22*22***22*22**22*22",
3093            Core::FullRightShift32_2 => b"*i*22",
3094            Core::FullRightShift32_4 => b"*i**22*22",
3095            Core::FullRightShift32_8 => b"*i***22*22**22*22",
3096            Core::FullRightShift64_1 => b"*l2",
3097            Core::FullRightShift64_16 => b"*l****22*22**22*22***22*22**22*22",
3098            Core::FullRightShift64_2 => b"*l*22",
3099            Core::FullRightShift64_32 => b"*li",
3100            Core::FullRightShift64_4 => b"*l**22*22",
3101            Core::FullRightShift64_8 => b"*l***22*22**22*22",
3102            Core::FullRightShift8_1 => b"****22*22**22*222",
3103            Core::FullRightShift8_2 => b"****22*22**22*22*22",
3104            Core::FullRightShift8_4 => b"****22*22**22*22**22*22",
3105            Core::FullSubtract16 => b"*2****22*22**22*22***22*22**22*22",
3106            Core::FullSubtract32 => b"*2i",
3107            Core::FullSubtract64 => b"*2l",
3108            Core::FullSubtract8 => b"*2***22*22**22*22",
3109            Core::GeIsOnCurve => b"2",
3110            Core::GeNegate => b"*hh",
3111            Core::GejAdd => b"**hhh",
3112            Core::GejDouble => b"**hhh",
3113            Core::GejEquiv => b"2",
3114            Core::GejGeAdd => b"**hhh",
3115            Core::GejGeAddEx => b"*h**hhh",
3116            Core::GejGeEquiv => b"2",
3117            Core::GejInfinity => b"**hhh",
3118            Core::GejIsInfinity => b"2",
3119            Core::GejIsOnCurve => b"2",
3120            Core::GejNegate => b"**hhh",
3121            Core::GejNormalize => b"+1*hh",
3122            Core::GejRescale => b"**hhh",
3123            Core::GejXEquiv => b"2",
3124            Core::GejYIsOdd => b"2",
3125            Core::Generate => b"**hhh",
3126            Core::HashToCurve => b"*hh",
3127            Core::High1 => b"2",
3128            Core::High16 => b"****22*22**22*22***22*22**22*22",
3129            Core::High32 => b"i",
3130            Core::High64 => b"l",
3131            Core::High8 => b"***22*22**22*22",
3132            Core::Increment16 => b"*2****22*22**22*22***22*22**22*22",
3133            Core::Increment32 => b"*2i",
3134            Core::Increment64 => b"*2l",
3135            Core::Increment8 => b"*2***22*22**22*22",
3136            Core::IsOne16 => b"2",
3137            Core::IsOne32 => b"2",
3138            Core::IsOne64 => b"2",
3139            Core::IsOne8 => b"2",
3140            Core::IsZero16 => b"2",
3141            Core::IsZero32 => b"2",
3142            Core::IsZero64 => b"2",
3143            Core::IsZero8 => b"2",
3144            Core::Le16 => b"2",
3145            Core::Le32 => b"2",
3146            Core::Le64 => b"2",
3147            Core::Le8 => b"2",
3148            Core::LeftExtend16_32 => b"i",
3149            Core::LeftExtend16_64 => b"l",
3150            Core::LeftExtend1_16 => b"****22*22**22*22***22*22**22*22",
3151            Core::LeftExtend1_32 => b"i",
3152            Core::LeftExtend1_64 => b"l",
3153            Core::LeftExtend1_8 => b"***22*22**22*22",
3154            Core::LeftExtend32_64 => b"l",
3155            Core::LeftExtend8_16 => b"****22*22**22*22***22*22**22*22",
3156            Core::LeftExtend8_32 => b"i",
3157            Core::LeftExtend8_64 => b"l",
3158            Core::LeftPadHigh16_32 => b"i",
3159            Core::LeftPadHigh16_64 => b"l",
3160            Core::LeftPadHigh1_16 => b"****22*22**22*22***22*22**22*22",
3161            Core::LeftPadHigh1_32 => b"i",
3162            Core::LeftPadHigh1_64 => b"l",
3163            Core::LeftPadHigh1_8 => b"***22*22**22*22",
3164            Core::LeftPadHigh32_64 => b"l",
3165            Core::LeftPadHigh8_16 => b"****22*22**22*22***22*22**22*22",
3166            Core::LeftPadHigh8_32 => b"i",
3167            Core::LeftPadHigh8_64 => b"l",
3168            Core::LeftPadLow16_32 => b"i",
3169            Core::LeftPadLow16_64 => b"l",
3170            Core::LeftPadLow1_16 => b"****22*22**22*22***22*22**22*22",
3171            Core::LeftPadLow1_32 => b"i",
3172            Core::LeftPadLow1_64 => b"l",
3173            Core::LeftPadLow1_8 => b"***22*22**22*22",
3174            Core::LeftPadLow32_64 => b"l",
3175            Core::LeftPadLow8_16 => b"****22*22**22*22***22*22**22*22",
3176            Core::LeftPadLow8_32 => b"i",
3177            Core::LeftPadLow8_64 => b"l",
3178            Core::LeftRotate16 => b"****22*22**22*22***22*22**22*22",
3179            Core::LeftRotate32 => b"i",
3180            Core::LeftRotate64 => b"l",
3181            Core::LeftRotate8 => b"***22*22**22*22",
3182            Core::LeftShift16 => b"****22*22**22*22***22*22**22*22",
3183            Core::LeftShift32 => b"i",
3184            Core::LeftShift64 => b"l",
3185            Core::LeftShift8 => b"***22*22**22*22",
3186            Core::LeftShiftWith16 => b"****22*22**22*22***22*22**22*22",
3187            Core::LeftShiftWith32 => b"i",
3188            Core::LeftShiftWith64 => b"l",
3189            Core::LeftShiftWith8 => b"***22*22**22*22",
3190            Core::Leftmost16_1 => b"2",
3191            Core::Leftmost16_2 => b"*22",
3192            Core::Leftmost16_4 => b"**22*22",
3193            Core::Leftmost16_8 => b"***22*22**22*22",
3194            Core::Leftmost32_1 => b"2",
3195            Core::Leftmost32_16 => b"****22*22**22*22***22*22**22*22",
3196            Core::Leftmost32_2 => b"*22",
3197            Core::Leftmost32_4 => b"**22*22",
3198            Core::Leftmost32_8 => b"***22*22**22*22",
3199            Core::Leftmost64_1 => b"2",
3200            Core::Leftmost64_16 => b"****22*22**22*22***22*22**22*22",
3201            Core::Leftmost64_2 => b"*22",
3202            Core::Leftmost64_32 => b"i",
3203            Core::Leftmost64_4 => b"**22*22",
3204            Core::Leftmost64_8 => b"***22*22**22*22",
3205            Core::Leftmost8_1 => b"2",
3206            Core::Leftmost8_2 => b"*22",
3207            Core::Leftmost8_4 => b"**22*22",
3208            Core::LinearCombination1 => b"**hhh",
3209            Core::LinearVerify1 => b"1",
3210            Core::Low1 => b"2",
3211            Core::Low16 => b"****22*22**22*22***22*22**22*22",
3212            Core::Low32 => b"i",
3213            Core::Low64 => b"l",
3214            Core::Low8 => b"***22*22**22*22",
3215            Core::Lt16 => b"2",
3216            Core::Lt32 => b"2",
3217            Core::Lt64 => b"2",
3218            Core::Lt8 => b"2",
3219            Core::Maj1 => b"2",
3220            Core::Maj16 => b"****22*22**22*22***22*22**22*22",
3221            Core::Maj32 => b"i",
3222            Core::Maj64 => b"l",
3223            Core::Maj8 => b"***22*22**22*22",
3224            Core::Max16 => b"****22*22**22*22***22*22**22*22",
3225            Core::Max32 => b"i",
3226            Core::Max64 => b"l",
3227            Core::Max8 => b"***22*22**22*22",
3228            Core::Median16 => b"****22*22**22*22***22*22**22*22",
3229            Core::Median32 => b"i",
3230            Core::Median64 => b"l",
3231            Core::Median8 => b"***22*22**22*22",
3232            Core::Min16 => b"****22*22**22*22***22*22**22*22",
3233            Core::Min32 => b"i",
3234            Core::Min64 => b"l",
3235            Core::Min8 => b"***22*22**22*22",
3236            Core::Modulo16 => b"****22*22**22*22***22*22**22*22",
3237            Core::Modulo32 => b"i",
3238            Core::Modulo64 => b"l",
3239            Core::Modulo8 => b"***22*22**22*22",
3240            Core::Multiply16 => b"i",
3241            Core::Multiply32 => b"l",
3242            Core::Multiply64 => b"*ll",
3243            Core::Multiply8 => b"****22*22**22*22***22*22**22*22",
3244            Core::Negate16 => b"*2****22*22**22*22***22*22**22*22",
3245            Core::Negate32 => b"*2i",
3246            Core::Negate64 => b"*2l",
3247            Core::Negate8 => b"*2***22*22**22*22",
3248            Core::One16 => b"****22*22**22*22***22*22**22*22",
3249            Core::One32 => b"i",
3250            Core::One64 => b"l",
3251            Core::One8 => b"***22*22**22*22",
3252            Core::Or1 => b"2",
3253            Core::Or16 => b"****22*22**22*22***22*22**22*22",
3254            Core::Or32 => b"i",
3255            Core::Or64 => b"l",
3256            Core::Or8 => b"***22*22**22*22",
3257            Core::ParseLock => b"+ii",
3258            Core::ParseSequence => b"+1+****22*22**22*22***22*22**22*22****22*22**22*22***22*22**22*22",
3259            Core::PointVerify1 => b"1",
3260            Core::RightExtend16_32 => b"i",
3261            Core::RightExtend16_64 => b"l",
3262            Core::RightExtend32_64 => b"l",
3263            Core::RightExtend8_16 => b"****22*22**22*22***22*22**22*22",
3264            Core::RightExtend8_32 => b"i",
3265            Core::RightExtend8_64 => b"l",
3266            Core::RightPadHigh16_32 => b"i",
3267            Core::RightPadHigh16_64 => b"l",
3268            Core::RightPadHigh1_16 => b"****22*22**22*22***22*22**22*22",
3269            Core::RightPadHigh1_32 => b"i",
3270            Core::RightPadHigh1_64 => b"l",
3271            Core::RightPadHigh1_8 => b"***22*22**22*22",
3272            Core::RightPadHigh32_64 => b"l",
3273            Core::RightPadHigh8_16 => b"****22*22**22*22***22*22**22*22",
3274            Core::RightPadHigh8_32 => b"i",
3275            Core::RightPadHigh8_64 => b"l",
3276            Core::RightPadLow16_32 => b"i",
3277            Core::RightPadLow16_64 => b"l",
3278            Core::RightPadLow1_16 => b"****22*22**22*22***22*22**22*22",
3279            Core::RightPadLow1_32 => b"i",
3280            Core::RightPadLow1_64 => b"l",
3281            Core::RightPadLow1_8 => b"***22*22**22*22",
3282            Core::RightPadLow32_64 => b"l",
3283            Core::RightPadLow8_16 => b"****22*22**22*22***22*22**22*22",
3284            Core::RightPadLow8_32 => b"i",
3285            Core::RightPadLow8_64 => b"l",
3286            Core::RightRotate16 => b"****22*22**22*22***22*22**22*22",
3287            Core::RightRotate32 => b"i",
3288            Core::RightRotate64 => b"l",
3289            Core::RightRotate8 => b"***22*22**22*22",
3290            Core::RightShift16 => b"****22*22**22*22***22*22**22*22",
3291            Core::RightShift32 => b"i",
3292            Core::RightShift64 => b"l",
3293            Core::RightShift8 => b"***22*22**22*22",
3294            Core::RightShiftWith16 => b"****22*22**22*22***22*22**22*22",
3295            Core::RightShiftWith32 => b"i",
3296            Core::RightShiftWith64 => b"l",
3297            Core::RightShiftWith8 => b"***22*22**22*22",
3298            Core::Rightmost16_1 => b"2",
3299            Core::Rightmost16_2 => b"*22",
3300            Core::Rightmost16_4 => b"**22*22",
3301            Core::Rightmost16_8 => b"***22*22**22*22",
3302            Core::Rightmost32_1 => b"2",
3303            Core::Rightmost32_16 => b"****22*22**22*22***22*22**22*22",
3304            Core::Rightmost32_2 => b"*22",
3305            Core::Rightmost32_4 => b"**22*22",
3306            Core::Rightmost32_8 => b"***22*22**22*22",
3307            Core::Rightmost64_1 => b"2",
3308            Core::Rightmost64_16 => b"****22*22**22*22***22*22**22*22",
3309            Core::Rightmost64_2 => b"*22",
3310            Core::Rightmost64_32 => b"i",
3311            Core::Rightmost64_4 => b"**22*22",
3312            Core::Rightmost64_8 => b"***22*22**22*22",
3313            Core::Rightmost8_1 => b"2",
3314            Core::Rightmost8_2 => b"*22",
3315            Core::Rightmost8_4 => b"**22*22",
3316            Core::ScalarAdd => b"h",
3317            Core::ScalarInvert => b"h",
3318            Core::ScalarIsZero => b"2",
3319            Core::ScalarMultiply => b"h",
3320            Core::ScalarMultiplyLambda => b"h",
3321            Core::ScalarNegate => b"h",
3322            Core::ScalarNormalize => b"h",
3323            Core::ScalarSquare => b"h",
3324            Core::Scale => b"**hhh",
3325            Core::Sha256Block => b"h",
3326            Core::Sha256Ctx8Add1 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3327            Core::Sha256Ctx8Add128 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3328            Core::Sha256Ctx8Add16 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3329            Core::Sha256Ctx8Add2 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3330            Core::Sha256Ctx8Add256 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3331            Core::Sha256Ctx8Add32 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3332            Core::Sha256Ctx8Add4 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3333            Core::Sha256Ctx8Add512 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3334            Core::Sha256Ctx8Add64 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3335            Core::Sha256Ctx8Add8 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3336            Core::Sha256Ctx8AddBuffer511 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3337            Core::Sha256Ctx8Finalize => b"h",
3338            Core::Sha256Ctx8Init => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3339            Core::Sha256Iv => b"h",
3340            Core::Some1 => b"2",
3341            Core::Some16 => b"2",
3342            Core::Some32 => b"2",
3343            Core::Some64 => b"2",
3344            Core::Some8 => b"2",
3345            Core::Subtract16 => b"*2****22*22**22*22***22*22**22*22",
3346            Core::Subtract32 => b"*2i",
3347            Core::Subtract64 => b"*2l",
3348            Core::Subtract8 => b"*2***22*22**22*22",
3349            Core::Swu => b"*hh",
3350            Core::TapdataInit => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3351            Core::Verify => b"1",
3352            Core::Xor1 => b"2",
3353            Core::Xor16 => b"****22*22**22*22***22*22**22*22",
3354            Core::Xor32 => b"i",
3355            Core::Xor64 => b"l",
3356            Core::Xor8 => b"***22*22**22*22",
3357            Core::XorXor1 => b"2",
3358            Core::XorXor16 => b"****22*22**22*22***22*22**22*22",
3359            Core::XorXor32 => b"i",
3360            Core::XorXor64 => b"l",
3361            Core::XorXor8 => b"***22*22**22*22",
3362        };
3363
3364        TypeName(name)
3365    }
3366
3367    fn encode<W: Write>(&self, w: &mut BitWriter<W>) -> std::io::Result<usize> {
3368        let (n, len) = match self {
3369            Core::Verify => (0, 2),
3370            Core::Low1 => (8, 5),
3371            Core::Low8 => (37, 7),
3372            Core::Low16 => (304, 10),
3373            Core::Low32 => (305, 10),
3374            Core::Low64 => (306, 10),
3375            Core::High1 => (10, 5),
3376            Core::High8 => (45, 7),
3377            Core::High16 => (368, 10),
3378            Core::High32 => (369, 10),
3379            Core::High64 => (370, 10),
3380            Core::Complement1 => (96, 8),
3381            Core::Complement8 => (389, 10),
3382            Core::Complement16 => (3120, 13),
3383            Core::Complement32 => (3121, 13),
3384            Core::Complement64 => (3122, 13),
3385            Core::And1 => (98, 8),
3386            Core::And8 => (397, 10),
3387            Core::And16 => (3184, 13),
3388            Core::And32 => (3185, 13),
3389            Core::And64 => (3186, 13),
3390            Core::Or1 => (100, 8),
3391            Core::Or8 => (405, 10),
3392            Core::Or16 => (3248, 13),
3393            Core::Or32 => (3249, 13),
3394            Core::Or64 => (3250, 13),
3395            Core::Xor1 => (102, 8),
3396            Core::Xor8 => (413, 10),
3397            Core::Xor16 => (3312, 13),
3398            Core::Xor32 => (3313, 13),
3399            Core::Xor64 => (3314, 13),
3400            Core::Maj1 => (208, 9),
3401            Core::Maj8 => (837, 11),
3402            Core::Maj16 => (6704, 14),
3403            Core::Maj32 => (6705, 14),
3404            Core::Maj64 => (6706, 14),
3405            Core::XorXor1 => (210, 9),
3406            Core::XorXor8 => (845, 11),
3407            Core::XorXor16 => (6768, 14),
3408            Core::XorXor32 => (6769, 14),
3409            Core::XorXor64 => (6770, 14),
3410            Core::Ch1 => (212, 9),
3411            Core::Ch8 => (853, 11),
3412            Core::Ch16 => (6832, 14),
3413            Core::Ch32 => (6833, 14),
3414            Core::Ch64 => (6834, 14),
3415            Core::Some1 => (214, 9),
3416            Core::Some8 => (861, 11),
3417            Core::Some16 => (6896, 14),
3418            Core::Some32 => (6897, 14),
3419            Core::Some64 => (6898, 14),
3420            Core::All8 => (869, 11),
3421            Core::All16 => (6960, 14),
3422            Core::All32 => (6961, 14),
3423            Core::All64 => (6962, 14),
3424            Core::Eq1 => (218, 9),
3425            Core::Eq8 => (877, 11),
3426            Core::Eq16 => (7024, 14),
3427            Core::Eq32 => (7025, 14),
3428            Core::Eq64 => (7026, 14),
3429            Core::Eq256 => (14056, 15),
3430            Core::FullLeftShift8_1 => (1765, 12),
3431            Core::FullLeftShift16_1 => (14128, 15),
3432            Core::FullLeftShift32_1 => (14129, 15),
3433            Core::FullLeftShift64_1 => (14130, 15),
3434            Core::FullLeftShift8_2 => (7076, 14),
3435            Core::FullLeftShift16_2 => (7077, 14),
3436            Core::FullLeftShift32_2 => (56624, 17),
3437            Core::FullLeftShift64_2 => (56625, 17),
3438            Core::FullLeftShift8_4 => (1770, 12),
3439            Core::FullLeftShift16_4 => (7084, 14),
3440            Core::FullLeftShift32_4 => (7085, 14),
3441            Core::FullLeftShift64_4 => (56688, 17),
3442            Core::FullLeftShift16_8 => (14176, 15),
3443            Core::FullLeftShift32_8 => (56708, 17),
3444            Core::FullLeftShift64_8 => (56709, 17),
3445            Core::FullLeftShift32_16 => (14178, 15),
3446            Core::FullLeftShift64_16 => (56716, 17),
3447            Core::FullLeftShift64_32 => (14180, 15),
3448            Core::FullRightShift8_1 => (1781, 12),
3449            Core::FullRightShift16_1 => (14256, 15),
3450            Core::FullRightShift32_1 => (14257, 15),
3451            Core::FullRightShift64_1 => (14258, 15),
3452            Core::FullRightShift8_2 => (7140, 14),
3453            Core::FullRightShift16_2 => (7141, 14),
3454            Core::FullRightShift32_2 => (57136, 17),
3455            Core::FullRightShift64_2 => (57137, 17),
3456            Core::FullRightShift8_4 => (1786, 12),
3457            Core::FullRightShift16_4 => (7148, 14),
3458            Core::FullRightShift32_4 => (7149, 14),
3459            Core::FullRightShift64_4 => (57200, 17),
3460            Core::FullRightShift16_8 => (14304, 15),
3461            Core::FullRightShift32_8 => (57220, 17),
3462            Core::FullRightShift64_8 => (57221, 17),
3463            Core::FullRightShift32_16 => (14306, 15),
3464            Core::FullRightShift64_16 => (57228, 17),
3465            Core::FullRightShift64_32 => (14308, 15),
3466            Core::Leftmost8_1 => (28677, 16),
3467            Core::Leftmost16_1 => (229424, 19),
3468            Core::Leftmost32_1 => (229425, 19),
3469            Core::Leftmost64_1 => (229426, 19),
3470            Core::Leftmost8_2 => (114724, 18),
3471            Core::Leftmost16_2 => (114725, 18),
3472            Core::Leftmost32_2 => (917808, 21),
3473            Core::Leftmost64_2 => (917809, 21),
3474            Core::Leftmost8_4 => (28682, 16),
3475            Core::Leftmost16_4 => (114732, 18),
3476            Core::Leftmost32_4 => (114733, 18),
3477            Core::Leftmost64_4 => (917872, 21),
3478            Core::Leftmost16_8 => (229472, 19),
3479            Core::Leftmost32_8 => (917892, 21),
3480            Core::Leftmost64_8 => (917893, 21),
3481            Core::Leftmost32_16 => (229474, 19),
3482            Core::Leftmost64_16 => (917900, 21),
3483            Core::Leftmost64_32 => (229476, 19),
3484            Core::Rightmost8_1 => (28693, 16),
3485            Core::Rightmost16_1 => (229552, 19),
3486            Core::Rightmost32_1 => (229553, 19),
3487            Core::Rightmost64_1 => (229554, 19),
3488            Core::Rightmost8_2 => (114788, 18),
3489            Core::Rightmost16_2 => (114789, 18),
3490            Core::Rightmost32_2 => (918320, 21),
3491            Core::Rightmost64_2 => (918321, 21),
3492            Core::Rightmost8_4 => (28698, 16),
3493            Core::Rightmost16_4 => (114796, 18),
3494            Core::Rightmost32_4 => (114797, 18),
3495            Core::Rightmost64_4 => (918384, 21),
3496            Core::Rightmost16_8 => (229600, 19),
3497            Core::Rightmost32_8 => (918404, 21),
3498            Core::Rightmost64_8 => (918405, 21),
3499            Core::Rightmost32_16 => (229602, 19),
3500            Core::Rightmost64_16 => (918412, 21),
3501            Core::Rightmost64_32 => (229604, 19),
3502            Core::LeftPadLow1_8 => (28709, 16),
3503            Core::LeftPadLow1_16 => (229680, 19),
3504            Core::LeftPadLow1_32 => (229681, 19),
3505            Core::LeftPadLow1_64 => (229682, 19),
3506            Core::LeftPadLow8_16 => (229728, 19),
3507            Core::LeftPadLow8_32 => (918916, 21),
3508            Core::LeftPadLow8_64 => (918917, 21),
3509            Core::LeftPadLow16_32 => (229730, 19),
3510            Core::LeftPadLow16_64 => (918924, 21),
3511            Core::LeftPadLow32_64 => (229732, 19),
3512            Core::LeftPadHigh1_8 => (28725, 16),
3513            Core::LeftPadHigh1_16 => (229808, 19),
3514            Core::LeftPadHigh1_32 => (229809, 19),
3515            Core::LeftPadHigh1_64 => (229810, 19),
3516            Core::LeftPadHigh8_16 => (229856, 19),
3517            Core::LeftPadHigh8_32 => (919428, 21),
3518            Core::LeftPadHigh8_64 => (919429, 21),
3519            Core::LeftPadHigh16_32 => (229858, 19),
3520            Core::LeftPadHigh16_64 => (919436, 21),
3521            Core::LeftPadHigh32_64 => (229860, 19),
3522            Core::LeftExtend1_8 => (28741, 16),
3523            Core::LeftExtend1_16 => (229936, 19),
3524            Core::LeftExtend1_32 => (229937, 19),
3525            Core::LeftExtend1_64 => (229938, 19),
3526            Core::LeftExtend8_16 => (229984, 19),
3527            Core::LeftExtend8_32 => (919940, 21),
3528            Core::LeftExtend8_64 => (919941, 21),
3529            Core::LeftExtend16_32 => (229986, 19),
3530            Core::LeftExtend16_64 => (919948, 21),
3531            Core::LeftExtend32_64 => (229988, 19),
3532            Core::RightPadLow1_8 => (28757, 16),
3533            Core::RightPadLow1_16 => (230064, 19),
3534            Core::RightPadLow1_32 => (230065, 19),
3535            Core::RightPadLow1_64 => (230066, 19),
3536            Core::RightPadLow8_16 => (230112, 19),
3537            Core::RightPadLow8_32 => (920452, 21),
3538            Core::RightPadLow8_64 => (920453, 21),
3539            Core::RightPadLow16_32 => (230114, 19),
3540            Core::RightPadLow16_64 => (920460, 21),
3541            Core::RightPadLow32_64 => (230116, 19),
3542            Core::RightPadHigh1_8 => (28773, 16),
3543            Core::RightPadHigh1_16 => (230192, 19),
3544            Core::RightPadHigh1_32 => (230193, 19),
3545            Core::RightPadHigh1_64 => (230194, 19),
3546            Core::RightPadHigh8_16 => (230240, 19),
3547            Core::RightPadHigh8_32 => (920964, 21),
3548            Core::RightPadHigh8_64 => (920965, 21),
3549            Core::RightPadHigh16_32 => (230242, 19),
3550            Core::RightPadHigh16_64 => (920972, 21),
3551            Core::RightPadHigh32_64 => (230244, 19),
3552            Core::RightExtend8_16 => (230368, 19),
3553            Core::RightExtend8_32 => (921476, 21),
3554            Core::RightExtend8_64 => (921477, 21),
3555            Core::RightExtend16_32 => (230370, 19),
3556            Core::RightExtend16_64 => (921484, 21),
3557            Core::RightExtend32_64 => (230372, 19),
3558            Core::LeftShiftWith8 => (14405, 15),
3559            Core::LeftShiftWith16 => (115248, 18),
3560            Core::LeftShiftWith32 => (115249, 18),
3561            Core::LeftShiftWith64 => (115250, 18),
3562            Core::RightShiftWith8 => (14413, 15),
3563            Core::RightShiftWith16 => (115312, 18),
3564            Core::RightShiftWith32 => (115313, 18),
3565            Core::RightShiftWith64 => (115314, 18),
3566            Core::LeftShift8 => (14421, 15),
3567            Core::LeftShift16 => (115376, 18),
3568            Core::LeftShift32 => (115377, 18),
3569            Core::LeftShift64 => (115378, 18),
3570            Core::RightShift8 => (14429, 15),
3571            Core::RightShift16 => (115440, 18),
3572            Core::RightShift32 => (115441, 18),
3573            Core::RightShift64 => (115442, 18),
3574            Core::LeftRotate8 => (14437, 15),
3575            Core::LeftRotate16 => (115504, 18),
3576            Core::LeftRotate32 => (115505, 18),
3577            Core::LeftRotate64 => (115506, 18),
3578            Core::RightRotate8 => (14445, 15),
3579            Core::RightRotate16 => (115568, 18),
3580            Core::RightRotate32 => (115569, 18),
3581            Core::RightRotate64 => (115570, 18),
3582            Core::One8 => (69, 7),
3583            Core::One16 => (560, 10),
3584            Core::One32 => (561, 10),
3585            Core::One64 => (562, 10),
3586            Core::FullAdd8 => (293, 9),
3587            Core::FullAdd16 => (2352, 12),
3588            Core::FullAdd32 => (2353, 12),
3589            Core::FullAdd64 => (2354, 12),
3590            Core::Add8 => (301, 9),
3591            Core::Add16 => (2416, 12),
3592            Core::Add32 => (2417, 12),
3593            Core::Add64 => (2418, 12),
3594            Core::FullIncrement8 => (2437, 12),
3595            Core::FullIncrement16 => (19504, 15),
3596            Core::FullIncrement32 => (19505, 15),
3597            Core::FullIncrement64 => (19506, 15),
3598            Core::Increment8 => (2445, 12),
3599            Core::Increment16 => (19568, 15),
3600            Core::Increment32 => (19569, 15),
3601            Core::Increment64 => (19570, 15),
3602            Core::FullSubtract8 => (2461, 12),
3603            Core::FullSubtract16 => (19696, 15),
3604            Core::FullSubtract32 => (19697, 15),
3605            Core::FullSubtract64 => (19698, 15),
3606            Core::Subtract8 => (4933, 13),
3607            Core::Subtract16 => (39472, 16),
3608            Core::Subtract32 => (39473, 16),
3609            Core::Subtract64 => (39474, 16),
3610            Core::Negate8 => (4941, 13),
3611            Core::Negate16 => (39536, 16),
3612            Core::Negate32 => (39537, 16),
3613            Core::Negate64 => (39538, 16),
3614            Core::FullDecrement8 => (4949, 13),
3615            Core::FullDecrement16 => (39600, 16),
3616            Core::FullDecrement32 => (39601, 16),
3617            Core::FullDecrement64 => (39602, 16),
3618            Core::Decrement8 => (4957, 13),
3619            Core::Decrement16 => (39664, 16),
3620            Core::Decrement32 => (39665, 16),
3621            Core::Decrement64 => (39666, 16),
3622            Core::FullMultiply8 => (4965, 13),
3623            Core::FullMultiply16 => (39728, 16),
3624            Core::FullMultiply32 => (39729, 16),
3625            Core::FullMultiply64 => (39730, 16),
3626            Core::Multiply8 => (4973, 13),
3627            Core::Multiply16 => (39792, 16),
3628            Core::Multiply32 => (39793, 16),
3629            Core::Multiply64 => (39794, 16),
3630            Core::IsZero8 => (4981, 13),
3631            Core::IsZero16 => (39856, 16),
3632            Core::IsZero32 => (39857, 16),
3633            Core::IsZero64 => (39858, 16),
3634            Core::IsOne8 => (4989, 13),
3635            Core::IsOne16 => (39920, 16),
3636            Core::IsOne32 => (39921, 16),
3637            Core::IsOne64 => (39922, 16),
3638            Core::Le8 => (79877, 17),
3639            Core::Le16 => (639024, 20),
3640            Core::Le32 => (639025, 20),
3641            Core::Le64 => (639026, 20),
3642            Core::Lt8 => (79885, 17),
3643            Core::Lt16 => (639088, 20),
3644            Core::Lt32 => (639089, 20),
3645            Core::Lt64 => (639090, 20),
3646            Core::Min8 => (79893, 17),
3647            Core::Min16 => (639152, 20),
3648            Core::Min32 => (639153, 20),
3649            Core::Min64 => (639154, 20),
3650            Core::Max8 => (79901, 17),
3651            Core::Max16 => (639216, 20),
3652            Core::Max32 => (639217, 20),
3653            Core::Max64 => (639218, 20),
3654            Core::Median8 => (79909, 17),
3655            Core::Median16 => (639280, 20),
3656            Core::Median32 => (639281, 20),
3657            Core::Median64 => (639282, 20),
3658            Core::DivMod128_64 => (639346, 20),
3659            Core::DivMod8 => (79925, 17),
3660            Core::DivMod16 => (639408, 20),
3661            Core::DivMod32 => (639409, 20),
3662            Core::DivMod64 => (639410, 20),
3663            Core::Divide8 => (79933, 17),
3664            Core::Divide16 => (639472, 20),
3665            Core::Divide32 => (639473, 20),
3666            Core::Divide64 => (639474, 20),
3667            Core::Modulo8 => (79941, 17),
3668            Core::Modulo16 => (639536, 20),
3669            Core::Modulo32 => (639537, 20),
3670            Core::Modulo64 => (639538, 20),
3671            Core::Divides8 => (79949, 17),
3672            Core::Divides16 => (639600, 20),
3673            Core::Divides32 => (639601, 20),
3674            Core::Divides64 => (639602, 20),
3675            Core::Sha256Block => (20, 5),
3676            Core::Sha256Iv => (84, 7),
3677            Core::Sha256Ctx8Add1 => (170, 8),
3678            Core::Sha256Ctx8Add2 => (684, 10),
3679            Core::Sha256Ctx8Add4 => (685, 10),
3680            Core::Sha256Ctx8Add8 => (5488, 13),
3681            Core::Sha256Ctx8Add16 => (5489, 13),
3682            Core::Sha256Ctx8Add32 => (5490, 13),
3683            Core::Sha256Ctx8Add64 => (5491, 13),
3684            Core::Sha256Ctx8Add128 => (10984, 14),
3685            Core::Sha256Ctx8Add256 => (10985, 14),
3686            Core::Sha256Ctx8Add512 => (10986, 14),
3687            Core::Sha256Ctx8AddBuffer511 => (688, 10),
3688            Core::Sha256Ctx8Finalize => (689, 10),
3689            Core::Sha256Ctx8Init => (690, 10),
3690            Core::PointVerify1 => (192, 8),
3691            Core::Decompress => (388, 9),
3692            Core::LinearVerify1 => (778, 10),
3693            Core::LinearCombination1 => (6240, 13),
3694            Core::Scale => (3121, 12),
3695            Core::Generate => (3122, 12),
3696            Core::GejInfinity => (3123, 12),
3697            Core::GejNormalize => (6248, 13),
3698            Core::GejNegate => (6249, 13),
3699            Core::GeNegate => (6250, 13),
3700            Core::GejDouble => (6251, 13),
3701            Core::GejAdd => (6252, 13),
3702            Core::GejGeAddEx => (6253, 13),
3703            Core::GejGeAdd => (6254, 13),
3704            Core::GejRescale => (6255, 13),
3705            Core::GejIsInfinity => (100096, 17),
3706            Core::GejEquiv => (100097, 17),
3707            Core::GejGeEquiv => (100098, 17),
3708            Core::GejXEquiv => (100099, 17),
3709            Core::GejYIsOdd => (100100, 17),
3710            Core::GejIsOnCurve => (100101, 17),
3711            Core::GeIsOnCurve => (100102, 17),
3712            Core::ScalarNormalize => (100103, 17),
3713            Core::ScalarNegate => (100104, 17),
3714            Core::ScalarAdd => (100105, 17),
3715            Core::ScalarSquare => (100106, 17),
3716            Core::ScalarMultiply => (100107, 17),
3717            Core::ScalarMultiplyLambda => (100108, 17),
3718            Core::ScalarInvert => (100109, 17),
3719            Core::ScalarIsZero => (100110, 17),
3720            Core::FeNormalize => (200227, 18),
3721            Core::FeNegate => (200228, 18),
3722            Core::FeAdd => (200229, 18),
3723            Core::FeSquare => (200230, 18),
3724            Core::FeMultiply => (200231, 18),
3725            Core::FeMultiplyBeta => (200232, 18),
3726            Core::FeInvert => (200233, 18),
3727            Core::FeSquareRoot => (200234, 18),
3728            Core::FeIsZero => (200235, 18),
3729            Core::FeIsOdd => (200236, 18),
3730            Core::HashToCurve => (200238, 18),
3731            Core::Swu => (200239, 18),
3732            Core::CheckSigVerify => (98, 7),
3733            Core::Bip0340Verify => (396, 9),
3734            Core::ParseLock => (102, 7),
3735            Core::ParseSequence => (412, 9),
3736            Core::TapdataInit => (413, 9),
3737        };
3738
3739        w.write_bits_be(n, len)
3740    }
3741
3742    fn decode<I: Iterator<Item = u8>>(bits: &mut BitIter<I>) -> Result<Self, decode::Error> {
3743        decode_bits!(bits, {
3744            0 => {
3745                0 => {Core::Verify},
3746                1 => {
3747                    0 => {
3748                        0 => {
3749                            0 => {Core::Low1},
3750                            1 => {
3751                                0 => {
3752                                    0 => {},
3753                                    1 => {Core::Low8}
3754                                },
3755                                1 => {
3756                                    0 => {
3757                                        0 => {
3758                                            0 => {
3759                                                0 => {Core::Low16},
3760                                                1 => {Core::Low32}
3761                                            },
3762                                            1 => {
3763                                                0 => {Core::Low64},
3764                                                1 => {}
3765                                            }
3766                                        },
3767                                        1 => {}
3768                                    },
3769                                    1 => {}
3770                                }
3771                            }
3772                        },
3773                        1 => {
3774                            0 => {Core::High1},
3775                            1 => {
3776                                0 => {
3777                                    0 => {},
3778                                    1 => {Core::High8}
3779                                },
3780                                1 => {
3781                                    0 => {
3782                                        0 => {
3783                                            0 => {
3784                                                0 => {Core::High16},
3785                                                1 => {Core::High32}
3786                                            },
3787                                            1 => {
3788                                                0 => {Core::High64},
3789                                                1 => {}
3790                                            }
3791                                        },
3792                                        1 => {}
3793                                    },
3794                                    1 => {}
3795                                }
3796                            }
3797                        }
3798                    },
3799                    1 => {
3800                        0 => {
3801                            0 => {
3802                                0 => {
3803                                    0 => {
3804                                        0 => {Core::Complement1},
3805                                        1 => {
3806                                            0 => {
3807                                                0 => {},
3808                                                1 => {Core::Complement8}
3809                                            },
3810                                            1 => {
3811                                                0 => {
3812                                                    0 => {
3813                                                        0 => {
3814                                                            0 => {Core::Complement16},
3815                                                            1 => {Core::Complement32}
3816                                                        },
3817                                                        1 => {
3818                                                            0 => {Core::Complement64},
3819                                                            1 => {}
3820                                                        }
3821                                                    },
3822                                                    1 => {}
3823                                                },
3824                                                1 => {}
3825                                            }
3826                                        }
3827                                    },
3828                                    1 => {
3829                                        0 => {Core::And1},
3830                                        1 => {
3831                                            0 => {
3832                                                0 => {},
3833                                                1 => {Core::And8}
3834                                            },
3835                                            1 => {
3836                                                0 => {
3837                                                    0 => {
3838                                                        0 => {
3839                                                            0 => {Core::And16},
3840                                                            1 => {Core::And32}
3841                                                        },
3842                                                        1 => {
3843                                                            0 => {Core::And64},
3844                                                            1 => {}
3845                                                        }
3846                                                    },
3847                                                    1 => {}
3848                                                },
3849                                                1 => {}
3850                                            }
3851                                        }
3852                                    }
3853                                },
3854                                1 => {
3855                                    0 => {
3856                                        0 => {Core::Or1},
3857                                        1 => {
3858                                            0 => {
3859                                                0 => {},
3860                                                1 => {Core::Or8}
3861                                            },
3862                                            1 => {
3863                                                0 => {
3864                                                    0 => {
3865                                                        0 => {
3866                                                            0 => {Core::Or16},
3867                                                            1 => {Core::Or32}
3868                                                        },
3869                                                        1 => {
3870                                                            0 => {Core::Or64},
3871                                                            1 => {}
3872                                                        }
3873                                                    },
3874                                                    1 => {}
3875                                                },
3876                                                1 => {}
3877                                            }
3878                                        }
3879                                    },
3880                                    1 => {
3881                                        0 => {Core::Xor1},
3882                                        1 => {
3883                                            0 => {
3884                                                0 => {},
3885                                                1 => {Core::Xor8}
3886                                            },
3887                                            1 => {
3888                                                0 => {
3889                                                    0 => {
3890                                                        0 => {
3891                                                            0 => {Core::Xor16},
3892                                                            1 => {Core::Xor32}
3893                                                        },
3894                                                        1 => {
3895                                                            0 => {Core::Xor64},
3896                                                            1 => {}
3897                                                        }
3898                                                    },
3899                                                    1 => {}
3900                                                },
3901                                                1 => {}
3902                                            }
3903                                        }
3904                                    }
3905                                }
3906                            },
3907                            1 => {
3908                                0 => {
3909                                    0 => {
3910                                        0 => {
3911                                            0 => {Core::Maj1},
3912                                            1 => {
3913                                                0 => {
3914                                                    0 => {},
3915                                                    1 => {Core::Maj8}
3916                                                },
3917                                                1 => {
3918                                                    0 => {
3919                                                        0 => {
3920                                                            0 => {
3921                                                                0 => {Core::Maj16},
3922                                                                1 => {Core::Maj32}
3923                                                            },
3924                                                            1 => {
3925                                                                0 => {Core::Maj64},
3926                                                                1 => {}
3927                                                            }
3928                                                        },
3929                                                        1 => {}
3930                                                    },
3931                                                    1 => {}
3932                                                }
3933                                            }
3934                                        },
3935                                        1 => {
3936                                            0 => {Core::XorXor1},
3937                                            1 => {
3938                                                0 => {
3939                                                    0 => {},
3940                                                    1 => {Core::XorXor8}
3941                                                },
3942                                                1 => {
3943                                                    0 => {
3944                                                        0 => {
3945                                                            0 => {
3946                                                                0 => {Core::XorXor16},
3947                                                                1 => {Core::XorXor32}
3948                                                            },
3949                                                            1 => {
3950                                                                0 => {Core::XorXor64},
3951                                                                1 => {}
3952                                                            }
3953                                                        },
3954                                                        1 => {}
3955                                                    },
3956                                                    1 => {}
3957                                                }
3958                                            }
3959                                        }
3960                                    },
3961                                    1 => {
3962                                        0 => {
3963                                            0 => {Core::Ch1},
3964                                            1 => {
3965                                                0 => {
3966                                                    0 => {},
3967                                                    1 => {Core::Ch8}
3968                                                },
3969                                                1 => {
3970                                                    0 => {
3971                                                        0 => {
3972                                                            0 => {
3973                                                                0 => {Core::Ch16},
3974                                                                1 => {Core::Ch32}
3975                                                            },
3976                                                            1 => {
3977                                                                0 => {Core::Ch64},
3978                                                                1 => {}
3979                                                            }
3980                                                        },
3981                                                        1 => {}
3982                                                    },
3983                                                    1 => {}
3984                                                }
3985                                            }
3986                                        },
3987                                        1 => {
3988                                            0 => {Core::Some1},
3989                                            1 => {
3990                                                0 => {
3991                                                    0 => {},
3992                                                    1 => {Core::Some8}
3993                                                },
3994                                                1 => {
3995                                                    0 => {
3996                                                        0 => {
3997                                                            0 => {
3998                                                                0 => {Core::Some16},
3999                                                                1 => {Core::Some32}
4000                                                            },
4001                                                            1 => {
4002                                                                0 => {Core::Some64},
4003                                                                1 => {}
4004                                                            }
4005                                                        },
4006                                                        1 => {}
4007                                                    },
4008                                                    1 => {}
4009                                                }
4010                                            }
4011                                        }
4012                                    }
4013                                },
4014                                1 => {
4015                                    0 => {
4016                                        0 => {
4017                                            0 => {},
4018                                            1 => {
4019                                                0 => {
4020                                                    0 => {},
4021                                                    1 => {Core::All8}
4022                                                },
4023                                                1 => {
4024                                                    0 => {
4025                                                        0 => {
4026                                                            0 => {
4027                                                                0 => {Core::All16},
4028                                                                1 => {Core::All32}
4029                                                            },
4030                                                            1 => {
4031                                                                0 => {Core::All64},
4032                                                                1 => {}
4033                                                            }
4034                                                        },
4035                                                        1 => {}
4036                                                    },
4037                                                    1 => {}
4038                                                }
4039                                            }
4040                                        },
4041                                        1 => {
4042                                            0 => {Core::Eq1},
4043                                            1 => {
4044                                                0 => {
4045                                                    0 => {},
4046                                                    1 => {Core::Eq8}
4047                                                },
4048                                                1 => {
4049                                                    0 => {
4050                                                        0 => {
4051                                                            0 => {
4052                                                                0 => {Core::Eq16},
4053                                                                1 => {Core::Eq32}
4054                                                            },
4055                                                            1 => {
4056                                                                0 => {Core::Eq64},
4057                                                                1 => {}
4058                                                            }
4059                                                        },
4060                                                        1 => {
4061                                                            0 => {
4062                                                                0 => {
4063                                                                    0 => {Core::Eq256},
4064                                                                    1 => {}
4065                                                                },
4066                                                                1 => {}
4067                                                            },
4068                                                            1 => {}
4069                                                        }
4070                                                    },
4071                                                    1 => {}
4072                                                }
4073                                            }
4074                                        }
4075                                    },
4076                                    1 => {
4077                                        0 => {
4078                                            0 => {
4079                                                0 => {},
4080                                                1 => {
4081                                                    0 => {
4082                                                        0 => {},
4083                                                        1 => {Core::FullLeftShift8_1}
4084                                                    },
4085                                                    1 => {
4086                                                        0 => {
4087                                                            0 => {
4088                                                                0 => {
4089                                                                    0 => {Core::FullLeftShift16_1},
4090                                                                    1 => {Core::FullLeftShift32_1}
4091                                                                },
4092                                                                1 => {
4093                                                                    0 => {Core::FullLeftShift64_1},
4094                                                                    1 => {}
4095                                                                }
4096                                                            },
4097                                                            1 => {}
4098                                                        },
4099                                                        1 => {}
4100                                                    }
4101                                                }
4102                                            },
4103                                            1 => {
4104                                                0 => {
4105                                                    0 => {
4106                                                        0 => {},
4107                                                        1 => {
4108                                                            0 => {
4109                                                                0 => {Core::FullLeftShift8_2},
4110                                                                1 => {Core::FullLeftShift16_2}
4111                                                            },
4112                                                            1 => {
4113                                                                0 => {
4114                                                                    0 => {
4115                                                                        0 => {
4116                                                                            0 => {Core::FullLeftShift32_2},
4117                                                                            1 => {Core::FullLeftShift64_2}
4118                                                                        },
4119                                                                        1 => {}
4120                                                                    },
4121                                                                    1 => {}
4122                                                                },
4123                                                                1 => {}
4124                                                            }
4125                                                        }
4126                                                    },
4127                                                    1 => {
4128                                                        0 => {Core::FullLeftShift8_4},
4129                                                        1 => {
4130                                                            0 => {
4131                                                                0 => {Core::FullLeftShift16_4},
4132                                                                1 => {Core::FullLeftShift32_4}
4133                                                            },
4134                                                            1 => {
4135                                                                0 => {
4136                                                                    0 => {
4137                                                                        0 => {
4138                                                                            0 => {Core::FullLeftShift64_4},
4139                                                                            1 => {}
4140                                                                        },
4141                                                                        1 => {}
4142                                                                    },
4143                                                                    1 => {}
4144                                                                },
4145                                                                1 => {}
4146                                                            }
4147                                                        }
4148                                                    }
4149                                                },
4150                                                1 => {
4151                                                    0 => {
4152                                                        0 => {
4153                                                            0 => {
4154                                                                0 => {
4155                                                                    0 => {Core::FullLeftShift16_8},
4156                                                                    1 => {
4157                                                                        0 => {
4158                                                                            0 => {Core::FullLeftShift32_8},
4159                                                                            1 => {Core::FullLeftShift64_8}
4160                                                                        },
4161                                                                        1 => {}
4162                                                                    }
4163                                                                },
4164                                                                1 => {
4165                                                                    0 => {Core::FullLeftShift32_16},
4166                                                                    1 => {
4167                                                                        0 => {
4168                                                                            0 => {Core::FullLeftShift64_16},
4169                                                                            1 => {}
4170                                                                        },
4171                                                                        1 => {}
4172                                                                    }
4173                                                                }
4174                                                            },
4175                                                            1 => {
4176                                                                0 => {
4177                                                                    0 => {Core::FullLeftShift64_32},
4178                                                                    1 => {}
4179                                                                },
4180                                                                1 => {}
4181                                                            }
4182                                                        },
4183                                                        1 => {}
4184                                                    },
4185                                                    1 => {}
4186                                                }
4187                                            }
4188                                        },
4189                                        1 => {
4190                                            0 => {
4191                                                0 => {},
4192                                                1 => {
4193                                                    0 => {
4194                                                        0 => {},
4195                                                        1 => {Core::FullRightShift8_1}
4196                                                    },
4197                                                    1 => {
4198                                                        0 => {
4199                                                            0 => {
4200                                                                0 => {
4201                                                                    0 => {Core::FullRightShift16_1},
4202                                                                    1 => {Core::FullRightShift32_1}
4203                                                                },
4204                                                                1 => {
4205                                                                    0 => {Core::FullRightShift64_1},
4206                                                                    1 => {}
4207                                                                }
4208                                                            },
4209                                                            1 => {}
4210                                                        },
4211                                                        1 => {}
4212                                                    }
4213                                                }
4214                                            },
4215                                            1 => {
4216                                                0 => {
4217                                                    0 => {
4218                                                        0 => {},
4219                                                        1 => {
4220                                                            0 => {
4221                                                                0 => {Core::FullRightShift8_2},
4222                                                                1 => {Core::FullRightShift16_2}
4223                                                            },
4224                                                            1 => {
4225                                                                0 => {
4226                                                                    0 => {
4227                                                                        0 => {
4228                                                                            0 => {Core::FullRightShift32_2},
4229                                                                            1 => {Core::FullRightShift64_2}
4230                                                                        },
4231                                                                        1 => {}
4232                                                                    },
4233                                                                    1 => {}
4234                                                                },
4235                                                                1 => {}
4236                                                            }
4237                                                        }
4238                                                    },
4239                                                    1 => {
4240                                                        0 => {Core::FullRightShift8_4},
4241                                                        1 => {
4242                                                            0 => {
4243                                                                0 => {Core::FullRightShift16_4},
4244                                                                1 => {Core::FullRightShift32_4}
4245                                                            },
4246                                                            1 => {
4247                                                                0 => {
4248                                                                    0 => {
4249                                                                        0 => {
4250                                                                            0 => {Core::FullRightShift64_4},
4251                                                                            1 => {}
4252                                                                        },
4253                                                                        1 => {}
4254                                                                    },
4255                                                                    1 => {}
4256                                                                },
4257                                                                1 => {}
4258                                                            }
4259                                                        }
4260                                                    }
4261                                                },
4262                                                1 => {
4263                                                    0 => {
4264                                                        0 => {
4265                                                            0 => {
4266                                                                0 => {
4267                                                                    0 => {Core::FullRightShift16_8},
4268                                                                    1 => {
4269                                                                        0 => {
4270                                                                            0 => {Core::FullRightShift32_8},
4271                                                                            1 => {Core::FullRightShift64_8}
4272                                                                        },
4273                                                                        1 => {}
4274                                                                    }
4275                                                                },
4276                                                                1 => {
4277                                                                    0 => {Core::FullRightShift32_16},
4278                                                                    1 => {
4279                                                                        0 => {
4280                                                                            0 => {Core::FullRightShift64_16},
4281                                                                            1 => {}
4282                                                                        },
4283                                                                        1 => {}
4284                                                                    }
4285                                                                }
4286                                                            },
4287                                                            1 => {
4288                                                                0 => {
4289                                                                    0 => {Core::FullRightShift64_32},
4290                                                                    1 => {}
4291                                                                },
4292                                                                1 => {}
4293                                                            }
4294                                                        },
4295                                                        1 => {}
4296                                                    },
4297                                                    1 => {}
4298                                                }
4299                                            }
4300                                        }
4301                                    }
4302                                }
4303                            }
4304                        },
4305                        1 => {
4306                            0 => {
4307                                0 => {
4308                                    0 => {
4309                                        0 => {
4310                                            0 => {
4311                                                0 => {
4312                                                    0 => {
4313                                                        0 => {
4314                                                            0 => {
4315                                                                0 => {},
4316                                                                1 => {
4317                                                                    0 => {
4318                                                                        0 => {},
4319                                                                        1 => {Core::Leftmost8_1}
4320                                                                    },
4321                                                                    1 => {
4322                                                                        0 => {
4323                                                                            0 => {
4324                                                                                0 => {
4325                                                                                    0 => {Core::Leftmost16_1},
4326                                                                                    1 => {Core::Leftmost32_1}
4327                                                                                },
4328                                                                                1 => {
4329                                                                                    0 => {Core::Leftmost64_1},
4330                                                                                    1 => {}
4331                                                                                }
4332                                                                            },
4333                                                                            1 => {}
4334                                                                        },
4335                                                                        1 => {}
4336                                                                    }
4337                                                                }
4338                                                            },
4339                                                            1 => {
4340                                                                0 => {
4341                                                                    0 => {
4342                                                                        0 => {},
4343                                                                        1 => {
4344                                                                            0 => {
4345                                                                                0 => {Core::Leftmost8_2},
4346                                                                                1 => {Core::Leftmost16_2}
4347                                                                            },
4348                                                                            1 => {
4349                                                                                0 => {
4350                                                                                    0 => {
4351                                                                                        0 => {
4352                                                                                            0 => {Core::Leftmost32_2},
4353                                                                                            1 => {Core::Leftmost64_2}
4354                                                                                        },
4355                                                                                        1 => {}
4356                                                                                    },
4357                                                                                    1 => {}
4358                                                                                },
4359                                                                                1 => {}
4360                                                                            }
4361                                                                        }
4362                                                                    },
4363                                                                    1 => {
4364                                                                        0 => {Core::Leftmost8_4},
4365                                                                        1 => {
4366                                                                            0 => {
4367                                                                                0 => {Core::Leftmost16_4},
4368                                                                                1 => {Core::Leftmost32_4}
4369                                                                            },
4370                                                                            1 => {
4371                                                                                0 => {
4372                                                                                    0 => {
4373                                                                                        0 => {
4374                                                                                            0 => {Core::Leftmost64_4},
4375                                                                                            1 => {}
4376                                                                                        },
4377                                                                                        1 => {}
4378                                                                                    },
4379                                                                                    1 => {}
4380                                                                                },
4381                                                                                1 => {}
4382                                                                            }
4383                                                                        }
4384                                                                    }
4385                                                                },
4386                                                                1 => {
4387                                                                    0 => {
4388                                                                        0 => {
4389                                                                            0 => {
4390                                                                                0 => {
4391                                                                                    0 => {Core::Leftmost16_8},
4392                                                                                    1 => {
4393                                                                                        0 => {
4394                                                                                            0 => {Core::Leftmost32_8},
4395                                                                                            1 => {Core::Leftmost64_8}
4396                                                                                        },
4397                                                                                        1 => {}
4398                                                                                    }
4399                                                                                },
4400                                                                                1 => {
4401                                                                                    0 => {Core::Leftmost32_16},
4402                                                                                    1 => {
4403                                                                                        0 => {
4404                                                                                            0 => {Core::Leftmost64_16},
4405                                                                                            1 => {}
4406                                                                                        },
4407                                                                                        1 => {}
4408                                                                                    }
4409                                                                                }
4410                                                                            },
4411                                                                            1 => {
4412                                                                                0 => {
4413                                                                                    0 => {Core::Leftmost64_32},
4414                                                                                    1 => {}
4415                                                                                },
4416                                                                                1 => {}
4417                                                                            }
4418                                                                        },
4419                                                                        1 => {}
4420                                                                    },
4421                                                                    1 => {}
4422                                                                }
4423                                                            }
4424                                                        },
4425                                                        1 => {
4426                                                            0 => {
4427                                                                0 => {},
4428                                                                1 => {
4429                                                                    0 => {
4430                                                                        0 => {},
4431                                                                        1 => {Core::Rightmost8_1}
4432                                                                    },
4433                                                                    1 => {
4434                                                                        0 => {
4435                                                                            0 => {
4436                                                                                0 => {
4437                                                                                    0 => {Core::Rightmost16_1},
4438                                                                                    1 => {Core::Rightmost32_1}
4439                                                                                },
4440                                                                                1 => {
4441                                                                                    0 => {Core::Rightmost64_1},
4442                                                                                    1 => {}
4443                                                                                }
4444                                                                            },
4445                                                                            1 => {}
4446                                                                        },
4447                                                                        1 => {}
4448                                                                    }
4449                                                                }
4450                                                            },
4451                                                            1 => {
4452                                                                0 => {
4453                                                                    0 => {
4454                                                                        0 => {},
4455                                                                        1 => {
4456                                                                            0 => {
4457                                                                                0 => {Core::Rightmost8_2},
4458                                                                                1 => {Core::Rightmost16_2}
4459                                                                            },
4460                                                                            1 => {
4461                                                                                0 => {
4462                                                                                    0 => {
4463                                                                                        0 => {
4464                                                                                            0 => {Core::Rightmost32_2},
4465                                                                                            1 => {Core::Rightmost64_2}
4466                                                                                        },
4467                                                                                        1 => {}
4468                                                                                    },
4469                                                                                    1 => {}
4470                                                                                },
4471                                                                                1 => {}
4472                                                                            }
4473                                                                        }
4474                                                                    },
4475                                                                    1 => {
4476                                                                        0 => {Core::Rightmost8_4},
4477                                                                        1 => {
4478                                                                            0 => {
4479                                                                                0 => {Core::Rightmost16_4},
4480                                                                                1 => {Core::Rightmost32_4}
4481                                                                            },
4482                                                                            1 => {
4483                                                                                0 => {
4484                                                                                    0 => {
4485                                                                                        0 => {
4486                                                                                            0 => {Core::Rightmost64_4},
4487                                                                                            1 => {}
4488                                                                                        },
4489                                                                                        1 => {}
4490                                                                                    },
4491                                                                                    1 => {}
4492                                                                                },
4493                                                                                1 => {}
4494                                                                            }
4495                                                                        }
4496                                                                    }
4497                                                                },
4498                                                                1 => {
4499                                                                    0 => {
4500                                                                        0 => {
4501                                                                            0 => {
4502                                                                                0 => {
4503                                                                                    0 => {Core::Rightmost16_8},
4504                                                                                    1 => {
4505                                                                                        0 => {
4506                                                                                            0 => {Core::Rightmost32_8},
4507                                                                                            1 => {Core::Rightmost64_8}
4508                                                                                        },
4509                                                                                        1 => {}
4510                                                                                    }
4511                                                                                },
4512                                                                                1 => {
4513                                                                                    0 => {Core::Rightmost32_16},
4514                                                                                    1 => {
4515                                                                                        0 => {
4516                                                                                            0 => {Core::Rightmost64_16},
4517                                                                                            1 => {}
4518                                                                                        },
4519                                                                                        1 => {}
4520                                                                                    }
4521                                                                                }
4522                                                                            },
4523                                                                            1 => {
4524                                                                                0 => {
4525                                                                                    0 => {Core::Rightmost64_32},
4526                                                                                    1 => {}
4527                                                                                },
4528                                                                                1 => {}
4529                                                                            }
4530                                                                        },
4531                                                                        1 => {}
4532                                                                    },
4533                                                                    1 => {}
4534                                                                }
4535                                                            }
4536                                                        }
4537                                                    },
4538                                                    1 => {
4539                                                        0 => {
4540                                                            0 => {
4541                                                                0 => {},
4542                                                                1 => {
4543                                                                    0 => {
4544                                                                        0 => {},
4545                                                                        1 => {Core::LeftPadLow1_8}
4546                                                                    },
4547                                                                    1 => {
4548                                                                        0 => {
4549                                                                            0 => {
4550                                                                                0 => {
4551                                                                                    0 => {Core::LeftPadLow1_16},
4552                                                                                    1 => {Core::LeftPadLow1_32}
4553                                                                                },
4554                                                                                1 => {
4555                                                                                    0 => {Core::LeftPadLow1_64},
4556                                                                                    1 => {}
4557                                                                                }
4558                                                                            },
4559                                                                            1 => {}
4560                                                                        },
4561                                                                        1 => {}
4562                                                                    }
4563                                                                }
4564                                                            },
4565                                                            1 => {
4566                                                                0 => {},
4567                                                                1 => {
4568                                                                    0 => {
4569                                                                        0 => {
4570                                                                            0 => {
4571                                                                                0 => {
4572                                                                                    0 => {Core::LeftPadLow8_16},
4573                                                                                    1 => {
4574                                                                                        0 => {
4575                                                                                            0 => {Core::LeftPadLow8_32},
4576                                                                                            1 => {Core::LeftPadLow8_64}
4577                                                                                        },
4578                                                                                        1 => {}
4579                                                                                    }
4580                                                                                },
4581                                                                                1 => {
4582                                                                                    0 => {Core::LeftPadLow16_32},
4583                                                                                    1 => {
4584                                                                                        0 => {
4585                                                                                            0 => {Core::LeftPadLow16_64},
4586                                                                                            1 => {}
4587                                                                                        },
4588                                                                                        1 => {}
4589                                                                                    }
4590                                                                                }
4591                                                                            },
4592                                                                            1 => {
4593                                                                                0 => {
4594                                                                                    0 => {Core::LeftPadLow32_64},
4595                                                                                    1 => {}
4596                                                                                },
4597                                                                                1 => {}
4598                                                                            }
4599                                                                        },
4600                                                                        1 => {}
4601                                                                    },
4602                                                                    1 => {}
4603                                                                }
4604                                                            }
4605                                                        },
4606                                                        1 => {
4607                                                            0 => {
4608                                                                0 => {},
4609                                                                1 => {
4610                                                                    0 => {
4611                                                                        0 => {},
4612                                                                        1 => {Core::LeftPadHigh1_8}
4613                                                                    },
4614                                                                    1 => {
4615                                                                        0 => {
4616                                                                            0 => {
4617                                                                                0 => {
4618                                                                                    0 => {Core::LeftPadHigh1_16},
4619                                                                                    1 => {Core::LeftPadHigh1_32}
4620                                                                                },
4621                                                                                1 => {
4622                                                                                    0 => {Core::LeftPadHigh1_64},
4623                                                                                    1 => {}
4624                                                                                }
4625                                                                            },
4626                                                                            1 => {}
4627                                                                        },
4628                                                                        1 => {}
4629                                                                    }
4630                                                                }
4631                                                            },
4632                                                            1 => {
4633                                                                0 => {},
4634                                                                1 => {
4635                                                                    0 => {
4636                                                                        0 => {
4637                                                                            0 => {
4638                                                                                0 => {
4639                                                                                    0 => {Core::LeftPadHigh8_16},
4640                                                                                    1 => {
4641                                                                                        0 => {
4642                                                                                            0 => {Core::LeftPadHigh8_32},
4643                                                                                            1 => {Core::LeftPadHigh8_64}
4644                                                                                        },
4645                                                                                        1 => {}
4646                                                                                    }
4647                                                                                },
4648                                                                                1 => {
4649                                                                                    0 => {Core::LeftPadHigh16_32},
4650                                                                                    1 => {
4651                                                                                        0 => {
4652                                                                                            0 => {Core::LeftPadHigh16_64},
4653                                                                                            1 => {}
4654                                                                                        },
4655                                                                                        1 => {}
4656                                                                                    }
4657                                                                                }
4658                                                                            },
4659                                                                            1 => {
4660                                                                                0 => {
4661                                                                                    0 => {Core::LeftPadHigh32_64},
4662                                                                                    1 => {}
4663                                                                                },
4664                                                                                1 => {}
4665                                                                            }
4666                                                                        },
4667                                                                        1 => {}
4668                                                                    },
4669                                                                    1 => {}
4670                                                                }
4671                                                            }
4672                                                        }
4673                                                    }
4674                                                },
4675                                                1 => {
4676                                                    0 => {
4677                                                        0 => {
4678                                                            0 => {
4679                                                                0 => {},
4680                                                                1 => {
4681                                                                    0 => {
4682                                                                        0 => {},
4683                                                                        1 => {Core::LeftExtend1_8}
4684                                                                    },
4685                                                                    1 => {
4686                                                                        0 => {
4687                                                                            0 => {
4688                                                                                0 => {
4689                                                                                    0 => {Core::LeftExtend1_16},
4690                                                                                    1 => {Core::LeftExtend1_32}
4691                                                                                },
4692                                                                                1 => {
4693                                                                                    0 => {Core::LeftExtend1_64},
4694                                                                                    1 => {}
4695                                                                                }
4696                                                                            },
4697                                                                            1 => {}
4698                                                                        },
4699                                                                        1 => {}
4700                                                                    }
4701                                                                }
4702                                                            },
4703                                                            1 => {
4704                                                                0 => {},
4705                                                                1 => {
4706                                                                    0 => {
4707                                                                        0 => {
4708                                                                            0 => {
4709                                                                                0 => {
4710                                                                                    0 => {Core::LeftExtend8_16},
4711                                                                                    1 => {
4712                                                                                        0 => {
4713                                                                                            0 => {Core::LeftExtend8_32},
4714                                                                                            1 => {Core::LeftExtend8_64}
4715                                                                                        },
4716                                                                                        1 => {}
4717                                                                                    }
4718                                                                                },
4719                                                                                1 => {
4720                                                                                    0 => {Core::LeftExtend16_32},
4721                                                                                    1 => {
4722                                                                                        0 => {
4723                                                                                            0 => {Core::LeftExtend16_64},
4724                                                                                            1 => {}
4725                                                                                        },
4726                                                                                        1 => {}
4727                                                                                    }
4728                                                                                }
4729                                                                            },
4730                                                                            1 => {
4731                                                                                0 => {
4732                                                                                    0 => {Core::LeftExtend32_64},
4733                                                                                    1 => {}
4734                                                                                },
4735                                                                                1 => {}
4736                                                                            }
4737                                                                        },
4738                                                                        1 => {}
4739                                                                    },
4740                                                                    1 => {}
4741                                                                }
4742                                                            }
4743                                                        },
4744                                                        1 => {
4745                                                            0 => {
4746                                                                0 => {},
4747                                                                1 => {
4748                                                                    0 => {
4749                                                                        0 => {},
4750                                                                        1 => {Core::RightPadLow1_8}
4751                                                                    },
4752                                                                    1 => {
4753                                                                        0 => {
4754                                                                            0 => {
4755                                                                                0 => {
4756                                                                                    0 => {Core::RightPadLow1_16},
4757                                                                                    1 => {Core::RightPadLow1_32}
4758                                                                                },
4759                                                                                1 => {
4760                                                                                    0 => {Core::RightPadLow1_64},
4761                                                                                    1 => {}
4762                                                                                }
4763                                                                            },
4764                                                                            1 => {}
4765                                                                        },
4766                                                                        1 => {}
4767                                                                    }
4768                                                                }
4769                                                            },
4770                                                            1 => {
4771                                                                0 => {},
4772                                                                1 => {
4773                                                                    0 => {
4774                                                                        0 => {
4775                                                                            0 => {
4776                                                                                0 => {
4777                                                                                    0 => {Core::RightPadLow8_16},
4778                                                                                    1 => {
4779                                                                                        0 => {
4780                                                                                            0 => {Core::RightPadLow8_32},
4781                                                                                            1 => {Core::RightPadLow8_64}
4782                                                                                        },
4783                                                                                        1 => {}
4784                                                                                    }
4785                                                                                },
4786                                                                                1 => {
4787                                                                                    0 => {Core::RightPadLow16_32},
4788                                                                                    1 => {
4789                                                                                        0 => {
4790                                                                                            0 => {Core::RightPadLow16_64},
4791                                                                                            1 => {}
4792                                                                                        },
4793                                                                                        1 => {}
4794                                                                                    }
4795                                                                                }
4796                                                                            },
4797                                                                            1 => {
4798                                                                                0 => {
4799                                                                                    0 => {Core::RightPadLow32_64},
4800                                                                                    1 => {}
4801                                                                                },
4802                                                                                1 => {}
4803                                                                            }
4804                                                                        },
4805                                                                        1 => {}
4806                                                                    },
4807                                                                    1 => {}
4808                                                                }
4809                                                            }
4810                                                        }
4811                                                    },
4812                                                    1 => {
4813                                                        0 => {
4814                                                            0 => {
4815                                                                0 => {},
4816                                                                1 => {
4817                                                                    0 => {
4818                                                                        0 => {},
4819                                                                        1 => {Core::RightPadHigh1_8}
4820                                                                    },
4821                                                                    1 => {
4822                                                                        0 => {
4823                                                                            0 => {
4824                                                                                0 => {
4825                                                                                    0 => {Core::RightPadHigh1_16},
4826                                                                                    1 => {Core::RightPadHigh1_32}
4827                                                                                },
4828                                                                                1 => {
4829                                                                                    0 => {Core::RightPadHigh1_64},
4830                                                                                    1 => {}
4831                                                                                }
4832                                                                            },
4833                                                                            1 => {}
4834                                                                        },
4835                                                                        1 => {}
4836                                                                    }
4837                                                                }
4838                                                            },
4839                                                            1 => {
4840                                                                0 => {},
4841                                                                1 => {
4842                                                                    0 => {
4843                                                                        0 => {
4844                                                                            0 => {
4845                                                                                0 => {
4846                                                                                    0 => {Core::RightPadHigh8_16},
4847                                                                                    1 => {
4848                                                                                        0 => {
4849                                                                                            0 => {Core::RightPadHigh8_32},
4850                                                                                            1 => {Core::RightPadHigh8_64}
4851                                                                                        },
4852                                                                                        1 => {}
4853                                                                                    }
4854                                                                                },
4855                                                                                1 => {
4856                                                                                    0 => {Core::RightPadHigh16_32},
4857                                                                                    1 => {
4858                                                                                        0 => {
4859                                                                                            0 => {Core::RightPadHigh16_64},
4860                                                                                            1 => {}
4861                                                                                        },
4862                                                                                        1 => {}
4863                                                                                    }
4864                                                                                }
4865                                                                            },
4866                                                                            1 => {
4867                                                                                0 => {
4868                                                                                    0 => {Core::RightPadHigh32_64},
4869                                                                                    1 => {}
4870                                                                                },
4871                                                                                1 => {}
4872                                                                            }
4873                                                                        },
4874                                                                        1 => {}
4875                                                                    },
4876                                                                    1 => {}
4877                                                                }
4878                                                            }
4879                                                        },
4880                                                        1 => {
4881                                                            0 => {},
4882                                                            1 => {
4883                                                                0 => {},
4884                                                                1 => {
4885                                                                    0 => {
4886                                                                        0 => {
4887                                                                            0 => {
4888                                                                                0 => {
4889                                                                                    0 => {Core::RightExtend8_16},
4890                                                                                    1 => {
4891                                                                                        0 => {
4892                                                                                            0 => {Core::RightExtend8_32},
4893                                                                                            1 => {Core::RightExtend8_64}
4894                                                                                        },
4895                                                                                        1 => {}
4896                                                                                    }
4897                                                                                },
4898                                                                                1 => {
4899                                                                                    0 => {Core::RightExtend16_32},
4900                                                                                    1 => {
4901                                                                                        0 => {
4902                                                                                            0 => {Core::RightExtend16_64},
4903                                                                                            1 => {}
4904                                                                                        },
4905                                                                                        1 => {}
4906                                                                                    }
4907                                                                                }
4908                                                                            },
4909                                                                            1 => {
4910                                                                                0 => {
4911                                                                                    0 => {Core::RightExtend32_64},
4912                                                                                    1 => {}
4913                                                                                },
4914                                                                                1 => {}
4915                                                                            }
4916                                                                        },
4917                                                                        1 => {}
4918                                                                    },
4919                                                                    1 => {}
4920                                                                }
4921                                                            }
4922                                                        }
4923                                                    }
4924                                                }
4925                                            },
4926                                            1 => {
4927                                                0 => {
4928                                                    0 => {
4929                                                        0 => {
4930                                                            0 => {},
4931                                                            1 => {
4932                                                                0 => {
4933                                                                    0 => {},
4934                                                                    1 => {Core::LeftShiftWith8}
4935                                                                },
4936                                                                1 => {
4937                                                                    0 => {
4938                                                                        0 => {
4939                                                                            0 => {
4940                                                                                0 => {Core::LeftShiftWith16},
4941                                                                                1 => {Core::LeftShiftWith32}
4942                                                                            },
4943                                                                            1 => {
4944                                                                                0 => {Core::LeftShiftWith64},
4945                                                                                1 => {}
4946                                                                            }
4947                                                                        },
4948                                                                        1 => {}
4949                                                                    },
4950                                                                    1 => {}
4951                                                                }
4952                                                            }
4953                                                        },
4954                                                        1 => {
4955                                                            0 => {},
4956                                                            1 => {
4957                                                                0 => {
4958                                                                    0 => {},
4959                                                                    1 => {Core::RightShiftWith8}
4960                                                                },
4961                                                                1 => {
4962                                                                    0 => {
4963                                                                        0 => {
4964                                                                            0 => {
4965                                                                                0 => {Core::RightShiftWith16},
4966                                                                                1 => {Core::RightShiftWith32}
4967                                                                            },
4968                                                                            1 => {
4969                                                                                0 => {Core::RightShiftWith64},
4970                                                                                1 => {}
4971                                                                            }
4972                                                                        },
4973                                                                        1 => {}
4974                                                                    },
4975                                                                    1 => {}
4976                                                                }
4977                                                            }
4978                                                        }
4979                                                    },
4980                                                    1 => {
4981                                                        0 => {
4982                                                            0 => {},
4983                                                            1 => {
4984                                                                0 => {
4985                                                                    0 => {},
4986                                                                    1 => {Core::LeftShift8}
4987                                                                },
4988                                                                1 => {
4989                                                                    0 => {
4990                                                                        0 => {
4991                                                                            0 => {
4992                                                                                0 => {Core::LeftShift16},
4993                                                                                1 => {Core::LeftShift32}
4994                                                                            },
4995                                                                            1 => {
4996                                                                                0 => {Core::LeftShift64},
4997                                                                                1 => {}
4998                                                                            }
4999                                                                        },
5000                                                                        1 => {}
5001                                                                    },
5002                                                                    1 => {}
5003                                                                }
5004                                                            }
5005                                                        },
5006                                                        1 => {
5007                                                            0 => {},
5008                                                            1 => {
5009                                                                0 => {
5010                                                                    0 => {},
5011                                                                    1 => {Core::RightShift8}
5012                                                                },
5013                                                                1 => {
5014                                                                    0 => {
5015                                                                        0 => {
5016                                                                            0 => {
5017                                                                                0 => {Core::RightShift16},
5018                                                                                1 => {Core::RightShift32}
5019                                                                            },
5020                                                                            1 => {
5021                                                                                0 => {Core::RightShift64},
5022                                                                                1 => {}
5023                                                                            }
5024                                                                        },
5025                                                                        1 => {}
5026                                                                    },
5027                                                                    1 => {}
5028                                                                }
5029                                                            }
5030                                                        }
5031                                                    }
5032                                                },
5033                                                1 => {
5034                                                    0 => {
5035                                                        0 => {
5036                                                            0 => {},
5037                                                            1 => {
5038                                                                0 => {
5039                                                                    0 => {},
5040                                                                    1 => {Core::LeftRotate8}
5041                                                                },
5042                                                                1 => {
5043                                                                    0 => {
5044                                                                        0 => {
5045                                                                            0 => {
5046                                                                                0 => {Core::LeftRotate16},
5047                                                                                1 => {Core::LeftRotate32}
5048                                                                            },
5049                                                                            1 => {
5050                                                                                0 => {Core::LeftRotate64},
5051                                                                                1 => {}
5052                                                                            }
5053                                                                        },
5054                                                                        1 => {}
5055                                                                    },
5056                                                                    1 => {}
5057                                                                }
5058                                                            }
5059                                                        },
5060                                                        1 => {
5061                                                            0 => {},
5062                                                            1 => {
5063                                                                0 => {
5064                                                                    0 => {},
5065                                                                    1 => {Core::RightRotate8}
5066                                                                },
5067                                                                1 => {
5068                                                                    0 => {
5069                                                                        0 => {
5070                                                                            0 => {
5071                                                                                0 => {Core::RightRotate16},
5072                                                                                1 => {Core::RightRotate32}
5073                                                                            },
5074                                                                            1 => {
5075                                                                                0 => {Core::RightRotate64},
5076                                                                                1 => {}
5077                                                                            }
5078                                                                        },
5079                                                                        1 => {}
5080                                                                    },
5081                                                                    1 => {}
5082                                                                }
5083                                                            }
5084                                                        }
5085                                                    },
5086                                                    1 => {}
5087                                                }
5088                                            }
5089                                        },
5090                                        1 => {}
5091                                    },
5092                                    1 => {}
5093                                },
5094                                1 => {}
5095                            },
5096                            1 => {}
5097                        }
5098                    }
5099                }
5100            },
5101            1 => {
5102                0 => {
5103                    0 => {
5104                        0 => {
5105                            0 => {},
5106                            1 => {
5107                                0 => {
5108                                    0 => {},
5109                                    1 => {Core::One8}
5110                                },
5111                                1 => {
5112                                    0 => {
5113                                        0 => {
5114                                            0 => {
5115                                                0 => {Core::One16},
5116                                                1 => {Core::One32}
5117                                            },
5118                                            1 => {
5119                                                0 => {Core::One64},
5120                                                1 => {}
5121                                            }
5122                                        },
5123                                        1 => {}
5124                                    },
5125                                    1 => {}
5126                                }
5127                            }
5128                        },
5129                        1 => {
5130                            0 => {
5131                                0 => {
5132                                    0 => {},
5133                                    1 => {
5134                                        0 => {
5135                                            0 => {},
5136                                            1 => {Core::FullAdd8}
5137                                        },
5138                                        1 => {
5139                                            0 => {
5140                                                0 => {
5141                                                    0 => {
5142                                                        0 => {Core::FullAdd16},
5143                                                        1 => {Core::FullAdd32}
5144                                                    },
5145                                                    1 => {
5146                                                        0 => {Core::FullAdd64},
5147                                                        1 => {}
5148                                                    }
5149                                                },
5150                                                1 => {}
5151                                            },
5152                                            1 => {}
5153                                        }
5154                                    }
5155                                },
5156                                1 => {
5157                                    0 => {},
5158                                    1 => {
5159                                        0 => {
5160                                            0 => {},
5161                                            1 => {Core::Add8}
5162                                        },
5163                                        1 => {
5164                                            0 => {
5165                                                0 => {
5166                                                    0 => {
5167                                                        0 => {Core::Add16},
5168                                                        1 => {Core::Add32}
5169                                                    },
5170                                                    1 => {
5171                                                        0 => {Core::Add64},
5172                                                        1 => {}
5173                                                    }
5174                                                },
5175                                                1 => {}
5176                                            },
5177                                            1 => {}
5178                                        }
5179                                    }
5180                                }
5181                            },
5182                            1 => {
5183                                0 => {
5184                                    0 => {
5185                                        0 => {
5186                                            0 => {
5187                                                0 => {},
5188                                                1 => {
5189                                                    0 => {
5190                                                        0 => {},
5191                                                        1 => {Core::FullIncrement8}
5192                                                    },
5193                                                    1 => {
5194                                                        0 => {
5195                                                            0 => {
5196                                                                0 => {
5197                                                                    0 => {Core::FullIncrement16},
5198                                                                    1 => {Core::FullIncrement32}
5199                                                                },
5200                                                                1 => {
5201                                                                    0 => {Core::FullIncrement64},
5202                                                                    1 => {}
5203                                                                }
5204                                                            },
5205                                                            1 => {}
5206                                                        },
5207                                                        1 => {}
5208                                                    }
5209                                                }
5210                                            },
5211                                            1 => {
5212                                                0 => {},
5213                                                1 => {
5214                                                    0 => {
5215                                                        0 => {},
5216                                                        1 => {Core::Increment8}
5217                                                    },
5218                                                    1 => {
5219                                                        0 => {
5220                                                            0 => {
5221                                                                0 => {
5222                                                                    0 => {Core::Increment16},
5223                                                                    1 => {Core::Increment32}
5224                                                                },
5225                                                                1 => {
5226                                                                    0 => {Core::Increment64},
5227                                                                    1 => {}
5228                                                                }
5229                                                            },
5230                                                            1 => {}
5231                                                        },
5232                                                        1 => {}
5233                                                    }
5234                                                }
5235                                            }
5236                                        },
5237                                        1 => {
5238                                            0 => {},
5239                                            1 => {
5240                                                0 => {},
5241                                                1 => {
5242                                                    0 => {
5243                                                        0 => {},
5244                                                        1 => {Core::FullSubtract8}
5245                                                    },
5246                                                    1 => {
5247                                                        0 => {
5248                                                            0 => {
5249                                                                0 => {
5250                                                                    0 => {Core::FullSubtract16},
5251                                                                    1 => {Core::FullSubtract32}
5252                                                                },
5253                                                                1 => {
5254                                                                    0 => {Core::FullSubtract64},
5255                                                                    1 => {}
5256                                                                }
5257                                                            },
5258                                                            1 => {}
5259                                                        },
5260                                                        1 => {}
5261                                                    }
5262                                                }
5263                                            }
5264                                        }
5265                                    },
5266                                    1 => {
5267                                        0 => {
5268                                            0 => {
5269                                                0 => {
5270                                                    0 => {},
5271                                                    1 => {
5272                                                        0 => {
5273                                                            0 => {},
5274                                                            1 => {Core::Subtract8}
5275                                                        },
5276                                                        1 => {
5277                                                            0 => {
5278                                                                0 => {
5279                                                                    0 => {
5280                                                                        0 => {Core::Subtract16},
5281                                                                        1 => {Core::Subtract32}
5282                                                                    },
5283                                                                    1 => {
5284                                                                        0 => {Core::Subtract64},
5285                                                                        1 => {}
5286                                                                    }
5287                                                                },
5288                                                                1 => {}
5289                                                            },
5290                                                            1 => {}
5291                                                        }
5292                                                    }
5293                                                },
5294                                                1 => {
5295                                                    0 => {},
5296                                                    1 => {
5297                                                        0 => {
5298                                                            0 => {},
5299                                                            1 => {Core::Negate8}
5300                                                        },
5301                                                        1 => {
5302                                                            0 => {
5303                                                                0 => {
5304                                                                    0 => {
5305                                                                        0 => {Core::Negate16},
5306                                                                        1 => {Core::Negate32}
5307                                                                    },
5308                                                                    1 => {
5309                                                                        0 => {Core::Negate64},
5310                                                                        1 => {}
5311                                                                    }
5312                                                                },
5313                                                                1 => {}
5314                                                            },
5315                                                            1 => {}
5316                                                        }
5317                                                    }
5318                                                }
5319                                            },
5320                                            1 => {
5321                                                0 => {
5322                                                    0 => {},
5323                                                    1 => {
5324                                                        0 => {
5325                                                            0 => {},
5326                                                            1 => {Core::FullDecrement8}
5327                                                        },
5328                                                        1 => {
5329                                                            0 => {
5330                                                                0 => {
5331                                                                    0 => {
5332                                                                        0 => {Core::FullDecrement16},
5333                                                                        1 => {Core::FullDecrement32}
5334                                                                    },
5335                                                                    1 => {
5336                                                                        0 => {Core::FullDecrement64},
5337                                                                        1 => {}
5338                                                                    }
5339                                                                },
5340                                                                1 => {}
5341                                                            },
5342                                                            1 => {}
5343                                                        }
5344                                                    }
5345                                                },
5346                                                1 => {
5347                                                    0 => {},
5348                                                    1 => {
5349                                                        0 => {
5350                                                            0 => {},
5351                                                            1 => {Core::Decrement8}
5352                                                        },
5353                                                        1 => {
5354                                                            0 => {
5355                                                                0 => {
5356                                                                    0 => {
5357                                                                        0 => {Core::Decrement16},
5358                                                                        1 => {Core::Decrement32}
5359                                                                    },
5360                                                                    1 => {
5361                                                                        0 => {Core::Decrement64},
5362                                                                        1 => {}
5363                                                                    }
5364                                                                },
5365                                                                1 => {}
5366                                                            },
5367                                                            1 => {}
5368                                                        }
5369                                                    }
5370                                                }
5371                                            }
5372                                        },
5373                                        1 => {
5374                                            0 => {
5375                                                0 => {
5376                                                    0 => {},
5377                                                    1 => {
5378                                                        0 => {
5379                                                            0 => {},
5380                                                            1 => {Core::FullMultiply8}
5381                                                        },
5382                                                        1 => {
5383                                                            0 => {
5384                                                                0 => {
5385                                                                    0 => {
5386                                                                        0 => {Core::FullMultiply16},
5387                                                                        1 => {Core::FullMultiply32}
5388                                                                    },
5389                                                                    1 => {
5390                                                                        0 => {Core::FullMultiply64},
5391                                                                        1 => {}
5392                                                                    }
5393                                                                },
5394                                                                1 => {}
5395                                                            },
5396                                                            1 => {}
5397                                                        }
5398                                                    }
5399                                                },
5400                                                1 => {
5401                                                    0 => {},
5402                                                    1 => {
5403                                                        0 => {
5404                                                            0 => {},
5405                                                            1 => {Core::Multiply8}
5406                                                        },
5407                                                        1 => {
5408                                                            0 => {
5409                                                                0 => {
5410                                                                    0 => {
5411                                                                        0 => {Core::Multiply16},
5412                                                                        1 => {Core::Multiply32}
5413                                                                    },
5414                                                                    1 => {
5415                                                                        0 => {Core::Multiply64},
5416                                                                        1 => {}
5417                                                                    }
5418                                                                },
5419                                                                1 => {}
5420                                                            },
5421                                                            1 => {}
5422                                                        }
5423                                                    }
5424                                                }
5425                                            },
5426                                            1 => {
5427                                                0 => {
5428                                                    0 => {},
5429                                                    1 => {
5430                                                        0 => {
5431                                                            0 => {},
5432                                                            1 => {Core::IsZero8}
5433                                                        },
5434                                                        1 => {
5435                                                            0 => {
5436                                                                0 => {
5437                                                                    0 => {
5438                                                                        0 => {Core::IsZero16},
5439                                                                        1 => {Core::IsZero32}
5440                                                                    },
5441                                                                    1 => {
5442                                                                        0 => {Core::IsZero64},
5443                                                                        1 => {}
5444                                                                    }
5445                                                                },
5446                                                                1 => {}
5447                                                            },
5448                                                            1 => {}
5449                                                        }
5450                                                    }
5451                                                },
5452                                                1 => {
5453                                                    0 => {},
5454                                                    1 => {
5455                                                        0 => {
5456                                                            0 => {},
5457                                                            1 => {Core::IsOne8}
5458                                                        },
5459                                                        1 => {
5460                                                            0 => {
5461                                                                0 => {
5462                                                                    0 => {
5463                                                                        0 => {Core::IsOne16},
5464                                                                        1 => {Core::IsOne32}
5465                                                                    },
5466                                                                    1 => {
5467                                                                        0 => {Core::IsOne64},
5468                                                                        1 => {}
5469                                                                    }
5470                                                                },
5471                                                                1 => {}
5472                                                            },
5473                                                            1 => {}
5474                                                        }
5475                                                    }
5476                                                }
5477                                            }
5478                                        }
5479                                    }
5480                                },
5481                                1 => {
5482                                    0 => {
5483                                        0 => {
5484                                            0 => {
5485                                                0 => {
5486                                                    0 => {
5487                                                        0 => {
5488                                                            0 => {
5489                                                                0 => {
5490                                                                    0 => {},
5491                                                                    1 => {
5492                                                                        0 => {
5493                                                                            0 => {},
5494                                                                            1 => {Core::Le8}
5495                                                                        },
5496                                                                        1 => {
5497                                                                            0 => {
5498                                                                                0 => {
5499                                                                                    0 => {
5500                                                                                        0 => {Core::Le16},
5501                                                                                        1 => {Core::Le32}
5502                                                                                    },
5503                                                                                    1 => {
5504                                                                                        0 => {Core::Le64},
5505                                                                                        1 => {}
5506                                                                                    }
5507                                                                                },
5508                                                                                1 => {}
5509                                                                            },
5510                                                                            1 => {}
5511                                                                        }
5512                                                                    }
5513                                                                },
5514                                                                1 => {
5515                                                                    0 => {},
5516                                                                    1 => {
5517                                                                        0 => {
5518                                                                            0 => {},
5519                                                                            1 => {Core::Lt8}
5520                                                                        },
5521                                                                        1 => {
5522                                                                            0 => {
5523                                                                                0 => {
5524                                                                                    0 => {
5525                                                                                        0 => {Core::Lt16},
5526                                                                                        1 => {Core::Lt32}
5527                                                                                    },
5528                                                                                    1 => {
5529                                                                                        0 => {Core::Lt64},
5530                                                                                        1 => {}
5531                                                                                    }
5532                                                                                },
5533                                                                                1 => {}
5534                                                                            },
5535                                                                            1 => {}
5536                                                                        }
5537                                                                    }
5538                                                                }
5539                                                            },
5540                                                            1 => {
5541                                                                0 => {
5542                                                                    0 => {},
5543                                                                    1 => {
5544                                                                        0 => {
5545                                                                            0 => {},
5546                                                                            1 => {Core::Min8}
5547                                                                        },
5548                                                                        1 => {
5549                                                                            0 => {
5550                                                                                0 => {
5551                                                                                    0 => {
5552                                                                                        0 => {Core::Min16},
5553                                                                                        1 => {Core::Min32}
5554                                                                                    },
5555                                                                                    1 => {
5556                                                                                        0 => {Core::Min64},
5557                                                                                        1 => {}
5558                                                                                    }
5559                                                                                },
5560                                                                                1 => {}
5561                                                                            },
5562                                                                            1 => {}
5563                                                                        }
5564                                                                    }
5565                                                                },
5566                                                                1 => {
5567                                                                    0 => {},
5568                                                                    1 => {
5569                                                                        0 => {
5570                                                                            0 => {},
5571                                                                            1 => {Core::Max8}
5572                                                                        },
5573                                                                        1 => {
5574                                                                            0 => {
5575                                                                                0 => {
5576                                                                                    0 => {
5577                                                                                        0 => {Core::Max16},
5578                                                                                        1 => {Core::Max32}
5579                                                                                    },
5580                                                                                    1 => {
5581                                                                                        0 => {Core::Max64},
5582                                                                                        1 => {}
5583                                                                                    }
5584                                                                                },
5585                                                                                1 => {}
5586                                                                            },
5587                                                                            1 => {}
5588                                                                        }
5589                                                                    }
5590                                                                }
5591                                                            }
5592                                                        },
5593                                                        1 => {
5594                                                            0 => {
5595                                                                0 => {
5596                                                                    0 => {},
5597                                                                    1 => {
5598                                                                        0 => {
5599                                                                            0 => {},
5600                                                                            1 => {Core::Median8}
5601                                                                        },
5602                                                                        1 => {
5603                                                                            0 => {
5604                                                                                0 => {
5605                                                                                    0 => {
5606                                                                                        0 => {Core::Median16},
5607                                                                                        1 => {Core::Median32}
5608                                                                                    },
5609                                                                                    1 => {
5610                                                                                        0 => {Core::Median64},
5611                                                                                        1 => {}
5612                                                                                    }
5613                                                                                },
5614                                                                                1 => {}
5615                                                                            },
5616                                                                            1 => {}
5617                                                                        }
5618                                                                    }
5619                                                                },
5620                                                                1 => {
5621                                                                    0 => {},
5622                                                                    1 => {
5623                                                                        0 => {},
5624                                                                        1 => {
5625                                                                            0 => {
5626                                                                                0 => {
5627                                                                                    0 => {},
5628                                                                                    1 => {
5629                                                                                        0 => {Core::DivMod128_64},
5630                                                                                        1 => {}
5631                                                                                    }
5632                                                                                },
5633                                                                                1 => {}
5634                                                                            },
5635                                                                            1 => {}
5636                                                                        }
5637                                                                    }
5638                                                                }
5639                                                            },
5640                                                            1 => {
5641                                                                0 => {
5642                                                                    0 => {},
5643                                                                    1 => {
5644                                                                        0 => {
5645                                                                            0 => {},
5646                                                                            1 => {Core::DivMod8}
5647                                                                        },
5648                                                                        1 => {
5649                                                                            0 => {
5650                                                                                0 => {
5651                                                                                    0 => {
5652                                                                                        0 => {Core::DivMod16},
5653                                                                                        1 => {Core::DivMod32}
5654                                                                                    },
5655                                                                                    1 => {
5656                                                                                        0 => {Core::DivMod64},
5657                                                                                        1 => {}
5658                                                                                    }
5659                                                                                },
5660                                                                                1 => {}
5661                                                                            },
5662                                                                            1 => {}
5663                                                                        }
5664                                                                    }
5665                                                                },
5666                                                                1 => {
5667                                                                    0 => {},
5668                                                                    1 => {
5669                                                                        0 => {
5670                                                                            0 => {},
5671                                                                            1 => {Core::Divide8}
5672                                                                        },
5673                                                                        1 => {
5674                                                                            0 => {
5675                                                                                0 => {
5676                                                                                    0 => {
5677                                                                                        0 => {Core::Divide16},
5678                                                                                        1 => {Core::Divide32}
5679                                                                                    },
5680                                                                                    1 => {
5681                                                                                        0 => {Core::Divide64},
5682                                                                                        1 => {}
5683                                                                                    }
5684                                                                                },
5685                                                                                1 => {}
5686                                                                            },
5687                                                                            1 => {}
5688                                                                        }
5689                                                                    }
5690                                                                }
5691                                                            }
5692                                                        }
5693                                                    },
5694                                                    1 => {
5695                                                        0 => {
5696                                                            0 => {
5697                                                                0 => {
5698                                                                    0 => {},
5699                                                                    1 => {
5700                                                                        0 => {
5701                                                                            0 => {},
5702                                                                            1 => {Core::Modulo8}
5703                                                                        },
5704                                                                        1 => {
5705                                                                            0 => {
5706                                                                                0 => {
5707                                                                                    0 => {
5708                                                                                        0 => {Core::Modulo16},
5709                                                                                        1 => {Core::Modulo32}
5710                                                                                    },
5711                                                                                    1 => {
5712                                                                                        0 => {Core::Modulo64},
5713                                                                                        1 => {}
5714                                                                                    }
5715                                                                                },
5716                                                                                1 => {}
5717                                                                            },
5718                                                                            1 => {}
5719                                                                        }
5720                                                                    }
5721                                                                },
5722                                                                1 => {
5723                                                                    0 => {},
5724                                                                    1 => {
5725                                                                        0 => {
5726                                                                            0 => {},
5727                                                                            1 => {Core::Divides8}
5728                                                                        },
5729                                                                        1 => {
5730                                                                            0 => {
5731                                                                                0 => {
5732                                                                                    0 => {
5733                                                                                        0 => {Core::Divides16},
5734                                                                                        1 => {Core::Divides32}
5735                                                                                    },
5736                                                                                    1 => {
5737                                                                                        0 => {Core::Divides64},
5738                                                                                        1 => {}
5739                                                                                    }
5740                                                                                },
5741                                                                                1 => {}
5742                                                                            },
5743                                                                            1 => {}
5744                                                                        }
5745                                                                    }
5746                                                                }
5747                                                            },
5748                                                            1 => {}
5749                                                        },
5750                                                        1 => {}
5751                                                    }
5752                                                },
5753                                                1 => {}
5754                                            },
5755                                            1 => {}
5756                                        },
5757                                        1 => {}
5758                                    },
5759                                    1 => {}
5760                                }
5761                            }
5762                        }
5763                    },
5764                    1 => {
5765                        0 => {
5766                            0 => {Core::Sha256Block},
5767                            1 => {
5768                                0 => {
5769                                    0 => {Core::Sha256Iv},
5770                                    1 => {
5771                                        0 => {Core::Sha256Ctx8Add1},
5772                                        1 => {
5773                                            0 => {
5774                                                0 => {Core::Sha256Ctx8Add2},
5775                                                1 => {Core::Sha256Ctx8Add4}
5776                                            },
5777                                            1 => {
5778                                                0 => {
5779                                                    0 => {
5780                                                        0 => {
5781                                                            0 => {Core::Sha256Ctx8Add8},
5782                                                            1 => {Core::Sha256Ctx8Add16}
5783                                                        },
5784                                                        1 => {
5785                                                            0 => {Core::Sha256Ctx8Add32},
5786                                                            1 => {Core::Sha256Ctx8Add64}
5787                                                        }
5788                                                    },
5789                                                    1 => {
5790                                                        0 => {
5791                                                            0 => {
5792                                                                0 => {Core::Sha256Ctx8Add128},
5793                                                                1 => {Core::Sha256Ctx8Add256}
5794                                                            },
5795                                                            1 => {
5796                                                                0 => {Core::Sha256Ctx8Add512},
5797                                                                1 => {}
5798                                                            }
5799                                                        },
5800                                                        1 => {}
5801                                                    }
5802                                                },
5803                                                1 => {}
5804                                            }
5805                                        }
5806                                    }
5807                                },
5808                                1 => {
5809                                    0 => {
5810                                        0 => {
5811                                            0 => {
5812                                                0 => {Core::Sha256Ctx8AddBuffer511},
5813                                                1 => {Core::Sha256Ctx8Finalize}
5814                                            },
5815                                            1 => {
5816                                                0 => {Core::Sha256Ctx8Init},
5817                                                1 => {}
5818                                            }
5819                                        },
5820                                        1 => {}
5821                                    },
5822                                    1 => {}
5823                                }
5824                            }
5825                        },
5826                        1 => {}
5827                    }
5828                },
5829                1 => {
5830                    0 => {
5831                        0 => {
5832                            0 => {
5833                                0 => {
5834                                    0 => {
5835                                        0 => {Core::PointVerify1},
5836                                        1 => {}
5837                                    },
5838                                    1 => {
5839                                        0 => {
5840                                            0 => {Core::Decompress},
5841                                            1 => {
5842                                                0 => {Core::LinearVerify1},
5843                                                1 => {}
5844                                            }
5845                                        },
5846                                        1 => {
5847                                            0 => {
5848                                                0 => {
5849                                                    0 => {
5850                                                        0 => {
5851                                                            0 => {Core::LinearCombination1},
5852                                                            1 => {}
5853                                                        },
5854                                                        1 => {Core::Scale}
5855                                                    },
5856                                                    1 => {
5857                                                        0 => {Core::Generate},
5858                                                        1 => {Core::GejInfinity}
5859                                                    }
5860                                                },
5861                                                1 => {
5862                                                    0 => {
5863                                                        0 => {
5864                                                            0 => {Core::GejNormalize},
5865                                                            1 => {Core::GejNegate}
5866                                                        },
5867                                                        1 => {
5868                                                            0 => {Core::GeNegate},
5869                                                            1 => {Core::GejDouble}
5870                                                        }
5871                                                    },
5872                                                    1 => {
5873                                                        0 => {
5874                                                            0 => {Core::GejAdd},
5875                                                            1 => {Core::GejGeAddEx}
5876                                                        },
5877                                                        1 => {
5878                                                            0 => {Core::GejGeAdd},
5879                                                            1 => {Core::GejRescale}
5880                                                        }
5881                                                    }
5882                                                }
5883                                            },
5884                                            1 => {
5885                                                0 => {
5886                                                    0 => {
5887                                                        0 => {
5888                                                            0 => {
5889                                                                0 => {
5890                                                                    0 => {
5891                                                                        0 => {
5892                                                                            0 => {Core::GejIsInfinity},
5893                                                                            1 => {Core::GejEquiv}
5894                                                                        },
5895                                                                        1 => {
5896                                                                            0 => {Core::GejGeEquiv},
5897                                                                            1 => {Core::GejXEquiv}
5898                                                                        }
5899                                                                    },
5900                                                                    1 => {
5901                                                                        0 => {
5902                                                                            0 => {Core::GejYIsOdd},
5903                                                                            1 => {Core::GejIsOnCurve}
5904                                                                        },
5905                                                                        1 => {
5906                                                                            0 => {Core::GeIsOnCurve},
5907                                                                            1 => {Core::ScalarNormalize}
5908                                                                        }
5909                                                                    }
5910                                                                },
5911                                                                1 => {
5912                                                                    0 => {
5913                                                                        0 => {
5914                                                                            0 => {Core::ScalarNegate},
5915                                                                            1 => {Core::ScalarAdd}
5916                                                                        },
5917                                                                        1 => {
5918                                                                            0 => {Core::ScalarSquare},
5919                                                                            1 => {Core::ScalarMultiply}
5920                                                                        }
5921                                                                    },
5922                                                                    1 => {
5923                                                                        0 => {
5924                                                                            0 => {Core::ScalarMultiplyLambda},
5925                                                                            1 => {Core::ScalarInvert}
5926                                                                        },
5927                                                                        1 => {
5928                                                                            0 => {Core::ScalarIsZero},
5929                                                                            1 => {}
5930                                                                        }
5931                                                                    }
5932                                                                }
5933                                                            },
5934                                                            1 => {
5935                                                                0 => {
5936                                                                    0 => {
5937                                                                        0 => {
5938                                                                            0 => {},
5939                                                                            1 => {
5940                                                                                0 => {},
5941                                                                                1 => {Core::FeNormalize}
5942                                                                            }
5943                                                                        },
5944                                                                        1 => {
5945                                                                            0 => {
5946                                                                                0 => {Core::FeNegate},
5947                                                                                1 => {Core::FeAdd}
5948                                                                            },
5949                                                                            1 => {
5950                                                                                0 => {Core::FeSquare},
5951                                                                                1 => {Core::FeMultiply}
5952                                                                            }
5953                                                                        }
5954                                                                    },
5955                                                                    1 => {
5956                                                                        0 => {
5957                                                                            0 => {
5958                                                                                0 => {Core::FeMultiplyBeta},
5959                                                                                1 => {Core::FeInvert}
5960                                                                            },
5961                                                                            1 => {
5962                                                                                0 => {Core::FeSquareRoot},
5963                                                                                1 => {Core::FeIsZero}
5964                                                                            }
5965                                                                        },
5966                                                                        1 => {
5967                                                                            0 => {
5968                                                                                0 => {Core::FeIsOdd},
5969                                                                                1 => {}
5970                                                                            },
5971                                                                            1 => {
5972                                                                                0 => {Core::HashToCurve},
5973                                                                                1 => {Core::Swu}
5974                                                                            }
5975                                                                        }
5976                                                                    }
5977                                                                },
5978                                                                1 => {}
5979                                                            }
5980                                                        },
5981                                                        1 => {}
5982                                                    },
5983                                                    1 => {}
5984                                                },
5985                                                1 => {}
5986                                            }
5987                                        }
5988                                    }
5989                                },
5990                                1 => {
5991                                    0 => {Core::CheckSigVerify},
5992                                    1 => {
5993                                        0 => {
5994                                            0 => {Core::Bip0340Verify},
5995                                            1 => {}
5996                                        },
5997                                        1 => {}
5998                                    }
5999                                }
6000                            },
6001                            1 => {
6002                                0 => {},
6003                                1 => {
6004                                    0 => {Core::ParseLock},
6005                                    1 => {
6006                                        0 => {
6007                                            0 => {Core::ParseSequence},
6008                                            1 => {Core::TapdataInit}
6009                                        },
6010                                        1 => {}
6011                                    }
6012                                }
6013                            }
6014                        },
6015                        1 => {}
6016                    },
6017                    1 => {}
6018                }
6019            }
6020        })
6021    }
6022
6023    fn c_jet_ptr(&self) -> &dyn Fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool {
6024        match self {
6025            Core::Add16 => &simplicity_sys::c_jets::jets_wrapper::add_16,
6026            Core::Add32 => &simplicity_sys::c_jets::jets_wrapper::add_32,
6027            Core::Add64 => &simplicity_sys::c_jets::jets_wrapper::add_64,
6028            Core::Add8 => &simplicity_sys::c_jets::jets_wrapper::add_8,
6029            Core::All16 => &simplicity_sys::c_jets::jets_wrapper::all_16,
6030            Core::All32 => &simplicity_sys::c_jets::jets_wrapper::all_32,
6031            Core::All64 => &simplicity_sys::c_jets::jets_wrapper::all_64,
6032            Core::All8 => &simplicity_sys::c_jets::jets_wrapper::all_8,
6033            Core::And1 => &simplicity_sys::c_jets::jets_wrapper::and_1,
6034            Core::And16 => &simplicity_sys::c_jets::jets_wrapper::and_16,
6035            Core::And32 => &simplicity_sys::c_jets::jets_wrapper::and_32,
6036            Core::And64 => &simplicity_sys::c_jets::jets_wrapper::and_64,
6037            Core::And8 => &simplicity_sys::c_jets::jets_wrapper::and_8,
6038            Core::Bip0340Verify => &simplicity_sys::c_jets::jets_wrapper::bip_0340_verify,
6039            Core::Ch1 => &simplicity_sys::c_jets::jets_wrapper::ch_1,
6040            Core::Ch16 => &simplicity_sys::c_jets::jets_wrapper::ch_16,
6041            Core::Ch32 => &simplicity_sys::c_jets::jets_wrapper::ch_32,
6042            Core::Ch64 => &simplicity_sys::c_jets::jets_wrapper::ch_64,
6043            Core::Ch8 => &simplicity_sys::c_jets::jets_wrapper::ch_8,
6044            Core::CheckSigVerify => &simplicity_sys::c_jets::jets_wrapper::check_sig_verify,
6045            Core::Complement1 => &simplicity_sys::c_jets::jets_wrapper::complement_1,
6046            Core::Complement16 => &simplicity_sys::c_jets::jets_wrapper::complement_16,
6047            Core::Complement32 => &simplicity_sys::c_jets::jets_wrapper::complement_32,
6048            Core::Complement64 => &simplicity_sys::c_jets::jets_wrapper::complement_64,
6049            Core::Complement8 => &simplicity_sys::c_jets::jets_wrapper::complement_8,
6050            Core::Decompress => &simplicity_sys::c_jets::jets_wrapper::decompress,
6051            Core::Decrement16 => &simplicity_sys::c_jets::jets_wrapper::decrement_16,
6052            Core::Decrement32 => &simplicity_sys::c_jets::jets_wrapper::decrement_32,
6053            Core::Decrement64 => &simplicity_sys::c_jets::jets_wrapper::decrement_64,
6054            Core::Decrement8 => &simplicity_sys::c_jets::jets_wrapper::decrement_8,
6055            Core::DivMod128_64 => &simplicity_sys::c_jets::jets_wrapper::div_mod_128_64,
6056            Core::DivMod16 => &simplicity_sys::c_jets::jets_wrapper::div_mod_16,
6057            Core::DivMod32 => &simplicity_sys::c_jets::jets_wrapper::div_mod_32,
6058            Core::DivMod64 => &simplicity_sys::c_jets::jets_wrapper::div_mod_64,
6059            Core::DivMod8 => &simplicity_sys::c_jets::jets_wrapper::div_mod_8,
6060            Core::Divide16 => &simplicity_sys::c_jets::jets_wrapper::divide_16,
6061            Core::Divide32 => &simplicity_sys::c_jets::jets_wrapper::divide_32,
6062            Core::Divide64 => &simplicity_sys::c_jets::jets_wrapper::divide_64,
6063            Core::Divide8 => &simplicity_sys::c_jets::jets_wrapper::divide_8,
6064            Core::Divides16 => &simplicity_sys::c_jets::jets_wrapper::divides_16,
6065            Core::Divides32 => &simplicity_sys::c_jets::jets_wrapper::divides_32,
6066            Core::Divides64 => &simplicity_sys::c_jets::jets_wrapper::divides_64,
6067            Core::Divides8 => &simplicity_sys::c_jets::jets_wrapper::divides_8,
6068            Core::Eq1 => &simplicity_sys::c_jets::jets_wrapper::eq_1,
6069            Core::Eq16 => &simplicity_sys::c_jets::jets_wrapper::eq_16,
6070            Core::Eq256 => &simplicity_sys::c_jets::jets_wrapper::eq_256,
6071            Core::Eq32 => &simplicity_sys::c_jets::jets_wrapper::eq_32,
6072            Core::Eq64 => &simplicity_sys::c_jets::jets_wrapper::eq_64,
6073            Core::Eq8 => &simplicity_sys::c_jets::jets_wrapper::eq_8,
6074            Core::FeAdd => &simplicity_sys::c_jets::jets_wrapper::fe_add,
6075            Core::FeInvert => &simplicity_sys::c_jets::jets_wrapper::fe_invert,
6076            Core::FeIsOdd => &simplicity_sys::c_jets::jets_wrapper::fe_is_odd,
6077            Core::FeIsZero => &simplicity_sys::c_jets::jets_wrapper::fe_is_zero,
6078            Core::FeMultiply => &simplicity_sys::c_jets::jets_wrapper::fe_multiply,
6079            Core::FeMultiplyBeta => &simplicity_sys::c_jets::jets_wrapper::fe_multiply_beta,
6080            Core::FeNegate => &simplicity_sys::c_jets::jets_wrapper::fe_negate,
6081            Core::FeNormalize => &simplicity_sys::c_jets::jets_wrapper::fe_normalize,
6082            Core::FeSquare => &simplicity_sys::c_jets::jets_wrapper::fe_square,
6083            Core::FeSquareRoot => &simplicity_sys::c_jets::jets_wrapper::fe_square_root,
6084            Core::FullAdd16 => &simplicity_sys::c_jets::jets_wrapper::full_add_16,
6085            Core::FullAdd32 => &simplicity_sys::c_jets::jets_wrapper::full_add_32,
6086            Core::FullAdd64 => &simplicity_sys::c_jets::jets_wrapper::full_add_64,
6087            Core::FullAdd8 => &simplicity_sys::c_jets::jets_wrapper::full_add_8,
6088            Core::FullDecrement16 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_16,
6089            Core::FullDecrement32 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_32,
6090            Core::FullDecrement64 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_64,
6091            Core::FullDecrement8 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_8,
6092            Core::FullIncrement16 => &simplicity_sys::c_jets::jets_wrapper::full_increment_16,
6093            Core::FullIncrement32 => &simplicity_sys::c_jets::jets_wrapper::full_increment_32,
6094            Core::FullIncrement64 => &simplicity_sys::c_jets::jets_wrapper::full_increment_64,
6095            Core::FullIncrement8 => &simplicity_sys::c_jets::jets_wrapper::full_increment_8,
6096            Core::FullLeftShift16_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_1,
6097            Core::FullLeftShift16_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_2,
6098            Core::FullLeftShift16_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_4,
6099            Core::FullLeftShift16_8 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_8,
6100            Core::FullLeftShift32_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_1,
6101            Core::FullLeftShift32_16 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_16,
6102            Core::FullLeftShift32_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_2,
6103            Core::FullLeftShift32_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_4,
6104            Core::FullLeftShift32_8 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_8,
6105            Core::FullLeftShift64_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_1,
6106            Core::FullLeftShift64_16 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_16,
6107            Core::FullLeftShift64_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_2,
6108            Core::FullLeftShift64_32 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_32,
6109            Core::FullLeftShift64_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_4,
6110            Core::FullLeftShift64_8 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_8,
6111            Core::FullLeftShift8_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_1,
6112            Core::FullLeftShift8_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_2,
6113            Core::FullLeftShift8_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_4,
6114            Core::FullMultiply16 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_16,
6115            Core::FullMultiply32 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_32,
6116            Core::FullMultiply64 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_64,
6117            Core::FullMultiply8 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_8,
6118            Core::FullRightShift16_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_1,
6119            Core::FullRightShift16_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_2,
6120            Core::FullRightShift16_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_4,
6121            Core::FullRightShift16_8 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_8,
6122            Core::FullRightShift32_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_1,
6123            Core::FullRightShift32_16 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_16,
6124            Core::FullRightShift32_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_2,
6125            Core::FullRightShift32_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_4,
6126            Core::FullRightShift32_8 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_8,
6127            Core::FullRightShift64_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_1,
6128            Core::FullRightShift64_16 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_16,
6129            Core::FullRightShift64_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_2,
6130            Core::FullRightShift64_32 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_32,
6131            Core::FullRightShift64_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_4,
6132            Core::FullRightShift64_8 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_8,
6133            Core::FullRightShift8_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_1,
6134            Core::FullRightShift8_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_2,
6135            Core::FullRightShift8_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_4,
6136            Core::FullSubtract16 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_16,
6137            Core::FullSubtract32 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_32,
6138            Core::FullSubtract64 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_64,
6139            Core::FullSubtract8 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_8,
6140            Core::GeIsOnCurve => &simplicity_sys::c_jets::jets_wrapper::ge_is_on_curve,
6141            Core::GeNegate => &simplicity_sys::c_jets::jets_wrapper::ge_negate,
6142            Core::GejAdd => &simplicity_sys::c_jets::jets_wrapper::gej_add,
6143            Core::GejDouble => &simplicity_sys::c_jets::jets_wrapper::gej_double,
6144            Core::GejEquiv => &simplicity_sys::c_jets::jets_wrapper::gej_equiv,
6145            Core::GejGeAdd => &simplicity_sys::c_jets::jets_wrapper::gej_ge_add,
6146            Core::GejGeAddEx => &simplicity_sys::c_jets::jets_wrapper::gej_ge_add_ex,
6147            Core::GejGeEquiv => &simplicity_sys::c_jets::jets_wrapper::gej_ge_equiv,
6148            Core::GejInfinity => &simplicity_sys::c_jets::jets_wrapper::gej_infinity,
6149            Core::GejIsInfinity => &simplicity_sys::c_jets::jets_wrapper::gej_is_infinity,
6150            Core::GejIsOnCurve => &simplicity_sys::c_jets::jets_wrapper::gej_is_on_curve,
6151            Core::GejNegate => &simplicity_sys::c_jets::jets_wrapper::gej_negate,
6152            Core::GejNormalize => &simplicity_sys::c_jets::jets_wrapper::gej_normalize,
6153            Core::GejRescale => &simplicity_sys::c_jets::jets_wrapper::gej_rescale,
6154            Core::GejXEquiv => &simplicity_sys::c_jets::jets_wrapper::gej_x_equiv,
6155            Core::GejYIsOdd => &simplicity_sys::c_jets::jets_wrapper::gej_y_is_odd,
6156            Core::Generate => &simplicity_sys::c_jets::jets_wrapper::generate,
6157            Core::HashToCurve => &simplicity_sys::c_jets::jets_wrapper::hash_to_curve,
6158            Core::High1 => &simplicity_sys::c_jets::jets_wrapper::high_1,
6159            Core::High16 => &simplicity_sys::c_jets::jets_wrapper::high_16,
6160            Core::High32 => &simplicity_sys::c_jets::jets_wrapper::high_32,
6161            Core::High64 => &simplicity_sys::c_jets::jets_wrapper::high_64,
6162            Core::High8 => &simplicity_sys::c_jets::jets_wrapper::high_8,
6163            Core::Increment16 => &simplicity_sys::c_jets::jets_wrapper::increment_16,
6164            Core::Increment32 => &simplicity_sys::c_jets::jets_wrapper::increment_32,
6165            Core::Increment64 => &simplicity_sys::c_jets::jets_wrapper::increment_64,
6166            Core::Increment8 => &simplicity_sys::c_jets::jets_wrapper::increment_8,
6167            Core::IsOne16 => &simplicity_sys::c_jets::jets_wrapper::is_one_16,
6168            Core::IsOne32 => &simplicity_sys::c_jets::jets_wrapper::is_one_32,
6169            Core::IsOne64 => &simplicity_sys::c_jets::jets_wrapper::is_one_64,
6170            Core::IsOne8 => &simplicity_sys::c_jets::jets_wrapper::is_one_8,
6171            Core::IsZero16 => &simplicity_sys::c_jets::jets_wrapper::is_zero_16,
6172            Core::IsZero32 => &simplicity_sys::c_jets::jets_wrapper::is_zero_32,
6173            Core::IsZero64 => &simplicity_sys::c_jets::jets_wrapper::is_zero_64,
6174            Core::IsZero8 => &simplicity_sys::c_jets::jets_wrapper::is_zero_8,
6175            Core::Le16 => &simplicity_sys::c_jets::jets_wrapper::le_16,
6176            Core::Le32 => &simplicity_sys::c_jets::jets_wrapper::le_32,
6177            Core::Le64 => &simplicity_sys::c_jets::jets_wrapper::le_64,
6178            Core::Le8 => &simplicity_sys::c_jets::jets_wrapper::le_8,
6179            Core::LeftExtend16_32 => &simplicity_sys::c_jets::jets_wrapper::left_extend_16_32,
6180            Core::LeftExtend16_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_16_64,
6181            Core::LeftExtend1_16 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_16,
6182            Core::LeftExtend1_32 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_32,
6183            Core::LeftExtend1_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_64,
6184            Core::LeftExtend1_8 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_8,
6185            Core::LeftExtend32_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_32_64,
6186            Core::LeftExtend8_16 => &simplicity_sys::c_jets::jets_wrapper::left_extend_8_16,
6187            Core::LeftExtend8_32 => &simplicity_sys::c_jets::jets_wrapper::left_extend_8_32,
6188            Core::LeftExtend8_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_8_64,
6189            Core::LeftPadHigh16_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_32,
6190            Core::LeftPadHigh16_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_64,
6191            Core::LeftPadHigh1_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_16,
6192            Core::LeftPadHigh1_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_32,
6193            Core::LeftPadHigh1_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_64,
6194            Core::LeftPadHigh1_8 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_8,
6195            Core::LeftPadHigh32_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_32_64,
6196            Core::LeftPadHigh8_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_16,
6197            Core::LeftPadHigh8_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_32,
6198            Core::LeftPadHigh8_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_64,
6199            Core::LeftPadLow16_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_32,
6200            Core::LeftPadLow16_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_64,
6201            Core::LeftPadLow1_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_16,
6202            Core::LeftPadLow1_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_32,
6203            Core::LeftPadLow1_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_64,
6204            Core::LeftPadLow1_8 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_8,
6205            Core::LeftPadLow32_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_32_64,
6206            Core::LeftPadLow8_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_16,
6207            Core::LeftPadLow8_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_32,
6208            Core::LeftPadLow8_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_64,
6209            Core::LeftRotate16 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_16,
6210            Core::LeftRotate32 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_32,
6211            Core::LeftRotate64 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_64,
6212            Core::LeftRotate8 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_8,
6213            Core::LeftShift16 => &simplicity_sys::c_jets::jets_wrapper::left_shift_16,
6214            Core::LeftShift32 => &simplicity_sys::c_jets::jets_wrapper::left_shift_32,
6215            Core::LeftShift64 => &simplicity_sys::c_jets::jets_wrapper::left_shift_64,
6216            Core::LeftShift8 => &simplicity_sys::c_jets::jets_wrapper::left_shift_8,
6217            Core::LeftShiftWith16 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_16,
6218            Core::LeftShiftWith32 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_32,
6219            Core::LeftShiftWith64 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_64,
6220            Core::LeftShiftWith8 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_8,
6221            Core::Leftmost16_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_1,
6222            Core::Leftmost16_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_2,
6223            Core::Leftmost16_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_4,
6224            Core::Leftmost16_8 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_8,
6225            Core::Leftmost32_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_1,
6226            Core::Leftmost32_16 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_16,
6227            Core::Leftmost32_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_2,
6228            Core::Leftmost32_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_4,
6229            Core::Leftmost32_8 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_8,
6230            Core::Leftmost64_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_1,
6231            Core::Leftmost64_16 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_16,
6232            Core::Leftmost64_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_2,
6233            Core::Leftmost64_32 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_32,
6234            Core::Leftmost64_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_4,
6235            Core::Leftmost64_8 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_8,
6236            Core::Leftmost8_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_8_1,
6237            Core::Leftmost8_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_8_2,
6238            Core::Leftmost8_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_8_4,
6239            Core::LinearCombination1 => &simplicity_sys::c_jets::jets_wrapper::linear_combination_1,
6240            Core::LinearVerify1 => &simplicity_sys::c_jets::jets_wrapper::linear_verify_1,
6241            Core::Low1 => &simplicity_sys::c_jets::jets_wrapper::low_1,
6242            Core::Low16 => &simplicity_sys::c_jets::jets_wrapper::low_16,
6243            Core::Low32 => &simplicity_sys::c_jets::jets_wrapper::low_32,
6244            Core::Low64 => &simplicity_sys::c_jets::jets_wrapper::low_64,
6245            Core::Low8 => &simplicity_sys::c_jets::jets_wrapper::low_8,
6246            Core::Lt16 => &simplicity_sys::c_jets::jets_wrapper::lt_16,
6247            Core::Lt32 => &simplicity_sys::c_jets::jets_wrapper::lt_32,
6248            Core::Lt64 => &simplicity_sys::c_jets::jets_wrapper::lt_64,
6249            Core::Lt8 => &simplicity_sys::c_jets::jets_wrapper::lt_8,
6250            Core::Maj1 => &simplicity_sys::c_jets::jets_wrapper::maj_1,
6251            Core::Maj16 => &simplicity_sys::c_jets::jets_wrapper::maj_16,
6252            Core::Maj32 => &simplicity_sys::c_jets::jets_wrapper::maj_32,
6253            Core::Maj64 => &simplicity_sys::c_jets::jets_wrapper::maj_64,
6254            Core::Maj8 => &simplicity_sys::c_jets::jets_wrapper::maj_8,
6255            Core::Max16 => &simplicity_sys::c_jets::jets_wrapper::max_16,
6256            Core::Max32 => &simplicity_sys::c_jets::jets_wrapper::max_32,
6257            Core::Max64 => &simplicity_sys::c_jets::jets_wrapper::max_64,
6258            Core::Max8 => &simplicity_sys::c_jets::jets_wrapper::max_8,
6259            Core::Median16 => &simplicity_sys::c_jets::jets_wrapper::median_16,
6260            Core::Median32 => &simplicity_sys::c_jets::jets_wrapper::median_32,
6261            Core::Median64 => &simplicity_sys::c_jets::jets_wrapper::median_64,
6262            Core::Median8 => &simplicity_sys::c_jets::jets_wrapper::median_8,
6263            Core::Min16 => &simplicity_sys::c_jets::jets_wrapper::min_16,
6264            Core::Min32 => &simplicity_sys::c_jets::jets_wrapper::min_32,
6265            Core::Min64 => &simplicity_sys::c_jets::jets_wrapper::min_64,
6266            Core::Min8 => &simplicity_sys::c_jets::jets_wrapper::min_8,
6267            Core::Modulo16 => &simplicity_sys::c_jets::jets_wrapper::modulo_16,
6268            Core::Modulo32 => &simplicity_sys::c_jets::jets_wrapper::modulo_32,
6269            Core::Modulo64 => &simplicity_sys::c_jets::jets_wrapper::modulo_64,
6270            Core::Modulo8 => &simplicity_sys::c_jets::jets_wrapper::modulo_8,
6271            Core::Multiply16 => &simplicity_sys::c_jets::jets_wrapper::multiply_16,
6272            Core::Multiply32 => &simplicity_sys::c_jets::jets_wrapper::multiply_32,
6273            Core::Multiply64 => &simplicity_sys::c_jets::jets_wrapper::multiply_64,
6274            Core::Multiply8 => &simplicity_sys::c_jets::jets_wrapper::multiply_8,
6275            Core::Negate16 => &simplicity_sys::c_jets::jets_wrapper::negate_16,
6276            Core::Negate32 => &simplicity_sys::c_jets::jets_wrapper::negate_32,
6277            Core::Negate64 => &simplicity_sys::c_jets::jets_wrapper::negate_64,
6278            Core::Negate8 => &simplicity_sys::c_jets::jets_wrapper::negate_8,
6279            Core::One16 => &simplicity_sys::c_jets::jets_wrapper::one_16,
6280            Core::One32 => &simplicity_sys::c_jets::jets_wrapper::one_32,
6281            Core::One64 => &simplicity_sys::c_jets::jets_wrapper::one_64,
6282            Core::One8 => &simplicity_sys::c_jets::jets_wrapper::one_8,
6283            Core::Or1 => &simplicity_sys::c_jets::jets_wrapper::or_1,
6284            Core::Or16 => &simplicity_sys::c_jets::jets_wrapper::or_16,
6285            Core::Or32 => &simplicity_sys::c_jets::jets_wrapper::or_32,
6286            Core::Or64 => &simplicity_sys::c_jets::jets_wrapper::or_64,
6287            Core::Or8 => &simplicity_sys::c_jets::jets_wrapper::or_8,
6288            Core::ParseLock => &simplicity_sys::c_jets::jets_wrapper::parse_lock,
6289            Core::ParseSequence => &simplicity_sys::c_jets::jets_wrapper::parse_sequence,
6290            Core::PointVerify1 => &simplicity_sys::c_jets::jets_wrapper::point_verify_1,
6291            Core::RightExtend16_32 => &simplicity_sys::c_jets::jets_wrapper::right_extend_16_32,
6292            Core::RightExtend16_64 => &simplicity_sys::c_jets::jets_wrapper::right_extend_16_64,
6293            Core::RightExtend32_64 => &simplicity_sys::c_jets::jets_wrapper::right_extend_32_64,
6294            Core::RightExtend8_16 => &simplicity_sys::c_jets::jets_wrapper::right_extend_8_16,
6295            Core::RightExtend8_32 => &simplicity_sys::c_jets::jets_wrapper::right_extend_8_32,
6296            Core::RightExtend8_64 => &simplicity_sys::c_jets::jets_wrapper::right_extend_8_64,
6297            Core::RightPadHigh16_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_32,
6298            Core::RightPadHigh16_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_64,
6299            Core::RightPadHigh1_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_16,
6300            Core::RightPadHigh1_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_32,
6301            Core::RightPadHigh1_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_64,
6302            Core::RightPadHigh1_8 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_8,
6303            Core::RightPadHigh32_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_32_64,
6304            Core::RightPadHigh8_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_16,
6305            Core::RightPadHigh8_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_32,
6306            Core::RightPadHigh8_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_64,
6307            Core::RightPadLow16_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_32,
6308            Core::RightPadLow16_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_64,
6309            Core::RightPadLow1_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_16,
6310            Core::RightPadLow1_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_32,
6311            Core::RightPadLow1_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_64,
6312            Core::RightPadLow1_8 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_8,
6313            Core::RightPadLow32_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_32_64,
6314            Core::RightPadLow8_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_16,
6315            Core::RightPadLow8_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_32,
6316            Core::RightPadLow8_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_64,
6317            Core::RightRotate16 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_16,
6318            Core::RightRotate32 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_32,
6319            Core::RightRotate64 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_64,
6320            Core::RightRotate8 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_8,
6321            Core::RightShift16 => &simplicity_sys::c_jets::jets_wrapper::right_shift_16,
6322            Core::RightShift32 => &simplicity_sys::c_jets::jets_wrapper::right_shift_32,
6323            Core::RightShift64 => &simplicity_sys::c_jets::jets_wrapper::right_shift_64,
6324            Core::RightShift8 => &simplicity_sys::c_jets::jets_wrapper::right_shift_8,
6325            Core::RightShiftWith16 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_16,
6326            Core::RightShiftWith32 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_32,
6327            Core::RightShiftWith64 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_64,
6328            Core::RightShiftWith8 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_8,
6329            Core::Rightmost16_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_1,
6330            Core::Rightmost16_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_2,
6331            Core::Rightmost16_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_4,
6332            Core::Rightmost16_8 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_8,
6333            Core::Rightmost32_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_1,
6334            Core::Rightmost32_16 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_16,
6335            Core::Rightmost32_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_2,
6336            Core::Rightmost32_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_4,
6337            Core::Rightmost32_8 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_8,
6338            Core::Rightmost64_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_1,
6339            Core::Rightmost64_16 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_16,
6340            Core::Rightmost64_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_2,
6341            Core::Rightmost64_32 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_32,
6342            Core::Rightmost64_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_4,
6343            Core::Rightmost64_8 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_8,
6344            Core::Rightmost8_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_8_1,
6345            Core::Rightmost8_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_8_2,
6346            Core::Rightmost8_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_8_4,
6347            Core::ScalarAdd => &simplicity_sys::c_jets::jets_wrapper::scalar_add,
6348            Core::ScalarInvert => &simplicity_sys::c_jets::jets_wrapper::scalar_invert,
6349            Core::ScalarIsZero => &simplicity_sys::c_jets::jets_wrapper::scalar_is_zero,
6350            Core::ScalarMultiply => &simplicity_sys::c_jets::jets_wrapper::scalar_multiply,
6351            Core::ScalarMultiplyLambda => &simplicity_sys::c_jets::jets_wrapper::scalar_multiply_lambda,
6352            Core::ScalarNegate => &simplicity_sys::c_jets::jets_wrapper::scalar_negate,
6353            Core::ScalarNormalize => &simplicity_sys::c_jets::jets_wrapper::scalar_normalize,
6354            Core::ScalarSquare => &simplicity_sys::c_jets::jets_wrapper::scalar_square,
6355            Core::Scale => &simplicity_sys::c_jets::jets_wrapper::scale,
6356            Core::Sha256Block => &simplicity_sys::c_jets::jets_wrapper::sha_256_block,
6357            Core::Sha256Ctx8Add1 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_1,
6358            Core::Sha256Ctx8Add128 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_128,
6359            Core::Sha256Ctx8Add16 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_16,
6360            Core::Sha256Ctx8Add2 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_2,
6361            Core::Sha256Ctx8Add256 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_256,
6362            Core::Sha256Ctx8Add32 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_32,
6363            Core::Sha256Ctx8Add4 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_4,
6364            Core::Sha256Ctx8Add512 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_512,
6365            Core::Sha256Ctx8Add64 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_64,
6366            Core::Sha256Ctx8Add8 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_8,
6367            Core::Sha256Ctx8AddBuffer511 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_buffer_511,
6368            Core::Sha256Ctx8Finalize => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_finalize,
6369            Core::Sha256Ctx8Init => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_init,
6370            Core::Sha256Iv => &simplicity_sys::c_jets::jets_wrapper::sha_256_iv,
6371            Core::Some1 => &simplicity_sys::c_jets::jets_wrapper::some_1,
6372            Core::Some16 => &simplicity_sys::c_jets::jets_wrapper::some_16,
6373            Core::Some32 => &simplicity_sys::c_jets::jets_wrapper::some_32,
6374            Core::Some64 => &simplicity_sys::c_jets::jets_wrapper::some_64,
6375            Core::Some8 => &simplicity_sys::c_jets::jets_wrapper::some_8,
6376            Core::Subtract16 => &simplicity_sys::c_jets::jets_wrapper::subtract_16,
6377            Core::Subtract32 => &simplicity_sys::c_jets::jets_wrapper::subtract_32,
6378            Core::Subtract64 => &simplicity_sys::c_jets::jets_wrapper::subtract_64,
6379            Core::Subtract8 => &simplicity_sys::c_jets::jets_wrapper::subtract_8,
6380            Core::Swu => &simplicity_sys::c_jets::jets_wrapper::swu,
6381            Core::TapdataInit => &simplicity_sys::c_jets::jets_wrapper::tapdata_init,
6382            Core::Verify => &simplicity_sys::c_jets::jets_wrapper::verify,
6383            Core::Xor1 => &simplicity_sys::c_jets::jets_wrapper::xor_1,
6384            Core::Xor16 => &simplicity_sys::c_jets::jets_wrapper::xor_16,
6385            Core::Xor32 => &simplicity_sys::c_jets::jets_wrapper::xor_32,
6386            Core::Xor64 => &simplicity_sys::c_jets::jets_wrapper::xor_64,
6387            Core::Xor8 => &simplicity_sys::c_jets::jets_wrapper::xor_8,
6388            Core::XorXor1 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_1,
6389            Core::XorXor16 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_16,
6390            Core::XorXor32 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_32,
6391            Core::XorXor64 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_64,
6392            Core::XorXor8 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_8,
6393        }
6394    }
6395
6396    fn cost(&self) -> Cost {
6397        match self {
6398            Core::Add16 => Cost::from_milliweight(108),
6399            Core::Add32 => Cost::from_milliweight(117),
6400            Core::Add64 => Cost::from_milliweight(109),
6401            Core::Add8 => Cost::from_milliweight(112),
6402            Core::All16 => Cost::from_milliweight(62),
6403            Core::All32 => Cost::from_milliweight(65),
6404            Core::All64 => Cost::from_milliweight(79),
6405            Core::All8 => Cost::from_milliweight(76),
6406            Core::And1 => Cost::from_milliweight(79),
6407            Core::And16 => Cost::from_milliweight(88),
6408            Core::And32 => Cost::from_milliweight(94),
6409            Core::And64 => Cost::from_milliweight(93),
6410            Core::And8 => Cost::from_milliweight(91),
6411            Core::Bip0340Verify => Cost::from_milliweight(49087),
6412            Core::Ch1 => Cost::from_milliweight(78),
6413            Core::Ch16 => Cost::from_milliweight(94),
6414            Core::Ch32 => Cost::from_milliweight(91),
6415            Core::Ch64 => Cost::from_milliweight(91),
6416            Core::Ch8 => Cost::from_milliweight(77),
6417            Core::CheckSigVerify => Cost::from_milliweight(50000),
6418            Core::Complement1 => Cost::from_milliweight(79),
6419            Core::Complement16 => Cost::from_milliweight(75),
6420            Core::Complement32 => Cost::from_milliweight(93),
6421            Core::Complement64 => Cost::from_milliweight(88),
6422            Core::Complement8 => Cost::from_milliweight(80),
6423            Core::Decompress => Cost::from_milliweight(10861),
6424            Core::Decrement16 => Cost::from_milliweight(85),
6425            Core::Decrement32 => Cost::from_milliweight(91),
6426            Core::Decrement64 => Cost::from_milliweight(89),
6427            Core::Decrement8 => Cost::from_milliweight(79),
6428            Core::DivMod128_64 => Cost::from_milliweight(208),
6429            Core::DivMod16 => Cost::from_milliweight(118),
6430            Core::DivMod32 => Cost::from_milliweight(115),
6431            Core::DivMod64 => Cost::from_milliweight(86),
6432            Core::DivMod8 => Cost::from_milliweight(128),
6433            Core::Divide16 => Cost::from_milliweight(98),
6434            Core::Divide32 => Cost::from_milliweight(100),
6435            Core::Divide64 => Cost::from_milliweight(101),
6436            Core::Divide8 => Cost::from_milliweight(108),
6437            Core::Divides16 => Cost::from_milliweight(93),
6438            Core::Divides32 => Cost::from_milliweight(87),
6439            Core::Divides64 => Cost::from_milliweight(91),
6440            Core::Divides8 => Cost::from_milliweight(98),
6441            Core::Eq1 => Cost::from_milliweight(74),
6442            Core::Eq16 => Cost::from_milliweight(84),
6443            Core::Eq256 => Cost::from_milliweight(225),
6444            Core::Eq32 => Cost::from_milliweight(88),
6445            Core::Eq64 => Cost::from_milliweight(100),
6446            Core::Eq8 => Cost::from_milliweight(95),
6447            Core::FeAdd => Cost::from_milliweight(755),
6448            Core::FeInvert => Cost::from_milliweight(3175),
6449            Core::FeIsOdd => Cost::from_milliweight(290),
6450            Core::FeIsZero => Cost::from_milliweight(268),
6451            Core::FeMultiply => Cost::from_milliweight(808),
6452            Core::FeMultiplyBeta => Cost::from_milliweight(579),
6453            Core::FeNegate => Cost::from_milliweight(531),
6454            Core::FeNormalize => Cost::from_milliweight(521),
6455            Core::FeSquare => Cost::from_milliweight(556),
6456            Core::FeSquareRoot => Cost::from_milliweight(10275),
6457            Core::FullAdd16 => Cost::from_milliweight(121),
6458            Core::FullAdd32 => Cost::from_milliweight(119),
6459            Core::FullAdd64 => Cost::from_milliweight(121),
6460            Core::FullAdd8 => Cost::from_milliweight(127),
6461            Core::FullDecrement16 => Cost::from_milliweight(92),
6462            Core::FullDecrement32 => Cost::from_milliweight(107),
6463            Core::FullDecrement64 => Cost::from_milliweight(81),
6464            Core::FullDecrement8 => Cost::from_milliweight(91),
6465            Core::FullIncrement16 => Cost::from_milliweight(89),
6466            Core::FullIncrement32 => Cost::from_milliweight(104),
6467            Core::FullIncrement64 => Cost::from_milliweight(99),
6468            Core::FullIncrement8 => Cost::from_milliweight(72),
6469            Core::FullLeftShift16_1 => Cost::from_milliweight(83),
6470            Core::FullLeftShift16_2 => Cost::from_milliweight(83),
6471            Core::FullLeftShift16_4 => Cost::from_milliweight(89),
6472            Core::FullLeftShift16_8 => Cost::from_milliweight(65),
6473            Core::FullLeftShift32_1 => Cost::from_milliweight(84),
6474            Core::FullLeftShift32_16 => Cost::from_milliweight(81),
6475            Core::FullLeftShift32_2 => Cost::from_milliweight(67),
6476            Core::FullLeftShift32_4 => Cost::from_milliweight(84),
6477            Core::FullLeftShift32_8 => Cost::from_milliweight(91),
6478            Core::FullLeftShift64_1 => Cost::from_milliweight(99),
6479            Core::FullLeftShift64_16 => Cost::from_milliweight(90),
6480            Core::FullLeftShift64_2 => Cost::from_milliweight(94),
6481            Core::FullLeftShift64_32 => Cost::from_milliweight(86),
6482            Core::FullLeftShift64_4 => Cost::from_milliweight(94),
6483            Core::FullLeftShift64_8 => Cost::from_milliweight(86),
6484            Core::FullLeftShift8_1 => Cost::from_milliweight(96),
6485            Core::FullLeftShift8_2 => Cost::from_milliweight(96),
6486            Core::FullLeftShift8_4 => Cost::from_milliweight(85),
6487            Core::FullMultiply16 => Cost::from_milliweight(112),
6488            Core::FullMultiply32 => Cost::from_milliweight(96),
6489            Core::FullMultiply64 => Cost::from_milliweight(127),
6490            Core::FullMultiply8 => Cost::from_milliweight(109),
6491            Core::FullRightShift16_1 => Cost::from_milliweight(80),
6492            Core::FullRightShift16_2 => Cost::from_milliweight(79),
6493            Core::FullRightShift16_4 => Cost::from_milliweight(88),
6494            Core::FullRightShift16_8 => Cost::from_milliweight(57),
6495            Core::FullRightShift32_1 => Cost::from_milliweight(74),
6496            Core::FullRightShift32_16 => Cost::from_milliweight(64),
6497            Core::FullRightShift32_2 => Cost::from_milliweight(63),
6498            Core::FullRightShift32_4 => Cost::from_milliweight(71),
6499            Core::FullRightShift32_8 => Cost::from_milliweight(84),
6500            Core::FullRightShift64_1 => Cost::from_milliweight(99),
6501            Core::FullRightShift64_16 => Cost::from_milliweight(86),
6502            Core::FullRightShift64_2 => Cost::from_milliweight(86),
6503            Core::FullRightShift64_32 => Cost::from_milliweight(73),
6504            Core::FullRightShift64_4 => Cost::from_milliweight(93),
6505            Core::FullRightShift64_8 => Cost::from_milliweight(99),
6506            Core::FullRightShift8_1 => Cost::from_milliweight(88),
6507            Core::FullRightShift8_2 => Cost::from_milliweight(86),
6508            Core::FullRightShift8_4 => Cost::from_milliweight(89),
6509            Core::FullSubtract16 => Cost::from_milliweight(121),
6510            Core::FullSubtract32 => Cost::from_milliweight(116),
6511            Core::FullSubtract64 => Cost::from_milliweight(98),
6512            Core::FullSubtract8 => Cost::from_milliweight(126),
6513            Core::GeIsOnCurve => Cost::from_milliweight(642),
6514            Core::GeNegate => Cost::from_milliweight(945),
6515            Core::GejAdd => Cost::from_milliweight(2897),
6516            Core::GejDouble => Cost::from_milliweight(1764),
6517            Core::GejEquiv => Cost::from_milliweight(2220),
6518            Core::GejGeAdd => Cost::from_milliweight(2477),
6519            Core::GejGeAddEx => Cost::from_milliweight(2719),
6520            Core::GejGeEquiv => Cost::from_milliweight(1765),
6521            Core::GejInfinity => Cost::from_milliweight(716),
6522            Core::GejIsInfinity => Cost::from_milliweight(666),
6523            Core::GejIsOnCurve => Cost::from_milliweight(1016),
6524            Core::GejNegate => Cost::from_milliweight(1381),
6525            Core::GejNormalize => Cost::from_milliweight(4099),
6526            Core::GejRescale => Cost::from_milliweight(1908),
6527            Core::GejXEquiv => Cost::from_milliweight(1047),
6528            Core::GejYIsOdd => Cost::from_milliweight(3651),
6529            Core::Generate => Cost::from_milliweight(50071),
6530            Core::HashToCurve => Cost::from_milliweight(68094),
6531            Core::High1 => Cost::from_milliweight(57),
6532            Core::High16 => Cost::from_milliweight(66),
6533            Core::High32 => Cost::from_milliweight(58),
6534            Core::High64 => Cost::from_milliweight(68),
6535            Core::High8 => Cost::from_milliweight(59),
6536            Core::Increment16 => Cost::from_milliweight(69),
6537            Core::Increment32 => Cost::from_milliweight(92),
6538            Core::Increment64 => Cost::from_milliweight(87),
6539            Core::Increment8 => Cost::from_milliweight(85),
6540            Core::IsOne16 => Cost::from_milliweight(82),
6541            Core::IsOne32 => Cost::from_milliweight(65),
6542            Core::IsOne64 => Cost::from_milliweight(83),
6543            Core::IsOne8 => Cost::from_milliweight(91),
6544            Core::IsZero16 => Cost::from_milliweight(75),
6545            Core::IsZero32 => Cost::from_milliweight(85),
6546            Core::IsZero64 => Cost::from_milliweight(80),
6547            Core::IsZero8 => Cost::from_milliweight(77),
6548            Core::Le16 => Cost::from_milliweight(112),
6549            Core::Le32 => Cost::from_milliweight(93),
6550            Core::Le64 => Cost::from_milliweight(93),
6551            Core::Le8 => Cost::from_milliweight(109),
6552            Core::LeftExtend16_32 => Cost::from_milliweight(86),
6553            Core::LeftExtend16_64 => Cost::from_milliweight(89),
6554            Core::LeftExtend1_16 => Cost::from_milliweight(67),
6555            Core::LeftExtend1_32 => Cost::from_milliweight(60),
6556            Core::LeftExtend1_64 => Cost::from_milliweight(76),
6557            Core::LeftExtend1_8 => Cost::from_milliweight(65),
6558            Core::LeftExtend32_64 => Cost::from_milliweight(63),
6559            Core::LeftExtend8_16 => Cost::from_milliweight(88),
6560            Core::LeftExtend8_32 => Cost::from_milliweight(90),
6561            Core::LeftExtend8_64 => Cost::from_milliweight(107),
6562            Core::LeftPadHigh16_32 => Cost::from_milliweight(91),
6563            Core::LeftPadHigh16_64 => Cost::from_milliweight(110),
6564            Core::LeftPadHigh1_16 => Cost::from_milliweight(141),
6565            Core::LeftPadHigh1_32 => Cost::from_milliweight(263),
6566            Core::LeftPadHigh1_64 => Cost::from_milliweight(422),
6567            Core::LeftPadHigh1_8 => Cost::from_milliweight(99),
6568            Core::LeftPadHigh32_64 => Cost::from_milliweight(93),
6569            Core::LeftPadHigh8_16 => Cost::from_milliweight(88),
6570            Core::LeftPadHigh8_32 => Cost::from_milliweight(103),
6571            Core::LeftPadHigh8_64 => Cost::from_milliweight(136),
6572            Core::LeftPadLow16_32 => Cost::from_milliweight(69),
6573            Core::LeftPadLow16_64 => Cost::from_milliweight(106),
6574            Core::LeftPadLow1_16 => Cost::from_milliweight(65),
6575            Core::LeftPadLow1_32 => Cost::from_milliweight(63),
6576            Core::LeftPadLow1_64 => Cost::from_milliweight(61),
6577            Core::LeftPadLow1_8 => Cost::from_milliweight(56),
6578            Core::LeftPadLow32_64 => Cost::from_milliweight(91),
6579            Core::LeftPadLow8_16 => Cost::from_milliweight(66),
6580            Core::LeftPadLow8_32 => Cost::from_milliweight(61),
6581            Core::LeftPadLow8_64 => Cost::from_milliweight(112),
6582            Core::LeftRotate16 => Cost::from_milliweight(77),
6583            Core::LeftRotate32 => Cost::from_milliweight(106),
6584            Core::LeftRotate64 => Cost::from_milliweight(98),
6585            Core::LeftRotate8 => Cost::from_milliweight(88),
6586            Core::LeftShift16 => Cost::from_milliweight(72),
6587            Core::LeftShift32 => Cost::from_milliweight(78),
6588            Core::LeftShift64 => Cost::from_milliweight(82),
6589            Core::LeftShift8 => Cost::from_milliweight(91),
6590            Core::LeftShiftWith16 => Cost::from_milliweight(83),
6591            Core::LeftShiftWith32 => Cost::from_milliweight(95),
6592            Core::LeftShiftWith64 => Cost::from_milliweight(103),
6593            Core::LeftShiftWith8 => Cost::from_milliweight(107),
6594            Core::Leftmost16_1 => Cost::from_milliweight(93),
6595            Core::Leftmost16_2 => Cost::from_milliweight(90),
6596            Core::Leftmost16_4 => Cost::from_milliweight(75),
6597            Core::Leftmost16_8 => Cost::from_milliweight(71),
6598            Core::Leftmost32_1 => Cost::from_milliweight(77),
6599            Core::Leftmost32_16 => Cost::from_milliweight(102),
6600            Core::Leftmost32_2 => Cost::from_milliweight(66),
6601            Core::Leftmost32_4 => Cost::from_milliweight(52),
6602            Core::Leftmost32_8 => Cost::from_milliweight(103),
6603            Core::Leftmost64_1 => Cost::from_milliweight(78),
6604            Core::Leftmost64_16 => Cost::from_milliweight(88),
6605            Core::Leftmost64_2 => Cost::from_milliweight(71),
6606            Core::Leftmost64_32 => Cost::from_milliweight(90),
6607            Core::Leftmost64_4 => Cost::from_milliweight(79),
6608            Core::Leftmost64_8 => Cost::from_milliweight(86),
6609            Core::Leftmost8_1 => Cost::from_milliweight(90),
6610            Core::Leftmost8_2 => Cost::from_milliweight(90),
6611            Core::Leftmost8_4 => Cost::from_milliweight(87),
6612            Core::LinearCombination1 => Cost::from_milliweight(84674),
6613            Core::LinearVerify1 => Cost::from_milliweight(43364),
6614            Core::Low1 => Cost::from_milliweight(38),
6615            Core::Low16 => Cost::from_milliweight(69),
6616            Core::Low32 => Cost::from_milliweight(62),
6617            Core::Low64 => Cost::from_milliweight(47),
6618            Core::Low8 => Cost::from_milliweight(47),
6619            Core::Lt16 => Cost::from_milliweight(123),
6620            Core::Lt32 => Cost::from_milliweight(107),
6621            Core::Lt64 => Cost::from_milliweight(76),
6622            Core::Lt8 => Cost::from_milliweight(107),
6623            Core::Maj1 => Cost::from_milliweight(62),
6624            Core::Maj16 => Cost::from_milliweight(80),
6625            Core::Maj32 => Cost::from_milliweight(96),
6626            Core::Maj64 => Cost::from_milliweight(93),
6627            Core::Maj8 => Cost::from_milliweight(94),
6628            Core::Max16 => Cost::from_milliweight(114),
6629            Core::Max32 => Cost::from_milliweight(92),
6630            Core::Max64 => Cost::from_milliweight(104),
6631            Core::Max8 => Cost::from_milliweight(96),
6632            Core::Median16 => Cost::from_milliweight(123),
6633            Core::Median32 => Cost::from_milliweight(101),
6634            Core::Median64 => Cost::from_milliweight(109),
6635            Core::Median8 => Cost::from_milliweight(122),
6636            Core::Min16 => Cost::from_milliweight(97),
6637            Core::Min32 => Cost::from_milliweight(113),
6638            Core::Min64 => Cost::from_milliweight(102),
6639            Core::Min8 => Cost::from_milliweight(99),
6640            Core::Modulo16 => Cost::from_milliweight(103),
6641            Core::Modulo32 => Cost::from_milliweight(102),
6642            Core::Modulo64 => Cost::from_milliweight(85),
6643            Core::Modulo8 => Cost::from_milliweight(102),
6644            Core::Multiply16 => Cost::from_milliweight(90),
6645            Core::Multiply32 => Cost::from_milliweight(90),
6646            Core::Multiply64 => Cost::from_milliweight(85),
6647            Core::Multiply8 => Cost::from_milliweight(93),
6648            Core::Negate16 => Cost::from_milliweight(70),
6649            Core::Negate32 => Cost::from_milliweight(85),
6650            Core::Negate64 => Cost::from_milliweight(94),
6651            Core::Negate8 => Cost::from_milliweight(91),
6652            Core::One16 => Cost::from_milliweight(60),
6653            Core::One32 => Cost::from_milliweight(59),
6654            Core::One64 => Cost::from_milliweight(59),
6655            Core::One8 => Cost::from_milliweight(62),
6656            Core::Or1 => Cost::from_milliweight(77),
6657            Core::Or16 => Cost::from_milliweight(94),
6658            Core::Or32 => Cost::from_milliweight(105),
6659            Core::Or64 => Cost::from_milliweight(99),
6660            Core::Or8 => Cost::from_milliweight(93),
6661            Core::ParseLock => Cost::from_milliweight(97),
6662            Core::ParseSequence => Cost::from_milliweight(116),
6663            Core::PointVerify1 => Cost::from_milliweight(41494),
6664            Core::RightExtend16_32 => Cost::from_milliweight(74),
6665            Core::RightExtend16_64 => Cost::from_milliweight(82),
6666            Core::RightExtend32_64 => Cost::from_milliweight(94),
6667            Core::RightExtend8_16 => Cost::from_milliweight(76),
6668            Core::RightExtend8_32 => Cost::from_milliweight(106),
6669            Core::RightExtend8_64 => Cost::from_milliweight(124),
6670            Core::RightPadHigh16_32 => Cost::from_milliweight(70),
6671            Core::RightPadHigh16_64 => Cost::from_milliweight(88),
6672            Core::RightPadHigh1_16 => Cost::from_milliweight(143),
6673            Core::RightPadHigh1_32 => Cost::from_milliweight(223),
6674            Core::RightPadHigh1_64 => Cost::from_milliweight(476),
6675            Core::RightPadHigh1_8 => Cost::from_milliweight(107),
6676            Core::RightPadHigh32_64 => Cost::from_milliweight(94),
6677            Core::RightPadHigh8_16 => Cost::from_milliweight(89),
6678            Core::RightPadHigh8_32 => Cost::from_milliweight(110),
6679            Core::RightPadHigh8_64 => Cost::from_milliweight(107),
6680            Core::RightPadLow16_32 => Cost::from_milliweight(71),
6681            Core::RightPadLow16_64 => Cost::from_milliweight(96),
6682            Core::RightPadLow1_16 => Cost::from_milliweight(81),
6683            Core::RightPadLow1_32 => Cost::from_milliweight(75),
6684            Core::RightPadLow1_64 => Cost::from_milliweight(73),
6685            Core::RightPadLow1_8 => Cost::from_milliweight(68),
6686            Core::RightPadLow32_64 => Cost::from_milliweight(80),
6687            Core::RightPadLow8_16 => Cost::from_milliweight(75),
6688            Core::RightPadLow8_32 => Cost::from_milliweight(77),
6689            Core::RightPadLow8_64 => Cost::from_milliweight(82),
6690            Core::RightRotate16 => Cost::from_milliweight(99),
6691            Core::RightRotate32 => Cost::from_milliweight(92),
6692            Core::RightRotate64 => Cost::from_milliweight(93),
6693            Core::RightRotate8 => Cost::from_milliweight(75),
6694            Core::RightShift16 => Cost::from_milliweight(84),
6695            Core::RightShift32 => Cost::from_milliweight(88),
6696            Core::RightShift64 => Cost::from_milliweight(91),
6697            Core::RightShift8 => Cost::from_milliweight(88),
6698            Core::RightShiftWith16 => Cost::from_milliweight(105),
6699            Core::RightShiftWith32 => Cost::from_milliweight(92),
6700            Core::RightShiftWith64 => Cost::from_milliweight(97),
6701            Core::RightShiftWith8 => Cost::from_milliweight(103),
6702            Core::Rightmost16_1 => Cost::from_milliweight(70),
6703            Core::Rightmost16_2 => Cost::from_milliweight(82),
6704            Core::Rightmost16_4 => Cost::from_milliweight(76),
6705            Core::Rightmost16_8 => Cost::from_milliweight(69),
6706            Core::Rightmost32_1 => Cost::from_milliweight(90),
6707            Core::Rightmost32_16 => Cost::from_milliweight(64),
6708            Core::Rightmost32_2 => Cost::from_milliweight(74),
6709            Core::Rightmost32_4 => Cost::from_milliweight(92),
6710            Core::Rightmost32_8 => Cost::from_milliweight(78),
6711            Core::Rightmost64_1 => Cost::from_milliweight(77),
6712            Core::Rightmost64_16 => Cost::from_milliweight(86),
6713            Core::Rightmost64_2 => Cost::from_milliweight(74),
6714            Core::Rightmost64_32 => Cost::from_milliweight(76),
6715            Core::Rightmost64_4 => Cost::from_milliweight(70),
6716            Core::Rightmost64_8 => Cost::from_milliweight(69),
6717            Core::Rightmost8_1 => Cost::from_milliweight(79),
6718            Core::Rightmost8_2 => Cost::from_milliweight(98),
6719            Core::Rightmost8_4 => Cost::from_milliweight(98),
6720            Core::ScalarAdd => Cost::from_milliweight(739),
6721            Core::ScalarInvert => Cost::from_milliweight(3193),
6722            Core::ScalarIsZero => Cost::from_milliweight(271),
6723            Core::ScalarMultiply => Cost::from_milliweight(774),
6724            Core::ScalarMultiplyLambda => Cost::from_milliweight(557),
6725            Core::ScalarNegate => Cost::from_milliweight(490),
6726            Core::ScalarNormalize => Cost::from_milliweight(472),
6727            Core::ScalarSquare => Cost::from_milliweight(575),
6728            Core::Scale => Cost::from_milliweight(72675),
6729            Core::Sha256Block => Cost::from_milliweight(771),
6730            Core::Sha256Ctx8Add1 => Cost::from_milliweight(642),
6731            Core::Sha256Ctx8Add128 => Cost::from_milliweight(1779),
6732            Core::Sha256Ctx8Add16 => Cost::from_milliweight(747),
6733            Core::Sha256Ctx8Add2 => Cost::from_milliweight(661),
6734            Core::Sha256Ctx8Add256 => Cost::from_milliweight(2912),
6735            Core::Sha256Ctx8Add32 => Cost::from_milliweight(896),
6736            Core::Sha256Ctx8Add4 => Cost::from_milliweight(645),
6737            Core::Sha256Ctx8Add512 => Cost::from_milliweight(5299),
6738            Core::Sha256Ctx8Add64 => Cost::from_milliweight(1187),
6739            Core::Sha256Ctx8Add8 => Cost::from_milliweight(674),
6740            Core::Sha256Ctx8AddBuffer511 => Cost::from_milliweight(5060),
6741            Core::Sha256Ctx8Finalize => Cost::from_milliweight(835),
6742            Core::Sha256Ctx8Init => Cost::from_milliweight(118),
6743            Core::Sha256Iv => Cost::from_milliweight(93),
6744            Core::Some1 => Cost::from_milliweight(70),
6745            Core::Some16 => Cost::from_milliweight(63),
6746            Core::Some32 => Cost::from_milliweight(64),
6747            Core::Some64 => Cost::from_milliweight(93),
6748            Core::Some8 => Cost::from_milliweight(75),
6749            Core::Subtract16 => Cost::from_milliweight(113),
6750            Core::Subtract32 => Cost::from_milliweight(118),
6751            Core::Subtract64 => Cost::from_milliweight(115),
6752            Core::Subtract8 => Cost::from_milliweight(109),
6753            Core::Swu => Cost::from_milliweight(32120),
6754            Core::TapdataInit => Cost::from_milliweight(1178),
6755            Core::Verify => Cost::from_milliweight(57),
6756            Core::Xor1 => Cost::from_milliweight(67),
6757            Core::Xor16 => Cost::from_milliweight(83),
6758            Core::Xor32 => Cost::from_milliweight(92),
6759            Core::Xor64 => Cost::from_milliweight(95),
6760            Core::Xor8 => Cost::from_milliweight(85),
6761            Core::XorXor1 => Cost::from_milliweight(72),
6762            Core::XorXor16 => Cost::from_milliweight(79),
6763            Core::XorXor32 => Cost::from_milliweight(96),
6764            Core::XorXor64 => Cost::from_milliweight(93),
6765            Core::XorXor8 => Cost::from_milliweight(98),
6766        }
6767    }
6768}
6769
6770impl fmt::Display for Core {
6771    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6772        match self {
6773            Core::Add16 => f.write_str("add_16"),
6774            Core::Add32 => f.write_str("add_32"),
6775            Core::Add64 => f.write_str("add_64"),
6776            Core::Add8 => f.write_str("add_8"),
6777            Core::All16 => f.write_str("all_16"),
6778            Core::All32 => f.write_str("all_32"),
6779            Core::All64 => f.write_str("all_64"),
6780            Core::All8 => f.write_str("all_8"),
6781            Core::And1 => f.write_str("and_1"),
6782            Core::And16 => f.write_str("and_16"),
6783            Core::And32 => f.write_str("and_32"),
6784            Core::And64 => f.write_str("and_64"),
6785            Core::And8 => f.write_str("and_8"),
6786            Core::Bip0340Verify => f.write_str("bip_0340_verify"),
6787            Core::Ch1 => f.write_str("ch_1"),
6788            Core::Ch16 => f.write_str("ch_16"),
6789            Core::Ch32 => f.write_str("ch_32"),
6790            Core::Ch64 => f.write_str("ch_64"),
6791            Core::Ch8 => f.write_str("ch_8"),
6792            Core::CheckSigVerify => f.write_str("check_sig_verify"),
6793            Core::Complement1 => f.write_str("complement_1"),
6794            Core::Complement16 => f.write_str("complement_16"),
6795            Core::Complement32 => f.write_str("complement_32"),
6796            Core::Complement64 => f.write_str("complement_64"),
6797            Core::Complement8 => f.write_str("complement_8"),
6798            Core::Decompress => f.write_str("decompress"),
6799            Core::Decrement16 => f.write_str("decrement_16"),
6800            Core::Decrement32 => f.write_str("decrement_32"),
6801            Core::Decrement64 => f.write_str("decrement_64"),
6802            Core::Decrement8 => f.write_str("decrement_8"),
6803            Core::DivMod128_64 => f.write_str("div_mod_128_64"),
6804            Core::DivMod16 => f.write_str("div_mod_16"),
6805            Core::DivMod32 => f.write_str("div_mod_32"),
6806            Core::DivMod64 => f.write_str("div_mod_64"),
6807            Core::DivMod8 => f.write_str("div_mod_8"),
6808            Core::Divide16 => f.write_str("divide_16"),
6809            Core::Divide32 => f.write_str("divide_32"),
6810            Core::Divide64 => f.write_str("divide_64"),
6811            Core::Divide8 => f.write_str("divide_8"),
6812            Core::Divides16 => f.write_str("divides_16"),
6813            Core::Divides32 => f.write_str("divides_32"),
6814            Core::Divides64 => f.write_str("divides_64"),
6815            Core::Divides8 => f.write_str("divides_8"),
6816            Core::Eq1 => f.write_str("eq_1"),
6817            Core::Eq16 => f.write_str("eq_16"),
6818            Core::Eq256 => f.write_str("eq_256"),
6819            Core::Eq32 => f.write_str("eq_32"),
6820            Core::Eq64 => f.write_str("eq_64"),
6821            Core::Eq8 => f.write_str("eq_8"),
6822            Core::FeAdd => f.write_str("fe_add"),
6823            Core::FeInvert => f.write_str("fe_invert"),
6824            Core::FeIsOdd => f.write_str("fe_is_odd"),
6825            Core::FeIsZero => f.write_str("fe_is_zero"),
6826            Core::FeMultiply => f.write_str("fe_multiply"),
6827            Core::FeMultiplyBeta => f.write_str("fe_multiply_beta"),
6828            Core::FeNegate => f.write_str("fe_negate"),
6829            Core::FeNormalize => f.write_str("fe_normalize"),
6830            Core::FeSquare => f.write_str("fe_square"),
6831            Core::FeSquareRoot => f.write_str("fe_square_root"),
6832            Core::FullAdd16 => f.write_str("full_add_16"),
6833            Core::FullAdd32 => f.write_str("full_add_32"),
6834            Core::FullAdd64 => f.write_str("full_add_64"),
6835            Core::FullAdd8 => f.write_str("full_add_8"),
6836            Core::FullDecrement16 => f.write_str("full_decrement_16"),
6837            Core::FullDecrement32 => f.write_str("full_decrement_32"),
6838            Core::FullDecrement64 => f.write_str("full_decrement_64"),
6839            Core::FullDecrement8 => f.write_str("full_decrement_8"),
6840            Core::FullIncrement16 => f.write_str("full_increment_16"),
6841            Core::FullIncrement32 => f.write_str("full_increment_32"),
6842            Core::FullIncrement64 => f.write_str("full_increment_64"),
6843            Core::FullIncrement8 => f.write_str("full_increment_8"),
6844            Core::FullLeftShift16_1 => f.write_str("full_left_shift_16_1"),
6845            Core::FullLeftShift16_2 => f.write_str("full_left_shift_16_2"),
6846            Core::FullLeftShift16_4 => f.write_str("full_left_shift_16_4"),
6847            Core::FullLeftShift16_8 => f.write_str("full_left_shift_16_8"),
6848            Core::FullLeftShift32_1 => f.write_str("full_left_shift_32_1"),
6849            Core::FullLeftShift32_16 => f.write_str("full_left_shift_32_16"),
6850            Core::FullLeftShift32_2 => f.write_str("full_left_shift_32_2"),
6851            Core::FullLeftShift32_4 => f.write_str("full_left_shift_32_4"),
6852            Core::FullLeftShift32_8 => f.write_str("full_left_shift_32_8"),
6853            Core::FullLeftShift64_1 => f.write_str("full_left_shift_64_1"),
6854            Core::FullLeftShift64_16 => f.write_str("full_left_shift_64_16"),
6855            Core::FullLeftShift64_2 => f.write_str("full_left_shift_64_2"),
6856            Core::FullLeftShift64_32 => f.write_str("full_left_shift_64_32"),
6857            Core::FullLeftShift64_4 => f.write_str("full_left_shift_64_4"),
6858            Core::FullLeftShift64_8 => f.write_str("full_left_shift_64_8"),
6859            Core::FullLeftShift8_1 => f.write_str("full_left_shift_8_1"),
6860            Core::FullLeftShift8_2 => f.write_str("full_left_shift_8_2"),
6861            Core::FullLeftShift8_4 => f.write_str("full_left_shift_8_4"),
6862            Core::FullMultiply16 => f.write_str("full_multiply_16"),
6863            Core::FullMultiply32 => f.write_str("full_multiply_32"),
6864            Core::FullMultiply64 => f.write_str("full_multiply_64"),
6865            Core::FullMultiply8 => f.write_str("full_multiply_8"),
6866            Core::FullRightShift16_1 => f.write_str("full_right_shift_16_1"),
6867            Core::FullRightShift16_2 => f.write_str("full_right_shift_16_2"),
6868            Core::FullRightShift16_4 => f.write_str("full_right_shift_16_4"),
6869            Core::FullRightShift16_8 => f.write_str("full_right_shift_16_8"),
6870            Core::FullRightShift32_1 => f.write_str("full_right_shift_32_1"),
6871            Core::FullRightShift32_16 => f.write_str("full_right_shift_32_16"),
6872            Core::FullRightShift32_2 => f.write_str("full_right_shift_32_2"),
6873            Core::FullRightShift32_4 => f.write_str("full_right_shift_32_4"),
6874            Core::FullRightShift32_8 => f.write_str("full_right_shift_32_8"),
6875            Core::FullRightShift64_1 => f.write_str("full_right_shift_64_1"),
6876            Core::FullRightShift64_16 => f.write_str("full_right_shift_64_16"),
6877            Core::FullRightShift64_2 => f.write_str("full_right_shift_64_2"),
6878            Core::FullRightShift64_32 => f.write_str("full_right_shift_64_32"),
6879            Core::FullRightShift64_4 => f.write_str("full_right_shift_64_4"),
6880            Core::FullRightShift64_8 => f.write_str("full_right_shift_64_8"),
6881            Core::FullRightShift8_1 => f.write_str("full_right_shift_8_1"),
6882            Core::FullRightShift8_2 => f.write_str("full_right_shift_8_2"),
6883            Core::FullRightShift8_4 => f.write_str("full_right_shift_8_4"),
6884            Core::FullSubtract16 => f.write_str("full_subtract_16"),
6885            Core::FullSubtract32 => f.write_str("full_subtract_32"),
6886            Core::FullSubtract64 => f.write_str("full_subtract_64"),
6887            Core::FullSubtract8 => f.write_str("full_subtract_8"),
6888            Core::GeIsOnCurve => f.write_str("ge_is_on_curve"),
6889            Core::GeNegate => f.write_str("ge_negate"),
6890            Core::GejAdd => f.write_str("gej_add"),
6891            Core::GejDouble => f.write_str("gej_double"),
6892            Core::GejEquiv => f.write_str("gej_equiv"),
6893            Core::GejGeAdd => f.write_str("gej_ge_add"),
6894            Core::GejGeAddEx => f.write_str("gej_ge_add_ex"),
6895            Core::GejGeEquiv => f.write_str("gej_ge_equiv"),
6896            Core::GejInfinity => f.write_str("gej_infinity"),
6897            Core::GejIsInfinity => f.write_str("gej_is_infinity"),
6898            Core::GejIsOnCurve => f.write_str("gej_is_on_curve"),
6899            Core::GejNegate => f.write_str("gej_negate"),
6900            Core::GejNormalize => f.write_str("gej_normalize"),
6901            Core::GejRescale => f.write_str("gej_rescale"),
6902            Core::GejXEquiv => f.write_str("gej_x_equiv"),
6903            Core::GejYIsOdd => f.write_str("gej_y_is_odd"),
6904            Core::Generate => f.write_str("generate"),
6905            Core::HashToCurve => f.write_str("hash_to_curve"),
6906            Core::High1 => f.write_str("high_1"),
6907            Core::High16 => f.write_str("high_16"),
6908            Core::High32 => f.write_str("high_32"),
6909            Core::High64 => f.write_str("high_64"),
6910            Core::High8 => f.write_str("high_8"),
6911            Core::Increment16 => f.write_str("increment_16"),
6912            Core::Increment32 => f.write_str("increment_32"),
6913            Core::Increment64 => f.write_str("increment_64"),
6914            Core::Increment8 => f.write_str("increment_8"),
6915            Core::IsOne16 => f.write_str("is_one_16"),
6916            Core::IsOne32 => f.write_str("is_one_32"),
6917            Core::IsOne64 => f.write_str("is_one_64"),
6918            Core::IsOne8 => f.write_str("is_one_8"),
6919            Core::IsZero16 => f.write_str("is_zero_16"),
6920            Core::IsZero32 => f.write_str("is_zero_32"),
6921            Core::IsZero64 => f.write_str("is_zero_64"),
6922            Core::IsZero8 => f.write_str("is_zero_8"),
6923            Core::Le16 => f.write_str("le_16"),
6924            Core::Le32 => f.write_str("le_32"),
6925            Core::Le64 => f.write_str("le_64"),
6926            Core::Le8 => f.write_str("le_8"),
6927            Core::LeftExtend16_32 => f.write_str("left_extend_16_32"),
6928            Core::LeftExtend16_64 => f.write_str("left_extend_16_64"),
6929            Core::LeftExtend1_16 => f.write_str("left_extend_1_16"),
6930            Core::LeftExtend1_32 => f.write_str("left_extend_1_32"),
6931            Core::LeftExtend1_64 => f.write_str("left_extend_1_64"),
6932            Core::LeftExtend1_8 => f.write_str("left_extend_1_8"),
6933            Core::LeftExtend32_64 => f.write_str("left_extend_32_64"),
6934            Core::LeftExtend8_16 => f.write_str("left_extend_8_16"),
6935            Core::LeftExtend8_32 => f.write_str("left_extend_8_32"),
6936            Core::LeftExtend8_64 => f.write_str("left_extend_8_64"),
6937            Core::LeftPadHigh16_32 => f.write_str("left_pad_high_16_32"),
6938            Core::LeftPadHigh16_64 => f.write_str("left_pad_high_16_64"),
6939            Core::LeftPadHigh1_16 => f.write_str("left_pad_high_1_16"),
6940            Core::LeftPadHigh1_32 => f.write_str("left_pad_high_1_32"),
6941            Core::LeftPadHigh1_64 => f.write_str("left_pad_high_1_64"),
6942            Core::LeftPadHigh1_8 => f.write_str("left_pad_high_1_8"),
6943            Core::LeftPadHigh32_64 => f.write_str("left_pad_high_32_64"),
6944            Core::LeftPadHigh8_16 => f.write_str("left_pad_high_8_16"),
6945            Core::LeftPadHigh8_32 => f.write_str("left_pad_high_8_32"),
6946            Core::LeftPadHigh8_64 => f.write_str("left_pad_high_8_64"),
6947            Core::LeftPadLow16_32 => f.write_str("left_pad_low_16_32"),
6948            Core::LeftPadLow16_64 => f.write_str("left_pad_low_16_64"),
6949            Core::LeftPadLow1_16 => f.write_str("left_pad_low_1_16"),
6950            Core::LeftPadLow1_32 => f.write_str("left_pad_low_1_32"),
6951            Core::LeftPadLow1_64 => f.write_str("left_pad_low_1_64"),
6952            Core::LeftPadLow1_8 => f.write_str("left_pad_low_1_8"),
6953            Core::LeftPadLow32_64 => f.write_str("left_pad_low_32_64"),
6954            Core::LeftPadLow8_16 => f.write_str("left_pad_low_8_16"),
6955            Core::LeftPadLow8_32 => f.write_str("left_pad_low_8_32"),
6956            Core::LeftPadLow8_64 => f.write_str("left_pad_low_8_64"),
6957            Core::LeftRotate16 => f.write_str("left_rotate_16"),
6958            Core::LeftRotate32 => f.write_str("left_rotate_32"),
6959            Core::LeftRotate64 => f.write_str("left_rotate_64"),
6960            Core::LeftRotate8 => f.write_str("left_rotate_8"),
6961            Core::LeftShift16 => f.write_str("left_shift_16"),
6962            Core::LeftShift32 => f.write_str("left_shift_32"),
6963            Core::LeftShift64 => f.write_str("left_shift_64"),
6964            Core::LeftShift8 => f.write_str("left_shift_8"),
6965            Core::LeftShiftWith16 => f.write_str("left_shift_with_16"),
6966            Core::LeftShiftWith32 => f.write_str("left_shift_with_32"),
6967            Core::LeftShiftWith64 => f.write_str("left_shift_with_64"),
6968            Core::LeftShiftWith8 => f.write_str("left_shift_with_8"),
6969            Core::Leftmost16_1 => f.write_str("leftmost_16_1"),
6970            Core::Leftmost16_2 => f.write_str("leftmost_16_2"),
6971            Core::Leftmost16_4 => f.write_str("leftmost_16_4"),
6972            Core::Leftmost16_8 => f.write_str("leftmost_16_8"),
6973            Core::Leftmost32_1 => f.write_str("leftmost_32_1"),
6974            Core::Leftmost32_16 => f.write_str("leftmost_32_16"),
6975            Core::Leftmost32_2 => f.write_str("leftmost_32_2"),
6976            Core::Leftmost32_4 => f.write_str("leftmost_32_4"),
6977            Core::Leftmost32_8 => f.write_str("leftmost_32_8"),
6978            Core::Leftmost64_1 => f.write_str("leftmost_64_1"),
6979            Core::Leftmost64_16 => f.write_str("leftmost_64_16"),
6980            Core::Leftmost64_2 => f.write_str("leftmost_64_2"),
6981            Core::Leftmost64_32 => f.write_str("leftmost_64_32"),
6982            Core::Leftmost64_4 => f.write_str("leftmost_64_4"),
6983            Core::Leftmost64_8 => f.write_str("leftmost_64_8"),
6984            Core::Leftmost8_1 => f.write_str("leftmost_8_1"),
6985            Core::Leftmost8_2 => f.write_str("leftmost_8_2"),
6986            Core::Leftmost8_4 => f.write_str("leftmost_8_4"),
6987            Core::LinearCombination1 => f.write_str("linear_combination_1"),
6988            Core::LinearVerify1 => f.write_str("linear_verify_1"),
6989            Core::Low1 => f.write_str("low_1"),
6990            Core::Low16 => f.write_str("low_16"),
6991            Core::Low32 => f.write_str("low_32"),
6992            Core::Low64 => f.write_str("low_64"),
6993            Core::Low8 => f.write_str("low_8"),
6994            Core::Lt16 => f.write_str("lt_16"),
6995            Core::Lt32 => f.write_str("lt_32"),
6996            Core::Lt64 => f.write_str("lt_64"),
6997            Core::Lt8 => f.write_str("lt_8"),
6998            Core::Maj1 => f.write_str("maj_1"),
6999            Core::Maj16 => f.write_str("maj_16"),
7000            Core::Maj32 => f.write_str("maj_32"),
7001            Core::Maj64 => f.write_str("maj_64"),
7002            Core::Maj8 => f.write_str("maj_8"),
7003            Core::Max16 => f.write_str("max_16"),
7004            Core::Max32 => f.write_str("max_32"),
7005            Core::Max64 => f.write_str("max_64"),
7006            Core::Max8 => f.write_str("max_8"),
7007            Core::Median16 => f.write_str("median_16"),
7008            Core::Median32 => f.write_str("median_32"),
7009            Core::Median64 => f.write_str("median_64"),
7010            Core::Median8 => f.write_str("median_8"),
7011            Core::Min16 => f.write_str("min_16"),
7012            Core::Min32 => f.write_str("min_32"),
7013            Core::Min64 => f.write_str("min_64"),
7014            Core::Min8 => f.write_str("min_8"),
7015            Core::Modulo16 => f.write_str("modulo_16"),
7016            Core::Modulo32 => f.write_str("modulo_32"),
7017            Core::Modulo64 => f.write_str("modulo_64"),
7018            Core::Modulo8 => f.write_str("modulo_8"),
7019            Core::Multiply16 => f.write_str("multiply_16"),
7020            Core::Multiply32 => f.write_str("multiply_32"),
7021            Core::Multiply64 => f.write_str("multiply_64"),
7022            Core::Multiply8 => f.write_str("multiply_8"),
7023            Core::Negate16 => f.write_str("negate_16"),
7024            Core::Negate32 => f.write_str("negate_32"),
7025            Core::Negate64 => f.write_str("negate_64"),
7026            Core::Negate8 => f.write_str("negate_8"),
7027            Core::One16 => f.write_str("one_16"),
7028            Core::One32 => f.write_str("one_32"),
7029            Core::One64 => f.write_str("one_64"),
7030            Core::One8 => f.write_str("one_8"),
7031            Core::Or1 => f.write_str("or_1"),
7032            Core::Or16 => f.write_str("or_16"),
7033            Core::Or32 => f.write_str("or_32"),
7034            Core::Or64 => f.write_str("or_64"),
7035            Core::Or8 => f.write_str("or_8"),
7036            Core::ParseLock => f.write_str("parse_lock"),
7037            Core::ParseSequence => f.write_str("parse_sequence"),
7038            Core::PointVerify1 => f.write_str("point_verify_1"),
7039            Core::RightExtend16_32 => f.write_str("right_extend_16_32"),
7040            Core::RightExtend16_64 => f.write_str("right_extend_16_64"),
7041            Core::RightExtend32_64 => f.write_str("right_extend_32_64"),
7042            Core::RightExtend8_16 => f.write_str("right_extend_8_16"),
7043            Core::RightExtend8_32 => f.write_str("right_extend_8_32"),
7044            Core::RightExtend8_64 => f.write_str("right_extend_8_64"),
7045            Core::RightPadHigh16_32 => f.write_str("right_pad_high_16_32"),
7046            Core::RightPadHigh16_64 => f.write_str("right_pad_high_16_64"),
7047            Core::RightPadHigh1_16 => f.write_str("right_pad_high_1_16"),
7048            Core::RightPadHigh1_32 => f.write_str("right_pad_high_1_32"),
7049            Core::RightPadHigh1_64 => f.write_str("right_pad_high_1_64"),
7050            Core::RightPadHigh1_8 => f.write_str("right_pad_high_1_8"),
7051            Core::RightPadHigh32_64 => f.write_str("right_pad_high_32_64"),
7052            Core::RightPadHigh8_16 => f.write_str("right_pad_high_8_16"),
7053            Core::RightPadHigh8_32 => f.write_str("right_pad_high_8_32"),
7054            Core::RightPadHigh8_64 => f.write_str("right_pad_high_8_64"),
7055            Core::RightPadLow16_32 => f.write_str("right_pad_low_16_32"),
7056            Core::RightPadLow16_64 => f.write_str("right_pad_low_16_64"),
7057            Core::RightPadLow1_16 => f.write_str("right_pad_low_1_16"),
7058            Core::RightPadLow1_32 => f.write_str("right_pad_low_1_32"),
7059            Core::RightPadLow1_64 => f.write_str("right_pad_low_1_64"),
7060            Core::RightPadLow1_8 => f.write_str("right_pad_low_1_8"),
7061            Core::RightPadLow32_64 => f.write_str("right_pad_low_32_64"),
7062            Core::RightPadLow8_16 => f.write_str("right_pad_low_8_16"),
7063            Core::RightPadLow8_32 => f.write_str("right_pad_low_8_32"),
7064            Core::RightPadLow8_64 => f.write_str("right_pad_low_8_64"),
7065            Core::RightRotate16 => f.write_str("right_rotate_16"),
7066            Core::RightRotate32 => f.write_str("right_rotate_32"),
7067            Core::RightRotate64 => f.write_str("right_rotate_64"),
7068            Core::RightRotate8 => f.write_str("right_rotate_8"),
7069            Core::RightShift16 => f.write_str("right_shift_16"),
7070            Core::RightShift32 => f.write_str("right_shift_32"),
7071            Core::RightShift64 => f.write_str("right_shift_64"),
7072            Core::RightShift8 => f.write_str("right_shift_8"),
7073            Core::RightShiftWith16 => f.write_str("right_shift_with_16"),
7074            Core::RightShiftWith32 => f.write_str("right_shift_with_32"),
7075            Core::RightShiftWith64 => f.write_str("right_shift_with_64"),
7076            Core::RightShiftWith8 => f.write_str("right_shift_with_8"),
7077            Core::Rightmost16_1 => f.write_str("rightmost_16_1"),
7078            Core::Rightmost16_2 => f.write_str("rightmost_16_2"),
7079            Core::Rightmost16_4 => f.write_str("rightmost_16_4"),
7080            Core::Rightmost16_8 => f.write_str("rightmost_16_8"),
7081            Core::Rightmost32_1 => f.write_str("rightmost_32_1"),
7082            Core::Rightmost32_16 => f.write_str("rightmost_32_16"),
7083            Core::Rightmost32_2 => f.write_str("rightmost_32_2"),
7084            Core::Rightmost32_4 => f.write_str("rightmost_32_4"),
7085            Core::Rightmost32_8 => f.write_str("rightmost_32_8"),
7086            Core::Rightmost64_1 => f.write_str("rightmost_64_1"),
7087            Core::Rightmost64_16 => f.write_str("rightmost_64_16"),
7088            Core::Rightmost64_2 => f.write_str("rightmost_64_2"),
7089            Core::Rightmost64_32 => f.write_str("rightmost_64_32"),
7090            Core::Rightmost64_4 => f.write_str("rightmost_64_4"),
7091            Core::Rightmost64_8 => f.write_str("rightmost_64_8"),
7092            Core::Rightmost8_1 => f.write_str("rightmost_8_1"),
7093            Core::Rightmost8_2 => f.write_str("rightmost_8_2"),
7094            Core::Rightmost8_4 => f.write_str("rightmost_8_4"),
7095            Core::ScalarAdd => f.write_str("scalar_add"),
7096            Core::ScalarInvert => f.write_str("scalar_invert"),
7097            Core::ScalarIsZero => f.write_str("scalar_is_zero"),
7098            Core::ScalarMultiply => f.write_str("scalar_multiply"),
7099            Core::ScalarMultiplyLambda => f.write_str("scalar_multiply_lambda"),
7100            Core::ScalarNegate => f.write_str("scalar_negate"),
7101            Core::ScalarNormalize => f.write_str("scalar_normalize"),
7102            Core::ScalarSquare => f.write_str("scalar_square"),
7103            Core::Scale => f.write_str("scale"),
7104            Core::Sha256Block => f.write_str("sha_256_block"),
7105            Core::Sha256Ctx8Add1 => f.write_str("sha_256_ctx_8_add_1"),
7106            Core::Sha256Ctx8Add128 => f.write_str("sha_256_ctx_8_add_128"),
7107            Core::Sha256Ctx8Add16 => f.write_str("sha_256_ctx_8_add_16"),
7108            Core::Sha256Ctx8Add2 => f.write_str("sha_256_ctx_8_add_2"),
7109            Core::Sha256Ctx8Add256 => f.write_str("sha_256_ctx_8_add_256"),
7110            Core::Sha256Ctx8Add32 => f.write_str("sha_256_ctx_8_add_32"),
7111            Core::Sha256Ctx8Add4 => f.write_str("sha_256_ctx_8_add_4"),
7112            Core::Sha256Ctx8Add512 => f.write_str("sha_256_ctx_8_add_512"),
7113            Core::Sha256Ctx8Add64 => f.write_str("sha_256_ctx_8_add_64"),
7114            Core::Sha256Ctx8Add8 => f.write_str("sha_256_ctx_8_add_8"),
7115            Core::Sha256Ctx8AddBuffer511 => f.write_str("sha_256_ctx_8_add_buffer_511"),
7116            Core::Sha256Ctx8Finalize => f.write_str("sha_256_ctx_8_finalize"),
7117            Core::Sha256Ctx8Init => f.write_str("sha_256_ctx_8_init"),
7118            Core::Sha256Iv => f.write_str("sha_256_iv"),
7119            Core::Some1 => f.write_str("some_1"),
7120            Core::Some16 => f.write_str("some_16"),
7121            Core::Some32 => f.write_str("some_32"),
7122            Core::Some64 => f.write_str("some_64"),
7123            Core::Some8 => f.write_str("some_8"),
7124            Core::Subtract16 => f.write_str("subtract_16"),
7125            Core::Subtract32 => f.write_str("subtract_32"),
7126            Core::Subtract64 => f.write_str("subtract_64"),
7127            Core::Subtract8 => f.write_str("subtract_8"),
7128            Core::Swu => f.write_str("swu"),
7129            Core::TapdataInit => f.write_str("tapdata_init"),
7130            Core::Verify => f.write_str("verify"),
7131            Core::Xor1 => f.write_str("xor_1"),
7132            Core::Xor16 => f.write_str("xor_16"),
7133            Core::Xor32 => f.write_str("xor_32"),
7134            Core::Xor64 => f.write_str("xor_64"),
7135            Core::Xor8 => f.write_str("xor_8"),
7136            Core::XorXor1 => f.write_str("xor_xor_1"),
7137            Core::XorXor16 => f.write_str("xor_xor_16"),
7138            Core::XorXor32 => f.write_str("xor_xor_32"),
7139            Core::XorXor64 => f.write_str("xor_xor_64"),
7140            Core::XorXor8 => f.write_str("xor_xor_8"),
7141        }
7142    }
7143}
7144
7145impl str::FromStr for Core {
7146    type Err = crate::Error;
7147
7148    fn from_str(s: &str) -> Result<Self, Self::Err> {
7149        match s {
7150            "add_16" => Ok(Core::Add16),
7151            "add_32" => Ok(Core::Add32),
7152            "add_64" => Ok(Core::Add64),
7153            "add_8" => Ok(Core::Add8),
7154            "all_16" => Ok(Core::All16),
7155            "all_32" => Ok(Core::All32),
7156            "all_64" => Ok(Core::All64),
7157            "all_8" => Ok(Core::All8),
7158            "and_1" => Ok(Core::And1),
7159            "and_16" => Ok(Core::And16),
7160            "and_32" => Ok(Core::And32),
7161            "and_64" => Ok(Core::And64),
7162            "and_8" => Ok(Core::And8),
7163            "bip_0340_verify" => Ok(Core::Bip0340Verify),
7164            "ch_1" => Ok(Core::Ch1),
7165            "ch_16" => Ok(Core::Ch16),
7166            "ch_32" => Ok(Core::Ch32),
7167            "ch_64" => Ok(Core::Ch64),
7168            "ch_8" => Ok(Core::Ch8),
7169            "check_sig_verify" => Ok(Core::CheckSigVerify),
7170            "complement_1" => Ok(Core::Complement1),
7171            "complement_16" => Ok(Core::Complement16),
7172            "complement_32" => Ok(Core::Complement32),
7173            "complement_64" => Ok(Core::Complement64),
7174            "complement_8" => Ok(Core::Complement8),
7175            "decompress" => Ok(Core::Decompress),
7176            "decrement_16" => Ok(Core::Decrement16),
7177            "decrement_32" => Ok(Core::Decrement32),
7178            "decrement_64" => Ok(Core::Decrement64),
7179            "decrement_8" => Ok(Core::Decrement8),
7180            "div_mod_128_64" => Ok(Core::DivMod128_64),
7181            "div_mod_16" => Ok(Core::DivMod16),
7182            "div_mod_32" => Ok(Core::DivMod32),
7183            "div_mod_64" => Ok(Core::DivMod64),
7184            "div_mod_8" => Ok(Core::DivMod8),
7185            "divide_16" => Ok(Core::Divide16),
7186            "divide_32" => Ok(Core::Divide32),
7187            "divide_64" => Ok(Core::Divide64),
7188            "divide_8" => Ok(Core::Divide8),
7189            "divides_16" => Ok(Core::Divides16),
7190            "divides_32" => Ok(Core::Divides32),
7191            "divides_64" => Ok(Core::Divides64),
7192            "divides_8" => Ok(Core::Divides8),
7193            "eq_1" => Ok(Core::Eq1),
7194            "eq_16" => Ok(Core::Eq16),
7195            "eq_256" => Ok(Core::Eq256),
7196            "eq_32" => Ok(Core::Eq32),
7197            "eq_64" => Ok(Core::Eq64),
7198            "eq_8" => Ok(Core::Eq8),
7199            "fe_add" => Ok(Core::FeAdd),
7200            "fe_invert" => Ok(Core::FeInvert),
7201            "fe_is_odd" => Ok(Core::FeIsOdd),
7202            "fe_is_zero" => Ok(Core::FeIsZero),
7203            "fe_multiply" => Ok(Core::FeMultiply),
7204            "fe_multiply_beta" => Ok(Core::FeMultiplyBeta),
7205            "fe_negate" => Ok(Core::FeNegate),
7206            "fe_normalize" => Ok(Core::FeNormalize),
7207            "fe_square" => Ok(Core::FeSquare),
7208            "fe_square_root" => Ok(Core::FeSquareRoot),
7209            "full_add_16" => Ok(Core::FullAdd16),
7210            "full_add_32" => Ok(Core::FullAdd32),
7211            "full_add_64" => Ok(Core::FullAdd64),
7212            "full_add_8" => Ok(Core::FullAdd8),
7213            "full_decrement_16" => Ok(Core::FullDecrement16),
7214            "full_decrement_32" => Ok(Core::FullDecrement32),
7215            "full_decrement_64" => Ok(Core::FullDecrement64),
7216            "full_decrement_8" => Ok(Core::FullDecrement8),
7217            "full_increment_16" => Ok(Core::FullIncrement16),
7218            "full_increment_32" => Ok(Core::FullIncrement32),
7219            "full_increment_64" => Ok(Core::FullIncrement64),
7220            "full_increment_8" => Ok(Core::FullIncrement8),
7221            "full_left_shift_16_1" => Ok(Core::FullLeftShift16_1),
7222            "full_left_shift_16_2" => Ok(Core::FullLeftShift16_2),
7223            "full_left_shift_16_4" => Ok(Core::FullLeftShift16_4),
7224            "full_left_shift_16_8" => Ok(Core::FullLeftShift16_8),
7225            "full_left_shift_32_1" => Ok(Core::FullLeftShift32_1),
7226            "full_left_shift_32_16" => Ok(Core::FullLeftShift32_16),
7227            "full_left_shift_32_2" => Ok(Core::FullLeftShift32_2),
7228            "full_left_shift_32_4" => Ok(Core::FullLeftShift32_4),
7229            "full_left_shift_32_8" => Ok(Core::FullLeftShift32_8),
7230            "full_left_shift_64_1" => Ok(Core::FullLeftShift64_1),
7231            "full_left_shift_64_16" => Ok(Core::FullLeftShift64_16),
7232            "full_left_shift_64_2" => Ok(Core::FullLeftShift64_2),
7233            "full_left_shift_64_32" => Ok(Core::FullLeftShift64_32),
7234            "full_left_shift_64_4" => Ok(Core::FullLeftShift64_4),
7235            "full_left_shift_64_8" => Ok(Core::FullLeftShift64_8),
7236            "full_left_shift_8_1" => Ok(Core::FullLeftShift8_1),
7237            "full_left_shift_8_2" => Ok(Core::FullLeftShift8_2),
7238            "full_left_shift_8_4" => Ok(Core::FullLeftShift8_4),
7239            "full_multiply_16" => Ok(Core::FullMultiply16),
7240            "full_multiply_32" => Ok(Core::FullMultiply32),
7241            "full_multiply_64" => Ok(Core::FullMultiply64),
7242            "full_multiply_8" => Ok(Core::FullMultiply8),
7243            "full_right_shift_16_1" => Ok(Core::FullRightShift16_1),
7244            "full_right_shift_16_2" => Ok(Core::FullRightShift16_2),
7245            "full_right_shift_16_4" => Ok(Core::FullRightShift16_4),
7246            "full_right_shift_16_8" => Ok(Core::FullRightShift16_8),
7247            "full_right_shift_32_1" => Ok(Core::FullRightShift32_1),
7248            "full_right_shift_32_16" => Ok(Core::FullRightShift32_16),
7249            "full_right_shift_32_2" => Ok(Core::FullRightShift32_2),
7250            "full_right_shift_32_4" => Ok(Core::FullRightShift32_4),
7251            "full_right_shift_32_8" => Ok(Core::FullRightShift32_8),
7252            "full_right_shift_64_1" => Ok(Core::FullRightShift64_1),
7253            "full_right_shift_64_16" => Ok(Core::FullRightShift64_16),
7254            "full_right_shift_64_2" => Ok(Core::FullRightShift64_2),
7255            "full_right_shift_64_32" => Ok(Core::FullRightShift64_32),
7256            "full_right_shift_64_4" => Ok(Core::FullRightShift64_4),
7257            "full_right_shift_64_8" => Ok(Core::FullRightShift64_8),
7258            "full_right_shift_8_1" => Ok(Core::FullRightShift8_1),
7259            "full_right_shift_8_2" => Ok(Core::FullRightShift8_2),
7260            "full_right_shift_8_4" => Ok(Core::FullRightShift8_4),
7261            "full_subtract_16" => Ok(Core::FullSubtract16),
7262            "full_subtract_32" => Ok(Core::FullSubtract32),
7263            "full_subtract_64" => Ok(Core::FullSubtract64),
7264            "full_subtract_8" => Ok(Core::FullSubtract8),
7265            "ge_is_on_curve" => Ok(Core::GeIsOnCurve),
7266            "ge_negate" => Ok(Core::GeNegate),
7267            "gej_add" => Ok(Core::GejAdd),
7268            "gej_double" => Ok(Core::GejDouble),
7269            "gej_equiv" => Ok(Core::GejEquiv),
7270            "gej_ge_add" => Ok(Core::GejGeAdd),
7271            "gej_ge_add_ex" => Ok(Core::GejGeAddEx),
7272            "gej_ge_equiv" => Ok(Core::GejGeEquiv),
7273            "gej_infinity" => Ok(Core::GejInfinity),
7274            "gej_is_infinity" => Ok(Core::GejIsInfinity),
7275            "gej_is_on_curve" => Ok(Core::GejIsOnCurve),
7276            "gej_negate" => Ok(Core::GejNegate),
7277            "gej_normalize" => Ok(Core::GejNormalize),
7278            "gej_rescale" => Ok(Core::GejRescale),
7279            "gej_x_equiv" => Ok(Core::GejXEquiv),
7280            "gej_y_is_odd" => Ok(Core::GejYIsOdd),
7281            "generate" => Ok(Core::Generate),
7282            "hash_to_curve" => Ok(Core::HashToCurve),
7283            "high_1" => Ok(Core::High1),
7284            "high_16" => Ok(Core::High16),
7285            "high_32" => Ok(Core::High32),
7286            "high_64" => Ok(Core::High64),
7287            "high_8" => Ok(Core::High8),
7288            "increment_16" => Ok(Core::Increment16),
7289            "increment_32" => Ok(Core::Increment32),
7290            "increment_64" => Ok(Core::Increment64),
7291            "increment_8" => Ok(Core::Increment8),
7292            "is_one_16" => Ok(Core::IsOne16),
7293            "is_one_32" => Ok(Core::IsOne32),
7294            "is_one_64" => Ok(Core::IsOne64),
7295            "is_one_8" => Ok(Core::IsOne8),
7296            "is_zero_16" => Ok(Core::IsZero16),
7297            "is_zero_32" => Ok(Core::IsZero32),
7298            "is_zero_64" => Ok(Core::IsZero64),
7299            "is_zero_8" => Ok(Core::IsZero8),
7300            "le_16" => Ok(Core::Le16),
7301            "le_32" => Ok(Core::Le32),
7302            "le_64" => Ok(Core::Le64),
7303            "le_8" => Ok(Core::Le8),
7304            "left_extend_16_32" => Ok(Core::LeftExtend16_32),
7305            "left_extend_16_64" => Ok(Core::LeftExtend16_64),
7306            "left_extend_1_16" => Ok(Core::LeftExtend1_16),
7307            "left_extend_1_32" => Ok(Core::LeftExtend1_32),
7308            "left_extend_1_64" => Ok(Core::LeftExtend1_64),
7309            "left_extend_1_8" => Ok(Core::LeftExtend1_8),
7310            "left_extend_32_64" => Ok(Core::LeftExtend32_64),
7311            "left_extend_8_16" => Ok(Core::LeftExtend8_16),
7312            "left_extend_8_32" => Ok(Core::LeftExtend8_32),
7313            "left_extend_8_64" => Ok(Core::LeftExtend8_64),
7314            "left_pad_high_16_32" => Ok(Core::LeftPadHigh16_32),
7315            "left_pad_high_16_64" => Ok(Core::LeftPadHigh16_64),
7316            "left_pad_high_1_16" => Ok(Core::LeftPadHigh1_16),
7317            "left_pad_high_1_32" => Ok(Core::LeftPadHigh1_32),
7318            "left_pad_high_1_64" => Ok(Core::LeftPadHigh1_64),
7319            "left_pad_high_1_8" => Ok(Core::LeftPadHigh1_8),
7320            "left_pad_high_32_64" => Ok(Core::LeftPadHigh32_64),
7321            "left_pad_high_8_16" => Ok(Core::LeftPadHigh8_16),
7322            "left_pad_high_8_32" => Ok(Core::LeftPadHigh8_32),
7323            "left_pad_high_8_64" => Ok(Core::LeftPadHigh8_64),
7324            "left_pad_low_16_32" => Ok(Core::LeftPadLow16_32),
7325            "left_pad_low_16_64" => Ok(Core::LeftPadLow16_64),
7326            "left_pad_low_1_16" => Ok(Core::LeftPadLow1_16),
7327            "left_pad_low_1_32" => Ok(Core::LeftPadLow1_32),
7328            "left_pad_low_1_64" => Ok(Core::LeftPadLow1_64),
7329            "left_pad_low_1_8" => Ok(Core::LeftPadLow1_8),
7330            "left_pad_low_32_64" => Ok(Core::LeftPadLow32_64),
7331            "left_pad_low_8_16" => Ok(Core::LeftPadLow8_16),
7332            "left_pad_low_8_32" => Ok(Core::LeftPadLow8_32),
7333            "left_pad_low_8_64" => Ok(Core::LeftPadLow8_64),
7334            "left_rotate_16" => Ok(Core::LeftRotate16),
7335            "left_rotate_32" => Ok(Core::LeftRotate32),
7336            "left_rotate_64" => Ok(Core::LeftRotate64),
7337            "left_rotate_8" => Ok(Core::LeftRotate8),
7338            "left_shift_16" => Ok(Core::LeftShift16),
7339            "left_shift_32" => Ok(Core::LeftShift32),
7340            "left_shift_64" => Ok(Core::LeftShift64),
7341            "left_shift_8" => Ok(Core::LeftShift8),
7342            "left_shift_with_16" => Ok(Core::LeftShiftWith16),
7343            "left_shift_with_32" => Ok(Core::LeftShiftWith32),
7344            "left_shift_with_64" => Ok(Core::LeftShiftWith64),
7345            "left_shift_with_8" => Ok(Core::LeftShiftWith8),
7346            "leftmost_16_1" => Ok(Core::Leftmost16_1),
7347            "leftmost_16_2" => Ok(Core::Leftmost16_2),
7348            "leftmost_16_4" => Ok(Core::Leftmost16_4),
7349            "leftmost_16_8" => Ok(Core::Leftmost16_8),
7350            "leftmost_32_1" => Ok(Core::Leftmost32_1),
7351            "leftmost_32_16" => Ok(Core::Leftmost32_16),
7352            "leftmost_32_2" => Ok(Core::Leftmost32_2),
7353            "leftmost_32_4" => Ok(Core::Leftmost32_4),
7354            "leftmost_32_8" => Ok(Core::Leftmost32_8),
7355            "leftmost_64_1" => Ok(Core::Leftmost64_1),
7356            "leftmost_64_16" => Ok(Core::Leftmost64_16),
7357            "leftmost_64_2" => Ok(Core::Leftmost64_2),
7358            "leftmost_64_32" => Ok(Core::Leftmost64_32),
7359            "leftmost_64_4" => Ok(Core::Leftmost64_4),
7360            "leftmost_64_8" => Ok(Core::Leftmost64_8),
7361            "leftmost_8_1" => Ok(Core::Leftmost8_1),
7362            "leftmost_8_2" => Ok(Core::Leftmost8_2),
7363            "leftmost_8_4" => Ok(Core::Leftmost8_4),
7364            "linear_combination_1" => Ok(Core::LinearCombination1),
7365            "linear_verify_1" => Ok(Core::LinearVerify1),
7366            "low_1" => Ok(Core::Low1),
7367            "low_16" => Ok(Core::Low16),
7368            "low_32" => Ok(Core::Low32),
7369            "low_64" => Ok(Core::Low64),
7370            "low_8" => Ok(Core::Low8),
7371            "lt_16" => Ok(Core::Lt16),
7372            "lt_32" => Ok(Core::Lt32),
7373            "lt_64" => Ok(Core::Lt64),
7374            "lt_8" => Ok(Core::Lt8),
7375            "maj_1" => Ok(Core::Maj1),
7376            "maj_16" => Ok(Core::Maj16),
7377            "maj_32" => Ok(Core::Maj32),
7378            "maj_64" => Ok(Core::Maj64),
7379            "maj_8" => Ok(Core::Maj8),
7380            "max_16" => Ok(Core::Max16),
7381            "max_32" => Ok(Core::Max32),
7382            "max_64" => Ok(Core::Max64),
7383            "max_8" => Ok(Core::Max8),
7384            "median_16" => Ok(Core::Median16),
7385            "median_32" => Ok(Core::Median32),
7386            "median_64" => Ok(Core::Median64),
7387            "median_8" => Ok(Core::Median8),
7388            "min_16" => Ok(Core::Min16),
7389            "min_32" => Ok(Core::Min32),
7390            "min_64" => Ok(Core::Min64),
7391            "min_8" => Ok(Core::Min8),
7392            "modulo_16" => Ok(Core::Modulo16),
7393            "modulo_32" => Ok(Core::Modulo32),
7394            "modulo_64" => Ok(Core::Modulo64),
7395            "modulo_8" => Ok(Core::Modulo8),
7396            "multiply_16" => Ok(Core::Multiply16),
7397            "multiply_32" => Ok(Core::Multiply32),
7398            "multiply_64" => Ok(Core::Multiply64),
7399            "multiply_8" => Ok(Core::Multiply8),
7400            "negate_16" => Ok(Core::Negate16),
7401            "negate_32" => Ok(Core::Negate32),
7402            "negate_64" => Ok(Core::Negate64),
7403            "negate_8" => Ok(Core::Negate8),
7404            "one_16" => Ok(Core::One16),
7405            "one_32" => Ok(Core::One32),
7406            "one_64" => Ok(Core::One64),
7407            "one_8" => Ok(Core::One8),
7408            "or_1" => Ok(Core::Or1),
7409            "or_16" => Ok(Core::Or16),
7410            "or_32" => Ok(Core::Or32),
7411            "or_64" => Ok(Core::Or64),
7412            "or_8" => Ok(Core::Or8),
7413            "parse_lock" => Ok(Core::ParseLock),
7414            "parse_sequence" => Ok(Core::ParseSequence),
7415            "point_verify_1" => Ok(Core::PointVerify1),
7416            "right_extend_16_32" => Ok(Core::RightExtend16_32),
7417            "right_extend_16_64" => Ok(Core::RightExtend16_64),
7418            "right_extend_32_64" => Ok(Core::RightExtend32_64),
7419            "right_extend_8_16" => Ok(Core::RightExtend8_16),
7420            "right_extend_8_32" => Ok(Core::RightExtend8_32),
7421            "right_extend_8_64" => Ok(Core::RightExtend8_64),
7422            "right_pad_high_16_32" => Ok(Core::RightPadHigh16_32),
7423            "right_pad_high_16_64" => Ok(Core::RightPadHigh16_64),
7424            "right_pad_high_1_16" => Ok(Core::RightPadHigh1_16),
7425            "right_pad_high_1_32" => Ok(Core::RightPadHigh1_32),
7426            "right_pad_high_1_64" => Ok(Core::RightPadHigh1_64),
7427            "right_pad_high_1_8" => Ok(Core::RightPadHigh1_8),
7428            "right_pad_high_32_64" => Ok(Core::RightPadHigh32_64),
7429            "right_pad_high_8_16" => Ok(Core::RightPadHigh8_16),
7430            "right_pad_high_8_32" => Ok(Core::RightPadHigh8_32),
7431            "right_pad_high_8_64" => Ok(Core::RightPadHigh8_64),
7432            "right_pad_low_16_32" => Ok(Core::RightPadLow16_32),
7433            "right_pad_low_16_64" => Ok(Core::RightPadLow16_64),
7434            "right_pad_low_1_16" => Ok(Core::RightPadLow1_16),
7435            "right_pad_low_1_32" => Ok(Core::RightPadLow1_32),
7436            "right_pad_low_1_64" => Ok(Core::RightPadLow1_64),
7437            "right_pad_low_1_8" => Ok(Core::RightPadLow1_8),
7438            "right_pad_low_32_64" => Ok(Core::RightPadLow32_64),
7439            "right_pad_low_8_16" => Ok(Core::RightPadLow8_16),
7440            "right_pad_low_8_32" => Ok(Core::RightPadLow8_32),
7441            "right_pad_low_8_64" => Ok(Core::RightPadLow8_64),
7442            "right_rotate_16" => Ok(Core::RightRotate16),
7443            "right_rotate_32" => Ok(Core::RightRotate32),
7444            "right_rotate_64" => Ok(Core::RightRotate64),
7445            "right_rotate_8" => Ok(Core::RightRotate8),
7446            "right_shift_16" => Ok(Core::RightShift16),
7447            "right_shift_32" => Ok(Core::RightShift32),
7448            "right_shift_64" => Ok(Core::RightShift64),
7449            "right_shift_8" => Ok(Core::RightShift8),
7450            "right_shift_with_16" => Ok(Core::RightShiftWith16),
7451            "right_shift_with_32" => Ok(Core::RightShiftWith32),
7452            "right_shift_with_64" => Ok(Core::RightShiftWith64),
7453            "right_shift_with_8" => Ok(Core::RightShiftWith8),
7454            "rightmost_16_1" => Ok(Core::Rightmost16_1),
7455            "rightmost_16_2" => Ok(Core::Rightmost16_2),
7456            "rightmost_16_4" => Ok(Core::Rightmost16_4),
7457            "rightmost_16_8" => Ok(Core::Rightmost16_8),
7458            "rightmost_32_1" => Ok(Core::Rightmost32_1),
7459            "rightmost_32_16" => Ok(Core::Rightmost32_16),
7460            "rightmost_32_2" => Ok(Core::Rightmost32_2),
7461            "rightmost_32_4" => Ok(Core::Rightmost32_4),
7462            "rightmost_32_8" => Ok(Core::Rightmost32_8),
7463            "rightmost_64_1" => Ok(Core::Rightmost64_1),
7464            "rightmost_64_16" => Ok(Core::Rightmost64_16),
7465            "rightmost_64_2" => Ok(Core::Rightmost64_2),
7466            "rightmost_64_32" => Ok(Core::Rightmost64_32),
7467            "rightmost_64_4" => Ok(Core::Rightmost64_4),
7468            "rightmost_64_8" => Ok(Core::Rightmost64_8),
7469            "rightmost_8_1" => Ok(Core::Rightmost8_1),
7470            "rightmost_8_2" => Ok(Core::Rightmost8_2),
7471            "rightmost_8_4" => Ok(Core::Rightmost8_4),
7472            "scalar_add" => Ok(Core::ScalarAdd),
7473            "scalar_invert" => Ok(Core::ScalarInvert),
7474            "scalar_is_zero" => Ok(Core::ScalarIsZero),
7475            "scalar_multiply" => Ok(Core::ScalarMultiply),
7476            "scalar_multiply_lambda" => Ok(Core::ScalarMultiplyLambda),
7477            "scalar_negate" => Ok(Core::ScalarNegate),
7478            "scalar_normalize" => Ok(Core::ScalarNormalize),
7479            "scalar_square" => Ok(Core::ScalarSquare),
7480            "scale" => Ok(Core::Scale),
7481            "sha_256_block" => Ok(Core::Sha256Block),
7482            "sha_256_ctx_8_add_1" => Ok(Core::Sha256Ctx8Add1),
7483            "sha_256_ctx_8_add_128" => Ok(Core::Sha256Ctx8Add128),
7484            "sha_256_ctx_8_add_16" => Ok(Core::Sha256Ctx8Add16),
7485            "sha_256_ctx_8_add_2" => Ok(Core::Sha256Ctx8Add2),
7486            "sha_256_ctx_8_add_256" => Ok(Core::Sha256Ctx8Add256),
7487            "sha_256_ctx_8_add_32" => Ok(Core::Sha256Ctx8Add32),
7488            "sha_256_ctx_8_add_4" => Ok(Core::Sha256Ctx8Add4),
7489            "sha_256_ctx_8_add_512" => Ok(Core::Sha256Ctx8Add512),
7490            "sha_256_ctx_8_add_64" => Ok(Core::Sha256Ctx8Add64),
7491            "sha_256_ctx_8_add_8" => Ok(Core::Sha256Ctx8Add8),
7492            "sha_256_ctx_8_add_buffer_511" => Ok(Core::Sha256Ctx8AddBuffer511),
7493            "sha_256_ctx_8_finalize" => Ok(Core::Sha256Ctx8Finalize),
7494            "sha_256_ctx_8_init" => Ok(Core::Sha256Ctx8Init),
7495            "sha_256_iv" => Ok(Core::Sha256Iv),
7496            "some_1" => Ok(Core::Some1),
7497            "some_16" => Ok(Core::Some16),
7498            "some_32" => Ok(Core::Some32),
7499            "some_64" => Ok(Core::Some64),
7500            "some_8" => Ok(Core::Some8),
7501            "subtract_16" => Ok(Core::Subtract16),
7502            "subtract_32" => Ok(Core::Subtract32),
7503            "subtract_64" => Ok(Core::Subtract64),
7504            "subtract_8" => Ok(Core::Subtract8),
7505            "swu" => Ok(Core::Swu),
7506            "tapdata_init" => Ok(Core::TapdataInit),
7507            "verify" => Ok(Core::Verify),
7508            "xor_1" => Ok(Core::Xor1),
7509            "xor_16" => Ok(Core::Xor16),
7510            "xor_32" => Ok(Core::Xor32),
7511            "xor_64" => Ok(Core::Xor64),
7512            "xor_8" => Ok(Core::Xor8),
7513            "xor_xor_1" => Ok(Core::XorXor1),
7514            "xor_xor_16" => Ok(Core::XorXor16),
7515            "xor_xor_32" => Ok(Core::XorXor32),
7516            "xor_xor_64" => Ok(Core::XorXor64),
7517            "xor_xor_8" => Ok(Core::XorXor8),
7518            x => Err(crate::Error::InvalidJetName(x.to_owned())),
7519        }
7520    }
7521}