\left(x + \sin y\right) + z \cdot \cos y
\left(x + \sin y\right) + \left(z \cdot \sqrt[3]{{\left(\cos y\right)}^{2}}\right) \cdot \log \left(e^{\sqrt[3]{\cos y}}\right)double f(double x, double y, double z) {
double r137668 = x;
double r137669 = y;
double r137670 = sin(r137669);
double r137671 = r137668 + r137670;
double r137672 = z;
double r137673 = cos(r137669);
double r137674 = r137672 * r137673;
double r137675 = r137671 + r137674;
return r137675;
}
double f(double x, double y, double z) {
double r137676 = x;
double r137677 = y;
double r137678 = sin(r137677);
double r137679 = r137676 + r137678;
double r137680 = z;
double r137681 = cos(r137677);
double r137682 = 2.0;
double r137683 = pow(r137681, r137682);
double r137684 = cbrt(r137683);
double r137685 = r137680 * r137684;
double r137686 = cbrt(r137681);
double r137687 = exp(r137686);
double r137688 = log(r137687);
double r137689 = r137685 * r137688;
double r137690 = r137679 + r137689;
return r137690;
}



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.2
rmApplied cbrt-unprod0.2
Simplified0.2
rmApplied add-log-exp0.2
Final simplification0.2
herbie shell --seed 2019303 +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))))