x \cdot \frac{\frac{y}{z} \cdot t}{t}\left(x \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}}double f(double x, double y, double z, double t) {
double r154610 = x;
double r154611 = y;
double r154612 = z;
double r154613 = r154611 / r154612;
double r154614 = t;
double r154615 = r154613 * r154614;
double r154616 = r154615 / r154614;
double r154617 = r154610 * r154616;
return r154617;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r154618 = x;
double r154619 = y;
double r154620 = cbrt(r154619);
double r154621 = r154620 * r154620;
double r154622 = z;
double r154623 = cbrt(r154622);
double r154624 = r154623 * r154623;
double r154625 = r154621 / r154624;
double r154626 = r154618 * r154625;
double r154627 = r154620 / r154623;
double r154628 = r154626 * r154627;
return r154628;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 14.3
Simplified6.1
rmApplied add-cube-cbrt6.9
Applied add-cube-cbrt7.1
Applied times-frac7.1
Applied associate-*r*2.1
Final simplification2.1
herbie shell --seed 2020056 +o rules:numerics
(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)))