General Solution
Hybrid approach
- Back-propagation on all acyclic portions of the input constraints
- Incremental lowering applied only to constraint cycles
- Topological sort and cycle identification in linear time
- Best performance on arbitrary constraints