source 2007 Bernstein--Lange assume Z2 = 1 compute A = Y2 ZZ1-Y1 compute AA = A^2 compute B = X2 Z1-X1 compute C = B Z1 compute CC = C^2 compute D = 2 X2 CC compute F = X1 B C compute Z3 = 2 CC compute ZZ3 = Z3^2 compute X3 = 2 (AA-F)-a Z3-D compute Y3 = ((A+C)^2-AA-CC) (D-X3)-Y2 ZZ3