Automatic Differentiation of Algorithms: Theory, Implementation, and Application (Siam Proceedings Series)