Si, utiliza un método iterativo pero no un método numérico, no se si me explico 🙂 La función esa tiene lógica en procesadores con mucha potencia de enteros y poca de coma flotante, ya que hace una conversión a entero y trabaja con enteros. Este tipo de funciones funciona muy bien en procesadores como el P4, que tenían mucha potencia de enteros pero de flotante eran terriblemente flojos, y por eso el quake 3 era de los pocos juegos donde arrasaba a los athlon.

Detalle que es ejemplo típico, utiliza un desplazamiento a la derecha sin retroalimentación, operación muy fácil de hacer para un procesador (simplemente un desplazamiento en los flip-flop en vez de todo el cálculo de la división-> p.ej. pasar de 01000010=66 a 00100001=33) y que equivale a una división entera por dos (al trabajar con enteros nos comemos el decimal, pero al ser aproximaciones se supone que la variación es despreciable para el resultado final) pero con mucha menor carga computacional. Ejemplo de libro en programación con ensamblador.