Average Error: 7.9 → 7.9
Time: 1.1s
Precision: binary64
\[newProb + \frac{mu - p0 \cdot x2}{x1 - x2}\]
\[newProb + \frac{mu - p0 \cdot x2}{x1 - x2}\]
newProb + \frac{mu - p0 \cdot x2}{x1 - x2}
newProb + \frac{mu - p0 \cdot x2}{x1 - x2}
double code(double newProb, double mu, double p0, double x2, double x1) {
	return ((double) (newProb + ((double) (((double) (mu - ((double) (p0 * x2)))) / ((double) (x1 - x2))))));
}
double code(double newProb, double mu, double p0, double x2, double x1) {
	return ((double) (newProb + ((double) (((double) (mu - ((double) (p0 * x2)))) / ((double) (x1 - x2))))));
}

Error

Bits error versus newProb

Bits error versus mu

Bits error versus p0

Bits error versus x2

Bits error versus x1

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 7.9

    \[newProb + \frac{mu - p0 \cdot x2}{x1 - x2}\]
  2. Final simplification7.9

    \[\leadsto newProb + \frac{mu - p0 \cdot x2}{x1 - x2}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (newProb mu p0 x2 x1)
  :name "(+ newProb (/ (- mu (* p0 x2)) (- x1 x2)))"
  :precision binary64
  (+ newProb (/ (- mu (* p0 x2)) (- x1 x2))))