\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 r335221 = 1.0;
double r335222 = 2.0;
double r335223 = r335221 / r335222;
double r335224 = x;
double r335225 = y;
double r335226 = z;
double r335227 = sqrt(r335226);
double r335228 = r335225 * r335227;
double r335229 = r335224 + r335228;
double r335230 = r335223 * r335229;
return r335230;
}
double f(double x, double y, double z) {
double r335231 = 1.0;
double r335232 = 2.0;
double r335233 = r335231 / r335232;
double r335234 = z;
double r335235 = sqrt(r335234);
double r335236 = y;
double r335237 = x;
double r335238 = fma(r335235, r335236, r335237);
double r335239 = r335233 * r335238;
return r335239;
}



Bits error versus x



Bits error versus y



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