sign of `NaN` differs in CT & RT
### Nim Version

- devel at 1af88a2d20add67e3c376f0bc71
- stable of 2.2.2


### Description

To inspect the sign bit of `NaN`,

consider the code:

```Nim
echo cast[int](NaN)
```


### Current Output

- `92211202370410905xx` when nimvm(`xx` is 59 currently)
- `-2251799813685248` when C backend


### Expected Output

```text
`9221120237041090559`
```

### Known Workarounds

_No response_

### Additional Information

Nim's `float` uses `NAN` anywhere one node's `floatVal` `isNaN`

but that `NAN` didn't uses that of `<math.h>` but the one defined in `nimbase.h`,

where a outdated definition is used that produces a negative `qNAN` (`0xFFF8000000000000'f64`)