sm6_metadata_get_float_value() already calls sm6_value_is_constant() itself, and some compilers (rightly) emit a warning that the conversion of UINT_MAX to float changes the value.