source 2007 Bernstein--Lange
assume Z1 = 1
compute a0 = S1
compute a1 = C1
compute a2 = D1
compute m = a1^2
compute l2 = a0 a2
compute n = l2^2
compute l3 = 2(a1 a2)^2
compute r3 = m+n
compute r0 = (a1+l2)^2-r3
compute r1 = m-n
compute r2 = l3-r1
compute S3 = r0
compute C3 = r1
compute D3 = r2
compute Z3 = r3
compute SC3 = S3 C3
compute DZ3 = D3 Z3