source 2008 Bernstein--Lange assume Z2 = 1 compute A = Y1 + Z1 Y2 compute B = X1 + Z1 X2 compute AB = A + B compute C = B^2 compute E = B C compute F = (A AB + a2 C) Z1 + E compute X3 = B F compute Y3 = C (A X1 + B Y1) + AB F compute Z3 = E Z1