code: def split_lorentzian(
      x, amplitude=1.0, center=0.0, sigma=1.0, sigma_r=1.0
  ):
      """Return a 1-dimensional piecewise Lorentzian function.
  
      Split means that width of the function is different between
      left and right slope of the function. The peak height is calculated
      from the condition that the integral from ``-numpy.inf`` to
      ``numpy.inf`` is equal to `amplitude`.
  
      split_lorentzian(x, amplitude, center, sigma, sigma_r) =
          [2*amplitude / (pi* (sigma + sigma_r)] *
           {  sigma**2   * (x<center)  / [sigma**2  + (x - center)**2]
            + sigma_r**2 * (x>=center) / [sigma_r**2+ (x - center)**2] }
  
      """
      s = max(tiny, sigma)
      r = max(tiny, sigma_r)
      ss = s * s
      rr = r * r
      xc2 = (x - center) ** 2
      amp = 2 * amplitude / (pi * (s + r))
      return amp * (
          ss * (x < center) / (ss + xc2)
          + rr * (x >= center) / (rr + xc2)
      )
  
imports: from numpy import arctan, copysign, cos, exp, isclose, isnan, log, log1p, maximum, minimum, pi, real, sin, sqrt, where
  from scipy.special import betaln
  from scipy.special import erf, erfc
  from scipy.special import gamma
  from scipy.special import loggamma
  from scipy.special import wofz
label_desc: Use image node_id 5 for calling a global function with example usage: split_lorentzian(x, amplitude, center, sigma, sigma_r) and returns: unknown