l1 = Z2^2 l1 = l1 * X1 l2 = Z1^2 l2 = l2 * X2 l3 = l1 - l2 l4 = Z2^3 l4 = l4 * Y1 l5 = Z1^3 l5 = l5 * Y2 l6 = l4 - l5 l7 = l1 + l2 l8 = l4 + l5 Z3 = Z1 * Z2 Z3 = Z3 * l3 t1 = l6^2 t2 = l3^2 t2 = t2 * l7 X3 = t1 - t2 t1 = X3 * 2 l9 = t2 - t1 l9 = l9 * l6 t1 = l3^3 t1 = t1 * l8 Y3 = l9 - t1 Y3 = Y3 * half