Maybe I'm not looking as deeply into this as I should be, but it appears to me that the CLR boxes are nothing more than "unlatch" instructions. May I ask what the advantage is?
Two reasons: 1) It does not matter from which state you transitioned, there is always one and only one true state for each machine section. I don't care which bit is already true within that group at the end of the rung, I know that conditions were met to switch to the new one, so I make sure they are all off, and set only that one.
2) I usually (haven't looked at this example recently) use the highest bit in the group as a flag to limit state changes to one per PLC scan in some cases. For example, a program has 25 states and uses the same timer done bit as a transition condition for all of them so that the machine spends a minimum time in each step before checking other conditions and advancing. This timer is updated separately in the control logic part of my program, so I look at my "State Not Changed" flag on each transition branch in series with that timer DN bit to keep from jumping through multiple steps in a single scan.
So, using the CLR or FLL takes care of erasing the old state and clearing that flag, then the OTL provides a distinct (searchable) place marking the only rung in the program that causes that state of operation to become true. Maybe later I add four new states and seven branches. The CLR or FLL is already done for existing states, I just add my new branches.
The code is not optimized for speed or I would just use a MOV, or pure bit logic state engine style (which I think Archie has posted great examples of ).
It is optimized for readability and functionality, making it easy to go from human readable flowchart to working logic and back.