Add support for constant functions with any input size.

This is a feature I currently use to merge a constraint with its bounds, e.g. `g <= u` leads to `g' = g-u` with `g' <= 0`. The output size of `g` is known when using `offset`, but the input size may be anything (i.e. different than the output size).