Because codice_2 should always be greater than codice_1, this expression should always evaluate to a true value. Unfortunately, this can depend on the order of evaluation. When codice_1 changes, two expressions have to update: codice_5 and the conditional. If the first evaluates before the second, then this invariant will hold. If, however, the conditional updates first, using the old value of codice_2 and the new value of codice_1, then the expression will evaluate to a false value. This is called a "glitch".