Average Error: 0.1 → 0.1
Time: 1.0s
Precision: binary64
\[1 - \frac{n}{N} \cdot \left(1 - \frac{1}{K}\right)\]
\[1 - \frac{n}{N} \cdot \left(1 - \frac{1}{K}\right)\]
1 - \frac{n}{N} \cdot \left(1 - \frac{1}{K}\right)
1 - \frac{n}{N} \cdot \left(1 - \frac{1}{K}\right)
double code(double n, double N, double K) {
	return ((double) (1.0 - ((double) (((double) (n / N)) * ((double) (1.0 - ((double) (1.0 / K))))))));
}
double code(double n, double N, double K) {
	return ((double) (1.0 - ((double) (((double) (n / N)) * ((double) (1.0 - ((double) (1.0 / K))))))));
}

Error

Bits error versus n

Bits error versus N

Bits error versus K

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[1 - \frac{n}{N} \cdot \left(1 - \frac{1}{K}\right)\]
  2. Final simplification0.1

    \[\leadsto 1 - \frac{n}{N} \cdot \left(1 - \frac{1}{K}\right)\]

Reproduce

herbie shell --seed 2020153 
(FPCore (n N K)
  :name "(- 1 (* (/ n N) (- 1 (/ 1 K))))"
  :precision binary64
  (- 1.0 (* (/ n N) (- 1.0 (/ 1.0 K)))))