Attento che la prima condizione
diff >= 0
diff maggiore o uguale a zero
racchiude anche la seconda
diff == 0

C'e` qualcosa che non va in quella logica