range
If the domain is everything you can put in, the range is everything that can actually come out. It is the collection of outputs the function genuinely reaches as the input roams over the whole domain — the set of answers the machine is capable of producing.
Formally, the range of f: A → B is the set of all values f(x) as x runs through the domain A. The range need not be all of B; it is only the part that gets hit. A function can fail to reach some target values entirely, and those never appear in the range.
Finding the range is usually harder than finding the domain, because you must reason about outputs. For f(x) = x^2 with real inputs, every output is zero or positive, so the range is y ≥ 0. No matter what real number you square, you can never get a negative result, so negatives are excluded.
f(x) = x^2 has domain all reals but range y ≥ 0 — squaring never produces a negative.
Outputs are limited even when inputs are not.