jeśli mamy kod tablicujący wartości funkcji sinus: int rozmiar = 100; float tab[rozmiar];
i = 0; while (i < rozmiar)
tab[i] = sin(i * alpha); i = i + 1;
Bezpieczeństwo wymaga, żeby wprowadzić testy, czy używany indeks jest poprawny (powinien to robić automatycznie kompilator; większość kompilatorów C/C++ tego nie robi, choć robią to kompilatory wielu innych języków):
int rozmiar = 100; float tab[rozmiar];
i = 0; while (i < rozmiar)
if (i < 0) raise InvalidArrayIndex; if (i >= rozmiar) raise InvalidArrayIndex; tab[i] = sin(i * alpha); i = i + 1;
Po zmianie formy na SSA (blok pre-while oznacza instrukcje wykonywane przed porównaniem, blok taki nie występuje w kodzie źródłowym, jednak kompilator musi go wygenerować, żeby umieścić tam wyliczenia i wywołania funkcji występujące w złożonych warunkach): int rozmiar = 100; float tab[rozmiar];
i1 = 0; pre-while { i3 = Φ(i1, i2);
while (i3 < rozmiar)
if (i3 < 0) raise InvalidArrayIndex; if (i3 >= rozmiar) raise InvalidArrayIndex; tab[i] = sin(i3 * alpha); i2 = i3 + 1;