source 2007 Bernstein--Lange parameter i assume i^2 = -1 compute iX2 = i X2 compute C2 = Y2+iX2 compute D2 = Y2-iX2 compute iX1 = i X1 compute C1 = Y1+iX1 compute D1 = Y1-iX1 compute A = Z1 Z2 compute B = 2 A^2 compute C = C1 C2 compute D = D1 D2 compute L = D+C compute M = Y1 Y2 compute N = 2 M-L compute E = d M N compute F = B-E compute G = B+E compute X3 = i A F (D-C) compute Y3 = A G L compute Z3 = c G F