code: def fft(x):
      N = x.shape[0]
      if N == 1:
          return np.array(x)
      e = fft(x[::2])
      o = fft(x[1::2])
      M = N // 2
      l = [
          e[k] + o[k] * math.e ** (-2j * math.pi * k / N)
          for k in range(M)
      ]
      r = [
          e[k] - o[k] * math.e ** (-2j * math.pi * k / N)
          for k in range(M)
      ]
      return np.array(l + r)
  
label_desc: Use image node_id 1 for calling a global function with example usage: fft(x) and returns: np, np