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 r241041 = x;
double r241042 = y;
double r241043 = z;
double r241044 = r241042 / r241043;
double r241045 = t;
double r241046 = r241044 * r241045;
double r241047 = r241046 / r241045;
double r241048 = r241041 * r241047;
return r241048;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r241049 = x;
double r241050 = y;
double r241051 = cbrt(r241050);
double r241052 = r241051 * r241051;
double r241053 = z;
double r241054 = cbrt(r241053);
double r241055 = r241054 * r241054;
double r241056 = r241052 / r241055;
double r241057 = r241049 * r241056;
double r241058 = cbrt(r241055);
double r241059 = cbrt(r241054);
double r241060 = r241058 * r241059;
double r241061 = r241051 / r241060;
double r241062 = r241057 * r241061;
return r241062;
}



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