Getting Started with ADOL-C
Algorithm 799: revolve: an implementation of checkpointing for the reverse or adjoint mode of computational differentiation