Average Error: 15.0 → 15.0
Time: 1.4s
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 15.0

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

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

Reproduce

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