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