y^^{2}=x^^{3}+a*x^^{2}+16*a*x
Standard coordinates [database entry] represent x y as X Y Z ZZ satisfying the following equations:
x=X/Z
y=Y/ZZ
ZZ=Z^^{2}
Operation | Assumptions | Cost | Readdition cost |
---|---|---|---|
addition | Z1=1 and Z2=1 | 4M + 4S + 1*a | 4M + 4S + 1*a |
addition | Z1=1 and Z2=1 | 4M + 4S + 1*a | 4M + 4S + 1*a |
addition | Z1=1 and Z2=1 | 6M + 3S + 1*a | 6M + 3S + 1*a |
addition | Z2=1 | 8M + 4S + 1*a | 8M + 4S + 1*a |
addition | Z2=1 | 9M + 3S + 1*a | 9M + 3S + 1*a |
addition | 12M + 5S + 1*a | 12M + 5S + 1*a | |
addition | 21M + 15S + 2^^{4} + 1*a | 21M + 11S + 1^^{4} + 1*a | |
addition | 7I + 12M + 9S + 1^^{4} + 1*a | 4I + 9M + 8S + 1^^{4} + 1*a | |
doubling | a2=2*a and a16=16*a and Z1=1 | 1M + 5S + 1*a2 + 1*a | |
doubling | a2=2*a | 2M + 5S + 1*a2 + 1*a | |
doubling | a4=4*a | 3M + 4S + 1*a + 1*a4 | |
doubling | a16=16*a | 3M + 8S + 1*a16 + 2*a | |
scaling | 1I + 2M + 1S |
A = Y2-Y1 AA = A^^{2} B = X2-X1 CC = B^^{2} F = X1*CC Z3 = 2*CC D = X2*Z3 ZZ3 = Z3^^{2} X3 = 2*(AA-F)-a*Z3-D Y3 = ((A+B)^^{2}-AA-CC)*(D-X3)-Y2*ZZ3
A = Y2-Y1 AA = A^^{2} B = X2-X1 CC = B^^{2} D = 2*X2*CC F = X1*CC Z3 = 2*CC ZZ3 = Z3^^{2} X3 = 2*(AA-F)-a*Z3-D Y3 = ((A+B)^^{2}-AA-CC)*(D-X3)-Y2*ZZ3
A = Y1-Y2 B = X1-X2 C = B Z3 = C^^{2} D = X1*Z3 E = A^^{2} F = X2*B*C X3 = E-a*Z3-D-F G = Z3^^{2} H = A*C Y3 = H*(D-X3)-Y1*G ZZ3 = G
A = Y2*ZZ1-Y1 AA = A^^{2} B = X2*Z1-X1 C = B*Z1 CC = C^^{2} D = 2*X2*CC F = X1*B*C Z3 = 2*CC ZZ3 = Z3^^{2} X3 = 2*(AA-F)-a*Z3-D Y3 = ((A+C)^^{2}-AA-CC)*(D-X3)-Y2*ZZ3
A = Y2*ZZ1-Y1 B = X2*Z1-X1 C = B*Z1 Z3 = C^^{2} D = X2*Z3 E = A^^{2} F = X1*B*C X3 = E-a*Z3-D-F G = Z3^^{2} H = A*C Y3 = H*(D-X3)-Y2*G ZZ3 = G
A = Y1*ZZ2-Y2*ZZ1 AA = A^^{2} X2Z1 = X2*Z1 B = X1*Z2-X2Z1 C = B*Z2 E = C*Z1 EE = E^^{2} F = E*C D = F*X1 U = AA-a*EE-D-X2Z1*E*B X3 = 2*U Y3 = 2*((E+A)^^{2}-EE-AA)*(D-U)-Y1*(2*F)^^{2} Z3 = 2*EE ZZ3 = Z3^^{2}
A = Y1*Z2^^{2}-Y2*Z1^^{2} B = X1*Z2-X2*Z1 D = Z1*Z2^^{2}*B^^{2}*X1 U = A^^{2}-a*B^^{2}*Z1^^{2}*Z2^^{2}-D-X2*B^^{2}*Z1^^{2}*Z2 X3 = U Y3 = Z1*Z2*A*B*(D-U)-Z1^^{2}*Z2^^{4}*Y1*B^^{4} Z3 = Z1^^{2}*Z2^^{2}*B^^{2} ZZ3 = Z3^^{2}
A = Y1/Z1^^{2}-Y2/Z2^^{2} B = (X1/Z1)-(X2/Z2) D = (X1/Z1)*B^^{2} X3 = A^^{2}-a*B^^{2}-D-(X2/Z2)*B^^{2} Y3 = A*B*(D-X3)-(Y1/Z1^^{2})*B^^{4} Z3 = B^^{2} ZZ3 = Z3^^{2}
A = X1^^{2} B = A-a16 C = a2*A YY = Y1^^{2} YY2 = 2*YY Z3 = 2*YY2 X3 = B^^{2} V = (Y1+B)^^{2}-YY-X3 Y3 = V*(X3+64*C+a*(YY2-C)) ZZ3 = Z3^^{2}
A = X1^^{2} U = a2*ZZ1 B = A-8*U C = A*U YY = Y1^^{2} YY2 = 2*YY Z3 = 2*YY2 X3 = B^^{2} V = (Y1+B)^^{2}-YY-X3 Y3 = V*(X3+64*C+a*(YY2-C)) ZZ3 = Z3^^{2}
A = X1^^{2} U = a4*ZZ1 B = A-4*U C = A*U Z3 = (2*Y1)^^{2} X3 = B^^{2} Y3 = Y1*B*(2*(X3+32*C)+a*(Z3-C)) ZZ3 = Z3^^{2}
A = X1^^{2} B = X1^^{2}-a16*Z1^^{2} YT = Y1*B X3 = B^^{2} Z3 = 4*Y1^^{2} C = X1^^{2}*a*Z1^^{2} D = Z3^^{2} E = a*(Z3-4*C) Y3 = YT*(2*X3+E+256*C) ZZ3 = D
A = 1/Z1
X3 = X1*A
Y3 = Y1*A^^{2}
Z3 = 1
ZZ3 = 1