gmp-based arbitrary precision operations on currency amounts "XXX.YY"; because floats are BAD for representing money