source 2007 Bernstein--Lange assume Z2=1 compute Z1Z1 = Z1^2 compute U2 = X2 Z1Z1 compute S2 = Y2 Z1 Z1Z1 compute H = U2-X1 compute HH = H^2 compute I = 4 HH compute J = H I compute r = 2 (S2-Y1) compute V = X1 I compute X3 = r^2-J-2 V compute Y3 = r (V-X3)-2 Y1 J compute Z3 = (Z1+H)^2-Z1Z1-HH