code: def lab2xyz(l__, a__, b__):
      
  
  
      def f_inv(arr):
          """Inverse of the f function.
          """
          return np.where(arr > 6.0/29.0,
                          arr ** 3,
                          3 * (6.0 / 29.0) * (6.0 / 29.0) * (arr - 4.0 / 29.0))
  
      new_l = (l__ + 16.0) / 116.0
      x__ = 95.047 * f_inv(new_l + a__ / 500.0)
      y__ = 100.0 * f_inv(new_l)
      z__ = 108.883 * f_inv(new_l - b__ / 200.0)
  
      return x__, y__, z__
docs: Convert L*a*b* to XYZ, L*a*b* expressed within [0, 1].