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 r87056 = x;
double r87057 = y;
double r87058 = z;
double r87059 = r87057 / r87058;
double r87060 = t;
double r87061 = r87059 * r87060;
double r87062 = r87061 / r87060;
double r87063 = r87056 * r87062;
return r87063;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r87064 = x;
double r87065 = y;
double r87066 = cbrt(r87065);
double r87067 = r87066 * r87066;
double r87068 = z;
double r87069 = cbrt(r87068);
double r87070 = r87069 * r87069;
double r87071 = r87067 / r87070;
double r87072 = r87064 * r87071;
double r87073 = cbrt(r87070);
double r87074 = cbrt(r87069);
double r87075 = r87073 * r87074;
double r87076 = r87066 / r87075;
double r87077 = r87072 * r87076;
return r87077;
}



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