Thou Shall Not Recompute: Selecting Subexpressions to Materialize at Datacenter Scale