ge_p2_dbl.h (1476B)
1 /* qhasm: enter ge_p2_dbl */ 2 3 /* qhasm: fe X1 */ 4 5 /* qhasm: fe Y1 */ 6 7 /* qhasm: fe Z1 */ 8 9 /* qhasm: fe A */ 10 11 /* qhasm: fe AA */ 12 13 /* qhasm: fe XX */ 14 15 /* qhasm: fe YY */ 16 17 /* qhasm: fe B */ 18 19 /* qhasm: fe X3 */ 20 21 /* qhasm: fe Y3 */ 22 23 /* qhasm: fe Z3 */ 24 25 /* qhasm: fe T3 */ 26 27 /* qhasm: XX=X1^2 */ 28 /* asm 1: fe_sq(>XX=fe#1,<X1=fe#11); */ 29 /* asm 2: fe_sq(>XX=r->X,<X1=p->X); */ 30 fe_sq(r->X,p->X); 31 32 /* qhasm: YY=Y1^2 */ 33 /* asm 1: fe_sq(>YY=fe#3,<Y1=fe#12); */ 34 /* asm 2: fe_sq(>YY=r->Z,<Y1=p->Y); */ 35 fe_sq(r->Z,p->Y); 36 37 /* qhasm: B=2*Z1^2 */ 38 /* asm 1: fe_sq2(>B=fe#4,<Z1=fe#13); */ 39 /* asm 2: fe_sq2(>B=r->T,<Z1=p->Z); */ 40 fe_sq2(r->T,p->Z); 41 42 /* qhasm: A=X1+Y1 */ 43 /* asm 1: fe_add(>A=fe#2,<X1=fe#11,<Y1=fe#12); */ 44 /* asm 2: fe_add(>A=r->Y,<X1=p->X,<Y1=p->Y); */ 45 fe_add(r->Y,p->X,p->Y); 46 47 /* qhasm: AA=A^2 */ 48 /* asm 1: fe_sq(>AA=fe#5,<A=fe#2); */ 49 /* asm 2: fe_sq(>AA=t0,<A=r->Y); */ 50 fe_sq(t0,r->Y); 51 52 /* qhasm: Y3=YY+XX */ 53 /* asm 1: fe_add(>Y3=fe#2,<YY=fe#3,<XX=fe#1); */ 54 /* asm 2: fe_add(>Y3=r->Y,<YY=r->Z,<XX=r->X); */ 55 fe_add(r->Y,r->Z,r->X); 56 57 /* qhasm: Z3=YY-XX */ 58 /* asm 1: fe_sub(>Z3=fe#3,<YY=fe#3,<XX=fe#1); */ 59 /* asm 2: fe_sub(>Z3=r->Z,<YY=r->Z,<XX=r->X); */ 60 fe_sub(r->Z,r->Z,r->X); 61 62 /* qhasm: X3=AA-Y3 */ 63 /* asm 1: fe_sub(>X3=fe#1,<AA=fe#5,<Y3=fe#2); */ 64 /* asm 2: fe_sub(>X3=r->X,<AA=t0,<Y3=r->Y); */ 65 fe_sub(r->X,t0,r->Y); 66 67 /* qhasm: T3=B-Z3 */ 68 /* asm 1: fe_sub(>T3=fe#4,<B=fe#4,<Z3=fe#3); */ 69 /* asm 2: fe_sub(>T3=r->T,<B=r->T,<Z3=r->Z); */ 70 fe_sub(r->T,r->T,r->Z); 71 72 /* qhasm: return */