outMin + \frac{\left(outMax - outMin\right) \cdot \left(value - inMin\right)}{inMax - inMin}outMin + \frac{\left(outMax - outMin\right) \cdot \left(value - inMin\right)}{inMax - inMin}double code(double outMin, double outMax, double value, double inMin, double inMax) {
return ((double) (outMin + ((double) (((double) (((double) (outMax - outMin)) * ((double) (value - inMin)))) / ((double) (inMax - inMin))))));
}
double code(double outMin, double outMax, double value, double inMin, double inMax) {
return ((double) (outMin + ((double) (((double) (((double) (outMax - outMin)) * ((double) (value - inMin)))) / ((double) (inMax - inMin))))));
}



Bits error versus outMin



Bits error versus outMax



Bits error versus value



Bits error versus inMin



Bits error versus inMax
Results
Initial program 24.8
Final simplification24.8
herbie shell --seed 2020152
(FPCore (outMin outMax value inMin inMax)
:name "(+ outMin (/ (* (- outMax outMin) (- value inMin)) (- inMax inMin)))"
:precision binary64
(+ outMin (/ (* (- outMax outMin) (- value inMin)) (- inMax inMin))))