class_docstr: The Truncated Normal distribution.
  
  The truncated normal is a normal distribution bounded between `low`
  and `high` (the pdf is 0 outside these bounds and renormalized).
  
  Samples from this distribution are differentiable with respect to `loc`,
  `scale` as well as the bounds, `low` and `high`, i.e., this
  implementation is fully reparameterized.
  
  For more details, see [here](
  https://en.wikipedia.org/wiki/Truncated_normal_distribution).
  
  ### Mathematical Details
  
  The probability density function (pdf) of this distribution is:
  ```none
    pdf(x; loc, scale, low, high) =
        { (2 pi)**(-0.5) exp(-0.5 y**2) / (scale * z) for low <= x <= high
        { 0                                    otherwise
    y = (x - loc)/scale
    z = NormalCDF((high - loc) / scale) - NormalCDF((low - loc) / scale)
  ```
  
  where:
  
  * `NormalCDF` is the cumulative density function of the Normal distribution
    with 0 mean and unit variance.
  
  This is a scalar distribution so the event shape is always scalar and the
  dimensions of the parameters define the batch_shape.
  
  #### Examples
  ```python
  
  tfd = tfp.distributions
  # Define a batch of two scalar TruncatedNormals with modes at 0. and 1.0
  dist = tfd.TruncatedNormal(loc=[0., 1.], scale=1.,
                             low=[-1., 0.],
                             high=[1., 1.])
  
  # Evaluate the pdf of the distributions at 0.5 and 0.8 respectively returning
  # a 2-vector tensor.
  dist.prob([0.5, 0.8])
  
  # Get 3 samples, returning a 3 x 2 tensor.
  dist.sample([3])
  ```
code: def low(self):
      return self._low
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import sigmoid
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import distribution
  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 prefer_static
  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.generic import log_sub_exp
label_desc: Use image node_id 8 for calling the TruncatedNormal obj's underlying member method code with example usage: obj.low() and returns: self