x \cdot \cos y + z \cdot \sin y
\left(x \cdot {\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}}\right) \cdot \log \left(e^{\sqrt[3]{\cos y}}\right) + z \cdot \sin ydouble f(double x, double y, double z) {
double r176340 = x;
double r176341 = y;
double r176342 = cos(r176341);
double r176343 = r176340 * r176342;
double r176344 = z;
double r176345 = sin(r176341);
double r176346 = r176344 * r176345;
double r176347 = r176343 + r176346;
return r176347;
}
double f(double x, double y, double z) {
double r176348 = x;
double r176349 = y;
double r176350 = cos(r176349);
double r176351 = 2.0;
double r176352 = pow(r176350, r176351);
double r176353 = 0.3333333333333333;
double r176354 = pow(r176352, r176353);
double r176355 = r176348 * r176354;
double r176356 = cbrt(r176350);
double r176357 = exp(r176356);
double r176358 = log(r176357);
double r176359 = r176355 * r176358;
double r176360 = z;
double r176361 = sin(r176349);
double r176362 = r176360 * r176361;
double r176363 = r176359 + r176362;
return r176363;
}



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 pow1/316.5
Applied pow1/316.5
Applied pow-prod-down0.2
Simplified0.2
rmApplied add-log-exp0.2
Final simplification0.2
herbie shell --seed 2020003
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
:precision binary64
(+ (* x (cos y)) (* z (sin y))))