Evaluating limits using algebraic manipulation