For all basic blocks B
strict-in[B] = empty set
strict-out[B] = empty set
end for
Loop
For all basic blocks B
strict-in[B] = use[B] union (strict-out[B] - def[B])
strict-out[B] = intersection(S a successor of B) strict-in[B]
end for
until there are no changes in one iteration