long smin0ss(long a, long b) { long c = a < b ? a : b; return c > 0 ? c : 0; } GEN gmin0(GEN a, GEN b) { GEN c = gcmp(a, b) < 1 ? a : b; /* copy pointer */ return signe(c) > 0 ? gcopy(c) : gen_0; }