Assuming we can trust Wolfram's Giant Ego, err, I mean Wolfram Alpha, to give exact results,
it is generally giving a better result than doubles.
Try simplifying the "a/b + c/d" cases next?
Also at the moment "(a + b)*c" does not simplify to "a*c + b*c" even if
a*c is exact.
Have to be careful because sometimes making the representation more exact
ends up making the conversion back to double have a bigger error.