\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 r298966 = 1.0;
double r298967 = 2.0;
double r298968 = r298966 / r298967;
double r298969 = x;
double r298970 = y;
double r298971 = z;
double r298972 = sqrt(r298971);
double r298973 = r298970 * r298972;
double r298974 = r298969 + r298973;
double r298975 = r298968 * r298974;
return r298975;
}
double f(double x, double y, double z) {
double r298976 = 1.0;
double r298977 = 2.0;
double r298978 = r298976 / r298977;
double r298979 = z;
double r298980 = sqrt(r298979);
double r298981 = y;
double r298982 = x;
double r298983 = fma(r298980, r298981, r298982);
double r298984 = r298978 * r298983;
return r298984;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020042 +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)))))