found my error in my interative approach, the answer from evaluate_poly need to be check against epsilon not the root_guess. also started playing with a recursive approach that currently sux; plan to return to it.