\frac{1}{2} \cdot \left(x + y \cdot \sqrt{z}\right)\frac{1}{2} \cdot x + \left(\sqrt{\sqrt{z}} \cdot y\right) \cdot \left(\sqrt{\sqrt{z}} \cdot \frac{1}{2}\right)double f(double x, double y, double z) {
double r9320889 = 1.0;
double r9320890 = 2.0;
double r9320891 = r9320889 / r9320890;
double r9320892 = x;
double r9320893 = y;
double r9320894 = z;
double r9320895 = sqrt(r9320894);
double r9320896 = r9320893 * r9320895;
double r9320897 = r9320892 + r9320896;
double r9320898 = r9320891 * r9320897;
return r9320898;
}
double f(double x, double y, double z) {
double r9320899 = 1.0;
double r9320900 = 2.0;
double r9320901 = r9320899 / r9320900;
double r9320902 = x;
double r9320903 = r9320901 * r9320902;
double r9320904 = z;
double r9320905 = sqrt(r9320904);
double r9320906 = sqrt(r9320905);
double r9320907 = y;
double r9320908 = r9320906 * r9320907;
double r9320909 = r9320906 * r9320901;
double r9320910 = r9320908 * r9320909;
double r9320911 = r9320903 + r9320910;
return r9320911;
}



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 add-sqr-sqrt0.3
Applied sqrt-prod0.3
Applied sqrt-prod0.4
Applied associate-*r*0.4
rmApplied add-sqr-sqrt0.4
Applied sqrt-prod0.4
Applied sqrt-prod0.5
Applied associate-*r*0.5
Simplified0.4
rmApplied distribute-lft-in0.4
Simplified0.3
Final simplification0.3
herbie shell --seed 2019172
(FPCore (x y z)
:name "Diagrams.Solve.Polynomial:quadForm from diagrams-solve-0.1, B"
(* (/ 1.0 2.0) (+ x (* y (sqrt z)))))