x \cdot \sin y + z \cdot \cos y
x \cdot \sin y + \left(z \cdot {\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{6}}\right) \cdot \left({\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{6}} \cdot \sqrt[3]{\cos y}\right)double f(double x, double y, double z) {
double r148445 = x;
double r148446 = y;
double r148447 = sin(r148446);
double r148448 = r148445 * r148447;
double r148449 = z;
double r148450 = cos(r148446);
double r148451 = r148449 * r148450;
double r148452 = r148448 + r148451;
return r148452;
}
double f(double x, double y, double z) {
double r148453 = x;
double r148454 = y;
double r148455 = sin(r148454);
double r148456 = r148453 * r148455;
double r148457 = z;
double r148458 = cos(r148454);
double r148459 = 2.0;
double r148460 = pow(r148458, r148459);
double r148461 = 0.16666666666666666;
double r148462 = pow(r148460, r148461);
double r148463 = r148457 * r148462;
double r148464 = cbrt(r148458);
double r148465 = r148462 * r148464;
double r148466 = r148463 * r148465;
double r148467 = r148456 + r148466;
return r148467;
}



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/315.9
Applied pow1/315.9
Applied pow-prod-down0.2
Simplified0.2
rmApplied sqr-pow0.2
Applied associate-*r*0.2
Simplified0.2
rmApplied associate-*l*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019306
(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))))