\frac{0.5 \cdot x}{1 + \left|x\right|} + 0.5\frac{0.5 \cdot x}{1 + \left|x\right|} + 0.5double code(double x) {
return ((double) (((double) (((double) (0.5 * x)) / ((double) (1.0 + ((double) fabs(x)))))) + 0.5));
}
double code(double x) {
return ((double) (((double) (((double) (0.5 * x)) / ((double) (1.0 + ((double) fabs(x)))))) + 0.5));
}



Bits error versus x
Results
Initial program 14.8
Final simplification14.8
herbie shell --seed 2020153
(FPCore (x)
:name "(+ (/ (* 0.5 x) (+ 1 (fabs x))) 0.5)"
:precision binary64
(+ (/ (* 0.5 x) (+ 1.0 (fabs x))) 0.5))