dNdx d quark

Clear[db1, dn1, dn2, dp]; 
Clear[dab1, dbb1, da1n1, db1n1, da2n1, db2n1, da1n2, db1n2, da2n2, db2n2, da1c1, db1c1, da2c1, db2c1]; 
Clear[da1p, db1p, dap, dbp, dcp, ddp, da2p]; 
db1[M_] := dab1*M^dbb1; 
dab1 = 3.39; 
dbb1 = 0.0485; 
dn1[M_] := da1n1*M^db1n1 + da2n1*M^db2n1; 
da1n1 = 2.25; 
db1n1 = -0.00113; 
da2n1 = 21.8; 
db2n1 = -0.993; 
dn2[M_] := da1n2*M^db1n2 + da2n2*M^db2n2; 
da1n2 = 0.161; 
db1n2 = 0.0573; 
db2n2 = -0.219; 
da2n2 = 0.848; 
dc1[M_] := da1c1*M^db1c1 + da2c1*M^db2c1; 
da1c1 = 0.0544; 
db1c1 = 0.0874; 
da2c1 = 0.722; 
db2c1 = -0.27; 
dp[M_] := da1p*M^db1p*UnitStep[M - 100] + (10^(5.18*Log[M/3.07^2]^(-0.768)^2 - 1.47*Log[M]) - (1.79/10^5)^2)*
     UnitStep[99.9999 - M]*UnitStep[M - 50]; 
da1p = 0.168434; 
db1p = 1.29262; 
dap = 5.17879; 
dbp = 1.79091/10^5; 
dcp = -0.768177; 
ddp = 3.06728; 
da2p = -1.47282; 
Clear[logd, dtotal, M, x]; 
logd[M_, x_] = 0.00014*Log[dp[M]*(1. - x)]*x^0.5*(x^2 - 2*x + 2); 
dtotal[M_, x_] := 5.2*Exp[(-db1[M])*x^dn1[M] - dc1[M]/x^0.41 - 0.026/x^0.57 - 5.1*x^dn2[M]] + logd[M, x];

Plot[dtotal[5000,x],{x,0.0001,1.0},PlotRange->All]