code: def stationary_points(f, symbol, domain=S.Reals):
      """
      Returns the stationary points of a function (where derivative of the
      function is 0) in the given domain.
  
      Parameters
      ==========
  
      f : :py:class:`~.Expr`
          The concerned function.
      symbol : :py:class:`~.Symbol`
          The variable for which the stationary points are to be determined.
      domain : :py:class:`~.Interval`
          The domain over which the stationary points have to be checked.
          If unspecified, ``S.Reals`` will be the default domain.
  
      Returns
      =======
  
      Set
          A set of stationary points for the function. If there are no
          stationary point, an :py:class:`~.EmptySet` is returned.
  
      Examples
      ========
  
      >>> from sympy import Interval, Symbol, S, sin, pi, pprint, stationary_points
      >>> x = Symbol('x')
  
      >>> stationary_points(1/x, x, S.Reals)
      EmptySet
  
      >>> pprint(stationary_points(sin(x), x), use_unicode=False)
                pi                              3*pi
      {2*n*pi + -- | n in Integers} U {2*n*pi + ---- | n in Integers}
                2                                2
  
      >>> stationary_points(sin(x),x, Interval(0, 4*pi))
      {pi/2, 3*pi/2, 5*pi/2, 7*pi/2}
  
      """
      from sympy.solvers.solveset import solveset
  
      if domain is S.EmptySet:
          return S.EmptySet
  
      domain = continuous_domain(f, symbol, domain)
      set = solveset(diff(f, symbol), symbol, domain)
  
      return set
  
imports: from .accumulationbounds import AccumBounds, AccumulationBounds
  from .singularities import singularities
  from sympy.core import Pow, S
  from sympy.core.function import diff, expand_mul, Function
  from sympy.core.kind import NumberKind
  from sympy.core.mod import Mod
  from sympy.core.numbers import equal_valued
  from sympy.core.relational import Relational
  from sympy.core.symbol import Symbol, Dummy
  from sympy.core.sympify import _sympify
  from sympy.functions.elementary.complexes import Abs, im, re
  from sympy.functions.elementary.exponential import exp, log
  from sympy.functions.elementary.integers import frac
  from sympy.functions.elementary.piecewise import Piecewise
  from sympy.functions.elementary.trigonometric import TrigonometricFunction, sin, cos, tan, cot, csc, sec, asin, acos, acot, atan, asec, acsc
  from sympy.functions.elementary.hyperbolic import sinh, cosh, tanh, coth, sech, csch, asinh, acosh, atanh, acoth, asech, acsch
  from sympy.polys.polytools import degree, lcm_list
  from sympy.sets.sets import Interval, Intersection, FiniteSet, Union, Complement
  from sympy.sets.fancysets import ImageSet
  from sympy.sets.conditionset import ConditionSet
  from sympy.utilities import filldedent
  from sympy.utilities.iterables import iterable
label_desc: Use image node_id 8 for calling a global function with example usage: stationary_points(f, symbol, domain) and returns: set, S