Simple Automatic Differentiation