What is the exact value of upcoming block rewards? Wrote a simple script that literally just halves 50 BTC (the initial block reward).

Are these block rewards correct or are the satoshis being rounded up/down incorrectly?

50.00000000
25.00000000
12.50000000
6.25000000
3.12500000
1.56250000
0.78125000
0.39062500
0.19531250
0.09765625
0.04882813
0.02441406
0.01220703
0.00610352
0.00305176
0.00152588
0.00076294
0.00038147
0.00019073
0.00009537
0.00004768
0.00002384
0.00001192
0.00000596
0.00000298
0.00000149
0.00000075
0.00000037
0.00000019
0.00000009
0.00000005
0.00000002
0.00000001


EDIT: Based on the total given here I think these halvings should be rounded down: https://bitcoin.stackexchange.com/a/9962/24926
The halvings occur in form of a bitshift operation. So, in other words, you halve and cut off. Therefore, the rewards should be rounded down.

A while back, I've generated a table with block rewards and other information.

The rewards in satoshi per block should work out to be:

5000000000
2500000000
1250000000
625000000
312500000
156250000
78125000
39062500
19531250
9765625
4882812   &lt;--- first deviation from your table
2441406
1220703
610351
305175
152587
76293
38146
19073
9536
4768
2384
1192
596
298
149
74
37
18
9
4
2
1
0