class_docstr: Exponentially modified Gaussian distribution.
  
  #### Mathematical details
  
  The exponentially modified Gaussian distribution is the sum of a normal
  distribution and an exponential distribution.
  ```none
  X ~ Normal(loc, scale)
  Y ~ Exponential(rate)
  Z = X + Y
  ```
  is equivalent to
  ```none
  Z ~ ExponentiallyModifiedGaussian(loc, scale, rate)
  ```
  
  #### Examples
  ```python
  tfd = tfp.distributions
  
  # Define a single scalar ExponentiallyModifiedGaussian distribution
  dist = tfd.ExponentiallyModifiedGaussian(loc=0., scale=1., rate=3.)
  
  # Evaluate the pdf at 1, returing a scalar.
  dist.prob(1.)
  ```
code: def _parameter_control_dependencies(self, is_init):
      assertions = []
  
      if is_init:
          try:
              self._batch_shape()
          except ValueError:
              raise ValueError(
                  "Arguments `loc`, `scale`, and `rate` must have compatible shapes; "
                  "loc.shape={}, scale.shape={}, rate.shape={}.".format(
                      self.loc.shape, self.scale.shape, self.rate.shape
                  )
              )
          # We don't bother checking the shapes in the dynamic case because
          # all member functions access both arguments anyway.
  
      if not self.validate_args:
          assert not assertions  # Should never happen.
          return []
  
      if is_init != tensor_util.is_ref(self.scale):
          assertions.append(
              assert_util.assert_positive(
                  self.scale,
                  message="Argument `scale` must be positive.",
              )
          )
  
      if is_init != tensor_util.is_ref(self.rate):
          assertions.append(
              assert_util.assert_positive(
                  self.rate, message="Argument `rate` must be positive."
              )
          )
  
      return assertions
  
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import identity
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import exponential
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import reparameterization
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import special_math
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.math import generic
label_desc: Use image node_id 14 for calling the ExponentiallyModifiedGaussian obj's underlying member method code with example usage: obj._parameter_control_dependencies(is_init) and returns: assertions, list