add !! to signbit macro so the return type is not uint64_t