\frac{1}{2} \cdot \left(x + y \cdot \sqrt{z}\right)\frac{1}{2} \cdot x + \left(\frac{1}{2} \cdot \sqrt{z}\right) \cdot ydouble f(double x, double y, double z) {
double r8377522 = 1.0;
double r8377523 = 2.0;
double r8377524 = r8377522 / r8377523;
double r8377525 = x;
double r8377526 = y;
double r8377527 = z;
double r8377528 = sqrt(r8377527);
double r8377529 = r8377526 * r8377528;
double r8377530 = r8377525 + r8377529;
double r8377531 = r8377524 * r8377530;
return r8377531;
}
double f(double x, double y, double z) {
double r8377532 = 1.0;
double r8377533 = 2.0;
double r8377534 = r8377532 / r8377533;
double r8377535 = x;
double r8377536 = r8377534 * r8377535;
double r8377537 = z;
double r8377538 = sqrt(r8377537);
double r8377539 = r8377534 * r8377538;
double r8377540 = y;
double r8377541 = r8377539 * r8377540;
double r8377542 = r8377536 + r8377541;
return r8377542;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
rmApplied add-sqr-sqrt0.1
Applied sqrt-prod0.3
Applied associate-*r*0.3
rmApplied distribute-rgt-in0.3
Simplified0.1
Final simplification0.1
herbie shell --seed 2019172 +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)))))