pow arguments should have same types in some compilers