\begin{array}{l}
\mathbf{if}\;x \lt 0.5:\\
\;\;\;\;L + \left(H - L\right) \cdot x\\
\mathbf{else}:\\
\;\;\;\;H - \left(H - L\right) \cdot \left(1 - x\right)\\
\end{array}\begin{array}{l}
\mathbf{if}\;x \lt 0.5:\\
\;\;\;\;L + \left(H - L\right) \cdot x\\
\mathbf{else}:\\
\;\;\;\;H - \left(H - L\right) \cdot \left(1 - x\right)\\
\end{array}double code(double x, double L, double H) {
double VAR;
if ((x < 0.5)) {
VAR = ((double) (L + ((double) (((double) (H - L)) * x))));
} else {
VAR = ((double) (H - ((double) (((double) (H - L)) * ((double) (1.0 - x))))));
}
return VAR;
}
double code(double x, double L, double H) {
double VAR;
if ((x < 0.5)) {
VAR = ((double) (L + ((double) (((double) (H - L)) * x))));
} else {
VAR = ((double) (H - ((double) (((double) (H - L)) * ((double) (1.0 - x))))));
}
return VAR;
}



Bits error versus x



Bits error versus L



Bits error versus H
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020153
(FPCore (x L H)
:name "(if (< x 0.5) (+ L (* (- H L) x)) (- H (* (- H L) (- 1 x))))"
:precision binary64
(if (< x 0.5) (+ L (* (- H L) x)) (- H (* (- H L) (- 1.0 x)))))