(float)"1.1754944e-38" is != 0 (float)"1.1754943e-38" is == 0 Yet, 1.1754944e-38 == 1.1754943e-38. The fix is to perform the operations as doubles, and convert to F32 *after* comparing the denormal range.
(float)"1.1754944e-38" is != 0 (float)"1.1754943e-38" is == 0 Yet, 1.1754944e-38 == 1.1754943e-38. The fix is to perform the operations as doubles, and convert to F32 *after* comparing the denormal range.