x \cdot \sin y + z \cdot \cos y
x \cdot \sin y + \left(\sqrt[3]{\cos y} \cdot z\right) \cdot {\left(\cos y \cdot \cos y\right)}^{\frac{1}{3}}double f(double x, double y, double z) {
double r3976927 = x;
double r3976928 = y;
double r3976929 = sin(r3976928);
double r3976930 = r3976927 * r3976929;
double r3976931 = z;
double r3976932 = cos(r3976928);
double r3976933 = r3976931 * r3976932;
double r3976934 = r3976930 + r3976933;
return r3976934;
}
double f(double x, double y, double z) {
double r3976935 = x;
double r3976936 = y;
double r3976937 = sin(r3976936);
double r3976938 = r3976935 * r3976937;
double r3976939 = cos(r3976936);
double r3976940 = cbrt(r3976939);
double r3976941 = z;
double r3976942 = r3976940 * r3976941;
double r3976943 = r3976939 * r3976939;
double r3976944 = 0.3333333333333333;
double r3976945 = pow(r3976943, r3976944);
double r3976946 = r3976942 * r3976945;
double r3976947 = r3976938 + r3976946;
return r3976947;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
rmApplied add-cube-cbrt0.4
Applied associate-*r*0.4
rmApplied pow1/316.0
Applied pow1/316.0
Applied pow-prod-down0.2
rmApplied pow10.2
Applied pow10.2
Applied pow-prod-down0.2
Simplified0.3
rmApplied pow1/30.2
Final simplification0.2
herbie shell --seed 2019156 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, B"
(+ (* x (sin y)) (* z (cos y))))