4 ms·
That's essentially what a source-to-source AD does, just with support for the extra features that show up in programming languages. For example, handling variab
by one-more-minute 8y ago
That's essentially what a source-to-source AD does, just with support for the extra features that show up in programming languages. For example, handling variable bindings gets you the typical Wengert list, and handling function calls gets you the Pearlmutter and Siskind style backpropagator (I wrote a bit about the relationships at [0]).
The short answer is that CAS systems work with a "programming language" that doesn't have these features and is therefore a bit too limited for the kinds of models we're interested in.
[0] https://github.com/MikeInnes/diff-zoo https://github.com/MikeInnes/diff-zoo