x \cdot \sin y + z \cdot \cos y
x \cdot \sin y + \left(z \cdot {\left(\log \left(e^{{\left(\cos y\right)}^{2}}\right)\right)}^{\frac{1}{3}}\right) \cdot \sqrt[3]{\cos y}double f(double x, double y, double z) {
double r166142 = x;
double r166143 = y;
double r166144 = sin(r166143);
double r166145 = r166142 * r166144;
double r166146 = z;
double r166147 = cos(r166143);
double r166148 = r166146 * r166147;
double r166149 = r166145 + r166148;
return r166149;
}
double f(double x, double y, double z) {
double r166150 = x;
double r166151 = y;
double r166152 = sin(r166151);
double r166153 = r166150 * r166152;
double r166154 = z;
double r166155 = cos(r166151);
double r166156 = 2.0;
double r166157 = pow(r166155, r166156);
double r166158 = exp(r166157);
double r166159 = log(r166158);
double r166160 = 0.3333333333333333;
double r166161 = pow(r166159, r166160);
double r166162 = r166154 * r166161;
double r166163 = cbrt(r166155);
double r166164 = r166162 * r166163;
double r166165 = r166153 + r166164;
return r166165;
}



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.2
Applied pow1/316.1
Applied pow-prod-down0.2
Simplified0.2
rmApplied add-log-exp0.4
Final simplification0.4
herbie shell --seed 2019322
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, B"
:precision binary64
(+ (* x (sin y)) (* z (cos y))))