\frac{x - lo}{hi - lo}\frac{x - lo}{hi - lo}double f(double lo, double hi, double x) {
double r3997 = x;
double r3998 = lo;
double r3999 = r3997 - r3998;
double r4000 = hi;
double r4001 = r4000 - r3998;
double r4002 = r3999 / r4001;
return r4002;
}
double f(double lo, double hi, double x) {
double r4003 = x;
double r4004 = lo;
double r4005 = r4003 - r4004;
double r4006 = hi;
double r4007 = r4006 - r4004;
double r4008 = r4005 / r4007;
return r4008;
}



Bits error versus lo



Bits error versus hi



Bits error versus x
Results
Initial program 62.0
Final simplification62.0
herbie shell --seed 2020081 +o rules:numerics
(FPCore (lo hi x)
:name "(/ (- x lo) (- hi lo))"
:precision binary64
:pre (and (< lo -1e+308) (> hi 1e+308))
(/ (- x lo) (- hi lo)))