Average Error: 24.2 → 24.2
Time: 1.4s
Precision: binary64
\[y1 + \frac{\left(x - x1\right) \cdot \left(y2 - y1\right)}{x2 - x1}\]
\[y1 + \frac{\left(x - x1\right) \cdot \left(y2 - y1\right)}{x2 - x1}\]
y1 + \frac{\left(x - x1\right) \cdot \left(y2 - y1\right)}{x2 - x1}
y1 + \frac{\left(x - x1\right) \cdot \left(y2 - y1\right)}{x2 - x1}
double code(double y1, double x, double x1, double y2, double x2) {
	return ((double) (y1 + ((double) (((double) (((double) (x - x1)) * ((double) (y2 - y1)))) / ((double) (x2 - x1))))));
}
double code(double y1, double x, double x1, double y2, double x2) {
	return ((double) (y1 + ((double) (((double) (((double) (x - x1)) * ((double) (y2 - y1)))) / ((double) (x2 - x1))))));
}

Error

Bits error versus y1

Bits error versus x

Bits error versus x1

Bits error versus y2

Bits error versus x2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 24.2

    \[y1 + \frac{\left(x - x1\right) \cdot \left(y2 - y1\right)}{x2 - x1}\]
  2. Final simplification24.2

    \[\leadsto y1 + \frac{\left(x - x1\right) \cdot \left(y2 - y1\right)}{x2 - x1}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (y1 x x1 y2 x2)
  :name "(+ y1 (/ (* (- x x1) (- y2 y1)) (- x2 x1)))"
  :precision binary64
  (+ y1 (/ (* (- x x1) (- y2 y1)) (- x2 x1))))