source 2002 Brier--Joye "Weierstrass elliptic curves and side-channel attacks", page 339 compute U1 = X1 Z2 compute U2 = X2 Z1 compute S1 = Y1 Z2 compute S2 = Y2 Z1 compute ZZ = Z1 Z2 compute T = U1+U2 compute M = S1+S2 compute R = T^2-U1 U2+a ZZ^2 compute F = ZZ M compute L = M F compute G = T L compute W = R^2-G compute X3 = 2 F W compute Y3 = R(G-2 W)-L^2 compute Z3 = 2 F F^2