It seems to me that compiler treat double as float type ? I find this from .SRC and .lst file. Both float and double calls ?C_FPCMP, ?C_FPMUL and ?C_FPDIV. thanks.
Daniel
"But the generated assemble file .SRC still treat double as float."
The fact that it calls the same functions doesn't necessarily mean that those functions don't somehow distinguish between the two types...
See the FLOAT64 compiler directive.