Let us walk on the 3-isogeny graph
Loading...
Searching...
No Matches
fp_sqrt2047m7l188.c
Go to the documentation of this file.
1
// DO NOT EDIT! generated by ./autogen
2
3
#if defined AVX2
4
#include "avx2/fp-avx2.h"
5
#elif defined KARATSUBA
6
#include "
karatsuba/fp-karatsuba.h
"
7
#else
8
#include "mulx/fp.h"
9
#endif
10
11
// 256 mults, 2041 squarings
12
bool
fp_issquare
(
fp
x)
13
{
14
fp
origx;
15
fp_copy
(origx,x);
16
fp
r0;
17
fp_copy
(r0,x);
18
fp
r1;
19
fp_sqr
(r1,r0);
20
fp
r2;
21
fp_mul
(r2,r0,r1);
22
fp
r3;
23
fp_mul
(r3,r1,r2);
24
fp
r4;
25
fp_mul
(r4,r1,r3);
26
fp
r5;
27
fp_mul
(r5,r1,r4);
28
fp
r6;
29
fp_mul
(r6,r1,r5);
30
fp
r7;
31
fp_mul
(r7,r1,r6);
32
fp
r8;
33
fp_mul
(r8,r1,r7);
34
fp
r9;
35
fp_mul
(r9,r1,r8);
36
fp
r10;
37
fp_mul
(r10,r1,r9);
38
fp
r11;
39
fp_mul
(r11,r1,r10);
40
fp
r12;
41
fp_mul
(r12,r1,r11);
42
fp
r13;
43
fp_mul
(r13,r1,r12);
44
fp
r14;
45
fp_mul
(r14,r1,r13);
46
fp
r15;
47
fp_mul
(r15,r1,r14);
48
fp
r16;
49
fp_mul
(r16,r1,r15);
50
fp
r17;
51
fp_mul
(r17,r1,r16);
52
fp
r18;
53
fp_mul
(r18,r1,r17);
54
fp
r19;
55
fp_mul
(r19,r1,r18);
56
fp
r20;
57
fp_mul
(r20,r1,r19);
58
fp
r21;
59
fp_mul
(r21,r1,r20);
60
fp
r22;
61
fp_mul
(r22,r1,r21);
62
fp
r23;
63
fp_mul
(r23,r1,r22);
64
fp
r24;
65
fp_mul
(r24,r1,r23);
66
fp
r25;
67
fp_mul
(r25,r1,r24);
68
fp
r26;
69
fp_mul
(r26,r1,r25);
70
fp
r27;
71
fp_mul
(r27,r1,r26);
72
fp
r28;
73
fp_mul
(r28,r1,r27);
74
fp
r29;
75
fp_mul
(r29,r1,r28);
76
fp
r30;
77
fp_mul
(r30,r1,r29);
78
fp
r31;
79
fp_mul
(r31,r1,r30);
80
fp
r32;
81
fp_mul
(r32,r1,r31);
82
fp
r33;
83
fp_mul
(r33,r1,r32);
84
fp_mul
(r1,r1,r33);
85
fp_sqr
(r33,r29);
86
fp_sq1_rep(r33,5);
87
fp_mul
(r33,r33,r26);
88
fp_sq1_rep(r33,8);
89
fp_mul
(r33,r33,r1);
90
fp_sq1_rep(r33,8);
91
fp_mul
(r33,r33,r26);
92
fp_sq1_rep(r33,7);
93
fp_mul
(r33,r33,r0);
94
fp_sq1_rep(r33,7);
95
fp_mul
(r33,r33,r14);
96
fp_sq1_rep(r33,11);
97
fp_mul
(r33,r33,r6);
98
fp_sq1_rep(r33,6);
99
fp_mul
(r33,r33,r27);
100
fp_sq1_rep(r33,6);
101
fp_mul
(r33,r33,r19);
102
fp_sq1_rep(r33,7);
103
fp_mul
(r33,r33,r20);
104
fp_sq1_rep(r33,6);
105
fp_mul
(r33,r33,r26);
106
fp_sq1_rep(r33,6);
107
fp_mul
(r33,r33,r8);
108
fp_sq1_rep(r33,9);
109
fp_mul
(r33,r33,r25);
110
fp_sq1_rep(r33,6);
111
fp_mul
(r33,r33,r16);
112
fp_sq1_rep(r33,6);
113
fp_mul
(r33,r33,r12);
114
fp_sq1_rep(r33,6);
115
fp_mul
(r33,r33,r13);
116
fp_sq1_rep(r33,7);
117
fp_mul
(r33,r33,r30);
118
fp_sq1_rep(r33,6);
119
fp_mul
(r33,r33,r9);
120
fp_sq1_rep(r33,6);
121
fp_mul
(r33,r33,r22);
122
fp_sq1_rep(r33,6);
123
fp_mul
(r33,r33,r3);
124
fp_sq1_rep(r33,6);
125
fp_mul
(r33,r33,r3);
126
fp_sq1_rep(r33,10);
127
fp_mul
(r33,r33,r13);
128
fp_sq1_rep(r33,7);
129
fp_mul
(r33,r33,r19);
130
fp_sq1_rep(r33,7);
131
fp_mul
(r33,r33,r19);
132
fp_sq1_rep(r33,6);
133
fp_mul
(r33,r33,r6);
134
fp_sq1_rep(r33,8);
135
fp_mul
(r33,r33,r5);
136
fp_sq1_rep(r33,7);
137
fp_mul
(r33,r33,r27);
138
fp_sq1_rep(r33,7);
139
fp_mul
(r33,r33,r17);
140
fp_sq1_rep(r33,6);
141
fp_mul
(r33,r33,r14);
142
fp_sq1_rep(r33,7);
143
fp_mul
(r33,r33,r17);
144
fp_sq1_rep(r33,7);
145
fp_mul
(r33,r33,r15);
146
fp_sq1_rep(r33,9);
147
fp_mul
(r33,r33,r28);
148
fp_sq1_rep(r33,10);
149
fp_mul
(r33,r33,r24);
150
fp_sq1_rep(r33,11);
151
fp_mul
(r33,r33,r18);
152
fp_sq1_rep(r33,7);
153
fp_mul
(r33,r33,r25);
154
fp_sq1_rep(r33,6);
155
fp_mul
(r33,r33,r10);
156
fp_sq1_rep(r33,6);
157
fp_mul
(r33,r33,r5);
158
fp_sq1_rep(r33,6);
159
fp_mul
(r33,r33,r7);
160
fp_sq1_rep(r33,9);
161
fp_mul
(r33,r33,r7);
162
fp_sq1_rep(r33,9);
163
fp_mul
(r33,r33,r30);
164
fp_sq1_rep(r33,7);
165
fp_mul
(r33,r33,r10);
166
fp_sq1_rep(r33,6);
167
fp_mul
(r33,r33,r29);
168
fp_sq1_rep(r33,6);
169
fp_mul
(r33,r33,r21);
170
fp_sq1_rep(r33,8);
171
fp_mul
(r33,r33,r11);
172
fp_sq1_rep(r33,6);
173
fp_mul
(r33,r33,r23);
174
fp_sq1_rep(r33,6);
175
fp_mul
(r33,r33,r6);
176
fp_sq1_rep(r33,6);
177
fp_mul
(r33,r33,r21);
178
fp_sq1_rep(r33,6);
179
fp_mul
(r33,r33,r16);
180
fp_sq1_rep(r33,6);
181
fp_mul
(r33,r33,r15);
182
fp_sq1_rep(r33,8);
183
fp_mul
(r33,r33,r6);
184
fp_sq1_rep(r33,6);
185
fp_mul
(r33,r33,r26);
186
fp_sq1_rep(r33,11);
187
fp_mul
(r33,r33,r27);
188
fp_sq1_rep(r33,9);
189
fp_mul
(r33,r33,r30);
190
fp_sq1_rep(r33,7);
191
fp_mul
(r33,r33,r12);
192
fp_sq1_rep(r33,7);
193
fp_mul
(r33,r33,r18);
194
fp_sq1_rep(r33,6);
195
fp_mul
(r33,r33,r31);
196
fp_sq1_rep(r33,9);
197
fp_mul
(r33,r33,r19);
198
fp_sq1_rep(r33,8);
199
fp_mul
(r33,r33,r31);
200
fp_sq1_rep(r33,10);
201
fp_mul
(r33,r33,r16);
202
fp_sq1_rep(r33,6);
203
fp_mul
(r33,r33,r20);
204
fp_sq1_rep(r33,6);
205
fp_mul
(r33,r33,r3);
206
fp_sq1_rep(r33,6);
207
fp_mul
(r33,r33,r6);
208
fp_sq1_rep(r33,8);
209
fp_mul
(r33,r33,r24);
210
fp_sq1_rep(r33,7);
211
fp_mul
(r33,r33,r6);
212
fp_sq1_rep(r33,6);
213
fp_mul
(r33,r33,r29);
214
fp_sq1_rep(r33,7);
215
fp_mul
(r33,r33,r12);
216
fp_sq1_rep(r33,7);
217
fp_mul
(r33,r33,r8);
218
fp_sq1_rep(r33,12);
219
fp_mul
(r33,r33,r1);
220
fp_sq1_rep(r33,9);
221
fp_mul
(r33,r33,r5);
222
fp_sq1_rep(r33,7);
223
fp_mul
(r33,r33,r15);
224
fp_sq1_rep(r33,8);
225
fp_mul
(r33,r33,r26);
226
fp_sq1_rep(r33,6);
227
fp_mul
(r33,r33,r30);
228
fp_sq1_rep(r33,8);
229
fp_mul
(r33,r33,r13);
230
fp_sq1_rep(r33,8);
231
fp_mul
(r33,r33,r24);
232
fp_sq1_rep(r33,8);
233
fp_mul
(r33,r33,r29);
234
fp_sq1_rep(r33,6);
235
fp_mul
(r33,r33,r13);
236
fp_sq1_rep(r33,8);
237
fp_mul
(r33,r33,r29);
238
fp_sq1_rep(r33,9);
239
fp_mul
(r33,r33,r26);
240
fp_sq1_rep(r33,7);
241
fp_mul
(r33,r33,r19);
242
fp_sq1_rep(r33,7);
243
fp_mul
(r33,r33,r17);
244
fp_sq1_rep(r33,8);
245
fp_mul
(r33,r33,r28);
246
fp_sq1_rep(r33,6);
247
fp_mul
(r33,r33,r23);
248
fp_sq1_rep(r33,6);
249
fp_mul
(r33,r33,r6);
250
fp_sq1_rep(r33,7);
251
fp_mul
(r33,r33,r23);
252
fp_sq1_rep(r33,6);
253
fp_mul
(r33,r33,r32);
254
fp_sq1_rep(r33,6);
255
fp_mul
(r33,r33,r31);
256
fp_sq1_rep(r33,7);
257
fp_mul
(r33,r33,r22);
258
fp_sq1_rep(r33,6);
259
fp_mul
(r33,r33,r3);
260
fp_sq1_rep(r33,9);
261
fp_mul
(r33,r33,r20);
262
fp_sq1_rep(r33,6);
263
fp_mul
(r33,r33,r20);
264
fp_sq1_rep(r33,7);
265
fp_mul
(r33,r33,r4);
266
fp_sq1_rep(r33,7);
267
fp_mul
(r33,r33,r0);
268
fp_sq1_rep(r33,6);
269
fp_mul
(r33,r33,r19);
270
fp_sq1_rep(r33,6);
271
fp_mul
(r33,r33,r32);
272
fp_sq1_rep(r33,7);
273
fp_mul
(r33,r33,r16);
274
fp_sq1_rep(r33,7);
275
fp_mul
(r33,r33,r8);
276
fp_sq1_rep(r33,6);
277
fp_mul
(r33,r33,r11);
278
fp_sq1_rep(r33,7);
279
fp_mul
(r33,r33,r9);
280
fp_sq1_rep(r33,7);
281
fp_mul
(r33,r33,r4);
282
fp_sq1_rep(r33,6);
283
fp_mul
(r33,r33,r20);
284
fp_sq1_rep(r33,10);
285
fp_mul
(r33,r33,r3);
286
fp_sq1_rep(r33,6);
287
fp_mul
(r33,r33,r31);
288
fp_sq1_rep(r33,8);
289
fp_mul
(r33,r33,r9);
290
fp_sq1_rep(r33,7);
291
fp_mul
(r33,r33,r8);
292
fp_sq1_rep(r33,8);
293
fp_mul
(r33,r33,r6);
294
fp_sq1_rep(r33,11);
295
fp_mul
(r33,r33,r16);
296
fp_sq1_rep(r33,10);
297
fp_mul
(r33,r33,r31);
298
fp_sq1_rep(r33,9);
299
fp_mul
(r33,r33,r5);
300
fp_sq1_rep(r33,7);
301
fp_mul
(r33,r33,r18);
302
fp_sq1_rep(r33,8);
303
fp_mul
(r33,r33,r31);
304
fp_sq1_rep(r33,7);
305
fp_mul
(r33,r33,r26);
306
fp_sq1_rep(r33,10);
307
fp_mul
(r33,r33,r1);
308
fp_sq1_rep(r33,6);
309
fp_mul
(r33,r33,r11);
310
fp_sq1_rep(r33,6);
311
fp_mul
(r33,r33,r17);
312
fp_sq1_rep(r33,7);
313
fp_mul
(r6,r6,r33);
314
fp_sq1_rep(r6,7);
315
fp_mul
(r6,r6,r28);
316
fp_sq1_rep(r6,7);
317
fp_mul
(r6,r6,r10);
318
fp_sq1_rep(r6,6);
319
fp_mul
(r6,r6,r24);
320
fp_sq1_rep(r6,9);
321
fp_mul
(r6,r6,r4);
322
fp_sq1_rep(r6,7);
323
fp_mul
(r6,r6,r29);
324
fp_sq1_rep(r6,6);
325
fp_mul
(r6,r6,r26);
326
fp_sq1_rep(r6,8);
327
fp_mul
(r6,r6,r9);
328
fp_sq1_rep(r6,6);
329
fp_mul
(r6,r6,r15);
330
fp_sq1_rep(r6,8);
331
fp_mul
(r1,r1,r6);
332
fp_sq1_rep(r1,9);
333
fp_mul
(r1,r1,r16);
334
fp_sq1_rep(r1,6);
335
fp_mul
(r1,r1,r30);
336
fp_sq1_rep(r1,6);
337
fp_mul
(r1,r1,r21);
338
fp_sq1_rep(r1,8);
339
fp_mul
(r1,r1,r21);
340
fp_sq1_rep(r1,8);
341
fp_mul
(r1,r1,r5);
342
fp_sq1_rep(r1,7);
343
fp_mul
(r1,r1,r31);
344
fp_sq1_rep(r1,6);
345
fp_mul
(r1,r1,r18);
346
fp_sq1_rep(r1,8);
347
fp_mul
(r1,r1,r5);
348
fp_sq1_rep(r1,8);
349
fp_mul
(r1,r1,r4);
350
fp_sq1_rep(r1,6);
351
fp_mul
(r1,r1,r32);
352
fp_sq1_rep(r1,6);
353
fp_mul
(r1,r1,r23);
354
fp_sq1_rep(r1,6);
355
fp_mul
(r1,r1,r23);
356
fp_sq1_rep(r1,8);
357
fp_mul
(r1,r1,r7);
358
fp_sq1_rep(r1,6);
359
fp_mul
(r1,r1,r7);
360
fp_sq1_rep(r1,9);
361
fp_mul
(r1,r1,r11);
362
fp_sq1_rep(r1,7);
363
fp_mul
(r1,r1,r5);
364
fp_sq1_rep(r1,6);
365
fp_mul
(r1,r1,r3);
366
fp_sq1_rep(r1,6);
367
fp_mul
(r1,r1,r9);
368
fp_sq1_rep(r1,7);
369
fp_mul
(r1,r1,r32);
370
fp_sq1_rep(r1,7);
371
fp_mul
(r1,r1,r3);
372
fp_sq1_rep(r1,7);
373
fp_mul
(r1,r1,r27);
374
fp_sq1_rep(r1,7);
375
fp_mul
(r1,r1,r11);
376
fp_sq1_rep(r1,6);
377
fp_mul
(r1,r1,r20);
378
fp_sq1_rep(r1,8);
379
fp_mul
(r1,r1,r15);
380
fp_sq1_rep(r1,6);
381
fp_mul
(r1,r1,r30);
382
fp_sq1_rep(r1,6);
383
fp_mul
(r1,r1,r20);
384
fp_sq1_rep(r1,7);
385
fp_mul
(r1,r1,r0);
386
fp_sq1_rep(r1,6);
387
fp_mul
(r1,r1,r27);
388
fp_sq1_rep(r1,7);
389
fp_mul
(r1,r1,r5);
390
fp_sq1_rep(r1,8);
391
fp_mul
(r1,r1,r9);
392
fp_sq1_rep(r1,10);
393
fp_mul
(r1,r1,r19);
394
fp_sq1_rep(r1,7);
395
fp_mul
(r1,r1,r14);
396
fp_sq1_rep(r1,6);
397
fp_mul
(r1,r1,r24);
398
fp_sq1_rep(r1,6);
399
fp_mul
(r1,r1,r8);
400
fp_sq1_rep(r1,7);
401
fp_mul
(r1,r1,r3);
402
fp_sq1_rep(r1,7);
403
fp_mul
(r1,r1,r13);
404
fp_sq1_rep(r1,8);
405
fp_mul
(r1,r1,r22);
406
fp_sq1_rep(r1,7);
407
fp_mul
(r1,r1,r13);
408
fp_sq1_rep(r1,7);
409
fp_mul
(r1,r1,r5);
410
fp_sq1_rep(r1,7);
411
fp_mul
(r1,r1,r27);
412
fp_sq1_rep(r1,6);
413
fp_mul
(r1,r1,r28);
414
fp_sq1_rep(r1,8);
415
fp_mul
(r1,r1,r11);
416
fp_sq1_rep(r1,8);
417
fp_mul
(r1,r1,r2);
418
fp_sq1_rep(r1,8);
419
fp_mul
(r1,r1,r26);
420
fp_sq1_rep(r1,6);
421
fp_mul
(r1,r1,r5);
422
fp_sq1_rep(r1,7);
423
fp_mul
(r1,r1,r32);
424
fp_sq1_rep(r1,7);
425
fp_mul
(r1,r1,r2);
426
fp_sq1_rep(r1,11);
427
fp_mul
(r1,r1,r18);
428
fp_sq1_rep(r1,6);
429
fp_mul
(r1,r1,r14);
430
fp_sq1_rep(r1,6);
431
fp_mul
(r1,r1,r23);
432
fp_sq1_rep(r1,6);
433
fp_mul
(r1,r1,r22);
434
fp_sq1_rep(r1,8);
435
fp_mul
(r1,r1,r3);
436
fp_sq1_rep(r1,6);
437
fp_mul
(r1,r1,r18);
438
fp_sq1_rep(r1,6);
439
fp_mul
(r1,r1,r8);
440
fp_sq1_rep(r1,7);
441
fp_mul
(r1,r1,r2);
442
fp_sq1_rep(r1,6);
443
fp_mul
(r1,r1,r18);
444
fp_sq1_rep(r1,7);
445
fp_mul
(r1,r1,r31);
446
fp_sq1_rep(r1,7);
447
fp_mul
(r1,r1,r14);
448
fp_sq1_rep(r1,8);
449
fp_mul
(r1,r1,r9);
450
fp_sq1_rep(r1,7);
451
fp_mul
(r1,r1,r27);
452
fp_sq1_rep(r1,6);
453
fp_mul
(r1,r1,r12);
454
fp_sq1_rep(r1,13);
455
fp_mul
(r1,r1,r10);
456
fp_sq1_rep(r1,6);
457
fp_mul
(r1,r1,r22);
458
fp_sq1_rep(r1,7);
459
fp_mul
(r1,r1,r23);
460
fp_sq1_rep(r1,8);
461
fp_mul
(r1,r1,r13);
462
fp_sq1_rep(r1,6);
463
fp_mul
(r1,r1,r3);
464
fp_sq1_rep(r1,7);
465
fp_mul
(r1,r1,r13);
466
fp_sq1_rep(r1,7);
467
fp_mul
(r1,r1,r28);
468
fp_sq1_rep(r1,6);
469
fp_mul
(r1,r1,r17);
470
fp_sq1_rep(r1,8);
471
fp_mul
(r1,r1,r19);
472
fp_sq1_rep(r1,7);
473
fp_mul
(r1,r1,r32);
474
fp_sq1_rep(r1,6);
475
fp_mul
(r1,r1,r15);
476
fp_sq1_rep(r1,7);
477
fp_mul
(r1,r1,r10);
478
fp_sq1_rep(r1,6);
479
fp_mul
(r1,r1,r9);
480
fp_sq1_rep(r1,7);
481
fp_mul
(r1,r1,r31);
482
fp_sq1_rep(r1,7);
483
fp_mul
(r1,r1,r21);
484
fp_sq1_rep(r1,8);
485
fp_mul
(r1,r1,r3);
486
fp_sq1_rep(r1,6);
487
fp_mul
(r1,r1,r27);
488
fp_sq1_rep(r1,6);
489
fp_mul
(r1,r1,r13);
490
fp_sq1_rep(r1,6);
491
fp_mul
(r1,r1,r20);
492
fp_sq1_rep(r1,7);
493
fp_mul
(r1,r1,r25);
494
fp_sq1_rep(r1,6);
495
fp_mul
(r1,r1,r20);
496
fp_sq1_rep(r1,7);
497
fp_mul
(r1,r1,r28);
498
fp_sq1_rep(r1,10);
499
fp_mul
(r1,r1,r11);
500
fp_sq1_rep(r1,6);
501
fp_mul
(r1,r1,r27);
502
fp_sq1_rep(r1,8);
503
fp_mul
(r1,r1,r17);
504
fp_sq1_rep(r1,7);
505
fp_mul
(r1,r1,r13);
506
fp_sq1_rep(r1,6);
507
fp_mul
(r1,r1,r5);
508
fp_sq1_rep(r1,6);
509
fp_mul
(r1,r1,r31);
510
fp_sq1_rep(r1,6);
511
fp_mul
(r1,r1,r21);
512
fp_sq1_rep(r1,6);
513
fp_mul
(r1,r1,r13);
514
fp_sq1_rep(r1,6);
515
fp_mul
(r1,r1,r4);
516
fp_sq1_rep(r1,10);
517
fp_mul
(r1,r1,r19);
518
fp_sq1_rep(r1,7);
519
fp_mul
(r0,r0,r1);
520
fp_sq1_rep(r0,6);
521
fp_mul
(r0,r0,r27);
522
fp_sq1_rep(r0,7);
523
fp_mul
(r0,r0,r19);
524
fp_sq1_rep(r0,6);
525
fp_mul
(r0,r0,r14);
526
fp_sq1_rep(r0,7);
527
fp_mul
(r0,r0,r17);
528
fp_sq1_rep(r0,8);
529
fp_mul
(r0,r0,r18);
530
fp_sq1_rep(r0,6);
531
fp_mul
(r0,r0,r31);
532
fp_sq1_rep(r0,448);
533
fp_copy
(x,r0);
534
fp
check;
535
fp_sqr
(check,x);
536
return
fp_isequal(check,origx);
537
}
fp_sqr
#define fp_sqr
Definition
fp-gmp.h:73
fp
uint64_t fp[NUMBER_OF_WORDS]
Definition
fp-gmp.h:22
fp_mul
#define fp_mul
Definition
fp-gmp.h:70
fp_issquare
#define fp_issquare
Definition
fp-gmp.h:76
fp_copy
#define fp_copy
Definition
fp-gmp.h:79
fp-karatsuba.h
E:
pqc-engineering-ssec-23
dCTIDH
src
common
fp
fp_sqrt2047m7l188.c
Generated by
1.14.0