Exercises 2.46-48 symbolic differentiation