x \cdot \cos y - z \cdot \sin y
x \cdot \cos y - \left(\sqrt[3]{z} \cdot \left(\sqrt[3]{\sin y} \cdot \sqrt[3]{z \cdot \sin y}\right)\right) \cdot \sqrt[3]{z \cdot \sin y}double f(double x, double y, double z) {
double r796563 = x;
double r796564 = y;
double r796565 = cos(r796564);
double r796566 = r796563 * r796565;
double r796567 = z;
double r796568 = sin(r796564);
double r796569 = r796567 * r796568;
double r796570 = r796566 - r796569;
return r796570;
}
double f(double x, double y, double z) {
double r796571 = x;
double r796572 = y;
double r796573 = cos(r796572);
double r796574 = r796571 * r796573;
double r796575 = z;
double r796576 = cbrt(r796575);
double r796577 = sin(r796572);
double r796578 = cbrt(r796577);
double r796579 = r796575 * r796577;
double r796580 = cbrt(r796579);
double r796581 = r796578 * r796580;
double r796582 = r796576 * r796581;
double r796583 = r796582 * r796580;
double r796584 = r796574 - r796583;
return r796584;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
rmApplied add-cube-cbrt0.6
rmApplied cbrt-prod0.5
Applied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2019303
(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))))