Number args

Before: 11521.507491ms
After: 37.967573ms

That is for `1e6` iterations. I'm not merging this yet, as the `add` function seams totally obscure. I thought I understod it before, but after adding the L (lower bits) U (upper bits) marks, it dosen't make any sense to me. @tixz any hints?