https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117572
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note to reproduce it in GCC 15+, the
first loop needs to have a marker not to unroll.
That is:
```
#pragma GCC unroll 0
while (e)
*c++ = e /= 10;
```
Otherwise GCC figures out in cunrolli that loop only iterates twice and then
can figure out things better.
