It's not that you have that complex a rung. Most ladder implementations have an internal command (usually not seen by the programmer) which saves the status of the rung for retreival later.
In your rung this would have been just before the AND of NOT X0. It would have been some sort of PUSH of the currnt status of the rung onto the logic stack. After the OUT of Y5 the execution would have retreived the saved status (POP), ANDED it with X4 NOT and performed the OUT C11.
AD does not have this feature at the output point. The status before the AND of NOT X0 is lost. It can't be used to start the AND witn NOT X4. The name "AND Above a JOIN" is a little misleading but that's the reason.