I'll show you how to analyze your data with Mathematica. First I'll use your model as requested.
data = Import["Desktop/data.csv"];
y = NonlinearModelFit[data,
a Exp[b x] + c Exp[d x] + e, {a, b, c, d, e}, x];
Mathematica returns this error:
NonlinearModelFit::cvmit: Failed to converge to the requested accuracy or precision within 1000 iterations
This means that your model might not be ideal. Let's consider the data to see if we can come up with a better one. The log-plot of the negative of your series (so we can take the logarithm) shows a fairly polynomial curve:

(Generated using ListLogPlot[# {1, -1} & /@ data])
This suggests that instead of an exponential mixture, we should use a log-linear model:
$ \hat y = -\exp(a+bx+cx^2 + \dots)$
Let's try a cubic polynomial:
nlm = LinearModelFit[{#[[1]], Log[-#[[2]]]} & /@ data, {x, x^2, x^3},
x]
Mathematica returns 71.6838 - 391.293 x + 764.791 x^2 - 501.198 x^3
In other words,
$ \hat y = -\exp(71.6838 - 391.293 x + 764.791 x^2 - 501.198 x^3)$.
Here is a plot of the data, the mixture model (red), and the log-linear model (green):

(Generated using Show[{ListPlot@data,
Plot[y[x], {x, 0.38, 0.57}, PlotStyle -> {Thick, Red}],
Plot[-Exp@nlm@x, {x, .35, 0.6}, PlotStyle -> {Thick, Green}]}])
You can get an ever better fit with a quartic polynomial, but you get the idea. The residuals show structure, which means that the model has not squeezed all the information out of the data:

(Generated using ListPlot@nlm["FitResiduals"])
Fortunately, the order virtually disappears by the time you raise the order to six:
