IEEE floats have NaNs and lots of guarantees about precision and strictly defined behavior to the point they’re weird (e.g. not associative) and annoying (e.g.
std::cmp::max is not defined for floats).
How about adding another floating point type (could be called “real”
r64) that doesn’t give any guarantees about rounding modes, NaN, Inf, +/-0. It’d be associative and have total order.
It could be used for things like particle effects in games (where precision is not as important as speed) and graphics algorithms that manipulate pixels as floating point numbers (finite values with usually plenty of bits of precision to spare, and would benefit greatly from SIMD).