x \cdot \frac{\frac{y}{z} \cdot t}{t}\left(\left(\sqrt[3]{x \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}} \cdot \sqrt[3]{x \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}}\right) \cdot \sqrt[3]{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 r80764 = x;
double r80765 = y;
double r80766 = z;
double r80767 = r80765 / r80766;
double r80768 = t;
double r80769 = r80767 * r80768;
double r80770 = r80769 / r80768;
double r80771 = r80764 * r80770;
return r80771;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r80772 = x;
double r80773 = y;
double r80774 = cbrt(r80773);
double r80775 = r80774 * r80774;
double r80776 = z;
double r80777 = cbrt(r80776);
double r80778 = r80777 * r80777;
double r80779 = r80775 / r80778;
double r80780 = r80772 * r80779;
double r80781 = cbrt(r80780);
double r80782 = r80781 * r80781;
double r80783 = r80782 * r80781;
double r80784 = r80774 / r80777;
double r80785 = r80783 * r80784;
return r80785;
}



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.1
Final simplification2.1
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)))