При поиске ошибок для данного цикла использовния нужно рассматривать только те циклы инициализации, условия которых не являются более сильными по сравнению с условиями цикла использования.
Пример:
// Игнорируется, потому что может не выполниться для цикла использования (1)
if x && y { /* init x[i] */ }
// Рассматривается, потому что выполняется всегда для цикла использования (1)
if x || z { /* init x[i] */ }
// Цикл использования (1)
if x { /* use x[i] */ }
При поиске ошибок для данного цикла использовния нужно рассматривать только те циклы инициализации, условия которых не являются более сильными по сравнению с условиями цикла использования.
Пример: