This is a Fortran9X adaptation of the functionality of Revolve; see Alg. 799 published as Griewank2000ARA . The interface of the routines differs from the cited revolve implementation found in Adol-C and has been designed to be more in line with the Fortran 9X language features. A minor extension is the optional `bundle` parameter that allows to treat as many loop iterations in one tape/adjoint sweep. If `bundle` is 1, the default, then the behavior is that of Alg. 799.
The implementation (written by J. Utke) is contained in revolve.f90, the use is illustrated in the `Examples` directory.
The mercurial repository with the latest version can be found at: http://mercurial.mcs.anl.gov/ad/RevolveF9X