Requires GMP or bcmath extension. done