https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112454
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- -1/~0 has the same issue as mentioned: ``` int finv(int a, int b, int c, int d) { return (a == 2 ? -1 : b) + (c == 3 ? -1 : d); } ```