I did try with individual objects while debugging, and the results were the same.

You might also find that using individual math objects to solve the arithmetic rather than expr corrects the rounding error.