Average Error: 15.2 → 0
Time: 806.0ms
Precision: binary64
\[left + count \cdot \frac{left - right}{count}\]
\[\left(left + left\right) - right\]
left + count \cdot \frac{left - right}{count}
\left(left + left\right) - right
double code(double left, double count, double right) {
	return ((double) (left + ((double) (count * ((double) (((double) (left - right)) / count))))));
}
double code(double left, double count, double right) {
	return ((double) (((double) (left + left)) - right));
}

Error

Bits error versus left

Bits error versus count

Bits error versus right

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 15.2

    \[left + count \cdot \frac{left - right}{count}\]
  2. Simplified0

    \[\leadsto \color{blue}{\left(left + left\right) - right}\]
  3. Final simplification0

    \[\leadsto \left(left + left\right) - right\]

Reproduce

herbie shell --seed 2020153 
(FPCore (left count right)
  :name "(+ left (* count (/ (- left right) count)))"
  :precision binary64
  (+ left (* count (/ (- left right) count))))