Note that the glibc "Use generic implementation" is not really generic. It presumes IEEE 754 representation, and presumes the memory layout (e.g., could have big-endian int but little-endian IEEE 754 on the same hardware).