public object multiplyP(object x, object y)
{
long lx = Util.ConvertToLong(x);
long ly = Util.ConvertToLong(y);
if (lx == Int64.MinValue && ly < 0)
return BIGINT_OPS.multiply(x, y);
long ret = lx * ly;
if (ly != 0 && ret / ly != lx)
return BIGINT_OPS.multiply(x, y);
return num(ret);
}