I’m not brave enough to try my hand at it >.<. But if you want my armchair suggestion: at least implementing the greedy approach (even defaulting to it) would be great, as it gets you basically 95% percent of the way from being prohibitively slow to blazing fast.
Thanks so much for making the einsum function in the first place!