source 2016 Renes-Costello-Batina "Complete addition formulas for prime order elliptic curves", algorithm (6)
compute t0 = X1^2
compute t1 = Y1^2
compute t2 = Z1^2
compute t3 = X1 Y1
compute t3 = t3 + t3
compute Z3 = X1 Z1
compute Z3 = Z3 + Z3
compute Y3 = b t2
compute Y3 = Y3 - Z3
compute X3 = Y3 + Y3
compute Y3 = Y3 + X3
compute X3 = t1 - Y3
compute Y3 = t1 + Y3
compute Y3 = X3 Y3
compute X3 = X3 t3
compute t3 = t2 + t2
compute t2 = t2 + t3
compute Z3 = b Z3
compute Z3 = Z3 - t2
compute Z3 = Z3 - t0
compute t3 = Z3 + Z3
compute Z3 = Z3 + t3
compute t3 = t0 + t0
compute t0 = t3 + t0
compute t0 = t0 - t2
compute t0 = t0 Z3
compute Y3 = Y3 + t0
compute t0 = Y1 Z1
compute t0 = t0 + t0
compute Z3 = t0 Z3
compute X3 = X3 - Z3
compute Z3 = t0 t1
compute Z3 = Z3 + Z3
compute Z3 = Z3 + Z3