I can see logically that pow(x, int 2) can (and does in many cases) get  optimized to x*x,
but pow(x, 2.f) sounds pretty counter-intuitive that it should (except that it actually does, at least lately)
http://bytes.com/topic/c/answers/806124-square-float-pow-f-f

Still, it sounds like it all depends on the weather conditions and performance can change by the year or an optimization option.

I'd still really prefer x*x instead of all cases with pow(x, 2), whatever type the 2 has.
I can imagine you wouldn't want to change it in this case, but I wouldn't take it as a guideline.