SLIDE 81 TAPENADE Program Internal Representation
using Calls-Graphs and Flow-Graphs:
trees (IL) trees (IL) XXX parser C parser (C) Fortran95 parser (C) Fortran77 parser (C) Signatures
XXX printer C printer Fortran95 printer (Java) Fortran77 printer (Java)
Imperative Language Analyzer (Java) Differentiation Engine (Java) API
Top A B C
push pop pop cycle do exit do loop if true if false Entry small(A,B) n = 0 1,100 Header DO 100 i=1,100 IF (A(i).ge.0) A(i) = n n = n + 1 B(i) = 0 A(i) = B(i) print *,n Exit end
Laurent Hasco¨ et () Automatic Differentiation CEA-EDF-INRIA 2005 76 / 88