Source Code Generation for Automatic Differentiation using Operator Overloading