Should this be merged with `real_root`? Or perhaps `real_root` should call to this if there are surds present in the argument?