code: def cyclotomic_poly(n, x=None, polys=False):
      """Generates cyclotomic polynomial of order `n` in `x`.
  
      Parameters
      ----------
      n : int
          `n` decides the order of polynomial
      x : optional
      polys : bool, optional
          ``polys=True`` returns an expression, otherwise
          (default) returns an expression.
      """
      if n <= 0:
          raise ValueError(
              "Cannot generate cyclotomic polynomial of order %s" % n
          )
  
      poly = DMP(dup_zz_cyclotomic_poly(int(n), ZZ), ZZ)
  
      if x is not None:
          poly = Poly.new(poly, x)
      else:
          poly = PurePoly.new(poly, Dummy("x"))
  
      return poly if polys else poly.as_expr()
  
imports: from sympy.core import Add, Mul, Symbol, sympify, Dummy, symbols
  from sympy.core.containers import Tuple
  from sympy.core.singleton import S
  from sympy.ntheory import nextprime
  from sympy.polys.densearith import dmp_add_term, dmp_neg, dmp_mul, dmp_sqr
  from sympy.polys.densebasic import dmp_zero, dmp_one, dmp_ground, dup_from_raw_dict, dmp_raise, dup_random
  from sympy.polys.domains import ZZ
  from sympy.polys.factortools import dup_zz_cyclotomic_poly
  from sympy.polys.polyclasses import DMP
  from sympy.polys.polytools import Poly, PurePoly
  from sympy.polys.polyutils import _analyze_gens
  from sympy.utilities import subsets, public, filldedent
  from sympy.polys.rings import ring
label_desc: Use image node_id 2 for calling a global function with example usage: cyclotomic_poly(n, x, polys) and returns: unknown