maprange(a, b, c, d) := buildq([e: ratsimp(('x - a)*(d - c)/(b - a) + c)], lambda([x], e))$ f: maprange(0, 10, -1, 0);