\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 r137723 = x;
double r137724 = y;
double r137725 = sin(r137724);
double r137726 = r137723 + r137725;
double r137727 = z;
double r137728 = cos(r137724);
double r137729 = r137727 * r137728;
double r137730 = r137726 + r137729;
return r137730;
}
double f(double x, double y, double z) {
double r137731 = x;
double r137732 = y;
double r137733 = sin(r137732);
double r137734 = r137731 + r137733;
double r137735 = z;
double r137736 = cos(r137732);
double r137737 = fabs(r137736);
double r137738 = 0.3333333333333333;
double r137739 = pow(r137737, r137738);
double r137740 = r137735 * r137739;
double r137741 = 2.0;
double r137742 = pow(r137736, r137741);
double r137743 = sqrt(r137742);
double r137744 = pow(r137743, r137738);
double r137745 = r137740 * r137744;
double r137746 = cbrt(r137736);
double r137747 = r137745 * r137746;
double r137748 = r137734 + r137747;
return r137748;
}



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.2
rmApplied pow1/316.1
Applied pow1/316.0
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 2020062
(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))))