class_docstr: Giunta objective function.
  
  This class defines the Giunta [1]_ global optimization problem. This
  is a multimodal minimization problem defined as follows:
  
  .. math::
  
      f_{\text{Giunta}}({x}) = 0.6 + \sum_{i=1}^{n} \left[\sin^{2}\left(1
      - \frac{16}{15} x_i\right) - \frac{1}{50} \sin\left(4
      - \frac{64}{15} x_i\right) - \sin\left(1
      - \frac{16}{15} x_i\right)\right]
  
  
  with :math:`x_i \in [-1, 1]` for :math:`i = 1, 2`.
  
  *Global optimum*: :math:`f(x) = 0.06447042053690566` for
  :math:`x = [0.4673200277395354, 0.4673200169591304]`
  
  .. [1] Jamil, M. & Yang, X.-S. A Literature Survey of Benchmark Functions
  For Global Optimization Problems Int. Journal of Mathematical Modelling
  and Numerical Optimisation, 2013, 4, 150-194.
  
  TODO Jamil has the wrong fglob.  I think there is a lower value.
code: def fun(self, x, *args):
      self.nfev += 1
  
      arg = 16 * x / 15.0 - 1
      return 0.6 + sum(sin(arg) + sin(arg) ** 2 + sin(4 * arg) / 50.0)
  
imports: import numpy
  from numpy import abs, sin, cos, exp, floor, log, arange, prod, sqrt, sum
  from .go_benchmark import Benchmark
label_desc: Use image node_id 2 for calling the Giunta obj's underlying member method code with example usage: obj.fun(x) and returns: unknown