Use floating point weights to get extra range.