\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)));
}



Bits error versus x
Results
Initial program 55.4
Final simplification55.4
herbie shell --seed 2020153
(FPCore (x)
:name "(- (fmod (+ x PI) (* 2 PI)) PI)"
:precision binary64
(- (fmod (+ x PI) (* 2.0 PI)) PI))