https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107394
--- Comment #2 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- This is interesting. quux() was analyzed and a global range was set that included the possibility of +NAN, but when it was inlined into bar(), the assert making sure no NANs crept in for -ffinite-math-only failed. So the inlined function had a NAN, but the function where it was being inlined into has -ffinite-math-only.