x \cdot \cos y - z \cdot \sin y
\left(x \cdot \sqrt[3]{{\left({\left(\cos y\right)}^{2}\right)}^{\frac{2}{3}} \cdot {\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}}}\right) \cdot \sqrt[3]{\cos y} - z \cdot \sin ydouble f(double x, double y, double z) {
double r246188 = x;
double r246189 = y;
double r246190 = cos(r246189);
double r246191 = r246188 * r246190;
double r246192 = z;
double r246193 = sin(r246189);
double r246194 = r246192 * r246193;
double r246195 = r246191 - r246194;
return r246195;
}
double f(double x, double y, double z) {
double r246196 = x;
double r246197 = y;
double r246198 = cos(r246197);
double r246199 = 2.0;
double r246200 = pow(r246198, r246199);
double r246201 = 0.6666666666666666;
double r246202 = pow(r246200, r246201);
double r246203 = 0.3333333333333333;
double r246204 = pow(r246200, r246203);
double r246205 = r246202 * r246204;
double r246206 = cbrt(r246205);
double r246207 = r246196 * r246206;
double r246208 = cbrt(r246198);
double r246209 = r246207 * r246208;
double r246210 = z;
double r246211 = sin(r246197);
double r246212 = r246210 * r246211;
double r246213 = r246209 - r246212;
return r246213;
}



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