Notice that codice_1 is assigned a value at three points (marked A, B, and C). However, at the point marked "1", the use-def chain for codice_1 should indicate that its current value must have come from line B (and its value at line B must have come from line A). Contrariwise, at the point marked "2", the use-def chain for codice_1 indicates that its current value must have come from line C. Since the value of the codice_1 in block 2 does not depend on any definitions in block 1 or earlier, codice_1 might as well be a different variable there; practically speaking, it "is" a different variable — call it codice_6.