Before evaluating a large expression, Mathematica often identifies
common subexpressions, which it collects and caches in linear time to
avoid repeated work and to 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.