original_docstring: 
      Squash the output of the Gaussian distribution
      and account for that in the log probability
      The squashed mean is also returned for using
      deterministic actions.
  
      :param mu_: (tf.Tensor) Mean of the gaussian
      :param pi_: (tf.Tensor) Output of the policy before squashing
      :param logp_pi: (tf.Tensor) Log probability before squashing
      :return: ([tf.Tensor])
      
docstring: Squash the output of the Gaussian distribution
  and account for that in the log probability
  The squashed mean is also returned for using
  deterministic actions.
docstring_tokens: Squash the output of the Gaussian distribution and account for that in the log probability The squashed mean is also returned for using deterministic actions .
code: def apply_squashing_func(mu_, pi_, logp_pi):
      """
      Squash the output of the Gaussian distribution
      and account for that in the log probability
      The squashed mean is also returned for using
      deterministic actions.
  
      :param mu_: (tf.Tensor) Mean of the gaussian
      :param pi_: (tf.Tensor) Output of the policy before squashing
      :param logp_pi: (tf.Tensor) Log probability before squashing
      :return: ([tf.Tensor])
      """
      # Squash the output
      deterministic_policy = tf.tanh(mu_)
      policy = tf.tanh(pi_)
      # OpenAI Variation:
      # To avoid evil machine precision error, strictly clip 1-pi**2 to [0,1] range.
      # logp_pi -= tf.reduce_sum(tf.log(clip_but_pass_gradient(1 - policy ** 2, lower=0, upper=1) + EPS), axis=1)
      # Squash correction (from original implementation)
      logp_pi -= tf.reduce_sum(tf.log(1 - policy ** 2 + EPS), axis=1)
      return deterministic_policy, policy, logp_pi
code_tokens: def apply_squashing_func ( mu_ , pi_ , logp_pi ) : deterministic_policy = tf . tanh ( mu_ ) policy = tf . tanh ( pi_ ) logp_pi -= tf . reduce_sum ( tf . log ( 1 - policy ** 2 + EPS ) , axis = 1 ) return deterministic_policy , policy , logp_pi
short_docstring: Squash the output of the Gaussian distribution
  and account for that in the log probability
  The squashed mean is also returned for using
  deterministic actions.
short_docstring_tokens: Squash the output of the Gaussian distribution and account for that in the log probability The squashed mean is also returned for using deterministic actions .
comment: """
      Squash the output of the Gaussian distribution
      and account for that in the log probability
      The squashed mean is also returned for using
      deterministic actions.
  
      :param mu_: (tf.Tensor) Mean of the gaussian
      :param pi_: (tf.Tensor) Output of the policy before squashing
      :param logp_pi: (tf.Tensor) Log probability before squashing
      :return: ([tf.Tensor])
      """$SEP$# Squash the output$SEP$# OpenAI Variation:$SEP$# To avoid evil machine precision error, strictly clip 1-pi**2 to [0,1] range.$SEP$# logp_pi -= tf.reduce_sum(tf.log(clip_but_pass_gradient(1 - policy ** 2, lower=0, upper=1) + EPS), axis=1)$SEP$# Squash correction (from original implementation)