'Take heroic measures to make ``poly`` compatible with ``CRootOf``.'

@classmethod
def _preprocess_roots(cls, poly):

    dom = poly.get_domain()
    if (not dom.is_Exact):
        poly = poly.to_exact()
    (coeff, poly) = preprocess_roots(poly)
    dom = poly.get_domain()
    if (not dom.is_ZZ):
        raise NotImplementedError(('sorted    roots    not    supported    over    %s' % dom))
    return (coeff, poly)
