Average Error: 10.2 → 0.0
Time: 1.4s
Precision: binary64
\[\frac{\left(x + i \cdot hx\right) - xmin}{hx}\]
\[i - \frac{xmin - x}{hx}\]
\frac{\left(x + i \cdot hx\right) - xmin}{hx}
i - \frac{xmin - x}{hx}
double code(double x, double i, double hx, double xmin) {
	return ((double) (((double) (((double) (x + ((double) (i * hx)))) - xmin)) / hx));
}
double code(double x, double i, double hx, double xmin) {
	return ((double) (i - ((double) (((double) (xmin - x)) / hx))));
}

Error

Bits error versus x

Bits error versus i

Bits error versus hx

Bits error versus xmin

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 10.2

    \[\frac{\left(x + i \cdot hx\right) - xmin}{hx}\]
  2. Simplified0.0

    \[\leadsto \color{blue}{i - \frac{xmin - x}{hx}}\]
  3. Final simplification0.0

    \[\leadsto i - \frac{xmin - x}{hx}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (x i hx xmin)
  :name "(/ (- (+ x (* i hx)) xmin) hx)"
  :precision binary64
  (/ (- (+ x (* i hx)) xmin) hx))