Setting the stack values to 0xAA takes 5 seconds, then you run the program for a short while. How is that tedious? Keeping track of the memory used is the programmer's responsibility no matter.
You can change the stack size in the .prm file of Codewarrior.
The first thing you should do however, is to optimize the code. Like you suggest, you can probably split the calculation into several functions. Then most of the variables would only exist on the stack for a short while.
Another good optimization is to ask yourself "do I need float in this particular case?". For trig functions, yes you will need them. For simple divison etc, you don't need them. It is always a good practice to regard float numbers as a necessary evil: they are not only inefficient, but also problematic in various cases. You can't compare for equality, you need to be cautious when mixing them with integers, there is the issue with float point inaccuracy etc etc.
I don't know if changing from float to double will solve anything, it depends on whether you set double as 64 or 32 bit. This is project- and compiler-dependant. Most floating point functions in C use double anyhow, so C will convert your floats to doubles in most cases.