fn inverse_sqrt(n: f32) -> f32 {
   let x = n;
   var i = *(&x as *i32);
   i = 0x5f3759df - (i >> 1);
   let y = *(&i as *f32);
   y * (1.5f32 - (x * 0.5f32 * y * y))
}