f:= x^2*arctan(1/(1+x));

discont(f,x,Dom::Real);  //     Calcul des discontinuites

diff(f,x); //derivee premiere

plotfunc2d(f); // Trace le graphe de f

// Limites en -1
limit(f,x=-1);
limit(f,x=-1,Left);
limit(f,x=-1,Right);

// Limites en + l'infini et asymptote
limit(f,x=+infinity);
limit(f/x,x=+infinity);
limit(f-x,x=+infinity); // Asymptote y=x-1

// Limites en - l'infini et asymptote
limit(f,x=-infinity);
limit(f/x,x=-infinity);
limit(f-x,x=-infinity); // Asymptote y=x-1