source 2005 Doche--Lange compute A = Y1 Z2 + Z1 Y2 compute B = X1 Z2 + Z1 X2 compute C = B^2 compute D = Z1 Z2 compute E = (A^2 + A B + a2 C) D + B C compute X3 = B E compute Y3 = C (A X1 + Y1 B) Z2 + (A + B) E compute Z3 = B^3 D