The domain of a function is the set of all values of x that makes the function to exist.
The range of the function is the set of all possible values of the function over the given the domain of function.
For the given example, the domain of the function contains all x real values that do not cancel the denominator.
We'll find out which are the zeroes of denominator. For this reason, we'll re-write the denominator:
`x^(2)` + 2x + 1 + x + 1 = 0
We notice that the first 3 terms of the sum form a perfect square:
`(x+1)^(2)` + (x+1) = 0
(x+1)(x+1+1) = 0
(x+1)(x+2) = 0
We'll cancel each factor:
x + 1 = 0 => x = -1
x + 2 = 0 => x = -2
The zeroes of denominator are -1 and -2, therefore the domain of the function comprises all real values, except -2 and -1.