8. Using automatic differentiation