x \cdot \cos y + z \cdot \sin y
\sin y \cdot z + \sqrt[3]{\cos y} \cdot \left(x \cdot {\left(\frac{1}{2} + \frac{1}{2} \cdot \cos \left(y + y\right)\right)}^{\frac{1}{3}}\right)double f(double x, double y, double z) {
double r10538418 = x;
double r10538419 = y;
double r10538420 = cos(r10538419);
double r10538421 = r10538418 * r10538420;
double r10538422 = z;
double r10538423 = sin(r10538419);
double r10538424 = r10538422 * r10538423;
double r10538425 = r10538421 + r10538424;
return r10538425;
}
double f(double x, double y, double z) {
double r10538426 = y;
double r10538427 = sin(r10538426);
double r10538428 = z;
double r10538429 = r10538427 * r10538428;
double r10538430 = cos(r10538426);
double r10538431 = cbrt(r10538430);
double r10538432 = x;
double r10538433 = 0.5;
double r10538434 = r10538426 + r10538426;
double r10538435 = cos(r10538434);
double r10538436 = r10538433 * r10538435;
double r10538437 = r10538433 + r10538436;
double r10538438 = 0.3333333333333333;
double r10538439 = pow(r10538437, r10538438);
double r10538440 = r10538432 * r10538439;
double r10538441 = r10538431 * r10538440;
double r10538442 = r10538429 + r10538441;
return r10538442;
}



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.3
Applied pow1/316.2
Applied pow-prod-down0.2
rmApplied sqr-cos0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019171
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
(+ (* x (cos y)) (* z (sin y))))