- sizeof(x) == sizeof(float) ? __FLOAT_BITS(x) & 0x80000000 : \
- sizeof(x) == sizeof(double) ? __DOUBLE_BITS(x) & (__uint64_t)1<<63 : \
+ sizeof(x) == sizeof(float) ? !!(__FLOAT_BITS(x) & 0x80000000) : \
+ sizeof(x) == sizeof(double) ? !!(__DOUBLE_BITS(x) & (__uint64_t)1<<63) : \