https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31178
--- Comment #15 from Andrew Macleod <amacleod at redhat dot com> --- no... we won't process ranges for anything unless it passes supports_type_p (): (INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type))) oh oh oh. Never mind. I see. we are generating a range for i_2, and I'm now using the type of op1... we probably are NOT generating ranges for x_1... but I am looking at its type in this case. Doh! my bad. I shall use element_precision. problem solved. Thanks