...
Wiki Markup When a {{double}} is demoted to {{float}} \[or\] a {{long double}} is demoted to {{double}} or {{float}}...if the value being converted is outside the range of values that can be represented, the behavior is [undefined|BB. Definitions#undefined behavior].
This rule does not apply to machines that support signed infinity, such as ones that support IEEE-754, as all numbers are representable.
For some non-IEEE-754 machines, conversions of too small numbers (between zero and {{FLT_MIN]}) might produce underflow exceptions that might be considered undefined.
Non-Compliant Code Example
...