hai messo un if e la funzione non ritornava il risultato se la condizione era falsa
med=((inf+sup)/2);
e1=esisteOK(v,inf,med);
e2=esisteOK(v,med+1,sup);
return e1 + e2;
dovrebbe funzionare, e1 e e2 sono o 0, 0 o 0, 1 o 1, 0