I'll admit that c++ isn't my favourite language and I'm hoping to be proved wrong, but I can't see anything in the code that splits that huge value into 8000008.8000008
I see a MONEY_SUPPLY variable of type unsigned 64bit int (which suggests it's expected to cater for a huge number) in cryptonoteconfig.h
Being of type INT would also suggest that it's a whole number.
And in currency.cpp there's a reward being calculated using a money supply and an emission factor
but that's all.
can you shed some light, dev?