x \cdot \sin y + z \cdot \cos y
\mathsf{fma}\left(x, \sin y, \sqrt[3]{\cos y} \cdot \left(z \cdot {\left(\cos y \cdot \cos y\right)}^{\frac{1}{3}}\right)\right)double f(double x, double y, double z) {
double r7719234 = x;
double r7719235 = y;
double r7719236 = sin(r7719235);
double r7719237 = r7719234 * r7719236;
double r7719238 = z;
double r7719239 = cos(r7719235);
double r7719240 = r7719238 * r7719239;
double r7719241 = r7719237 + r7719240;
return r7719241;
}
double f(double x, double y, double z) {
double r7719242 = x;
double r7719243 = y;
double r7719244 = sin(r7719243);
double r7719245 = cos(r7719243);
double r7719246 = cbrt(r7719245);
double r7719247 = z;
double r7719248 = r7719245 * r7719245;
double r7719249 = 0.3333333333333333;
double r7719250 = pow(r7719248, r7719249);
double r7719251 = r7719247 * r7719250;
double r7719252 = r7719246 * r7719251;
double r7719253 = fma(r7719242, r7719244, r7719252);
return r7719253;
}



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
rmApplied cbrt-unprod0.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))))