x \cdot \sin y + z \cdot \cos y
x \cdot \sin y + \left(z \cdot {\left({\left({\left(\cos y\right)}^{2}\right)}^{\frac{2}{3}} \cdot \sqrt[3]{{\left(\cos y\right)}^{2}}\right)}^{\frac{1}{3}}\right) \cdot \sqrt[3]{\cos y}double f(double x, double y, double z) {
double r125621 = x;
double r125622 = y;
double r125623 = sin(r125622);
double r125624 = r125621 * r125623;
double r125625 = z;
double r125626 = cos(r125622);
double r125627 = r125625 * r125626;
double r125628 = r125624 + r125627;
return r125628;
}
double f(double x, double y, double z) {
double r125629 = x;
double r125630 = y;
double r125631 = sin(r125630);
double r125632 = r125629 * r125631;
double r125633 = z;
double r125634 = cos(r125630);
double r125635 = 2.0;
double r125636 = pow(r125634, r125635);
double r125637 = 0.6666666666666666;
double r125638 = pow(r125636, r125637);
double r125639 = cbrt(r125636);
double r125640 = r125638 * r125639;
double r125641 = 0.3333333333333333;
double r125642 = pow(r125640, r125641);
double r125643 = r125633 * r125642;
double r125644 = cbrt(r125634);
double r125645 = r125643 * r125644;
double r125646 = r125632 + r125645;
return r125646;
}



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
Simplified0.2
rmApplied add-cube-cbrt0.3
Simplified0.2
Final simplification0.2
herbie shell --seed 2019323
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, B"
:precision binary64
(+ (* x (sin y)) (* z (cos y))))