class_docstr: This mixin is used for languages that provide the exponentiation operation as a function.
  Such languages inlcude C, Java, Python and others.
  
  The name of the function must be set in `power_function_name` by implementing subclasses.
code: def interpret_pow_expr(self, expr, **kwargs):
      if self.power_function_name is NotImplemented:
          raise NotImplementedError("Power function is not provided")
      self.with_math_module = True
      base_result = self._do_interpret(expr.base_expr, **kwargs)
      exp_result = self._do_interpret(expr.exp_expr, **kwargs)
      return self._cg.function_invocation(
          self.power_function_name, base_result, exp_result
      )
  
imports: import math
  import sys
  from collections import namedtuple
  from m2cgen import ast
  from m2cgen.interpreters.interpreter import BaseToCodeInterpreter
label_desc: Use image node_id 1 for calling the PowExprFunctionMixin obj's underlying member method code with example usage: obj.interpret_pow_expr(expr) and returns: self