\left(x + \sin y\right) + z \cdot \cos y
\left(x + \sin y\right) + \left(z \cdot \left(1 \cdot {\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}}\right)\right) \cdot \sqrt[3]{\cos y}double f(double x, double y, double z) {
double r152036 = x;
double r152037 = y;
double r152038 = sin(r152037);
double r152039 = r152036 + r152038;
double r152040 = z;
double r152041 = cos(r152037);
double r152042 = r152040 * r152041;
double r152043 = r152039 + r152042;
return r152043;
}
double f(double x, double y, double z) {
double r152044 = x;
double r152045 = y;
double r152046 = sin(r152045);
double r152047 = r152044 + r152046;
double r152048 = z;
double r152049 = 1.0;
double r152050 = cos(r152045);
double r152051 = 2.0;
double r152052 = pow(r152050, r152051);
double r152053 = 0.3333333333333333;
double r152054 = pow(r152052, r152053);
double r152055 = r152049 * r152054;
double r152056 = r152048 * r152055;
double r152057 = cbrt(r152050);
double r152058 = r152056 * r152057;
double r152059 = r152047 + r152058;
return r152059;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
rmApplied add-cube-cbrt0.2
Applied associate-*r*0.3
rmApplied cbrt-unprod0.2
Simplified0.2
rmApplied *-un-lft-identity0.2
Applied unpow-prod-down0.2
Applied cbrt-prod0.2
Simplified0.2
Simplified0.1
Final simplification0.1
herbie shell --seed 2019362
(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))))