This code is imported from musl, to match existing code in libm_dbl.
The file is also added to the build in stm32/Makefile. It's not needed by
the core code but, similar to c5cc64175be32cb1e4f3f1a249667bc9f5a12613,
allows round() to be used by user C modules or board extensions.
Identical to cd527bb324ade952d11a134859d38bf5272c165e but for doubles.
This gives a -2.754% improvement on bm_float.py, and -35% improvement on
calling sqrt in a loop.