Average Error: 24.8 → 24.8
Time: 1.4s
Precision: binary64
\[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}\]
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))))));
}

Error

Bits error versus outMin

Bits error versus outMax

Bits error versus value

Bits error versus inMin

Bits error versus inMax

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 24.8

    \[outMin + \frac{\left(outMax - outMin\right) \cdot \left(value - inMin\right)}{inMax - inMin}\]
  2. Final simplification24.8

    \[\leadsto outMin + \frac{\left(outMax - outMin\right) \cdot \left(value - inMin\right)}{inMax - inMin}\]

Reproduce

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))))