x \cdot \cos y + z \cdot \sin y
\mathsf{fma}\left(x, \cos y, \mathsf{expm1}\left(\mathsf{log1p}\left(\sqrt[3]{\sin y} \cdot \sqrt[3]{\sin y}\right)\right) \cdot \left(z \cdot \sqrt[3]{\sin y}\right)\right)double f(double x, double y, double z) {
double r10818795 = x;
double r10818796 = y;
double r10818797 = cos(r10818796);
double r10818798 = r10818795 * r10818797;
double r10818799 = z;
double r10818800 = sin(r10818796);
double r10818801 = r10818799 * r10818800;
double r10818802 = r10818798 + r10818801;
return r10818802;
}
double f(double x, double y, double z) {
double r10818803 = x;
double r10818804 = y;
double r10818805 = cos(r10818804);
double r10818806 = sin(r10818804);
double r10818807 = cbrt(r10818806);
double r10818808 = r10818807 * r10818807;
double r10818809 = log1p(r10818808);
double r10818810 = expm1(r10818809);
double r10818811 = z;
double r10818812 = r10818811 * r10818807;
double r10818813 = r10818810 * r10818812;
double r10818814 = fma(r10818803, r10818805, r10818813);
return r10818814;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.1
Simplified0.1
rmApplied add-cube-cbrt0.6
Applied associate-*l*0.6
rmApplied expm1-log1p-u0.6
Final simplification0.6
herbie shell --seed 2019200 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
(+ (* x (cos y)) (* z (sin y))))