x + \frac{y \cdot \left(z - t\right)}{z - a}x + \frac{\frac{\frac{y}{\frac{\sqrt[3]{z - a}}{\sqrt[3]{z - t}}}}{\frac{\sqrt[3]{z - a}}{\sqrt[3]{z - t}}}}{\frac{\sqrt[3]{z - a}}{\sqrt[3]{z - t}}}double f(double x, double y, double z, double t, double a) {
double r26113446 = x;
double r26113447 = y;
double r26113448 = z;
double r26113449 = t;
double r26113450 = r26113448 - r26113449;
double r26113451 = r26113447 * r26113450;
double r26113452 = a;
double r26113453 = r26113448 - r26113452;
double r26113454 = r26113451 / r26113453;
double r26113455 = r26113446 + r26113454;
return r26113455;
}
double f(double x, double y, double z, double t, double a) {
double r26113456 = x;
double r26113457 = y;
double r26113458 = z;
double r26113459 = a;
double r26113460 = r26113458 - r26113459;
double r26113461 = cbrt(r26113460);
double r26113462 = t;
double r26113463 = r26113458 - r26113462;
double r26113464 = cbrt(r26113463);
double r26113465 = r26113461 / r26113464;
double r26113466 = r26113457 / r26113465;
double r26113467 = r26113466 / r26113465;
double r26113468 = r26113467 / r26113465;
double r26113469 = r26113456 + r26113468;
return r26113469;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 10.9 |
|---|---|
| Target | 1.1 |
| Herbie | 0.5 |
Initial program 10.9
rmApplied associate-/l*1.1
rmApplied +-commutative1.1
rmApplied add-cube-cbrt1.6
Applied add-cube-cbrt1.5
Applied times-frac1.5
Applied associate-/r*0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019192
(FPCore (x y z t a)
:name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTicks from plot-0.2.3.4, A"
:herbie-target
(+ x (/ y (/ (- z a) (- z t))))
(+ x (/ (* y (- z t)) (- z a))))