Help in understanding L2 Normalization for TFLite

Hey everyone,

I was looking at the L2 Normalization routine for TFLite, and noticed the use of GetInvSqrtQuantizedMultiplierExp function here. While I understand the high level goal of this routine is to find a multiplier which acts as 1 / sqrt(sum_of_squared_inputs) normalizing factor, I’m having trouble understanding how exactly is this computation being done, and what is the purpose and formulation for Newton-Raphson in this function? Any help would be appreciated. Thanks in advance.