source 2008 Bernstein--Lange--Rezaeian Farashahi assume Z2 = 1 compute W1 = X1 + Y1 compute w2 = X2 + Y2 compute A = X2^2 + X2 compute B = Y2^2 + Y2 compute D = W1 Z1 compute E = d1 Z1^2 compute H = (E + d2 D) w2 compute I = d1 Z1 compute U = E + A D compute V = E + B D compute Z3 = U V compute X3 = Z3 Y2 + (H + X1(I + A(Y1 + Z1))) V compute Y3 = Z3 X2 + (H + Y1(I + B(X1 + Z1))) U