\frac{1}{2} \cdot \left(x + y \cdot \sqrt{z}\right)\frac{1 \cdot \left(x + \sqrt{z} \cdot y\right)}{2}double f(double x, double y, double z) {
double r787940 = 1.0;
double r787941 = 2.0;
double r787942 = r787940 / r787941;
double r787943 = x;
double r787944 = y;
double r787945 = z;
double r787946 = sqrt(r787945);
double r787947 = r787944 * r787946;
double r787948 = r787943 + r787947;
double r787949 = r787942 * r787948;
return r787949;
}
double f(double x, double y, double z) {
double r787950 = 1.0;
double r787951 = x;
double r787952 = z;
double r787953 = sqrt(r787952);
double r787954 = y;
double r787955 = r787953 * r787954;
double r787956 = r787951 + r787955;
double r787957 = r787950 * r787956;
double r787958 = 2.0;
double r787959 = r787957 / r787958;
return r787959;
}



Bits error versus x



Bits error versus y



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