Why are you trying to get the real and imaginary parts here (I don't have the Bronstein book in front of me)? `as_real_imag` is going to assume that `x` is complex and return things in terms of `im(x)` and `re(x)`. Probably whatever logic you really want to do here can be done at the poly level.