min (numeric x, y)
for (numeric : int, int+-, int64, int64+-, fixed, fixed64)
{
  return (x < y) ? x : y;
}

max (numeric x, y)
for (numeric : int, int+-, int64, int64+-, fixed, fixed64)
{
  return (x > y) ? x : y;
}