nan == nan: False   nan != nan: True   nan < 1: False   nan > 1: False
0.0 == -0.0: True   but 1/0.0 and 1/-0.0 are inf and -inf  (copysign shows the sign: -1.0 )
max(nan, 1) in python: nan   max(1, nan): 1   (a > b ? a : b) rule: nan>1 is false so gives 1; 1>nan false so gives nan
inf - inf = nan   0 * inf = nan
