| idea: pack info about value substructure into an int64 |
| all values should be encoded as 1<<x, probably byte by byte |
| and the hardcoded values should be encoded the same way, |
| or as 11111111 for "any" |
| then AND together "have" and "want" |
| and if zero in any byte (or maybe use popcount < 8?) |
| then skip because there is a mismatch |
| |
| possibble things to include: |
| * number of args of v.Args[0], v.Args[1], ... |
| * op of v.Args[0]%8, v.Args[1]%8, ... |
| |
| then can also calculate v.Args[0][0], etc at top and share, |
| |
| also: cut down commutativity |
| |
| |