\left(x + \sin y\right) + z \cdot \cos y
\left(x + \sin y\right) + \left(z \cdot \left(\sqrt{\sqrt[3]{{\left(\cos y\right)}^{2}}} \cdot \sqrt{\sqrt[3]{{\left(\cos y\right)}^{2}}}\right)\right) \cdot \sqrt[3]{\cos y}double f(double x, double y, double z) {
double r176680 = x;
double r176681 = y;
double r176682 = sin(r176681);
double r176683 = r176680 + r176682;
double r176684 = z;
double r176685 = cos(r176681);
double r176686 = r176684 * r176685;
double r176687 = r176683 + r176686;
return r176687;
}
double f(double x, double y, double z) {
double r176688 = x;
double r176689 = y;
double r176690 = sin(r176689);
double r176691 = r176688 + r176690;
double r176692 = z;
double r176693 = cos(r176689);
double r176694 = 2.0;
double r176695 = pow(r176693, r176694);
double r176696 = cbrt(r176695);
double r176697 = sqrt(r176696);
double r176698 = r176697 * r176697;
double r176699 = r176692 * r176698;
double r176700 = cbrt(r176693);
double r176701 = r176699 * r176700;
double r176702 = r176691 + r176701;
return r176702;
}



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 add-sqr-sqrt0.2
Final simplification0.2
herbie shell --seed 2020039 +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))))