\left(x + \sin y\right) + z \cdot \cos y
\left(x + \sin y\right) + \left(\left(z \cdot {\left(\left|\cos y\right|\right)}^{\frac{1}{3}}\right) \cdot {\left(\sqrt{{\left(\cos y\right)}^{2}}\right)}^{\frac{1}{3}}\right) \cdot \sqrt[3]{\cos y}double f(double x, double y, double z) {
double r172855 = x;
double r172856 = y;
double r172857 = sin(r172856);
double r172858 = r172855 + r172857;
double r172859 = z;
double r172860 = cos(r172856);
double r172861 = r172859 * r172860;
double r172862 = r172858 + r172861;
return r172862;
}
double f(double x, double y, double z) {
double r172863 = x;
double r172864 = y;
double r172865 = sin(r172864);
double r172866 = r172863 + r172865;
double r172867 = z;
double r172868 = cos(r172864);
double r172869 = fabs(r172868);
double r172870 = 0.3333333333333333;
double r172871 = pow(r172869, r172870);
double r172872 = r172867 * r172871;
double r172873 = 2.0;
double r172874 = pow(r172868, r172873);
double r172875 = sqrt(r172874);
double r172876 = pow(r172875, r172870);
double r172877 = r172872 * r172876;
double r172878 = cbrt(r172868);
double r172879 = r172877 * r172878;
double r172880 = r172866 + r172879;
return r172880;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.0
rmApplied add-cube-cbrt0.2
Applied associate-*r*0.3
rmApplied pow1/316.3
Applied pow1/316.3
Applied pow-prod-down0.1
Simplified0.1
rmApplied add-sqr-sqrt0.1
Applied unpow-prod-down0.1
Applied associate-*r*0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020025 +o rules:numerics
(FPCore (x y z)
:name "Graphics.Rasterific.Svg.PathConverter:segmentToBezier from rasterific-svg-0.2.3.1, C"
:precision binary64
(+ (+ x (sin y)) (* z (cos y))))