x \cdot \cos y - z \cdot \sin y
\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt[3]{\cos y}\right)\right) \cdot \left({\left(\cos y \cdot \cos y\right)}^{\frac{1}{3}} \cdot x\right) - z \cdot \sin ydouble f(double x, double y, double z) {
double r9681546 = x;
double r9681547 = y;
double r9681548 = cos(r9681547);
double r9681549 = r9681546 * r9681548;
double r9681550 = z;
double r9681551 = sin(r9681547);
double r9681552 = r9681550 * r9681551;
double r9681553 = r9681549 - r9681552;
return r9681553;
}
double f(double x, double y, double z) {
double r9681554 = y;
double r9681555 = cos(r9681554);
double r9681556 = cbrt(r9681555);
double r9681557 = expm1(r9681556);
double r9681558 = log1p(r9681557);
double r9681559 = r9681555 * r9681555;
double r9681560 = 0.3333333333333333;
double r9681561 = pow(r9681559, r9681560);
double r9681562 = x;
double r9681563 = r9681561 * r9681562;
double r9681564 = r9681558 * r9681563;
double r9681565 = z;
double r9681566 = sin(r9681554);
double r9681567 = r9681565 * r9681566;
double r9681568 = r9681564 - r9681567;
return r9681568;
}



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.4
Applied pow1/316.4
Applied pow-prod-down0.2
rmApplied log1p-expm1-u0.2
Final simplification0.2
herbie shell --seed 2019179 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, A"
(- (* x (cos y)) (* z (sin y))))