\frac{1}{2} \cdot \left(x + y \cdot \sqrt{z}\right)\frac{\mathsf{fma}\left(\sqrt{z}, y, x\right) \cdot 1}{2}double f(double x, double y, double z) {
double r205575 = 1.0;
double r205576 = 2.0;
double r205577 = r205575 / r205576;
double r205578 = x;
double r205579 = y;
double r205580 = z;
double r205581 = sqrt(r205580);
double r205582 = r205579 * r205581;
double r205583 = r205578 + r205582;
double r205584 = r205577 * r205583;
return r205584;
}
double f(double x, double y, double z) {
double r205585 = z;
double r205586 = sqrt(r205585);
double r205587 = y;
double r205588 = x;
double r205589 = fma(r205586, r205587, r205588);
double r205590 = 1.0;
double r205591 = r205589 * r205590;
double r205592 = 2.0;
double r205593 = r205591 / r205592;
return r205593;
}



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)))))