https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100115
--- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> --- The reason why the warning tends to disappear in a simpler test case is because of the limit (I just had it happen with my reduction). Don't spend more time on it than you already have, I'll work with the attached translation unit. The warning is exquisitely sensitive to optimizations so when GCC doesn't optimize something in a way that lets it prove the uninitialized read is impossible, it triggers. I'm hoping to improve this for GCC 12.