Improvements to inequality solving

fixes #8206 (please feel free to any others that are related that also work with these changes)
fixes #8518
It is traversed by a test in `test_solve_univariate_inequality` as confirmed with a print statement.