code: def _evaluate_legendre_polynomial_branch(l, m, x, pmm):
      pmm1 = x * (2.0 * tf.cast(m, dtype=x.dtype) + 1.0) * pmm
      # if, l == m + 1 return pmm1, otherwise lift to the next band.
      res = tf.where(
          tf.equal(l, m + 1),
          pmm1,
          _evaluate_legendre_polynomial_loop(x, m, l, pmm, pmm1),
      )
      return res
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from typing import Tuple
  import numpy
  from six.moves import range
  import tensorflow
  from tensorflow_graphics.math import math_helpers
  from tensorflow_graphics.math import vector
  from tensorflow_graphics.util import asserts
  from tensorflow_graphics.util import export_api
  from tensorflow_graphics.util import shape
  from tensorflow_graphics.util.type_alias import TensorLike
label_desc: Use image node_id 8 for calling a global function with example usage: _evaluate_legendre_polynomial_branch(l, m, x, pmm) and returns: res