\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 r223677 = 1.0;
double r223678 = 2.0;
double r223679 = r223677 / r223678;
double r223680 = x;
double r223681 = y;
double r223682 = z;
double r223683 = sqrt(r223682);
double r223684 = r223681 * r223683;
double r223685 = r223680 + r223684;
double r223686 = r223679 * r223685;
return r223686;
}
double f(double x, double y, double z) {
double r223687 = z;
double r223688 = sqrt(r223687);
double r223689 = y;
double r223690 = x;
double r223691 = fma(r223688, r223689, r223690);
double r223692 = 1.0;
double r223693 = r223691 * r223692;
double r223694 = 2.0;
double r223695 = r223693 / r223694;
return r223695;
}



Bits error versus x



Bits error versus y



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