class_docstr: Rudimentary, generic GLSL printing tools.
  
  Additional settings:
  'use_operators': Boolean (should the printer use operators for +,-,*, or functions?)
class_docstr_tok: ["Rudimentary",",","generic","GLSL","printing","tools",".","Additional","settings",":","'use_operators","'",":","Boolean","(","should","the","printer","use","operators","for","+",",","-",",","*",",","or","functions","?",")"]
code: def _print_Pow(self, expr):
      PREC = precedence(expr)
      if equal_valued(expr.exp, -1):
          return "1.0/%s" % (self.parenthesize(expr.base, PREC))
      elif equal_valued(expr.exp, 0.5):
          return "sqrt(%s)" % self._print(expr.base)
      else:
          try:
              e = self._print(float(expr.exp))
          except TypeError:
              e = self._print(expr.exp)
          return self._print_Function_with_args(
              "pow", (self._print(expr.base), e)
          )
  
imports: from __future__ import annotations
  from sympy.core import Basic, S
  from sympy.core.function import Lambda
  from sympy.core.numbers import equal_valued
  from sympy.printing.codeprinter import CodePrinter
  from sympy.printing.precedence import precedence
  from functools import reduce
label_desc: Use image node_id 18 for calling the GLSLPrinter obj's underlying member method code with example usage: obj._print_Pow(expr) and returns: unknown, unknown, self