We only set the rounding flag in a few instances, and always set it back when we are done (in the assembly code). Does using debugflag=90 make any difference?
I have to use debug=90 in order to instrument the code. Otherwise ComplexPower() in mpmath_c.c is not called. Otherwise I would have to debug the assembler directly. However, I don't think this is a fruitful line of investigation, because we can see this phenomenon in many different circumstances, even completely different code in Xfractint. So even though there are things I don't understand (e.g. at least one example of an assembler routine that returns different results at different times with the identical inputs), this really isn't a big deal, since I KNOW the math is such that any bit being different will push the function over to a very different value. Tim