# Numerical Integration seems to give wrong result

I am trying to integrate a long expression numerically. But I just noticed that something is off with the integration. I have to integrate from 1 to 0.1. When I integrate from 1 to 0.2 & 0.2 to 0.1 and add up, it gives a different result than just integrating from 1 to 0.1. Is it due to some problem in the method of integration? Which one is better in this case?

``````dofdata = Import(NotebookDirectory() <> "gstar.txt", "Table");
g = Interpolation(dofdata, InterpolationOrder -> 2,
Method -> "Hermite");
ratedata = Import(NotebookDirectory() <> "rate.txt", "Table");
Subscript(C, e) =
Interpolation(ratedata, InterpolationOrder -> 2,
Method -> "Hermite");
f(Nu)s =
Function({r, sin2(Theta), ms, Ti, Tf},
Block({GF = 1.166*10^-5,
MPl = 1.22* 10^19, (Eta)B = 6.05*10^(Minus)10, mZ = 91.1876,
mW = 80.379}, {\$MaxExtraPrecision = 1000};
NIntegrate(((-Sqrt(90/(8*Pi^3))*MPl) /(
g(T)^(1/2)*T^3))*(1 + (T*g'(T))/(3*g(T)))*0.25*
Subscript(C, e)(T)*GF^2*
(( r*T^6)/
Tf) (g(T)/g(Tf))^(1/
3)  ((ms^2 *
sin2(Theta))/(2*(( r*T^2)/Tf) (g(T)/g(Tf))^(1/3)))^2*
( ((ms^2 *
sin2(Theta))/(2*(( r*T^2)/Tf) (g(T)/g(Tf))^(1/3)))^2 +
(Subscript(C, e)(T)*GF^2*(( r*T^6)/Tf) (g(T)/g(Tf))^(1/3))^2/
4 +
(ms^2/(2*(( r*T^2)/Tf) (g(T)/g(Tf))^(1/3)) -
((2*(Sqrt)2*1.20206*GF*(Eta)B*T^3)/(4*Pi^2) -
((8 (Sqrt)2 *GF)/(3*mZ^2))*(g(T)/g(Tf))^(1/
3)*2*((7 *(Pi)^2 * r*T^6)/(240*Tf)) -
((8 (Sqrt)2 *GF)/(3*mW^2))*(g(T)/g(Tf))^(1/
3)*2*((r*T^6*5.6822)/((Pi)^2 *Tf))) )^2)^(-1)*
(1/(Exp(((r*T)/Tf) (g(T)/g(Tf))^(1/3)) + 1)), {T, Ti, Tf},
Method -> {"AdaptiveQuasiMonteCarlo", "MaxPoints" -> 10^10},
MaxRecursion -> 100)));

In(92):=
a = f(Nu)s(1, (20.*10^-9)^(1/2), 2.*10^-6, 1., 0.2)
b = f(Nu)s(1, (20.*10^-9)^(1/2), 2.*10^-6, 0.2, 0.1)
c = f(Nu)s(1, (20.*10^-9)^(1/2), 2.*10^-6, 1, 0.1)
a + b
c

Out(92)= 0.000918702

Out(93)= 0.00122894

Out(94)= 0.00127028

Out(95)= 0.00214764

Out(96)= 0.00127028
``````

Data files used for the integration are gstar.txt and rate.txt