Start with the denominator
Write down every x-value that makes the original denominator zero before you cancel anything. Those values stay out of the domain. Then simplify: if a denominator factor disappears completely, you have a hole; if it remains, you have a vertical asymptote.
For example, (x − 2)/(x − 2) simplifies to 1, but the original function is still undefined at x = 2. The graph is the line y = 1 with a hole at (2, 1). If the factoring is the hard part, review the factoring polynomials guide before Part A.
Download the printable set
The student PDF has room to work and four blank graph grids. The separate key shows the algebra behind each answer. Both print on US letter paper.
18-problem worksheet
Find holes, asymptotes, and intercepts; then sketch four functions and explain two tricky cases.
Download worksheet →Worked answer key
Shows the cancellations, the exact coordinates, and which way each branch goes.
Download answer key →Factor Fate Map
Compare powers of a shared factor to decide whether an excluded x-value is a hole or an asymptote.
View or download map →Four-graph atlas
Compare two kinds of vertical asymptote, a hole, and a graph that crosses its horizontal asymptote.
View or download atlas →You can print these for your class. If you share a visual online, please link to this page so students can find the explanation and answer key.
How to tell a hole from a vertical asymptote
Let (x − a) appear exactly m times in the numerator and exactly n times in the denominator, with n > 0. The input x = a is excluded. After canceling matching copies, compare what remains:
| Factor count | What remains | Graph feature at x = a |
|---|---|---|
| m < n | Denominator factor | Vertical asymptote |
| m = n | Neither factor | Hole off the x-axis; use the simplified expression for its y-value |
| m > n | Numerator factor | Hole at (a, 0), not an x-intercept |

A hole at (a, 0) is not an x-intercept. The graph has no point at x = a.
When I introduce this, the point that costs students marks is problem 12. They simplify to (x − 2)/(x + 1), see the numerator go to zero, and write (2, 0) as an x-intercept. I ask them to keep the unsimplified denominator on the page until the very end.
Work through a function in this order
- Factor completely. Factor numerator and denominator separately. Keep the unsimplified denominator in view.
- Write the domain. Exclude every real zero of the original denominator, including factors that will cancel.
- Cancel and classify. A canceled denominator zero is a hole only if no denominator factor remains there. Find the hole’s y-value by substituting into the simplified expression. Remaining denominator zeros give vertical asymptotes.
- Find intercepts. A numerator zero gives an x-intercept only if it lies in the original domain. For the y-intercept, evaluate f(0) only when 0 is in the domain.
- Find end behavior. Compare polynomial degrees for a horizontal asymptote. If the numerator degree is exactly one greater, divide to find the slant asymptote.
- Sketch the branches. Mark the features you found. Test an x-value in each interval cut by a vertical asymptote, and check the graph on both sides of each one. Add more points if the shape is still unclear.
The same intercept and multiplicity reasoning used in the graphing polynomial functions worksheet applies to numerator factors here. For the division step, see the polynomial division guide.
Which end-behavior asymptote applies?
| Degree comparison | End-behavior asymptote |
|---|---|
| Numerator degree < denominator degree | Horizontal: y = 0 |
| Degrees equal | Horizontal: ratio of leading coefficients |
| Numerator degree = denominator degree + 1 | Slant: quotient from polynomial division |
| Numerator degree is more than one greater | No horizontal or slant line; division gives a higher-degree polynomial asymptote |
Compare the degrees of the original numerator and denominator, or of the fully simplified pair: canceling the same factor lowers both degrees equally. A horizontal asymptote describes distant behavior and may be crossed.
Worked example: a hole and a vertical asymptote
f(x) = [(x + 2)(x − 3)] / [(x + 2)(x − 1)]
- Domain: the original denominator is zero at x = −2 and x = 1, so both are excluded.
- Simplify: f(x) = (x − 3)/(x − 1) for all allowed inputs.
- Hole: the canceled input −2 gives (−2 − 3)/(−2 − 1) = 5/3, so mark an open circle at (−2, 5/3).
- Vertical asymptote: x = 1 still makes the simplified denominator zero.
- Intercepts: the x-intercept is (3, 0); f(0) = 3, so the y-intercept is (0, 3).
- Horizontal asymptote: both polynomials have degree 1 and leading coefficient 1, giving y = 1.
Desmos will not draw the hole. Plot the original expression in the Desmos graphing calculator, then add the open circle yourself from the algebra.
Compare these four graphs
In the top row, both functions have a vertical asymptote. One sends its branches in opposite directions; the squared denominator sends both upward. The bottom row shows an open circle and a curve crossing its horizontal asymptote.

