public static double inverseSqrt(double a) {
        final double halfA = 0.5d * a;
        a = Double.longBitsToDouble(0x5FE6EB50C7B537AAl - (Double.doubleToRawLongBits(a) >> 1));
        return a * (1.5d - halfA * a * a);
    }
public static double inverseSqrt(double a) {
        final double halfA = 0.5d * a;
        a = Double.longBitsToDouble(0x5FE6EB50C7B537AAl - (Double.doubleToRawLongBits(a) >> 1));
        return a * (1.5d - halfA * a * a);
    }
public static double inverseSqrt ( double a ) { final double halfA = 0.5d * a ; a = Double . longBitsToDouble ( 0x5FE6EB50C7B537AA l - ( Double . doubleToRawLongBits ( a ) >> 1 ) ) ; return a * ( 1.5d - halfA * a * a ) ; }
Returns a fast estimate of the inverse square root of the value

@param a The value
@return The estimate of the inverse square root
Returns a fast estimate of the inverse square root of the value