That is right! Plus the summation is misleading too. It's no a perfect math equation.
https://github.com/bitcoin/bitcoin/blob/ff873a20a7f48698da3334acc570d97a07016ddf/src/validation.cpp#L1937-L1949
```cpp
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// Force block reward to zero when right shift is undefined.
if (halvings >= 64)
return 0;
CAmount nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
nSubsidy >>= halvings;
return nSubsidy;
}
```
No summation. No perfection. Most designs don't even have that "approximate" simple lke the one above has.
It's not a halving in computer science, it's a bit(coin) shift-right. PUT THAT ON A TSHIRT HUH.