It is a terrible idea to divide out roots as they are found. There will be examples where the later roots are lost almost completely. See this wikipedia articlethis wikipedia article for a famous and remarkably simple example of a polynomial whose zeros are very sensitive to the coefficients. As soon as you divide out one zero approximately, you perturb the coefficients and the other zeros may have moved a lot. At the very least, all the roots should be refined using the original polynomial. Textbooks usually advise trying to find a way to solve your problem that does not involve root finding in a polynomial. (For example, getting the eigenvalues of a matrix by finding its characteristic polynomial first is nearly always a bad idea.)