feSquare calculates h = f*f. Can overlap h with f. Preconditions: |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. Postconditions: |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
(h, f *fieldElement)
| 545 | // Postconditions: |
| 546 | // |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. |
| 547 | func feSquare(h, f *fieldElement) { |
| 548 | f0 := f[0] |
| 549 | f1 := f[1] |
| 550 | f2 := f[2] |
| 551 | f3 := f[3] |
| 552 | f4 := f[4] |
| 553 | f5 := f[5] |
| 554 | f6 := f[6] |
| 555 | f7 := f[7] |
| 556 | f8 := f[8] |
| 557 | f9 := f[9] |
| 558 | f0_2 := 2 * f0 |
| 559 | f1_2 := 2 * f1 |
| 560 | f2_2 := 2 * f2 |
| 561 | f3_2 := 2 * f3 |
| 562 | f4_2 := 2 * f4 |
| 563 | f5_2 := 2 * f5 |
| 564 | f6_2 := 2 * f6 |
| 565 | f7_2 := 2 * f7 |
| 566 | f5_38 := 38 * f5 // 1.31*2^30 |
| 567 | f6_19 := 19 * f6 // 1.31*2^30 |
| 568 | f7_38 := 38 * f7 // 1.31*2^30 |
| 569 | f8_19 := 19 * f8 // 1.31*2^30 |
| 570 | f9_38 := 38 * f9 // 1.31*2^30 |
| 571 | f0f0 := int64(f0) * int64(f0) |
| 572 | f0f1_2 := int64(f0_2) * int64(f1) |
| 573 | f0f2_2 := int64(f0_2) * int64(f2) |
| 574 | f0f3_2 := int64(f0_2) * int64(f3) |
| 575 | f0f4_2 := int64(f0_2) * int64(f4) |
| 576 | f0f5_2 := int64(f0_2) * int64(f5) |
| 577 | f0f6_2 := int64(f0_2) * int64(f6) |
| 578 | f0f7_2 := int64(f0_2) * int64(f7) |
| 579 | f0f8_2 := int64(f0_2) * int64(f8) |
| 580 | f0f9_2 := int64(f0_2) * int64(f9) |
| 581 | f1f1_2 := int64(f1_2) * int64(f1) |
| 582 | f1f2_2 := int64(f1_2) * int64(f2) |
| 583 | f1f3_4 := int64(f1_2) * int64(f3_2) |
| 584 | f1f4_2 := int64(f1_2) * int64(f4) |
| 585 | f1f5_4 := int64(f1_2) * int64(f5_2) |
| 586 | f1f6_2 := int64(f1_2) * int64(f6) |
| 587 | f1f7_4 := int64(f1_2) * int64(f7_2) |
| 588 | f1f8_2 := int64(f1_2) * int64(f8) |
| 589 | f1f9_76 := int64(f1_2) * int64(f9_38) |
| 590 | f2f2 := int64(f2) * int64(f2) |
| 591 | f2f3_2 := int64(f2_2) * int64(f3) |
| 592 | f2f4_2 := int64(f2_2) * int64(f4) |
| 593 | f2f5_2 := int64(f2_2) * int64(f5) |
| 594 | f2f6_2 := int64(f2_2) * int64(f6) |
| 595 | f2f7_2 := int64(f2_2) * int64(f7) |
| 596 | f2f8_38 := int64(f2_2) * int64(f8_19) |
| 597 | f2f9_38 := int64(f2) * int64(f9_38) |
| 598 | f3f3_2 := int64(f3_2) * int64(f3) |
| 599 | f3f4_2 := int64(f3_2) * int64(f4) |
| 600 | f3f5_4 := int64(f3_2) * int64(f5_2) |
| 601 | f3f6_2 := int64(f3_2) * int64(f6) |
| 602 | f3f7_76 := int64(f3_2) * int64(f7_38) |
| 603 | f3f8_38 := int64(f3_2) * int64(f8_19) |
| 604 | f3f9_76 := int64(f3_2) * int64(f9_38) |
no outgoing calls
no test coverage detected