x + \frac{y \cdot \left(z - t\right)}{a - t}\begin{array}{l}
\mathbf{if}\;t \le -2.5240492959418074 \cdot 10^{-160}:\\
\;\;\;\;x + y \cdot \frac{z - t}{a - t}\\
\mathbf{elif}\;t \le 2.26106697662143853 \cdot 10^{-189}:\\
\;\;\;\;x + \frac{y \cdot \left(z - t\right)}{a - t}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{y}{\frac{a - t}{z - t}}\\
\end{array}double code(double x, double y, double z, double t, double a) {
return ((double) (x + ((double) (((double) (y * ((double) (z - t)))) / ((double) (a - t))))));
}
double code(double x, double y, double z, double t, double a) {
double VAR;
if ((t <= -2.5240492959418074e-160)) {
VAR = ((double) (x + ((double) (y * ((double) (((double) (z - t)) / ((double) (a - t))))))));
} else {
double VAR_1;
if ((t <= 2.2610669766214385e-189)) {
VAR_1 = ((double) (x + ((double) (((double) (y * ((double) (z - t)))) / ((double) (a - t))))));
} else {
VAR_1 = ((double) (x + ((double) (y / ((double) (((double) (a - t)) / ((double) (z - t))))))));
}
VAR = VAR_1;
}
return VAR;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 11.5 |
|---|---|
| Target | 1.4 |
| Herbie | 1.4 |
if t < -2.5240492959418074e-160Initial program 13.5
rmApplied *-un-lft-identity13.5
Applied times-frac0.7
Simplified0.7
if -2.5240492959418074e-160 < t < 2.26106697662143853e-189Initial program 4.1
if 2.26106697662143853e-189 < t Initial program 13.1
rmApplied associate-/l*0.7
Final simplification1.4
herbie shell --seed 2020162
(FPCore (x y z t a)
:name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTicks from plot-0.2.3.4, B"
:precision binary64
:herbie-target
(+ x (/ y (/ (- a t) (- z t))))
(+ x (/ (* y (- z t)) (- a t))))