00 0+51 1+00 Skip to the end of first term (X)
51 **** 1+52 Must be a second term (Y)
52 0+53 1+52 Skip to end of Y
53 0-54 **** Must not be another term
54 0-55 **** Skip back over zero
55 0-56 1-55 Skip back to Start of Y
56 0+57 1-56 Skip back to Start of X
57 **** 1+01 Skip first 1 in X
01 0-02 1+04 Test for X>1
02 **** 0+03 It was 1*Y. Erase the 1
03 0+28 **** Skip forward to Y and stop
04 0+05 1+04 Skip forward to end of X
05 **** 1+06 Skip first 1 in Y
06 0-07 1+10 Test for Y>1
07 **** 0-08 It was X*1: Erase the 1
08 0-08 1-09 Skip back to end of X
09 0+28 1-09 Skip back to start of X and stop
10 1-11 1+10 Skip forward to end of old1 and write first 1
11 **** 0+12 Write first zero
12 1-13 1+12 Skip + to end of new1 and write subsequent 1
13 0-14 1-13 Skip back to start of new1
14 0-14 0-15 Skip back to end of old1 and erase 1
15 0-17 1+16 Any more old1 left?
16 0+16 1+12 Skip forward to beginning of new1
17 0-17 1-18 Skip back to end of X
18 0+19 1-18 Skip back to start of X
19 **** 0+20 Erase beginning 1 of X
20 **** 1+21 Skip forward next 1 of X
21 0-24 1+22 Any more work to do?
22 0+23 1+22 Skip forward to end of X
23 0+23 1+10 Skip forward over 0 looking for old1
24 **** 0+25 Erase last 1
25 0+26 **** Skip forward over 0
26 1+26 1-27 Restore forward missing 1s
27 0+28 1-27 Return back to start of answer and stop
28 **** **** End of Program