code for diagram
>
f:=unapply(piecewise(x<= 2+sqrt(2), (x-2)^2-2,x<6, 3*sin((x-2-sqrt(2)))),x):
rt1:=fsolve(f(x)=0,x=0..1):;
rt2:=fsolve(f(x)=0,x=3..4):
PTS:=[0,.7/2,rt1,2/2,3/2,4/2,6/2,rt2,8/2,10/2]:
pts:=plot({seq([z,f(z)],z=PTS)},color=black,style=POINT,
symbol=CIRCLE):
labls:=[`A`,`B`,`C`,`D`,`E`,`F`,`G`,`H`,`I`,`J`]:
ptlbls:=seq([PTS[i]+.15,f(PTS[i])+.25,labls[i]],
i=1..nops(PTS)):
LBLS:=plots[textplot]({ptlbls},font=[TIMES,BOLD,12]):
p1:=plot(f(x),x=0..7,thickness=2,color=blue):
plots[display]({p1,pts,LBLS},scaling=constrained,
view=[-.2..5.8,-2.5..3.5],xtickmarks=[],
ytickmarks=[-2,-1,0,1,2],axesfont=[TIMES,BOLD,12]);