Practice problems
Use the printable worksheet for working space. Check your answers below or in the separate key. For Part C, label your sketch as well as listing its features.
Part A: domain, holes, and vertical asymptotes
- f(x) = (x + 3)/(x − 2)
- f(x) = [(x − 1)(x + 4)]/[(x − 1)(x + 2)]
- f(x) = (x + 2)2/[(x + 2)(x − 3)]
- f(x) = (x − 4)/(x − 4)2
- f(x) = (x2 − 9)/(x2 + x − 6)
- f(x) = (x2 − 4)/(x2 − 4)
Part B: find every graph feature
Find the original domain, holes, vertical and horizontal asymptotes, x-intercepts, and y-intercept.
- f(x) = (2x − 6)/(x + 1)
- f(x) = 4/(x − 2)
- f(x) = (x − 3)/(x2 − 1)
- f(x) = (x2 − 4)/(x2 + 1)
- f(x) = [(x + 1)(x − 2)]/[(x + 1)(x + 3)]
- f(x) = (x − 2)2/[(x − 2)(x + 1)]
Part C: sketch from features
- f(x) = x/(x − 2)
- f(x) = (x + 2)/(x2 − 1)
- f(x) = (x2 − 1)/(x − 3)
- f(x) = (x2 + x − 2)/(x2 + 1)
Part D: explain and build
- At x = 2, classify A = (x − 2)/(x − 2), B = (x − 2)2/(x − 2), and C = (x − 2)/(x − 2)2. Give hole coordinates.
- Construct a function with vertical asymptote x = 1, a hole at x = −2, x-intercept (3, 0), and horizontal asymptote y = 2. Find the hole’s y-coordinate.
Answer check
Try each part before opening its answers. The PDF key includes the cancellation steps and notes on which way the branches go.
Part A · 1–6
1. D: x ≠ 2; VA x = 2; no hole. 2. D: x ≠ 1, −2; hole (1, 5/3); VA x = −2. 3. D: x ≠ −2, 3; hole (−2, 0); VA x = 3. 4. D: x ≠ 4; VA x = 4; no hole. 5. D: x ≠ −3, 2; hole (−3, 6/5); VA x = 2. 6. D: x ≠ −2, 2; holes (−2, 1) and (2, 1); no VA.
Part B · 7–12
7. D: x ≠ −1; VA −1; HA y = 2; x-int (3, 0); y-int (0, −6). 8. D: x ≠ 2; VA 2; HA y = 0; no x-int; y-int (0, −2). 9. D: x ≠ ±1; VAs ±1; HA y = 0; x-int (3, 0); y-int (0, 3). 10. D: all real; no holes or VAs; HA y = 1; x-ints (−2, 0), (2, 0); y-int (0, −4). 11. D: x ≠ −1, −3; hole (−1, −3/2); VA −3; HA y = 1; x-int (2, 0); y-int (0, −2/3). 12. D: x ≠ 2, −1; hole (2, 0); VA −1; HA y = 1; no x-int; y-int (0, −2).
Part C · 13–16
13. VA x = 2; HA y = 1; both intercepts (0, 0). 14. VAs x = ±1; HA y = 0; x-int (−2, 0); y-int (0, −2). 15. VA x = 3; slant y = x + 3; x-ints (−1, 0), (1, 0); y-int (0, 1/3). 16. No VA; HA y = 1; x-ints (−2, 0), (1, 0); y-int (0, −2); crosses HA at (3, 1).
Part D · 17–18
17. A has hole (2, 1); B has hole (2, 0); C has VA x = 2. All exclude x = 2. 18. One answer is [2(x − 3)(x + 2)]/[(x − 1)(x + 2)], with hole (−2, 10/3).
Using the worksheet in class
Part A works after students can factor rational expressions. Part B adds intercepts and horizontal asymptotes. Save Part C until they have seen polynomial division; problem 15 needs it for the slant asymptote. Problems 17 and 18 make a short written check at the end of the lesson.
Have students list the original denominator zeros in the margin before they cancel. On problem 12, x = 2 then stays on the list even though the simplified numerator is zero there, which is why (2, 0) is a hole and not an intercept.
References and next steps
The method follows OpenStax Precalculus 2e, Section 3.7, which covers removable discontinuities, asymptotes, intercepts, and graphing. The graphing work aligns with Common Core HSF.IF.C.7d (rational-function zeros, asymptotes, and end behavior when factorization is available).