>>647がスレ移動を進めてる後で書くのは気が引けるけど、ちょっとだけ。
float VS double とか実装の話は処理の種類や環境依存(コンパイラ・CPU)なんで議論するだけ無駄だと思うよ。
doubleが速いってのは高度な数学関数(三角関数とか2乗根)の計算の場合で、大量の四則演算をする場合はメモリバンドやSIMD命令の関係でfloatがずっと速くなるんです。

コードの最適化は具体的なコードが無いとできないし、その方法は環境依存。
結局>>649の結論です。

日記みたいなこと書いてすんまそ。