@C_R I don't understand what you're now trying to say or ask, sorry. In particular, I don't understand what "required" means in your Reply.
Using "float" as type-specification of the Maple language procedure's parameters induced CodeGeneration[C] to translate to a C language declaration with "double". And the Maple procedure can be generated with that effect specified programmatically, which is what you originally seemed to be asking. It's unclear to me how you might now be trying to follow that up.
It's true that CodeGeneration[C] has some warts. It might not always do as good a job as does Compiler:-Compiler. And so on.
I cannot recall seeing anyone use "double" as a type in Maple in a highly useful and practical scenario. It happens that CodeGeneration, Matrix/Array/Vector & LinearAlgebra/Statistics, and Compiler:-Compile, etc, know about the Maple type float. I personally would not expect any of those to understand "double" to mean the same thing as "float".
It may be that someone added a Maple type "double" in Maple 2015. I'd be surprised if they had also made the effort to make all the Maple contexts that recognized "float" also accept "double" in the very same ways. I think that doing so would be misdirected effort.