Automatic Differentiation Using Constraint Handling Rules in Prolog
arxiv.org