y^2=x^3+3*a*(x+1)^2
Standard coordinates [database entry] represent x y as X Y Z ZZ satisfying the following equations:
x=X/Z^2 y=Y/Z^3 ZZ=Z^2
Operation | Assumptions | Cost | Readdition cost |
---|---|---|---|
addition | a3=3*a and Z1=1 and Z2=1 | 4M + 2S + 1*a3 | 4M + 2S + 1*a3 |
addition | a3=3*a and Z1=1 and Z2=1 | 4M + 3S + 1*a3 | 4M + 3S + 1*a3 |
addition | a3=3*a and Z2=1 | 7M + 4S + 1*a3 | 7M + 4S + 1*a3 |
addition | a3=3*a and Z2=1 | 8M + 3S + 1*a3 | 8M + 3S + 1*a3 |
addition | a3=3*a | 11M + 6S + 1*a3 | 10M + 6S + 1*a3 |
addition | a3=3*a | 13M + 4S + 1*a3 | 12M + 4S + 1*a3 |
addition | 15M + 11S + 5^3 + 1*a | 15M + 7S + 3^3 + 1*a | |
addition | 7I + 11M + 9S + 5^3 + 1*a | 5I + 9M + 8S + 4^3 + 1*a | |
doubling | a2=2*a and a3=3*a and Z1=1 | 1M + 5S + 1*a2 + 1*a3 | |
doubling | a2=2*a and a3=3*a | 2M + 7S + 1*a2 + 1*a3 | |
doubling | a3=3*a | 4M + 5S + 1*a3 + 1*a | |
doubling | a3=3*a | 4M + 5S + 1^4 + 1*a3 + 2*a | |
tripling | 6M + 6S + 2*a | ||
tripling | b=4*a-9 and c=-3*a | 6M + 7S + 1*a + 1*b + 1*c | |
scaling | 1I + 3M + 1S |
C = X1-X2 D = 2*(Y1-Y2) F = C^2 F4 = 4*F Z3 = 2*C G = C*F4 H = X2*F4 X3 = D^2-G-2*H-a3*F4 Y3 = D*(H-X3)-2*Y2*G ZZ3 = F4
A = X1 B = Y1 C = X2-A D = Y2-B Z3 = C E = Z3^2 F = C^2 G = C*F H = A*F X3 = D^2-G-a3*E-2*H Y3 = D*(H-X3)-B*G ZZ3 = E
A = X2*ZZ1 B = Y2*ZZ1*Z1 C = X1-A D = 2*(Y1-B) F = C^2 F4 = 4*F Z3 = (Z1+C)^2-ZZ1-F E = Z3^2 G = C*F4 H = A*F4 X3 = D^2-G-2*H-a3*E Y3 = D*(H-X3)-2*B*G ZZ3 = E
A = X2*ZZ1 B = Y2*ZZ1*Z1 C = X1-A D = Y1-B Z3 = Z1*C E = Z3^2 F = C^2 G = C*F H = A*F X3 = D^2-G-a3*E-2*H Y3 = D*(H-X3)-B*G ZZ3 = E
ZZZ2 = Z2*ZZ2 ZZZ1 = Z1*ZZ1 A = X2*ZZ1-X1*ZZ2 B = Y2*ZZZ1-Y1*ZZZ2 AA = A^2 C = (Z2+A)^2-ZZ2-AA CC = C^2 CC8 = 8*CC D = X1*CC8 Z3 = (Z1+C)^2-ZZ1-CC E = Z3^2 X3 = 16*(B^2-A*AA)-D-a3*E Y3 = 2*B*(D-2*X3)-Y1*C*CC8 ZZ3 = E
A = X2*ZZ1-X1*ZZ2 B = Y2*Z1*ZZ1-Y1*Z2*ZZ2 C = Z2*A CC = C^2 D = X1*CC Z3 = Z1*C E = Z3^2 X3 = B^2-A*A^2-a3*E-2*D Y3 = B*(D-X3)-Y1*C*CC ZZ3 = E
A = X2*Z1^2-X1*Z2^2 B = Y2*Z1^3-Y1*Z2^3 X3 = B^2-A^3-Z1^2*Z2^2*3*a*A^2-Z2^2*2*A^2*X1 Y3 = B*(Z2^2*A^2*X1-X3)-Z2^3*A^3*Y1 Z3 = Z1*Z2*A ZZ3 = Z3^2
D = Y2/Z2^3-Y1/Z1^3 Z3 = X2/Z2^2-X1/Z1^2 X3 = D^2-Z3^3-3*a*Z3^2-2*Z3^2*X1/Z1^2 Y3 = D*(Z3^2*X1/Z1^2-X3)-Z3^3*Y1/Z1^3 ZZ3 = Z3^2
A = X1^2 B = a2*(X1+1) C = 3*(A+B) D = Y1^2 E = D^2 Z3 = 2*Y1 ZZ3 = 4*D F = 2*((X1+D)^2-A-E) X3 = C^2-a3*ZZ3-2*F Y3 = C*(F-X3)-8*E
A = X1^2 B = a2*ZZ1*(X1+ZZ1) C = 3*(A+B) D = Y1^2 E = D^2 Z3 = (Y1+Z1)^2-D-ZZ1 ZZ3 = Z3^2 F = 2*((X1+D)^2-A-E) X3 = C^2-a3*ZZ3-2*F Y3 = C*(F-X3)-8*E
YY1 = Y1^2 A = Y1*Z1 Z3 = 2*A B = 4*YY1*X1 ZZ3 = Z3^2 D = 3*X1^2 E = D+6*a*ZZ1*(ZZ1+X1) X3 = E^2-2*B-a3*ZZ3 Y3 = E*(B-X3)-8*YY1^2
A = Y1*Z1 Z3 = 2*A B = 4*Y1^2*X1 C = B+6*a*A^2 ZZ3 = 4*A^2 D = 3*X1^2 E = D+6*a*ZZ1*(ZZ1+X1) X3 = E^2-2*B-a3*ZZ3 Y3 = E*(B-X3)-8*Y1^4
YY1 = Y1^2 A = (X1+3*ZZ1)^2 B = a*ZZ1*A Xt = YY1+B Yt = Y1*(YY1-3*B) Zt = X1*Z1 C = Zt^2 Ca = a*C E = 3*Ca*(4*Ca-9*C-Xt)^2 X3 = Yt^2-E Y3 = Yt*(X3+4*E) Z3 = 3*Xt*Zt ZZ3 = Z3^2
A = (X1+3*ZZ1)^2 B = a*ZZ1*A Xt = Y1^2+B Yt = Y1*(Y1^2-3*B) Zt = X1*Z1 C = Zt^2 D = (b*C-Xt)^2 E = c*C*D X3 = (Yt^2+E) Y3 = Yt*(X3-4*E) Z3 = 3*Xt*Zt ZZ3 = Z3^2
A = 1/Z1
AA = A^2
X3 = X1*AA
Y3 = Y1*AA*A
Z3 = 1
ZZ3 = 1