Seems to me it would be better still the optimize the whole calculate the rotate is a part of (maybe you don’t really need one of those rotates) but that’s a lot tougher.
It is great to see SMT used for more real problems though!
That was my thought too. The author says that the memory usage grows extremely quickly; I wonder if there's a way to reduce it.
Isn‘t that what DeepMind tried to circumvent by using AlphaZero for AlphaTensor, to discover faster matrix multiplication techniques?
I think so. Their algorithms aren't known to be optimal though, just better than the previous ones.
I would love to see more practical applications of SMT, particularly as intros to newbies.
Check out angr [1], a symbolic execution engine, and claripy [2], its frontend to SMT solvers like z3. Depending on your background, I probably wouldn't describe angr as "for newbies," but claripy is a very clean SMT interface!