fix: ensure lower order derivative SCCs occur before higher order ones#119
Conversation
Co-authored-by: Claude <noreply@anthropic.com>
|
why is this a necessary constraint? |
|
Semantically, because higher order derivatives depend on lower order ones. Practically, because it breaks BLT ordering. Structural passes only deal in the most differentiated variables, but for reassembly (this piece of code) we need all levels of differentiation in the SCCs. So this function is responsible for inserting them in. E.g. We generate equations SCC-by-SCC, in BLT sorted order, in D(x) ~ 2x + tthen In this case, the bug manifested as an error in this typeassert. What it means is that the inline linear SCC pass generated an It's often very tempting to preprocess all equations and populate |
No description provided.