class_docstr: Thurber [1]_ objective function.
  
  .. [1] https://www.itl.nist.gov/div898/strd/nls/data/thurber.shtml
code: def fun(self, x, *args):
      self.nfev += 1
  
      vec = (
          x[0] + x[1] * self.b + x[2] * self.b**2 + x[3] * self.b**3
      )
      vec /= 1 + x[4] * self.b + x[5] * self.b**2 + x[6] * self.b**3
  
      return sum((self.a - vec) ** 2)
  
imports: from numpy import abs, asarray, cos, exp, arange, pi, sin, sum, atleast_2d
  from .go_benchmark import Benchmark
label_desc: Use image node_id 2 for calling the Thurber obj's underlying member method code with example usage: obj.fun(x) and returns: sum