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]{z}}double f(double x, double y, double z, double t) {
double r107931 = x;
double r107932 = y;
double r107933 = z;
double r107934 = r107932 / r107933;
double r107935 = t;
double r107936 = r107934 * r107935;
double r107937 = r107936 / r107935;
double r107938 = r107931 * r107937;
return r107938;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r107939 = x;
double r107940 = y;
double r107941 = cbrt(r107940);
double r107942 = r107941 * r107941;
double r107943 = z;
double r107944 = cbrt(r107943);
double r107945 = r107944 * r107944;
double r107946 = r107942 / r107945;
double r107947 = r107939 * r107946;
double r107948 = r107941 / r107944;
double r107949 = r107947 * r107948;
return r107949;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 14.4
Simplified5.9
rmApplied add-cube-cbrt6.7
Applied add-cube-cbrt6.9
Applied times-frac6.9
Applied associate-*r*2.0
Final simplification2.0
herbie shell --seed 2020057 +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)))