\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 r161349 = x;
double r161350 = y;
double r161351 = cos(r161350);
double r161352 = r161349 + r161351;
double r161353 = z;
double r161354 = sin(r161350);
double r161355 = r161353 * r161354;
double r161356 = r161352 - r161355;
return r161356;
}
double f(double x, double y, double z) {
double r161357 = x;
double r161358 = y;
double r161359 = cos(r161358);
double r161360 = r161357 + r161359;
double r161361 = z;
double r161362 = sin(r161358);
double r161363 = r161361 * r161362;
double r161364 = cbrt(r161363);
double r161365 = cbrt(r161361);
double r161366 = r161364 * r161365;
double r161367 = cbrt(r161362);
double r161368 = r161367 * r161367;
double r161369 = cbrt(r161368);
double r161370 = cbrt(r161367);
double r161371 = r161369 * r161370;
double r161372 = r161366 * r161371;
double r161373 = r161372 * r161364;
double r161374 = r161360 - r161373;
return r161374;
}



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))))