Remove ieee754_rem_pio2 in favor of a rem_pio2_kernel written in Julia. (#22603)
* Remove ieee754_rem_pio2 in favor of a rem_pio2_kernel written in Julia.
* Add missing begin key.
* Remove _approx.
* Move to separate files.
* Fix LICENSE.md to mention FDLIBM instead of Openlibm.
* Address comments.
* Strengthen test to faithfully rounded.
* Fix LICENSE.md message for rem_pio2.
* Fix style in LICENSE.md entry.
* Remove semicolons.
* Move highword up, and remove duplicate unsafe_trunc.
* Fix LICENSE.md by removing a bullet and changing license of base/special/exp.jl.
* Change license info for base/special/exp.jl.
* Small changes.
* Get and reset precision for BigFloats, and space before rem in -rem.
* setprecision do
* Add comments, move test, and switch to muladd in some places.
* Fix y1 branches of rem2pi.
* Small changes.
* Move comment in rem_pio2.jl and add test for fast branch of mod2pi.
* rint docstring fix and make it clear what the constant is.
* Update comment for INV2PI.
* Fix wrong test set name.
* Tests against ieee754_rem_pio2 output.
* Inline cody_waite functions.
* rint -> round, remove rint, remove one argument cody waite, replace Int(x) with trunc(Int, x).
* Add some tests.
* Inline rem_pio2_kernel, and rearrange code slightly.
* fix xhp
* Use DoubleFloat64.
* Move constants into functions.
* Fix escaping of mod
* Fix tests and remove specific variables.
* Fix tests
* Fix issues raised in comments.
* More appropriate ulp test (test against eps of reference number).
* Change link to a stable github link.