Naruszenie pierwszego lub drugiego warunku wprowadza zależność przepływu, odpowiadającą sytuacji, w której wynikiem działania Pi jest wartość wykorzystywana przez Pj (lub odwrotnie). Trzeci warunek to wymaganie niezależności wyjścia. W sytuacji, gdy dwie wartości są zapisywane w jednym miejscu, to druga nadpisze pierwsząRoosta, Seyed H., Parallel processing and parallel algorithms: theory and computation, 2000, Springer, , s. 114..
Przykład 1 Poniżej przedstawiono dwie funkcje. Pierwsza zawiera przykładowe operacje zależne, a druga niezależne:
1: function Zależne(a, b) 2: c := a·b 3: d := 2·c 4: end function
Operacja 3 w Zależne(a, b) nie może być wykonana przed (czy nawet równolegle z) operacją 2, ponieważ operacja 3 wykorzystuje wynik z operacji 2. Narusza warunek 1 i w konsekwencji wymusza określony przepływ sterowania.
1: function Niezależne(a, b) 2: c := a·b 3: d := 2·b 4: e := a+b 5: end function
W tym przykładzie nie ma żadnych zależności pomiędzy operacjami, a więc mogą one być wykonane równolegle.
Przykład 2 Spełnienie warunków Bernsteina może zależeć również od tego, w jaki sposób zapisano program. Przykładowo w funkcji
1: function ZależneII(a, b) 2: a := b + 5 3: c := a + 10 4: end function