\frac{1}{2} \cdot \left(x + y \cdot \sqrt{z}\right)\frac{1}{2} \cdot \left(x + y \cdot \sqrt{z}\right)double f(double x, double y, double z) {
double r305331 = 1.0;
double r305332 = 2.0;
double r305333 = r305331 / r305332;
double r305334 = x;
double r305335 = y;
double r305336 = z;
double r305337 = sqrt(r305336);
double r305338 = r305335 * r305337;
double r305339 = r305334 + r305338;
double r305340 = r305333 * r305339;
return r305340;
}
double f(double x, double y, double z) {
double r305341 = 1.0;
double r305342 = 2.0;
double r305343 = r305341 / r305342;
double r305344 = x;
double r305345 = y;
double r305346 = z;
double r305347 = sqrt(r305346);
double r305348 = r305345 * r305347;
double r305349 = r305344 + r305348;
double r305350 = r305343 * r305349;
return r305350;
}



Bits error versus x



Bits error versus y



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