I verified this behavior. I tried to increase $MaxExtraPrecision
but I didn't get any improvement.
A solution is to increase WorkingPrecision
in Plot
:
Plot[CoshIntegral[x] Sinh[x] - Cosh[x] SinhIntegral[x], {x, 0, 30},
WorkingPrecision -> 50, PlotRange -> {{0, 30}, {-1, 1}}]
At last I created Cosh and Sinh integrals below with increased WorkingPrecision inside NIntegrate.
chi[z_] := N[EulerGamma + Log[10, z]Log[z] +
NIntegrate[(Cosh[t] - 1)/t, {t, 0, z}, WorkingPrecision -> 50], 50]
shi[z_] := NIntegrate[Sinh[t]/t, {t, 0, z}, WorkingPrecision -> 50]
Then we can define res[x]
as:
res[x_] := chi[x]N[chi[x] Sinh[x] - shi[x] Cosh[x],50]
And Plot
it:
Plot[res[x], {x, 0, 30}]
It is a little bit slow but I think it works.
Then i tried with default WorkingPrecision
chi[z_], :=
EulerGammaWorkingPrecision +-> Log[1050, z] + NIntegrate[(Cosh[t]PlotRange - 1)/t,> {t, {0, z30}]
shi[z_] := NIntegrate[Sinh[t]/t, {t, 0-1, z1}]}]]
and I got the same figureIt is a little bit slow but it works.
To check special values you can also use CoshIntegral Evaluation to verify the correctness for chi
function above.