source 2007 Bernstein--Lange
unified
compute A = Z1 Z2
compute B = A^2
compute C = X1 X2
compute D = Y1 Y2
compute E = d C D
compute F = B-E
compute G = B+E
compute X3 = A F((X1+Y1)(X2+Y2)-C-D)
compute Y3 = A G(D-C)
compute Z3 = c F G
