Average Error: 3.7 → 3.7
Time: 916.0ms
Precision: binary64
\[\frac{\left(k \cdot \left(n + 0.5\right)\right) \cdot \pi}{N}\]
\[\frac{\left(k \cdot \left(n + 0.5\right)\right) \cdot \pi}{N}\]
\frac{\left(k \cdot \left(n + 0.5\right)\right) \cdot \pi}{N}
\frac{\left(k \cdot \left(n + 0.5\right)\right) \cdot \pi}{N}
double code(double k, double n, double N) {
	return ((double) (((double) (((double) (k * ((double) (n + 0.5)))) * ((double) M_PI))) / N));
}
double code(double k, double n, double N) {
	return ((double) (((double) (((double) (k * ((double) (n + 0.5)))) * ((double) M_PI))) / N));
}

Error

Bits error versus k

Bits error versus n

Bits error versus N

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 3.7

    \[\frac{\left(k \cdot \left(n + 0.5\right)\right) \cdot \pi}{N}\]
  2. Final simplification3.7

    \[\leadsto \frac{\left(k \cdot \left(n + 0.5\right)\right) \cdot \pi}{N}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (k n N)
  :name "(/ (* (* k (+ n 0.5)) PI) N)"
  :precision binary64
  (/ (* (* k (+ n 0.5)) PI) N))