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 r182550 = x;
double r182551 = y;
double r182552 = cos(r182551);
double r182553 = r182550 * r182552;
double r182554 = z;
double r182555 = sin(r182551);
double r182556 = r182554 * r182555;
double r182557 = r182553 + r182556;
return r182557;
}
double f(double x, double y, double z) {
double r182558 = x;
double r182559 = y;
double r182560 = cos(r182559);
double r182561 = 2.0;
double r182562 = pow(r182560, r182561);
double r182563 = 0.3333333333333333;
double r182564 = pow(r182562, r182563);
double r182565 = r182558 * r182564;
double r182566 = cbrt(r182560);
double r182567 = exp(r182566);
double r182568 = log(r182567);
double r182569 = r182565 * r182568;
double r182570 = z;
double r182571 = sin(r182559);
double r182572 = r182570 * r182571;
double r182573 = r182569 + r182572;
return r182573;
}



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.4
Applied pow1/316.3
Applied pow-prod-down0.2
Simplified0.2
rmApplied add-log-exp0.2
Final simplification0.2
herbie shell --seed 2020033 +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))))