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 r187236 = x;
double r187237 = y;
double r187238 = cos(r187237);
double r187239 = r187236 * r187238;
double r187240 = z;
double r187241 = sin(r187237);
double r187242 = r187240 * r187241;
double r187243 = r187239 + r187242;
return r187243;
}
double f(double x, double y, double z) {
double r187244 = x;
double r187245 = y;
double r187246 = cos(r187245);
double r187247 = r187244 * r187246;
double r187248 = z;
double r187249 = cbrt(r187248);
double r187250 = sin(r187245);
double r187251 = cbrt(r187250);
double r187252 = r187248 * r187250;
double r187253 = cbrt(r187252);
double r187254 = r187251 * r187253;
double r187255 = r187249 * r187254;
double r187256 = r187255 * r187253;
double r187257 = r187247 + r187256;
return r187257;
}



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:aboutY from diagrams-lib-1.3.0.3"
:precision binary64
(+ (* x (cos y)) (* z (sin y))))