Ciao a tutti! Ho da poco iniziato a programmare in C per un esame, sto facendo un esercizio in cui devo definire una funzione per poi calcolare le X e le Y con un ciclo for nel main

Il problema è che per le x comprese tra -2 e 0 mi da nan una volta che compilo.. cioè nella y in cui è presente pow(x,2./3.) e so che è questo il problema perché ho provato a toglierlo e non mi da più errore.. Se qualcuno può aiutarmi perché non ho idea di cosa non vada

Questa è la funzione:

double funz(double x){
double y;
if(x<-2 || x>=2)
y=23./9.;
else if(x>=-2 && x<=0)
y=(3./7.*(cos(x)*sin(x)))-(2./3.*pow(x,(2./3.)));
else
y=(9./5.*log(x+1))-(sqrt(x*x+1));
return y;
}