Before, some functions like `isgreater(float, double)` would return a
`double` instead of a `bool`.
Stumbled upon this bug while trying to adapt
[`External/CUDA/cmath.cu`](https://github.com/llvm/llvm-test-suite/blob/main/External/CUDA/cmath.cu)
to HIP.
```
/_llvm-test-suite/External/HIP/../CUDA/math_h.cu:617:20: error: static assertion failed due to requirement 'std::is_same<double, bool>::value':
617 | static_assert((std::is_same<decltype(isgreater((float)0, (double)0)), bool>::value), "");
```