signed-nan: Don't assume that '-' works as expected on NaN values. * lib/signed-nan.h (minus_NaNf): New function. (positive_NaNf, negative_NaNf): Use it. (minus_NaNd): New function. (positive_NaNd, negative_NaNd): Use it. (minus_NaNl): New function. (positive_NaNl, negative_NaNl): Use it. * tests/test-totalorder.c (TOTALORDER_MINUS): New macro. * tests/test-totalorderf.c (TOTALORDER_MINUS): New macro. * tests/test-totalorderl.c (TOTALORDER_MINUS): New macro. * tests/test-totalorder.h (negative_NaN_with_payload): Use it. * tests/test-totalordermag.c (TOTALORDER_MINUS): New macro. * tests/test-totalordermagf.c (TOTALORDER_MINUS): New macro. * tests/test-totalordermagl.c (TOTALORDER_MINUS): New macro. * tests/test-totalordermag.h (negative_NaN_with_payload): Use it.