\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 r145302 = 1.0;
double r145303 = 2.0;
double r145304 = r145302 / r145303;
double r145305 = x;
double r145306 = y;
double r145307 = z;
double r145308 = sqrt(r145307);
double r145309 = r145306 * r145308;
double r145310 = r145305 + r145309;
double r145311 = r145304 * r145310;
return r145311;
}
double f(double x, double y, double z) {
double r145312 = 1.0;
double r145313 = 2.0;
double r145314 = r145312 / r145313;
double r145315 = z;
double r145316 = sqrt(r145315);
double r145317 = y;
double r145318 = x;
double r145319 = fma(r145316, r145317, r145318);
double r145320 = r145314 * r145319;
return r145320;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019323 +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)))))