\left(x + \cos y\right) - z \cdot \sin y
\left(x + \cos y\right) - \left(\left(\sqrt[3]{z \cdot \sin y} \cdot \sqrt[3]{z}\right) \cdot \left(\sqrt[3]{\sqrt[3]{\sin y} \cdot \sqrt[3]{\sin y}} \cdot \sqrt[3]{\sqrt[3]{\sin y}}\right)\right) \cdot \sqrt[3]{z \cdot \sin y}double f(double x, double y, double z) {
double r149218 = x;
double r149219 = y;
double r149220 = cos(r149219);
double r149221 = r149218 + r149220;
double r149222 = z;
double r149223 = sin(r149219);
double r149224 = r149222 * r149223;
double r149225 = r149221 - r149224;
return r149225;
}
double f(double x, double y, double z) {
double r149226 = x;
double r149227 = y;
double r149228 = cos(r149227);
double r149229 = r149226 + r149228;
double r149230 = z;
double r149231 = sin(r149227);
double r149232 = r149230 * r149231;
double r149233 = cbrt(r149232);
double r149234 = cbrt(r149230);
double r149235 = r149233 * r149234;
double r149236 = cbrt(r149231);
double r149237 = r149236 * r149236;
double r149238 = cbrt(r149237);
double r149239 = cbrt(r149236);
double r149240 = r149238 * r149239;
double r149241 = r149235 * r149240;
double r149242 = r149241 * r149233;
double r149243 = r149229 - r149242;
return r149243;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
rmApplied add-cube-cbrt0.4
rmApplied cbrt-prod0.3
Applied associate-*r*0.3
rmApplied add-cube-cbrt0.3
Applied cbrt-prod0.4
Final simplification0.4
herbie shell --seed 2020036 +o rules:numerics
(FPCore (x y z)
:name "Graphics.Rasterific.Svg.PathConverter:segmentToBezier from rasterific-svg-0.2.3.1, B"
:precision binary64
(- (+ x (cos y)) (* z (sin y))))