A portable arbitrary-precision integer arithmetic (bigint) library written in C as a personal exercise