a + \frac{\left(b - a\right) \cdot \left(x - c\right)}{d - c}a + \frac{\left(b - a\right) \cdot \left(x - c\right)}{d - c}double code(double a, double b, double x, double c, double d) {
return ((double) (a + ((double) (((double) (((double) (b - a)) * ((double) (x - c)))) / ((double) (d - c))))));
}
double code(double a, double b, double x, double c, double d) {
return ((double) (a + ((double) (((double) (((double) (b - a)) * ((double) (x - c)))) / ((double) (d - c))))));
}



Bits error versus a



Bits error versus b



Bits error versus x



Bits error versus c



Bits error versus d
Results
Initial program 24.0
Final simplification24.0
herbie shell --seed 2020153
(FPCore (a b x c d)
:name "(+ a (/ (* (- b a) (- x c)) (- d c)))"
:precision binary64
(+ a (/ (* (- b a) (- x c)) (- d c))))