round((n * 24) * pow(0.8, r - 1))
This was a little challenging, because at first it seems like you've got a recursive function. That means in order to calculate any position, you have to know the value of the position before it. For example, to know what 10th place will receive, it's just 0.8 times the value that 9th place receives. But in order to know what 9th place receives, you have to know what 8th place got, and so on. So, in order to calculate 10th place's points, you have to calculate each position before it. The Tournament Director formulas can't work this way.
The different way to approach it is to know that 2nd place gets 0.8 times 1st place, and 3rd place gets 0.8 times 0.8 times 1st place, and 4th place gets 0.8 times 0.8 times 0.8 times 1st place, and so on.
You'll probably find that due to rounding, calculating the formula this way produces slightly different results (I would argue that this way is more correct).