fix: `split at h` when `h` has forward dependencies

We use an approach similar to the one used in `simp`.
closes #3731
3 files changed