x \cdot \cos y - z \cdot \sin y
\left(x \cdot \left({\left({\left(\cos y\right)}^{4}\right)}^{\frac{1}{9}} \cdot \sqrt[3]{\sqrt[3]{{\left(\cos y\right)}^{2}}}\right)\right) \cdot \sqrt[3]{\cos y} - z \cdot \sin ydouble f(double x, double y, double z) {
double r233945 = x;
double r233946 = y;
double r233947 = cos(r233946);
double r233948 = r233945 * r233947;
double r233949 = z;
double r233950 = sin(r233946);
double r233951 = r233949 * r233950;
double r233952 = r233948 - r233951;
return r233952;
}
double f(double x, double y, double z) {
double r233953 = x;
double r233954 = y;
double r233955 = cos(r233954);
double r233956 = 4.0;
double r233957 = pow(r233955, r233956);
double r233958 = 0.1111111111111111;
double r233959 = pow(r233957, r233958);
double r233960 = 2.0;
double r233961 = pow(r233955, r233960);
double r233962 = cbrt(r233961);
double r233963 = cbrt(r233962);
double r233964 = r233959 * r233963;
double r233965 = r233953 * r233964;
double r233966 = cbrt(r233955);
double r233967 = r233965 * r233966;
double r233968 = z;
double r233969 = sin(r233954);
double r233970 = r233968 * r233969;
double r233971 = r233967 - r233970;
return r233971;
}



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
Applied cbrt-prod0.4
Simplified0.3
Taylor expanded around inf 0.3
Final simplification0.3
herbie shell --seed 2020043 +o rules:numerics
(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))))