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

Error

Bits error versus x1

Bits error versus y

Bits error versus y1

Bits error versus x2

Bits error versus y2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 24.2

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

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

Reproduce

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