\frac{\left(x + y\right) - z}{t \cdot 2}0.5 \cdot \left(\mathsf{fma}\left(y, \frac{1}{t}, \frac{x}{t}\right) - \frac{z}{t}\right)double code(double x, double y, double z, double t) {
return (((x + y) - z) / (t * 2.0));
}
double code(double x, double y, double z, double t) {
return (0.5 * (fma(y, (1.0 / t), (x / t)) - (z / t)));
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 0.0
Taylor expanded around 0 0.0
Simplified0.0
rmApplied div-inv0.1
Applied fma-def0.1
Final simplification0.1
herbie shell --seed 2020066 +o rules:numerics
(FPCore (x y z t)
:name "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, B"
:precision binary64
(/ (- (+ x y) z) (* t 2)))