float fast_pow ( float x, float y ) { if ( y == 1 ) return x; else if ( (int)y % 2 == 0 ) return fast_pow(x,y/2)*fast_pow(x,y/2); else return fast_pow(x,(y-1)/2)*fast_pow(x,(y-1)/2)*x; }