End Behavior of Rational Functions