\frac{1.0}{2.0} \cdot \left(x + y \cdot \sqrt{z}\right)\frac{\mathsf{fma}\left(y, \sqrt{z}, x\right) \cdot 1.0}{2.0}double f(double x, double y, double z) {
double r10512020 = 1.0;
double r10512021 = 2.0;
double r10512022 = r10512020 / r10512021;
double r10512023 = x;
double r10512024 = y;
double r10512025 = z;
double r10512026 = sqrt(r10512025);
double r10512027 = r10512024 * r10512026;
double r10512028 = r10512023 + r10512027;
double r10512029 = r10512022 * r10512028;
return r10512029;
}
double f(double x, double y, double z) {
double r10512030 = y;
double r10512031 = z;
double r10512032 = sqrt(r10512031);
double r10512033 = x;
double r10512034 = fma(r10512030, r10512032, r10512033);
double r10512035 = 1.0;
double r10512036 = r10512034 * r10512035;
double r10512037 = 2.0;
double r10512038 = r10512036 / r10512037;
return r10512038;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019162 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.Solve.Polynomial:quadForm from diagrams-solve-0.1, B"
(* (/ 1.0 2.0) (+ x (* y (sqrt z)))))