\left(x + \sin y\right) + z \cdot \cos y
\left(x + \sin y\right) + \left(\left(\sqrt{\sqrt[3]{{\left(\cos y\right)}^{2}}} \cdot z\right) \cdot \sqrt{{\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}}}\right) \cdot \sqrt[3]{\cos y}double f(double x, double y, double z) {
double r243280 = x;
double r243281 = y;
double r243282 = sin(r243281);
double r243283 = r243280 + r243282;
double r243284 = z;
double r243285 = cos(r243281);
double r243286 = r243284 * r243285;
double r243287 = r243283 + r243286;
return r243287;
}
double f(double x, double y, double z) {
double r243288 = x;
double r243289 = y;
double r243290 = sin(r243289);
double r243291 = r243288 + r243290;
double r243292 = cos(r243289);
double r243293 = 2.0;
double r243294 = pow(r243292, r243293);
double r243295 = cbrt(r243294);
double r243296 = sqrt(r243295);
double r243297 = z;
double r243298 = r243296 * r243297;
double r243299 = 0.3333333333333333;
double r243300 = pow(r243294, r243299);
double r243301 = sqrt(r243300);
double r243302 = r243298 * r243301;
double r243303 = cbrt(r243292);
double r243304 = r243302 * r243303;
double r243305 = r243291 + r243304;
return r243305;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
rmApplied add-cube-cbrt0.3
Applied associate-*r*0.3
rmApplied pow1/316.1
Applied pow1/316.1
Applied pow-prod-down0.1
Simplified0.1
rmApplied add-sqr-sqrt0.2
Applied associate-*r*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020042
(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))))