Improvements to inequality solving

fixes #8206 (please feel free to any others that are related that also work with these changes)
fixes #8518
> What is it that you are concerned about?

Is there any test for this `if` branch?