Is this already only called if the coefficients are rational? You don't ever seem to check that.