Because if you have these same square matrices, the optimize produces a "wrong" plan, because it's indifferent in the cost.
I couldn't think of a simple way how to incorporate this special case -  one thing I tried in optimize was to find all duplicate prefixes, generate this kind structure for them and eventually "fill in" ranges inbetween with the standard procedure. So, it gets unnecessary complicated for one special case that can be generated right away without computing costs for each subsequence.