Runner-up: smallest polynomial-time solution — TEAM-19



; Lawrence Fetter, James Hodgskiss, David Kennedy - 19 rules

0       _       _       L       Y       ; Found Y
0       *       *       R       0       ; Move to the end of input
Y       0       _       L       Y0      ; Current Y is 0
Y       1       _       L       Y1      ; Current Y is 1
Y       #       _       L       XY      ; |X|>|Y|
Y0      #       #       L       Y0X     ; Found X (current Y is 0)
Y1      #       #       L       Y1X     ; Found X (current Y is 1)
Y0X     _       x       R       0       ; |Y|>|X|
Y0X     0       x       R       0       ; Substitution: (0+0)->x
Y0X     1       y       R       0       ; Substitution: (0+1)->y
Y1X     _       y       R       0       ; |Y|>|X|
Y1X     0       y       R       0       ; Substitution: (1+0)->y
Y1X     1       x       L       LC      ; Substitution: (1+1)->x, perform long carry
LC      1       0       L       LC      ; Long Carry subroutine
LC      *       1       R       0       ; End of long carry
XY      x       0       L       XY      ; Substitution: x->0
XY      y       1       L       XY      ; Substitution: y->1
XY      *       *       *       halt    ; No more x's or y's to replace
*       *       *       L       *       ; Move left