code: def ChebyshevCost(trial, M=61):
      """The costfunction for order-n Chebyshev fitting.
      M evaluation points between [-1, 1], and two end points"""
  
      from mystic.models.poly import chebyshev8coeffs as target
      from mystic.math import polyeval
  
      result = 0.0
      x = -1.0
      dx = 2.0 / (M - 1)
      for i in range(M):
          px = polyeval(trial, x)
          if px < -1 or px > 1:
              result += (1 - px) * (1 - px)
          x += dx
  
      px = polyeval(trial, 1.2) - polyeval(target, 1.2)
      if px < 0:
          result += px * px
  
      px = polyeval(trial, -1.2) - polyeval(target, -1.2)
      if px < 0:
          result += px * px
  
      return result
  
imports: from test_ffit import *
  from mystic.math import poly1d
label_desc: Use image node_id 1 for calling a global function with example usage: ChebyshevCost(trial, M) and returns: result