diff --git a/code/game/q_math.c b/code/game/q_math.c index bb0faf69..ecd68b24 100644 --- a/code/game/q_math.c +++ b/code/game/q_math.c @@ -553,14 +553,11 @@ float Q_rsqrt( float number ) { long i; float x2, y; - const float threehalfs = 1.5F; - x2 = number * 0.5F; - y = number; - i = * ( long * ) &y; // evil floating point bit level hacking - i = 0x5f3759df - ( i >> 1 ); // what the fuck? + x2 = number * 0.5F; + i = 0x5f3759df - ( * ( long * ) &number >> 1 ); // evil floating point bit level hacking // what the fuck? 10x y = * ( float * ) &i; - y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration + y = y * ( 1.5F - ( x2 * y * y ) ); // 1st iteration // y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed #ifndef Q3_VM