Z1Squared = Z1^2 U2 = Z1Squared * X2 Z1Cubed = Z1Squared * Z1 S2 = Z1Cubed * Y2 Z2Squared = Z2^2 U1 = Z2Squared * X1 Z2Cubed = Z2Squared * Z2 S1 = Z2Cubed * Y1 H = U1 - U2 R = S1 - S2 HSquared = H^2 G = HSquared * H V = HSquared * U1 t0 = 2 * V t1 = R^2 t2 = t1 + G X3 = t2 - t0 t3 = V - X3 t4 = G * S1 t5 = t3 * R Y3 = t5 - t4 Z3 = H * Z1 Z3 = Z3 * Z2 Z3Squared = Z3^2 W = Z3Squared^2 T3 = W * a