code: def log_normal(x, mean, **kwargs):
      """
      Calculate logarithm of normal distribution at point `x`
      with given `mean` and `std`
  
      Parameters
      ----------
      x: Tensor
          point of evaluation
      mean: Tensor
          mean of normal distribution
      kwargs: one of parameters `{sigma, tau, w, rho}`
  
      Notes
      -----
      There are four variants for density parametrization.
      They are:
          1) standard deviation - `std`
          2) `w`, logarithm of `std` :math:`w = log(std)`
          3) `rho` that follows this equation :math:`rho = log(exp(std) - 1)`
          4) `tau` that follows this equation :math:`tau = std^{-1}`
      ----
      """
      sigma = kwargs.get("sigma")
      w = kwargs.get("w")
      rho = kwargs.get("rho")
      tau = kwargs.get("tau")
      eps = kwargs.get("eps", 0.0)
      check = sum(map(lambda a: a is not None, [sigma, w, rho, tau]))
      if check > 1:
          raise ValueError("more than one required kwarg is passed")
      if check == 0:
          raise ValueError("none of required kwarg is passed")
      if sigma is not None:
          std = sigma
      elif w is not None:
          std = pt.exp(w)
      elif rho is not None:
          std = rho2sigma(rho)
      else:
          std = tau ** (-1)
      std += f(eps)
      return (
          f(c)
          - pt.log(pt.abs(std))
          - (x - mean) ** 2 / (2.0 * std**2)
      )
  
imports: import warnings
  from functools import partial
  from typing import Iterable
  import numpy
  import pytensor
  import pytensor.tensor
  import scipy.linalg
  import scipy.stats
  from pytensor.graph.basic import Apply, Variable
  from pytensor.graph.op import Op
  from pytensor.scalar import UnaryScalarOp, upgrade_to_float_no_complex
  from pytensor.tensor import gammaln
  from pytensor.tensor.elemwise import Elemwise
  from pymc.distributions.shape_utils import to_tuple
  from pymc.logprob.utils import CheckParameterValue
  from pymc.pytensorf import floatX
label_desc: Use image node_id 13 for calling a global function with example usage: log_normal(x, mean) and returns: unknown