What is the motivation to normalize the coefficients?
```py
            coeffs = [c/lead for c in coeffs]
```
Maybe we can keep them as they are passed in, so if they are integers, that's what `polyval` will use, so things will be more accurate. Maybe it doesn't matter, since we are evaluating it at a point `x`, which is only given as a floating point number anyway.

Finally, do you have some ideas or comments how the precision should be handled in this particular solver? Currently we simply leave it to the user to specify `extraprec`, that way he/she has a good control how the solver works.

However, is there some logic or a rule of thumb of what kind of extraprec should be needed for the given polynomial? I would assume that it depends on the degree and the coefficients some how. Is my "degree*10" calculation (in sympy) decent?