x \cdot \cos y + z \cdot \sin y
\left(x \cdot \left({\left({\left(\cos y\right)}^{4}\right)}^{\frac{1}{9}} \cdot \sqrt[3]{\sqrt[3]{{\left(\cos y\right)}^{2}}}\right)\right) \cdot \sqrt[3]{\cos y} + z \cdot \sin ydouble f(double x, double y, double z) {
double r201285 = x;
double r201286 = y;
double r201287 = cos(r201286);
double r201288 = r201285 * r201287;
double r201289 = z;
double r201290 = sin(r201286);
double r201291 = r201289 * r201290;
double r201292 = r201288 + r201291;
return r201292;
}
double f(double x, double y, double z) {
double r201293 = x;
double r201294 = y;
double r201295 = cos(r201294);
double r201296 = 4.0;
double r201297 = pow(r201295, r201296);
double r201298 = 0.1111111111111111;
double r201299 = pow(r201297, r201298);
double r201300 = 2.0;
double r201301 = pow(r201295, r201300);
double r201302 = cbrt(r201301);
double r201303 = cbrt(r201302);
double r201304 = r201299 * r201303;
double r201305 = r201293 * r201304;
double r201306 = cbrt(r201295);
double r201307 = r201305 * r201306;
double r201308 = z;
double r201309 = sin(r201294);
double r201310 = r201308 * r201309;
double r201311 = r201307 + r201310;
return r201311;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
rmApplied add-cube-cbrt0.4
Applied associate-*r*0.4
rmApplied cbrt-unprod0.3
Simplified0.3
rmApplied add-cube-cbrt0.3
Applied cbrt-prod0.4
Simplified0.3
Taylor expanded around inf 0.3
Final simplification0.3
herbie shell --seed 2020043 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
:precision binary64
(+ (* x (cos y)) (* z (sin y))))