https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120089
--- Comment #15 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Connor thanks for the detailed bug report too. It was very very useful. The reason why I changed it to remove the floating point and most of the C++ code was to make it easier to debug. In this case since the `at` method was important, it was replaced with: ``` if (vertexIdx > t) __builtin_trap(); ``` Which is the most important part of this loop and is part of the reason why it is miscompiled.