Придумал ещё один вариант:
## Код:
```
i := -1;
      REPEAT
         j := 0; INC(i);
         IF i < LEN(a, 0) THEN
            WHILE (j < LEN(a, 1)) & ~(a[i, j] = v) DO INC(j) END;
         END
      UNTIL j < LEN(a, 1);

      IF i < LEN(a, 0) THEN нашли ELSE не нашли END
```

Он чуть-чуть обгоняет симуляцию ЦД на больших матрицах, но отстаёт на малых.

Компилятор упорно тупит не желая оптимизировать строку

WHILE (j < LEN(a, 1)) & ~(a[i, j] = v) DO INC(j) END;

до строки

WHILE (j < LEN(b)) & ~(b[j] = v) DO INC(j) END;

где "b = a[i]".