1998 IMACS Conference on Applications of Computer Algebra
Automatic Differentiation Tools offer a solution to avoid the time-consuming and error prone task of developing adjoint by hand. But whereas hand written adjoint codes can be ran on really large inputs, automatically generated reverse codes are sometimes too much memory consuming to be ran.
The first difference comes from the knowledge of the code which is used for hand writing adjoint codes and cannot be easily extracted from the code. A second main difference comes from the fact that in the communities where adjoint codes are written, people write "nicely" the initial model. On the other hand, AD developers have studied new trade-off between memory and execution time requirements which may be used to help adjoint developers.
The practical knowledge of adjoint developers added to the technical knowledge of AD developers may lead to great improvement to the two methods.