\frac{x - lo}{hi - lo}1
(FPCore (lo hi x) :precision binary64 (/ (- x lo) (- hi lo)))
(FPCore (lo hi x) :precision binary64 1.0)
double code(double lo, double hi, double x) {
return (x - lo) / (hi - lo);
}
double code(double lo, double hi, double x) {
return 1.0;
}





Bits error versus lo





Bits error versus hi





Bits error versus x
Results
| Alternative 1 | |
|---|---|
| Accuracy | 61.8 |
| Cost | 192 |
| Alternative 2 | |
|---|---|
| Accuracy | 62.0 |
| Cost | 1216 |
Initial program 62.0
rmApplied div-sub_binary64_110662.0
Taylor expanded around 0 52.1
Final simplification52.1
herbie shell --seed 2020322
(FPCore (lo hi x)
:name "(/ (- x lo) (- hi lo))"
:precision binary64
:pre (and (< lo -1e+308) (> hi 1e+308))
(/ (- x lo) (- hi lo)))