\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 r209646 = 1.0;
double r209647 = 2.0;
double r209648 = r209646 / r209647;
double r209649 = x;
double r209650 = y;
double r209651 = z;
double r209652 = sqrt(r209651);
double r209653 = r209650 * r209652;
double r209654 = r209649 + r209653;
double r209655 = r209648 * r209654;
return r209655;
}
double f(double x, double y, double z) {
double r209656 = 1.0;
double r209657 = 2.0;
double r209658 = r209656 / r209657;
double r209659 = z;
double r209660 = sqrt(r209659);
double r209661 = y;
double r209662 = x;
double r209663 = fma(r209660, r209661, r209662);
double r209664 = r209658 * r209663;
return r209664;
}



Bits error versus x



Bits error versus y



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