Strasznie niejasny ten twój schemat. Przykładowo w bloku warunkowym w<=a opcja "tak" znajduje się na strzałce prowadzącej do tego bloku, a nie wychodzącej w przypadku gdy opcja "tak" zaistnieje. Nie mówiąc o tym, że 3 groty strzałek znajdują się niemal na sobie, tak, że trzeba się porządnie przyjrzeć żeby ogarnąć który jest który. Z kolei przy "read m1[w,k]" strzałka zamiast do bloku prowadzi do innej strzałki.
Taki schematy zwykle buduje się po to, żeby sobie pomóc wizualnie wszystko wyobrazić i żeby wszystko było widoczne na pierwszy rzut oka. Takie wsparcie dla wzrokowców. Proponowałbym wpierw poprawić czytelność, a potem zastanawiać się na rozwiązaniami. Na dodatek pewnie będzie ci je łatwiej znaleźć:)