FloatPointReturnType is float if 'T' is < 32bytes instead of being double.
Previously FloatPointReturnType would always be double for types that are not float, which caused Int8/Int16 types to promote to double instead of float.
Edited by Robert Maynard