x + \frac{\left(y - z\right) \cdot t}{a - z}x + \left(\left(y - z\right) \cdot \frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{t}}{\sqrt[3]{a - z}}double f(double x, double y, double z, double t, double a) {
double r437652 = x;
double r437653 = y;
double r437654 = z;
double r437655 = r437653 - r437654;
double r437656 = t;
double r437657 = r437655 * r437656;
double r437658 = a;
double r437659 = r437658 - r437654;
double r437660 = r437657 / r437659;
double r437661 = r437652 + r437660;
return r437661;
}
double f(double x, double y, double z, double t, double a) {
double r437662 = x;
double r437663 = y;
double r437664 = z;
double r437665 = r437663 - r437664;
double r437666 = t;
double r437667 = cbrt(r437666);
double r437668 = r437667 * r437667;
double r437669 = a;
double r437670 = r437669 - r437664;
double r437671 = cbrt(r437670);
double r437672 = r437671 * r437671;
double r437673 = r437668 / r437672;
double r437674 = r437665 * r437673;
double r437675 = r437667 / r437671;
double r437676 = r437674 * r437675;
double r437677 = r437662 + r437676;
return r437677;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 10.5 |
|---|---|
| Target | 0.7 |
| Herbie | 1.0 |
Initial program 10.5
rmApplied *-un-lft-identity10.5
Applied times-frac3.3
Simplified3.3
rmApplied add-cube-cbrt3.7
Applied add-cube-cbrt3.8
Applied times-frac3.8
Applied associate-*r*1.0
Final simplification1.0
herbie shell --seed 2019323
(FPCore (x y z t a)
:name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTick from plot-0.2.3.4, A"
:precision binary64
:herbie-target
(if (< t -1.0682974490174067e-39) (+ x (* (/ (- y z) (- a z)) t)) (if (< t 3.9110949887586375e-141) (+ x (/ (* (- y z) t) (- a z))) (+ x (* (/ (- y z) (- a z)) t))))
(+ x (/ (* (- y z) t) (- a z))))