code: def _cubic_smooth_coeff(signal, lamb):
      rho, omega = _coeff_smooth(lamb)
      cs = 1 - 2 * rho * cos(omega) + rho * rho
      K = len(signal)
      yp = zeros((K,), signal.dtype.char)
      k = arange(K)
      yp[0] = _hc(0, cs, rho, omega) * signal[0] + add.reduce(
          _hc(k + 1, cs, rho, omega) * signal
      )
  
      yp[1] = (
          _hc(0, cs, rho, omega) * signal[0]
          + _hc(1, cs, rho, omega) * signal[1]
          + add.reduce(_hc(k + 2, cs, rho, omega) * signal)
      )
  
      for n in range(2, K):
          yp[n] = (
              cs * signal[n]
              + 2 * rho * cos(omega) * yp[n - 1]
              - rho * rho * yp[n - 2]
          )
  
      y = zeros((K,), signal.dtype.char)
  
      y[K - 1] = add.reduce(
          (_hs(k, cs, rho, omega) + _hs(k + 1, cs, rho, omega))
          * signal[::-1]
      )
      y[K - 2] = add.reduce(
          (_hs(k - 1, cs, rho, omega) + _hs(k + 2, cs, rho, omega))
          * signal[::-1]
      )
  
      for n in range(K - 3, -1, -1):
          y[n] = (
              cs * yp[n]
              + 2 * rho * cos(omega) * y[n + 1]
              - rho * rho * y[n + 2]
          )
  
      return y
  
imports: from __future__ import division, print_function, absolute_import
  from scipy._lib.six import xrange
  from numpy import logical_and, asarray, pi, zeros_like, piecewise, array, arctan2, tan, zeros, arange, floor
  from numpy.core.umath import sqrt, exp, greater, less, cos, add, sin, less_equal, greater_equal
  from .spline import cspline2d, sepfir2d
  from scipy.special import comb, gamma
label_desc: Use image node_id 11 for calling a global function with example usage: _cubic_smooth_coeff(signal, lamb) and returns: y