9 comments

[ 2.4 ms ] story [ 35.9 ms ] thread
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!

I would love to see more practical applications of SMT, particularly as intros to newbies.
The (freely available) book "SAT/SMT by Example" [1] shows how a lot of different problems can be tackled with an SMT solver. I highly recommend it!

[1] https://sat-smt.codes/

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!

[1] https://angr.io

[2] https://api.angr.io/claripy.html

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.
Having written way to much 8051 assembly I approve of this solution ....