x \cdot \cos y - z \cdot \sin y
\mathsf{fma}\left(x, \cos y, -\left(\sin y \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \sqrt[3]{z}\right)double f(double x, double y, double z) {
double r120417 = x;
double r120418 = y;
double r120419 = cos(r120418);
double r120420 = r120417 * r120419;
double r120421 = z;
double r120422 = sin(r120418);
double r120423 = r120421 * r120422;
double r120424 = r120420 - r120423;
return r120424;
}
double f(double x, double y, double z) {
double r120425 = x;
double r120426 = y;
double r120427 = cos(r120426);
double r120428 = sin(r120426);
double r120429 = z;
double r120430 = cbrt(r120429);
double r120431 = r120430 * r120430;
double r120432 = r120428 * r120431;
double r120433 = r120432 * r120430;
double r120434 = -r120433;
double r120435 = fma(r120425, r120427, r120434);
return r120435;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.1
rmApplied fma-neg0.1
Simplified0.1
rmApplied add-cube-cbrt0.6
Applied associate-*r*0.6
Final simplification0.6
herbie shell --seed 2019303 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, A"
:precision binary64
(- (* x (cos y)) (* z (sin y))))