First of all I'd like to thank Haxton for organizing this tournament, it was really fun and puzzle design was on point. I was forced to 6p the solution to save 7 wSUM there should be a clean looping solve in my previous submissions. This solution decides the tournament and I expect Kazyan to score exceptionally well, I just hope this approach is enough to give mee the win. The better alchemist may win. ENCODING & EXPLANATION: I expect many people use this encoding family as I consider it pretty strong. The encoding goal is to minimize operations on the final product and avoid destructive operations that would slow down the machine. This encoding belongs to a family that uses two pairs of bits to encode binary to single digit base 4 and the last bit is used to perform additional operations that distinguish numbers from 16 to 31. In my specific solve the first two atoms and last two atoms are used to perform binary to base 4 and the middle atom is used for additional shenanigans. This also means flipping the input should do nothing on the output. I use a sliding technique for the whole input. I bond the two output metals to the stick in the leftmost side of the binary pair. If the first atom (right) is fire the metal gets pushed early into the projection glyph and gets projected once otherwise that projection is missed. If the second atom (left) is fire the metal gets pushed out of the projection early. Otherwise it gets projhected twice. This means that fire-salt is lead (no projections) fire-fire is tin (1 projection) salt-salt is iron (2 projections) and salt fire is copper (3 projections). By bonding both metals we have successfully encoded 16 cases without destroying any information and requiring only 3 operations per binary pair. The tricky part begins now, if the middle atom is salt, nothing happens and both metals are outputed. However, if it is fire, the shenanigans begin. Like with binary to base 4, if the middle atom is fire the first metal gets pushed early so it can be grabbed and suffer additonal transformations, otherwise it will just get bonded and outputted normally. Now we have four special cases: either the received atom is lead, tin, iron, or copper. Since all the combinations from lead to copper are already covered, this atom needs to convey information by becoming gold/silver. I chose to do this by projecting the atom and conditionally flipping the final output, this means I only need to project to gold/silver once making the solve fast. If the metal is copper/lead it will get flipped, otherwise it won't. First, I purify lead so it can be distinguished from the other metals. Then I project the metal three times, this results in either gold + qs (if it was copper) gold (if it was iron) and silver (if it was tin OR leadas it was projected). Since the silver that came from lead is grabbed by a different arm it can be distinguished and used to not flip the output. To distinguih between the gold that came from copper and the other two metals I use the fact that there is an spare qs if the gold came from copper to pull it out early. This encoding only needs to project 9 times and purify once and some operations can be parallelized, saving a lot of cycles. I may have missed spicier encodings, who knows. INTERESTING INPUTS (FOR SHOWCASING) Since the encoding can be flipped and the method used for binary to base 4 is the same both times, there are only a handful of interesting cases: * * SALT * * -> Any combo of atoms shows how the metal bond and output without shenanigans * * FIRE FIRE SALT -> Most complex case, purifies lead and does not flip output * * FIRE SALT FIRE -> Uses spare qs to extract gold * * FIRE SALT SALT -> Gold is not extracted IMPLEMENTATION COMMENTS The metal delivery for purification looks awful but using ravaris wheel was too expensive in wSum (7 area + arms needed to handle it). Also arms 2 and 9 do nothing in comparison to the others but slowing down the machine harms wSum since 1 more rate is 6 wSum and one arm is just 5 wSum. I think the implementation of this family of encodings and this encoding in particular is pretty on point, but the sheer depth of the puzzle makes me unable to gauge how well it will score. There may be slower but cheaper and smaller solves that beat this one but for me it was impossible to test everything, I went for a fast and smallish solve because it seems like cost does not impact scoring as much as cycles. Through hours of tinkering I was able to save 40 wSum from the initial version of this solve, testing a different approach and managing to bring it down to a polished state in the given time was not feasible for me. I liked that I could alter the encoding to improve wSum as the position of the input atoms does matter, so the puzzle tests the ability of players to play with the encoding in their favor. FINAL REMARKS The tournament was very enjoyable and thanks to the two weekend format I had enough time to submit solves I was happy with. Regardless of placing 1st or 2nd I am not sure if I'll participate next year as it is very time consuming and I know I am unable to participate without actively trying to win. I am grateful for this community and the effort they make to organize this kinds of events. Best regards, SergyD