I realized that the failure range is larger than I mentioned: it is any time abs_d will not fit within a const_int. So the additional test should be && abs_d < (1 << (HOST_BITS_PER_WIDE_INT - 1)) David