code: def _scale_from_precomputed(precomputed_cholesky, kernel):
      """Rebuilds `observation_scale` from precomputed values."""
      (params,) = tuple(precomputed_cholesky.values())
      if "tril" in precomputed_cholesky:
          return tf.linalg.LinearOperatorLowerTriangular(
              params["chol_tril"], is_non_singular=True
          )
      if "independent" in precomputed_cholesky:
          return tf.linalg.LinearOperatorKronecker(
              [
                  tf.linalg.LinearOperatorLowerTriangular(
                      params["chol_tril"], is_non_singular=True
                  ),
                  tf.linalg.LinearOperatorIdentity(
                      kernel.num_tasks, dtype=params["chol_tril"].dtype
                  ),
              ],
              is_square=True,
              is_non_singular=True,
          )
      if "separable" in precomputed_cholesky:
          diag_op = tf.linalg.LinearOperatorDiag(
              params["diag"],
              is_square=True,
              is_non_singular=True,
              is_positive_definite=True,
          )
          ops = []
          for param in params["kronecker_orths"]:
              if "identity" in param:
                  ops.append(
                      tf.linalg.LinearOperatorIdentity(
                          param["identity"], dtype=params["diag"].dtype
                      )
                  )
              elif "unitary" in param:
                  ops.append(
                      linear_operator_unitary.LinearOperatorUnitary(
                          param["unitary"]
                      )
                  )
              else:
                  raise ValueError(f"Unexpected param: {param}")
          orthogonal_op = tf.linalg.LinearOperatorKronecker(
              ops, is_square=True, is_non_singular=True
          )
          return orthogonal_op.matmul(diag_op)
      # This should not happen.
      raise ValueError(
          f"Unexpected value for `precompute_cholesky`: {precomputed_cholesky}."
      )
  
imports: import functools
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import cholesky_util
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import mvn_linear_operator
  from tensorflow_probability.python.distributions.internal import stochastic_process_util
  from tensorflow_probability.python.experimental.distributions import multitask_gaussian_process
  from tensorflow_probability.python.experimental.linalg import linear_operator_unitary
  from tensorflow_probability.python.experimental.psd_kernels import multitask_kernel
  from tensorflow_probability.python.internal import batch_shape_lib
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import nest_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 tensor_util
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.math.psd_kernels.internal import util
label_desc: Use image node_id 6 for calling a global function with example usage: _scale_from_precomputed(precomputed_cholesky, kernel) and returns: tf, tf, orthogonal_op