x \cdot \sin y + z \cdot \cos y
\mathsf{fma}\left(x, \sin y, \left({\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}} \cdot z\right) \cdot \sqrt[3]{\cos y}\right)double f(double x, double y, double z) {
double r118238 = x;
double r118239 = y;
double r118240 = sin(r118239);
double r118241 = r118238 * r118240;
double r118242 = z;
double r118243 = cos(r118239);
double r118244 = r118242 * r118243;
double r118245 = r118241 + r118244;
return r118245;
}
double f(double x, double y, double z) {
double r118246 = x;
double r118247 = y;
double r118248 = sin(r118247);
double r118249 = cos(r118247);
double r118250 = 2.0;
double r118251 = pow(r118249, r118250);
double r118252 = 0.3333333333333333;
double r118253 = pow(r118251, r118252);
double r118254 = z;
double r118255 = r118253 * r118254;
double r118256 = cbrt(r118249);
double r118257 = r118255 * r118256;
double r118258 = fma(r118246, r118248, r118257);
return r118258;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.1
Simplified0.1
Taylor expanded around inf 0.1
Simplified0.1
rmApplied add-cube-cbrt0.4
Applied associate-*r*0.4
Simplified0.4
Taylor expanded around inf 0.2
Simplified0.3
rmApplied pow1/30.2
Final simplification0.2
herbie shell --seed 2019174 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, B"
(+ (* x (sin y)) (* z (cos y))))