make sure all roots are obtained

If the domain permits, compute (then remove duplicates) with all_roots.

Is there a way to remove multiple roots easily so the previous roots
don't have to be recomputed?
Merge pull request #1885 from smichr/3693

make sure all roots are obtained