Average Error: 14.7 → 14.7
Time: 1.5s
Precision: binary64
\[vA + \frac{vB - vA}{tB - tA} \cdot \left(time - tA\right)\]
\[vA + \frac{vB - vA}{tB - tA} \cdot \left(time - tA\right)\]
vA + \frac{vB - vA}{tB - tA} \cdot \left(time - tA\right)
vA + \frac{vB - vA}{tB - tA} \cdot \left(time - tA\right)
double code(double vA, double vB, double tB, double tA, double time) {
	return ((double) (vA + ((double) (((double) (((double) (vB - vA)) / ((double) (tB - tA)))) * ((double) (time - tA))))));
}
double code(double vA, double vB, double tB, double tA, double time) {
	return ((double) (vA + ((double) (((double) (((double) (vB - vA)) / ((double) (tB - tA)))) * ((double) (time - tA))))));
}

Error

Bits error versus vA

Bits error versus vB

Bits error versus tB

Bits error versus tA

Bits error versus time

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 14.7

    \[vA + \frac{vB - vA}{tB - tA} \cdot \left(time - tA\right)\]
  2. Final simplification14.7

    \[\leadsto vA + \frac{vB - vA}{tB - tA} \cdot \left(time - tA\right)\]

Reproduce

herbie shell --seed 2020152 
(FPCore (vA vB tB tA time)
  :name "(+ vA (* (/ (- vB vA) (- tB tA)) (- time tA)))"
  :precision binary64
  (+ vA (* (/ (- vB vA) (- tB tA)) (- time tA))))