x \cdot \frac{\frac{y}{z} \cdot t}{t}\frac{\frac{y}{\sqrt[3]{z}}}{\frac{\sqrt[3]{\sqrt[3]{z} \cdot \sqrt[3]{z}}}{\sqrt[3]{x} \cdot \sqrt[3]{x}}} \cdot \left(\frac{\sqrt[3]{x}}{\sqrt[3]{z}} \cdot \frac{1}{\sqrt[3]{\sqrt[3]{z}}}\right)double f(double x, double y, double z, double t) {
double r7342982 = x;
double r7342983 = y;
double r7342984 = z;
double r7342985 = r7342983 / r7342984;
double r7342986 = t;
double r7342987 = r7342985 * r7342986;
double r7342988 = r7342987 / r7342986;
double r7342989 = r7342982 * r7342988;
return r7342989;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r7342990 = y;
double r7342991 = z;
double r7342992 = cbrt(r7342991);
double r7342993 = r7342990 / r7342992;
double r7342994 = r7342992 * r7342992;
double r7342995 = cbrt(r7342994);
double r7342996 = x;
double r7342997 = cbrt(r7342996);
double r7342998 = r7342997 * r7342997;
double r7342999 = r7342995 / r7342998;
double r7343000 = r7342993 / r7342999;
double r7343001 = r7342997 / r7342992;
double r7343002 = 1.0;
double r7343003 = cbrt(r7342992);
double r7343004 = r7343002 / r7343003;
double r7343005 = r7343001 * r7343004;
double r7343006 = r7343000 * r7343005;
return r7343006;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 14.6
Simplified6.2
rmApplied add-cube-cbrt7.0
Applied *-un-lft-identity7.0
Applied times-frac7.0
Applied associate-*l*5.3
rmApplied associate-*l/6.5
Applied associate-*r/6.5
Simplified5.3
rmApplied *-un-lft-identity5.3
Applied times-frac4.8
Applied associate-/l*5.7
rmApplied *-un-lft-identity5.7
Applied add-cube-cbrt5.9
Applied times-frac5.9
Applied add-cube-cbrt5.9
Applied cbrt-prod6.0
Applied times-frac6.0
Applied div-inv6.0
Applied times-frac2.7
Simplified2.7
Simplified2.7
Final simplification2.7
herbie shell --seed 2019139
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
(* x (/ (* (/ y z) t) t)))