there is also a linear penalty for early voting. 30 minutes is full credit, 15 minutes is half credit, etc.
Keep in mind I just parsed and put this together to get something/anything working. Clearly mapping ranges to a specific integer will have edge effects. One way is to just use log10 of VESTS, or kiloVESTS, or sqrt, or cbrt, etc. It is just a matter of deciding how to map the different account levels.
Maybe cbrt of Mv would be interesting. anybody with less than 1 Mv will get increase wt, probably need a cap at 4 and also a floor to filter out the plankton to remove the botspam.
Since we are trying to correct for what is a large dynamic range, I dont think we need to follow "normal" rules