x \cdot \cos y - z \cdot \sin y
\left(x \cdot \left(\sqrt[3]{\sqrt[3]{\cos y} \cdot \sqrt[3]{\cos y}} \cdot {\left(\sqrt[3]{\sqrt[3]{\cos y}}\right)}^{4}\right)\right) \cdot \sqrt[3]{\cos y} - z \cdot \sin ydouble f(double x, double y, double z) {
double r213361 = x;
double r213362 = y;
double r213363 = cos(r213362);
double r213364 = r213361 * r213363;
double r213365 = z;
double r213366 = sin(r213362);
double r213367 = r213365 * r213366;
double r213368 = r213364 - r213367;
return r213368;
}
double f(double x, double y, double z) {
double r213369 = x;
double r213370 = y;
double r213371 = cos(r213370);
double r213372 = cbrt(r213371);
double r213373 = r213372 * r213372;
double r213374 = cbrt(r213373);
double r213375 = cbrt(r213372);
double r213376 = 4.0;
double r213377 = pow(r213375, r213376);
double r213378 = r213374 * r213377;
double r213379 = r213369 * r213378;
double r213380 = r213379 * r213372;
double r213381 = z;
double r213382 = sin(r213370);
double r213383 = r213381 * r213382;
double r213384 = r213380 - r213383;
return r213384;
}



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 add-cube-cbrt0.4
Applied cbrt-prod0.4
Applied associate-*l*0.4
Simplified0.5
Final simplification0.5
herbie shell --seed 2020100
(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))))