```c++ #include <limits.h> unsigned int cvt(unsigned long x) { [[assume(x <= UINT_MAX)]]; return x; } ``` shorten is safe with `[[assume(x <= UINT_MAX)]];`. see https://godbolt.org/z/aoPjxco5r