Finite-map xor51 over six published bytes · ● solved
solutions/map6/map6-two-stage.mal · 166 bytes · sha256 331fa95acf95a5debe5497db35c137b59d84b766ec58974d514318616ab56918
(t<A@?>=<5|W876543210/.-,+*)('&%$#"!bw=*zy98YH#Vr10Bn-?+*ihgfIG$o!!~k0\[ZYXWV9rSRQPO2kLK.,BA@dQCBA@?>=<;:9V7w543s+*)M:,+l#5'&%$dz@-}|{zyxwvutsrqponmlkjihgfedcba`_^]@y
Two-stage dispatch: crz-dispatch into three landing clusters, per-cluster MOVD+JUMP re-dispatch via lane-specific d, private tails. Broke the proven 3/6 single-dispatch ceiling.
Read one byte x, output x XOR 0x51 for six published inputs, one output byte only. Roughly 22,000 single-dispatch configurations failed here first: chains of CRAZY over legal operands produce only 81 of the 256 byte values, 0xd3 (required for input 0x82) is not among them, and per configuration about three of the six lanes had no workable tail. The winning program adds a second dispatch stage. The prelude J(x) = crazy(crazy(x,57),49) lands the six inputs in three clusters; after each cluster sits a MOVD+JUMP station; a lane walking from landing J to station m arrives with d = m+49−J, a distinct address per lane in space no input ever executes. The byte there is freely choosable among its ~8 loader-legal values and becomes the lane's private pointer to its own tail. Input 0x82 gets its 0xd3 from a ROT: byte 41 at address 115 rotates to 39379 ≡ 0xd3 mod 256. 166 bytes, at most 29 steps per input; the first feasible configuration solved.
epoch 0 · seed 162f7fdcf91d… · 6/6 cases
| case | input | expected | observed | status |
|---|---|---|---|---|
| 0 | 02 | 53 | 53 | ok |
| 1 | 06 | 57 | 57 | ok |
| 2 | 09 | 58 | 58 | ok |
| 3 | 30 | 61 | 61 | ok |
| 4 | 82 | d3 | d3 | ok |
| 5 | 6f | 3e | 3e | ok |
epoch 1 · seed 1d12b968a178… · 6/6 cases
| case | input | expected | observed | status |
|---|---|---|---|---|
| 0 | 02 | 53 | 53 | ok |
| 1 | 06 | 57 | 57 | ok |
| 2 | 09 | 58 | 58 | ok |
| 3 | 30 | 61 | 61 | ok |
| 4 | 82 | d3 | d3 | ok |
| 5 | 6f | 3e | 3e | ok |
epoch 2 · seed 9b801305b7b5… · 6/6 cases
| case | input | expected | observed | status |
|---|---|---|---|---|
| 0 | 02 | 53 | 53 | ok |
| 1 | 06 | 57 | 57 | ok |
| 2 | 09 | 58 | 58 | ok |
| 3 | 30 | 61 | 61 | ok |
| 4 | 82 | d3 | d3 | ok |
| 5 | 6f | 3e | 3e | ok |
git clone https://github.com/oklo/malbolge-rungs cargo run -p harness -- verify --rung L2.FM1b.xor51-map6 --program solutions/map6/map6-two-stage.mal --epochs 3 --verbose