Do the c++ standards define the behavior of casting a NaN
from float to double or vice-versa, or such outcome is implementation-defined or undefined?
The architecture I'm pragmatically concerned with is x86-64 with GCC, but I'd appreciate a broader theoretical understanding.