code: def _kl_gumbel_gumbel(dist1, dist2):
      scale_1d2 = dist1.scale / dist2.scale
      return (
          dist2._log_scale
          - dist1._log_scale
          + EULER * (scale_1d2 - 1.0)
          + exponential.exp(
              (dist2.loc - dist1.loc) / dist2.scale
              + lgamma.lgamma(scale_1d2 + 1.0)
          )
          - 1
          + (dist1.loc - dist2.loc) / dist2.scale
      )
  
imports: import numpy
  import chainer
  from chainer.backends import cuda
  from chainer import distribution
  from chainer.functions.math import exponential
  from chainer.functions.math import lgamma
  from chainer.utils import cache
label_desc: Use image node_id 1 for calling a global function with example usage: _kl_gumbel_gumbel(dist1, dist2) and returns: unknown