#!/usr/bin/env perl
use warnings;
use strict;

my $supply = 0.0;
my $block  = 0;
my $amount = 12.5;
my $halvings = 0;

while ($supply <= 21_000_000) {
#while ($halvings <= 64 && $amount >= 1e-8) {
    $block++;
    if ($block < 5) {
        $amount = 40_000;
    } else {
        # Halving every 840000 blocks
        if ($block % 840_000 == 0) {
            $amount /= 2;
            $halvings++;
        }
        $amount = 12.5 / (2**$halvings);
    }
    $supply += $amount;
    # block, current supply, block reward amount, number of halvings
    print "$block,$supply,$amount,$halvings\n";
}
