x \cdot \frac{\frac{y}{z} \cdot t}{t}\left(\frac{\sqrt[3]{y}}{\sqrt[3]{z}} \cdot \frac{x}{\sqrt[3]{z}}\right) \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z}}double f(double x, double y, double z, double t) {
double r31954287 = x;
double r31954288 = y;
double r31954289 = z;
double r31954290 = r31954288 / r31954289;
double r31954291 = t;
double r31954292 = r31954290 * r31954291;
double r31954293 = r31954292 / r31954291;
double r31954294 = r31954287 * r31954293;
return r31954294;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r31954295 = y;
double r31954296 = cbrt(r31954295);
double r31954297 = z;
double r31954298 = cbrt(r31954297);
double r31954299 = r31954296 / r31954298;
double r31954300 = x;
double r31954301 = r31954300 / r31954298;
double r31954302 = r31954299 * r31954301;
double r31954303 = r31954296 * r31954296;
double r31954304 = r31954303 / r31954298;
double r31954305 = r31954302 * r31954304;
return r31954305;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 14.7 |
|---|---|
| Target | 1.4 |
| Herbie | 2.8 |
Initial program 14.7
Simplified6.1
rmApplied add-cube-cbrt6.9
Applied *-un-lft-identity6.9
Applied times-frac6.9
Applied associate-*r*5.5
Simplified5.5
rmApplied add-cube-cbrt5.7
Applied times-frac5.7
Applied associate-*l*2.8
Final simplification2.8
herbie shell --seed 2019171
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1, B"
:herbie-target
(if (< (/ (* (/ y z) t) t) -1.20672205123045e+245) (/ y (/ z x)) (if (< (/ (* (/ y z) t) t) -5.907522236933906e-275) (* x (/ y z)) (if (< (/ (* (/ y z) t) t) 5.658954423153415e-65) (/ y (/ z x)) (if (< (/ (* (/ y z) t) t) 2.0087180502407133e+217) (* x (/ y z)) (/ (* y x) z)))))
(* x (/ (* (/ y z) t) t)))