Models for automatic diffrentiation : a conceptual framework for exploiting program transformation. - Stephen Anthony Brown (1998)