\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 r804 = x;
double r805 = y;
double r806 = sin(r805);
double r807 = r804 + r806;
double r808 = z;
double r809 = cos(r805);
double r810 = r808 * r809;
double r811 = r807 + r810;
return r811;
}
double f(double x, double y, double z) {
double r812 = x;
double r813 = y;
double r814 = sin(r813);
double r815 = r812 + r814;
double r816 = z;
double r817 = cos(r813);
double r818 = fabs(r817);
double r819 = 0.3333333333333333;
double r820 = pow(r818, r819);
double r821 = r816 * r820;
double r822 = 2.0;
double r823 = pow(r817, r822);
double r824 = sqrt(r823);
double r825 = pow(r824, r819);
double r826 = r821 * r825;
double r827 = cbrt(r817);
double r828 = r826 * r827;
double r829 = r815 + r828;
return r829;
}



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))))