\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 r318581 = 1.0;
double r318582 = 2.0;
double r318583 = r318581 / r318582;
double r318584 = x;
double r318585 = y;
double r318586 = z;
double r318587 = sqrt(r318586);
double r318588 = r318585 * r318587;
double r318589 = r318584 + r318588;
double r318590 = r318583 * r318589;
return r318590;
}
double f(double x, double y, double z) {
double r318591 = 1.0;
double r318592 = 2.0;
double r318593 = r318591 / r318592;
double r318594 = z;
double r318595 = sqrt(r318594);
double r318596 = y;
double r318597 = x;
double r318598 = fma(r318595, r318596, r318597);
double r318599 = r318593 * r318598;
return r318599;
}



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