> f1:=x->1/6*x^3+1/4*x^2-3*x+2;
df1:=factor(diff(f1(x),x));plot(f1(x),x=-7..7,y=-5..9,thickness=3);

f1 := proc (x) options operator, arrow; 1/6*x^3+1/4*x^2-3*x+2 end proc

df1 := 1/2*(x+3)*(x-2)

[Plot]

> f2:=x->x^4-4*x^2+1;
df2:=factor(diff(f2(x),x));plot(f2(x),x=-4..4,y=-3..5,thickness=3);

f2 := proc (x) options operator, arrow; x^4-4*x^2+1 end proc

df2 := 4*x*(x^2-2)

[Plot]

> f3:=x->(2*x^2+8*x+1)/(x*(x+4));df3:=factor(diff(f3(x),x));plot([f3(x),2,[[-2,-6],[-2,6]]],x=-8..4,y=-6..6,color=[red,green,black],thickness=3);

f3 := proc (x) options operator, arrow; (2*x^2+8*x+1)/(x*(x+4)) end proc

df3 := -2*(x+2)/(x^2*(x+4)^2)

[Plot]

> f4:=x->(x^2+2*x+3)/(x^2-2*x-3);
df4:=factor(diff(f4(x),x));plot([f4(x),1],x=-10..10,y=-10..10,thickness=3);

f4 := proc (x) options operator, arrow; (x^2+2*x+3)/(x^2-2*x-3) end proc

df4 := -4*x*(x+3)/((x+1)^2*(x-3)^2)

[Plot]

> f5:=x->x/(1-x^2);
df5:=factor(diff(f5(x),x));plot(f5(x),x=-6..6,y=-6..6,thickness=3);

f5 := proc (x) options operator, arrow; x/(1-x^2) end proc

df5 := (1+x^2)/((x-1)^2*(x+1)^2)

[Plot]

> f6:=x->(x+1)^2/(x^2-x-6);
df6:=factor(diff(f6(x),x));plot([f6(x),1],x=-10..10,y=-10..10,thickness=3);

f6 := proc (x) options operator, arrow; (x+1)^2/(x^2-x-6) end proc

df6 := -(x+1)*(3*x+11)/((x+2)^2*(x-3)^2)

[Plot]

> f7:=x->(2*x^3-x^2+2)/(2*x-3)^2;df7:=factor(diff(f7(x),x));plot([f7(x),1/2*x+5/4,[[2,-7],[2,7]]],x=-7..7,y=-7..7,color=[red, blue, GREEN],thickness=3);

f7 := proc (x) options operator, arrow; (2*x^3-x^2+2)/(2*x-3)^2 end proc

df7 := 2*(2*x^3-9*x^2+3*x-4)/(2*x-3)^3

[Plot]

> f8:=x->(x+1)+2/(x-1);
df8:=factor(diff(f8(x),x));plot([f8(x),x+1],x=-6..6,y=-6..6,thickness=3);

f8 := proc (x) options operator, arrow; x+1+2/(x-1) end proc

df8 := (x^2-2*x-1)/(x-1)^2

[Plot]

> f9:=x->2*x/(x^2+2*x+1);
df9:=factor(diff(f9(x),x));plot([f9(x),[[-1,-6],[-1,6]]],x=-6..6,y=-6..6,thickness=3);

f9 := proc (x) options operator, arrow; 2*x/(x^2+2*x+1) end proc

df9 := -2*(x-1)/(x+1)^3

[Plot]

> f10:=x->(2*x^2+4*x-1)/(x-2);
df10:=factor(diff(f10(x),x));plot([f10(x),2*x+8],x=-20..20,y=-10..30,thickness=3);

f10 := proc (x) options operator, arrow; (2*x^2+4*x-1)/(x-2) end proc

df10 := (2*x^2-8*x-7)/(x-2)^2

[Plot]

>