https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114894
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note we should catch this too: ``` int fmul2(unsigned a, int b) { int c = a * b; int d = a != 0; return c & -d; } ``` Which is more complex ...