\frac{1}{2} \cdot \left(x + y \cdot \sqrt{z}\right)\frac{1}{2} \cdot \mathsf{fma}\left(\sqrt{z}, y, x\right)double f(double x, double y, double z) {
double r250742 = 1.0;
double r250743 = 2.0;
double r250744 = r250742 / r250743;
double r250745 = x;
double r250746 = y;
double r250747 = z;
double r250748 = sqrt(r250747);
double r250749 = r250746 * r250748;
double r250750 = r250745 + r250749;
double r250751 = r250744 * r250750;
return r250751;
}
double f(double x, double y, double z) {
double r250752 = 1.0;
double r250753 = 2.0;
double r250754 = r250752 / r250753;
double r250755 = z;
double r250756 = sqrt(r250755);
double r250757 = y;
double r250758 = x;
double r250759 = fma(r250756, r250757, r250758);
double r250760 = r250754 * r250759;
return r250760;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.2
Simplified0.1
Final simplification0.1
herbie shell --seed 2020047 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.Solve.Polynomial:quadForm from diagrams-solve-0.1, B"
:precision binary64
(* (/ 1 2) (+ x (* y (sqrt z)))))