code: def _evaluate_legendre_polynomial_pmm_eval(m, x):
      pmm = tf.pow(
          1.0 - tf.pow(x, 2.0), tf.cast(m, dtype=x.dtype) / 2.0
      )
      ones = tf.ones_like(m)
      pmm *= tf.cast(
          tf.pow(-ones, m) * math_helpers.double_factorial(2 * m - 1),
          dtype=pmm.dtype,
      )
      return pmm
  
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 4 for calling a global function with example usage: _evaluate_legendre_polynomial_pmm_eval(m, x) and returns: pmm