\left(x + y\right) \cdot \left(z + 1\right)
\mathsf{fma}\left(x, z, \mathsf{fma}\left(y, z, \mathsf{fma}\left(1, x, 1 \cdot y\right)\right)\right)double f(double x, double y, double z) {
double r34828 = x;
double r34829 = y;
double r34830 = r34828 + r34829;
double r34831 = z;
double r34832 = 1.0;
double r34833 = r34831 + r34832;
double r34834 = r34830 * r34833;
return r34834;
}
double f(double x, double y, double z) {
double r34835 = x;
double r34836 = z;
double r34837 = y;
double r34838 = 1.0;
double r34839 = r34838 * r34837;
double r34840 = fma(r34838, r34835, r34839);
double r34841 = fma(r34837, r34836, r34840);
double r34842 = fma(r34835, r34836, r34841);
return r34842;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.0
rmApplied distribute-lft-in0.0
Simplified0.0
Simplified0.0
rmApplied distribute-rgt-in0.0
Applied associate-+l+0.0
Simplified0.0
rmApplied fma-def0.0
Final simplification0.0
herbie shell --seed 2020100 +o rules:numerics
(FPCore (x y z)
:name "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, G"
:precision binary64
(* (+ x y) (+ z 1)))