x \cdot \frac{\frac{y}{z} \cdot t}{t}\frac{\sqrt[3]{\sqrt[3]{x}}}{\sqrt[3]{z}} \cdot \left(\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{z}} \cdot \frac{\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot y}{\sqrt[3]{z}}\right)double f(double x, double y, double z, double t) {
double r5341486 = x;
double r5341487 = y;
double r5341488 = z;
double r5341489 = r5341487 / r5341488;
double r5341490 = t;
double r5341491 = r5341489 * r5341490;
double r5341492 = r5341491 / r5341490;
double r5341493 = r5341486 * r5341492;
return r5341493;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r5341494 = x;
double r5341495 = cbrt(r5341494);
double r5341496 = cbrt(r5341495);
double r5341497 = z;
double r5341498 = cbrt(r5341497);
double r5341499 = r5341496 / r5341498;
double r5341500 = r5341495 * r5341495;
double r5341501 = r5341500 / r5341498;
double r5341502 = cbrt(r5341500);
double r5341503 = y;
double r5341504 = r5341502 * r5341503;
double r5341505 = r5341504 / r5341498;
double r5341506 = r5341501 * r5341505;
double r5341507 = r5341499 * r5341506;
return r5341507;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 14.4
Simplified6.2
rmApplied *-un-lft-identity6.2
Applied add-cube-cbrt7.0
Applied times-frac7.0
Applied associate-*r*5.6
Simplified5.6
rmApplied add-cube-cbrt5.8
Applied add-cube-cbrt5.8
Applied cbrt-prod5.9
Applied times-frac5.9
Applied associate-*r*4.7
Simplified2.6
Final simplification2.6
herbie shell --seed 2019165 +o rules:numerics
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
(* x (/ (* (/ y z) t) t)))