Feature parity with the C++ version; ~10% faster

Now that the floating-point hack has been removed, we can use the more-efficient scaling code as part of the libstdc++ proposal.