Code:
...
float ADCCurrentRawValFinal = sqrt(ADCCurrentRawForSquareRoot);
MeasuredCurrentmA = (float)1000.00 * (( (float)ADC_REF_VOLTAGE / (float)ADC_RESOLUTION) * (float)ADCCurrentRawValFinal) / (float)CURRENT_SENS_RESISTOR; // Rsens = 0.1
...
Koliko god da je kompleksan račun, nama je diskretizovana ulazna vrednost i za 10bit A/D može da ima 1024 rezultata jer su sve ostale vrednosti u računu konstatne.
Ovaj gore račun se prebaci u tablicu i program istog momenta POLETI, tu se više ne troši vreme

I kad se tako rastereti MCU/CPU onda se "odvrne" malo sampling-rate da to sve radi sa više uzoraka u sekundi i onda se preostalo CPU vreme potroši za neku neophodnu minimalnu FP matematiku da se rezultati fino ujednače/filtriraju i eventualno poboljša preciznost rezultata.