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]{\sqrt[3]{z} \cdot \sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z}}}double f(double x, double y, double z, double t) {
double r239785 = x;
double r239786 = y;
double r239787 = z;
double r239788 = r239786 / r239787;
double r239789 = t;
double r239790 = r239788 * r239789;
double r239791 = r239790 / r239789;
double r239792 = r239785 * r239791;
return r239792;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r239793 = x;
double r239794 = y;
double r239795 = cbrt(r239794);
double r239796 = r239795 * r239795;
double r239797 = z;
double r239798 = cbrt(r239797);
double r239799 = r239798 * r239798;
double r239800 = r239796 / r239799;
double r239801 = r239793 * r239800;
double r239802 = cbrt(r239799);
double r239803 = cbrt(r239798);
double r239804 = r239802 * r239803;
double r239805 = r239795 / r239804;
double r239806 = r239801 * r239805;
return r239806;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 15.2
Simplified6.4
rmApplied add-cube-cbrt7.1
Applied add-cube-cbrt7.3
Applied times-frac7.3
Applied associate-*r*2.1
rmApplied add-cube-cbrt2.2
Applied cbrt-prod2.2
Final simplification2.2
herbie shell --seed 2020036
(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)))