Fundamental limits of multi-user distributed computing of linearly separable functions