My first superoptimizer

# · 🔥 216 · 💬 56 · 11 months ago · austinhenley.com · azhenley · 📷
As you can imagine, the space of possible programs quickly explodes, and testing two programs for equivalence also isn't easy. I'll need to write an emulator that executes programs in order to show whether two programs are equivalent. Append([tuple([val]) for val in range(max mem)]) for arg set in product(*arg sets): program = yield program. Given a program, can it find the shortest program with the same end result? It is also possible to give the superoptimizer just the desired final state without first writing a program that produces it. Searching for the final state with no more than 6 instructions and values only up to 2 caused the superoptimizer to generate 1,580,000,000 programs for 30+ minutes on my laptop before I killed it. The superoptimizer is searching through a ridiculous number of programs, many of which are nonsensical.
My first superoptimizer



Send Feedback | WebAssembly Version (beta)