The expression (-(-1)^(1/6))^(1/2) gives the error
SIGN called on an imaginary argument
This looks a lot like bug report 711885, except that in
this case the expression causing the problem was
generated directly from valid user input, not by another
routine (in that case rootscontract) which created an
incorrectly simplified internal result.