x \cdot \sin y + z \cdot \cos y
\sqrt[3]{\cos y} \cdot \left({\left(\sqrt[3]{\left(\cos y \cdot \left(\cos y \cdot \cos y\right)\right) \cdot \left(\cos y \cdot \left(\cos y \cdot \cos y\right)\right)}\right)}^{\frac{1}{3}} \cdot z\right) + x \cdot \sin ydouble f(double x, double y, double z) {
double r12112381 = x;
double r12112382 = y;
double r12112383 = sin(r12112382);
double r12112384 = r12112381 * r12112383;
double r12112385 = z;
double r12112386 = cos(r12112382);
double r12112387 = r12112385 * r12112386;
double r12112388 = r12112384 + r12112387;
return r12112388;
}
double f(double x, double y, double z) {
double r12112389 = y;
double r12112390 = cos(r12112389);
double r12112391 = cbrt(r12112390);
double r12112392 = r12112390 * r12112390;
double r12112393 = r12112390 * r12112392;
double r12112394 = r12112393 * r12112393;
double r12112395 = cbrt(r12112394);
double r12112396 = 0.3333333333333333;
double r12112397 = pow(r12112395, r12112396);
double r12112398 = z;
double r12112399 = r12112397 * r12112398;
double r12112400 = r12112391 * r12112399;
double r12112401 = x;
double r12112402 = sin(r12112389);
double r12112403 = r12112401 * r12112402;
double r12112404 = r12112400 + r12112403;
return r12112404;
}



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.4
Applied pow-prod-down0.2
rmApplied add-cbrt-cube0.2
Applied add-cbrt-cube0.3
Applied cbrt-unprod0.2
Final simplification0.2
herbie shell --seed 2019179
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, B"
(+ (* x (sin y)) (* z (cos y))))