https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92508
--- Comment #8 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Aha, that makes sense for sreal it is not sure that a == a * 10000 / 10000 and the code was inconsistent about guaring the noop scales. Thanks for tracking this down! I suppose it would also make sense to pre-compute 1/10000 and use it instead of divisions. I will look into it after fixing other issues. Honza