We begin by considering a very simple loop with a very common dependence pattern. This example is also used in Banerjee's paper: for = 0 to 3 do for = 0 to 3 do S: A[ , ] := A[ , ] + A[ , ] Dependence structure?
for = 0 to 3 do for = 0 to 3 do S: A[ , ] := A[ , ] + A[ , ]
for = 0 to 3 do
S: A[ , ] := A[ , ] + A[ , ]