Question: Problem with type conversion (I think)

Ok, I am not a very experienced user, but I am mystified by this.  The essence of the problem is that when entering a range of values in an integration, I get a different answer if the range is given as 0..1 to if it is given as 0.0..1 or 0..1.0. Here is the program


### dgig
dgig := proc(psi, chi, lambda, t)
    (psi/chi)^(lambda/2)*t^(lambda - 1)*exp(-(psi*t+chi/t)/2)/\
    (2*BesselK(lambda,sqrt(chi*psi))):
end: ## End of dgig

int(dgig(60, 60, 0.5, t), t = 0..1);
int(dgig(60, 60, 0.5, t), t = 0..1.0);
int(dgig(60, 60, 0.5, t), t = 0.0..1);

And here is what I get from the integrations

> int(dgig(60, 60, 0.5, t), t = 0..1);
                            0.49999999999999999999

> int(dgig(60, 60, 0.5, t), t = 0..1.0);
memory used=47965.7MB, alloc=82.7MB, time=897.20
                            0.47435437084790817305

> int(dgig(60, 60, 0.5, t), t = 0.0..1);
                            0.47435437084790817305

The latter two versions give the correct answer, but what is Maple doing in the first version?

Please Wait...