code: def _polypow_direct(x, n):
      if n == 0:
          return 1
      if n == 1:
          return x
      if n % 2 == 0:
          return _polypow(cupy.convolve(x, x), n // 2)
      return cupy.convolve(
          x, _polypow(cupy.convolve(x, x), (n - 1) // 2)
      )
  
file_path: cupy/cupy/lib/_routines_poly.py
imports: import functools
  import warnings
  import numpy
  import cupy
  import cupyx.scipy.fft
label_desc: Use image node_id 6 for calling a global function with example usage: _polypow_direct(x, n) and returns: cupy, int, x, _polypow