Expression Templates For Automatic Differentiation