Before evaluating a large expression, Mathematica often tries to
identify common subexpressions, which it collects and caches in linear
time to avoid repeated work and improve accuracy. This technique can
significantly cut both the computation time and the memory footprint
for large, complex computations. Note that
numerical-precision control is implemented to work with
common subexpression
collection and caching.