It may be useful to mention that modern architectures often have vectorized instructions like vrsqrt14ps (accessible via the _mm512_rsqrt14_ps intrinsic) that provides a 14-bit approximation (there are more accurate variants too) in every lane with an inverse throughput of 2. These are faster than the integer bit hacks. https://software.intel.com/sites/landingpage/IntrinsicsGuide...
I prefer architectures that have a vector instruction for computing one or two Newton iterations instead. That way you can quickly get the precision that you want ;)
You can always compute newton's method afterwards to improve the accuracy. But getting the maximum accuracy from one cycle is probably best.