Fix a bug where addition of small floating point numbers could create bad results
The issue was that the alignment shift could introduce zeroes on the high bits.