The oddity in this case comes from NSum
which is being called in a certain way from NIntegrate
. This is a simple example that has roughly the same behavior (note in this case the exact result is known to be $\mp \ln 2$):
NSum[(-1)^n/n, {n, 1, Infinity},
Method -> {"AlternatingSigns", Method -> "WynnEpsilon"}, WorkingPrecision -> 32]
(* -0.6931471805599453094172318803247 *)
NSum[-(-1)^n/n, {n, 1, Infinity},
Method -> {"AlternatingSigns", Method -> "WynnEpsilon"}, WorkingPrecision -> 32]
(* 0.693147180559945309417232 *)
where the second result has several digits fewer than the first.
Is that a bug? Not necessarily, because both results have at least 16 correct digits which certainly attains the default PrecisionGoal
, which is WorkingPrecision/2
.
Still, I agree the consistency could be improved in this case and I have filed a report for the developers to take a look.
Update
This has been improved in the just released Mathematica 11.0.