-- keep averages of different length that affect the change base on the order of magnitude of the length
-- i.e. averages of the last 10, 100, 1000 cubes, compare trends, ...
-- think I need to adjust based on rate of change, not (or as well as) distance from target
-add option to only print best solution found (helpful with timeout)
+cleanup. lots of cleanup.
+speedup. much slower after switching to depth % 3 in pruning tables
+implement symmetry, make tables smaller
+store face mask along with distance % 3 in pruning tables
is a phase 1 length of 0 indicative of an optimal solution?
recursion elimination so I can save state of solver for a given cube and continue later
-bigger/combined pruning tables
-store distance % 3 in pruning tables (important once they're bigger)
-use symmetry to make tables/searches smaller
multithreaded for work on a single cube? (maybe?...)