(I'm not very satisfied with the method of obtaining the result; I haven't found yet another way to accomplish the task.)
See also a closely related question.
Eee[t1_, t2_] := (-Sin[t2] - (-Cos[t1] + Cos[t2])/(t2 - t1))^2/2
f[t1_, t2_] := -Sin[t1] - (-Cos[t1] + Cos[t2])/(t2 - t1)
For some insight:
ContourPlot[{Eee[t1, t2]}, {t1, 0, 2 π}, {t2, 0.001, 2 π}, FrameLabel -> {"t1", "t2"}]

and
ContourPlot[{f[t1, t2]}, {t1, 0, 2 π}, {t2, 0.001, 2 π},
FrameLabel -> {"t1", "t2"}, PlotLegends -> Automatic]

So
plot = ContourPlot[{f[t1, t2] == 0}, {t1, 0, 2 π}, {t2, 0.001, 2 π}, FrameLabel -> {"t1", "t2"}]

The line $y=x$ is asymptotic, as f[t,t]=1/0
and Limit[f[t1, t2], t1 -> t2]
is 0
.
One can extract the points
directly from the plot
:
points = Cases[
Cases[Normal@plot, List[___], Infinity], {_?NumericQ, _?NumericQ},
Infinity];
Verify:
ListPlot[points, AspectRatio -> 1, Frame -> True]

So one can generate a list of pairs {t2, Eee}
:
Epoints = Eee[#[[1]], #[[2]]] & /@ points;
data = Transpose@{points[[All, 2]], Epoints};
ListPlot[data, Frame -> True, FrameLabel -> {"t2", "Eee"}]

Or without the line $y=x$ (which happens to correspond to Eee[t2]==0
):
points2 = DeleteCases[points, {x_, y_} /; Abs[x - y] < 0.01];
ListPlot[points2, AspectRatio -> 1, Frame -> True]

Epoints2 = Eee[#[[1]], #[[2]]] & /@ points2;
data2 = Transpose@{points2[[All, 2]], Epoints2};
ListPlot[data2, Frame -> True, FrameLabel -> {"t2", "Eee"}]

One needs to examine a wider range of t1
and t2
, as the contour plot of f[t1, t2]==0
seems to display different branches, which is reflected in the plot of Eee
vs. t2
:
plot = ContourPlot[{f[t1, t2] == 0}, {t1, 0, π}, {t2, -8 π, 8 π},
FrameLabel -> {"t1", "t2"}, PlotPoints -> 100]

points = Cases[
Cases[Normal@plot, List[___], Infinity], {_?NumericQ, _?NumericQ},
Infinity];
points2 = DeleteCases[points, {x_, y_} /; Abs[x - y] < 0.05];
ListPlot[points2, AspectRatio -> 1, Frame -> True,
PlotRange -> {{-0.1, π}, All}]

Epoints2 = Eee[#[[1]], #[[2]]] & /@ points2;
data2 = Transpose@{points2[[All, 2]], Epoints2};
plot12 = ListPlot[Sort @ data2, Frame -> True,
FrameLabel -> {"t2", "Eee"}, Joined -> True]

The straight line comes from some spurious point from the contour plot.
Or:
plot = ContourPlot[{f[t1, t2] == 0}, {t1, Pi/2, 3/2 Pi}, {t2, -8 Pi,
8 Pi}, FrameLabel -> {"t1", "t2"}, PlotPoints -> 100]

Epoints = Eee[#[[1]], #[[2]]] & /@ points;
data = Transpose@{points[[All, 2]], Epoints};
ListPlot[data, Frame -> True, FrameLabel -> {"t2", "Eee"}]

Plot[e[t1[t2], t2], {t2, a, b}]
, wheret1[t2]
is defined byf[t1[t2], t2] == 0
. This seems closer to a duplicate: Define a function with variables linked implicitly $\endgroup$f[t1, t2] == 0
is discussed here. $\endgroup$