https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118129
--- Comment #1 from Antony Polukhin <antoshkka at gmail dot com> --- Division by zero is UB in C++ https://eel.is/c++draft/expr.mul#4 so looks like the proposed optimization could be done even if `y` is not known to be non-zero.