Henrik-
Sorry for the late reply, been out with a respiratory illness - geeesh.
In your example :
ADValue = 3272
Temp = ADValue ** 35809 ' Multiply by ~0.5464
Result = ADValue + Temp ' Result now 5059

Why are you using 'Top 16 bits' for multiplying? and how did you arrive at '35809' as the multiplier?

I really want to learn from this, Thanks.
-Steve