code: def _evaluate_legendre_polynomial_loop_body(x, n, l, m, pmm, pmm1):
      n_float = tf.cast(n, dtype=x.dtype)
      m_float = tf.cast(m, dtype=x.dtype)
      pmn = (
          x * (2.0 * n_float - 1.0) * pmm1
          - (n_float + m_float - 1) * pmm
      ) / (n_float - m_float)
      pmm = tf.where(tf.less_equal(n, l), pmm1, pmm)
      pmm1 = tf.where(tf.less_equal(n, l), pmn, pmm1)
      n += 1
      return x, n, l, m, pmm, pmm1
  
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 6 for calling a global function with example usage: _evaluate_legendre_polynomial_loop_body(x, n, l, m, pmm, pmm1) and returns: x,  n,  l,  m,  pmm,  pmm1