x \cdot \frac{\frac{y}{z} \cdot t}{t}\left(x \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\left(\sqrt[3]{\sqrt[3]{z} \cdot \sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z}}\right) \cdot \sqrt[3]{z}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}}double f(double x, double y, double z, double t) {
double r124269 = x;
double r124270 = y;
double r124271 = z;
double r124272 = r124270 / r124271;
double r124273 = t;
double r124274 = r124272 * r124273;
double r124275 = r124274 / r124273;
double r124276 = r124269 * r124275;
return r124276;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r124277 = x;
double r124278 = y;
double r124279 = cbrt(r124278);
double r124280 = r124279 * r124279;
double r124281 = z;
double r124282 = cbrt(r124281);
double r124283 = r124282 * r124282;
double r124284 = cbrt(r124283);
double r124285 = cbrt(r124282);
double r124286 = r124284 * r124285;
double r124287 = r124286 * r124282;
double r124288 = r124280 / r124287;
double r124289 = r124277 * r124288;
double r124290 = r124279 / r124282;
double r124291 = r124289 * r124290;
return r124291;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 15.0
Simplified6.4
rmApplied add-cube-cbrt7.2
Applied add-cube-cbrt7.4
Applied times-frac7.4
Applied associate-*r*2.0
rmApplied add-cube-cbrt2.0
Applied cbrt-prod2.0
Final simplification2.0
herbie shell --seed 2020062
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
:precision binary64
(* x (/ (* (/ y z) t) t)))