code: def benedict_bornder_constants(g, critical=False):
      """Computes the g,h constants for a Benedict-Bordner filter, which
      minimizes transient errors for a g-h filter.
  
      Returns the values g,h for a specified g. Strictly speaking, only h
      is computed, g is returned unchanged.
  
      The default formula for the Benedict-Bordner allows ringing. We can
      "nearly" critically damp it; ringing will be reduced, but not entirely
      eliminated at the cost of reduced performance.
  
      Parameters
      ----------
  
      g : float
          scaling factor g for the filter
  
      critical : boolean, default False
          Attempts to critically damp the filter.
  
      Returns
      -------
  
      g : float
          scaling factor g (same as the g that was passed in)
  
      h : float
          scaling factor h that minimizes the transient errors
  
      Examples
      --------
  
      .. code-block:: Python
  
          from filterpy.gh import GHFilter, benedict_bornder_constants
          g, h = benedict_bornder_constants(.855)
          f = GHFilter(0, 0, 1, g, h)
  
      References
      ----------
  
      Brookner, "Tracking and Kalman Filters Made Easy". John Wiley and
      Sons, 1998.
  
      """
  
      g_sqr = g**2
      if critical:
          return (
              g,
              0.8 * (2.0 - g_sqr - 2 * (1 - g_sqr) ** 0.5) / g_sqr,
          )
  
      return (g, g_sqr / (2.0 - g))
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import numpy
  from numpy import dot
  from filterpy.common import pretty_str
label_desc: Use image node_id 4 for calling a global function with example usage: benedict_bornder_constants(g, critical) and returns: g,  unknown, g,  unknown