Average Error: 55.4 → 55.4
Time: 1.5s
Precision: binary64
\[\left(\left(x + \pi\right) \bmod \left(2 \cdot \pi\right)\right) - \pi\]
\[\left(\left(x + \pi\right) \bmod \left(2 \cdot \pi\right)\right) - \pi\]
\left(\left(x + \pi\right) \bmod \left(2 \cdot \pi\right)\right) - \pi
\left(\left(x + \pi\right) \bmod \left(2 \cdot \pi\right)\right) - \pi
double code(double x) {
	return ((double) (((double) fmod(((double) (x + ((double) M_PI))), ((double) (2.0 * ((double) M_PI))))) - ((double) M_PI)));
}
double code(double x) {
	return ((double) (((double) fmod(((double) (x + ((double) M_PI))), ((double) (2.0 * ((double) M_PI))))) - ((double) M_PI)));
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 55.4

    \[\left(\left(x + \pi\right) \bmod \left(2 \cdot \pi\right)\right) - \pi\]
  2. Final simplification55.4

    \[\leadsto \left(\left(x + \pi\right) \bmod \left(2 \cdot \pi\right)\right) - \pi\]

Reproduce

herbie shell --seed 2020153 
(FPCore (x)
  :name "(- (fmod (+ x PI) (* 2 PI)) PI)"
  :precision binary64
  (- (fmod (+ x PI) (* 2.0 PI)) PI))