\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 r198101 = 1.0;
double r198102 = 2.0;
double r198103 = r198101 / r198102;
double r198104 = x;
double r198105 = y;
double r198106 = z;
double r198107 = sqrt(r198106);
double r198108 = r198105 * r198107;
double r198109 = r198104 + r198108;
double r198110 = r198103 * r198109;
return r198110;
}
double f(double x, double y, double z) {
double r198111 = 1.0;
double r198112 = 2.0;
double r198113 = r198111 / r198112;
double r198114 = z;
double r198115 = sqrt(r198114);
double r198116 = y;
double r198117 = x;
double r198118 = fma(r198115, r198116, r198117);
double r198119 = r198113 * r198118;
return r198119;
}



Bits error versus x



Bits error versus y



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