x \cdot \frac{\frac{y}{z} \cdot t}{t}\left(x \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \left(\sqrt[3]{\sqrt[3]{z} \cdot \sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z}}\right)}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}}double f(double x, double y, double z, double t) {
double r96814 = x;
double r96815 = y;
double r96816 = z;
double r96817 = r96815 / r96816;
double r96818 = t;
double r96819 = r96817 * r96818;
double r96820 = r96819 / r96818;
double r96821 = r96814 * r96820;
return r96821;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r96822 = x;
double r96823 = y;
double r96824 = cbrt(r96823);
double r96825 = r96824 * r96824;
double r96826 = z;
double r96827 = cbrt(r96826);
double r96828 = r96827 * r96827;
double r96829 = cbrt(r96828);
double r96830 = cbrt(r96827);
double r96831 = r96829 * r96830;
double r96832 = r96827 * r96831;
double r96833 = r96825 / r96832;
double r96834 = r96822 * r96833;
double r96835 = r96824 / r96827;
double r96836 = r96834 * r96835;
return r96836;
}



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