Derivative Code Compiler


dcc is a source-to-source compiler that generates first and higher tangent and adjoint code for numerical programs written in a subset of C/C++.

For tests you can download a prior version of dcc from the book's website The Art of Differentiating Computer Programs. Based on the prior version 0.9 of dcc, the version on the current site is the recent version where the usability and the input language has been extended. Please note that the command line syntax is completely different to the one from version 0.9, as you can see in the following example.


  • Michael Förster, Uwe Naumann. Toward Adjoint OpenMP. Department Of Computer Science Technical Reports. Abstract Bibtex Paper
  • Michel Schanen, Michael Förster, Boris Gendler, and Uwe Naumann. Compiler-based Differentiation of Numerical Simulation Codes. In ICCGI 2011, The Sixth International Multi-Conference on Computing in the Global Information Technology , pages 105–110. IARIA, 2011.
  • M. Schanen, U. Naumann, and M. Förster. Second-order adjoint algorithmic differentiation by source transformation of MPI code. In Recent Advances in the Message Passing Interface, Lecture Notes in Computer Science, pages 257–264. Springer, 2010.