А почему константы имеют тип ``float``, а переменные - ``double``? Думаю, что типа ``float`` для всех операций вполне достаточно.