# why doesn't rootscontract work with conjugate?

```
x=var('x')
assume(x,'real')
(sqrt(-x+1)*sqrt(x+1)).conjugate()._maxima_().rootscontract()._sage_()
```

It works without conjugate, but with conjugate it does not contract roots. Is there a workaround? I know I can do it by hand but, what I have above is a part of a much larger expression.

Notice that you are really asking a Maxima question here, because `rootscontract` is acting on an object which you've put into Maxima. It's probably a question with an interesting answer. I'd take a look at what the `_maxima_()` looks like in each case, then try it out in `maxima_console()` and see what happens.