x \cdot \frac{\frac{y}{z} \cdot t}{t}\left(\left(x \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}}\right) \cdot \frac{\sqrt[3]{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}}{\sqrt[3]{z}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}}double f(double x, double y, double z, double t) {
double r132497 = x;
double r132498 = y;
double r132499 = z;
double r132500 = r132498 / r132499;
double r132501 = t;
double r132502 = r132500 * r132501;
double r132503 = r132502 / r132501;
double r132504 = r132497 * r132503;
return r132504;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r132505 = x;
double r132506 = y;
double r132507 = cbrt(r132506);
double r132508 = z;
double r132509 = cbrt(r132508);
double r132510 = r132507 / r132509;
double r132511 = r132505 * r132510;
double r132512 = r132507 * r132507;
double r132513 = cbrt(r132512);
double r132514 = cbrt(r132507);
double r132515 = r132513 * r132514;
double r132516 = r132515 / r132509;
double r132517 = r132511 * r132516;
double r132518 = r132517 * r132510;
return r132518;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 14.8
Simplified6.3
rmApplied add-cube-cbrt7.1
Applied add-cube-cbrt7.2
Applied times-frac7.2
Applied associate-*r*1.9
rmApplied times-frac1.9
Applied associate-*r*1.3
rmApplied add-cube-cbrt1.4
Applied cbrt-prod1.4
Final simplification1.4
herbie shell --seed 2019356
(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)))