public object negateP(object x)
{
long val = Util.ConvertToLong(x);
if (val > Int64.MinValue)
return num(-val);
return BigInt.fromBigInteger(-BigInteger.Create(val));
}