Average Error: 13.0 → 13.0
Time: 1.1s
Precision: binary64
\[m1 + \frac{N \cdot \left(m2 - m\right)}{N + n1}\]
\[m1 + \frac{N \cdot \left(m2 - m\right)}{N + n1}\]
m1 + \frac{N \cdot \left(m2 - m\right)}{N + n1}
m1 + \frac{N \cdot \left(m2 - m\right)}{N + n1}
double code(double m1, double N, double m2, double m, double n1) {
	return ((double) (m1 + ((double) (((double) (N * ((double) (m2 - m)))) / ((double) (N + n1))))));
}
double code(double m1, double N, double m2, double m, double n1) {
	return ((double) (m1 + ((double) (((double) (N * ((double) (m2 - m)))) / ((double) (N + n1))))));
}

Error

Bits error versus m1

Bits error versus N

Bits error versus m2

Bits error versus m

Bits error versus n1

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 13.0

    \[m1 + \frac{N \cdot \left(m2 - m\right)}{N + n1}\]
  2. Final simplification13.0

    \[\leadsto m1 + \frac{N \cdot \left(m2 - m\right)}{N + n1}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (m1 N m2 m n1)
  :name "(+ m1 (/ (* N (- m2 m)) (+ N n1)))"
  :precision binary64
  (+ m1 (/ (* N (- m2 m)) (+ N n1))))