Andreas Griewank, Andrea Walther. Algorithm 799: revolve: an implementation of checkpointing for the reverse or adjoint mode of computational differentiation. ACM Transactions on Mathematical Software, 26(1):19-45, 2000. [doi]
@article{GriewankW00, title = {Algorithm 799: revolve: an implementation of checkpointing for the reverse or adjoint mode of computational differentiation}, author = {Andreas Griewank and Andrea Walther}, year = {2000}, doi = {10.1145/347837.347846}, url = {http://doi.acm.org/10.1145/347837.347846}, researchr = {https://researchr.org/publication/GriewankW00}, cites = {0}, citedby = {0}, journal = {ACM Transactions on Mathematical Software}, volume = {26}, number = {1}, pages = {19-45}, }