// program P1 a = 0 // node 1 L1: b = a + 1 // node 2 c = c + b // node 3 a = b * 2 // node 4 if a < N goto L1 // node 5 return c // node 6
a = b * b // node 1 c = a + b // node 2 if c >= b // node 3 return c // node 5 else return a // node 4
A(0, n) = n + 1 A(m+1, 0) = A(m, 1) A(m+1, n+1) = A(m, A(m+1, n))
F(Y) = if H(Y, Y) then {while(1) ;} else true
u <- v x <- u y <- vu and v have overlapping use/def regions, but in fact they contain the same value