code: def _pow_int_int(x1, x2):
      # Integer power => use binary exponentiation.
      bits = 6  # Anything more would overflow for any x1 > 1
      zero = _constant_like(x2, 0)
      one = _constant_like(x2, 1)
      # Initialize acc carefully such that pow(0, x2) is zero for x2 != 0
      acc = _where(
          lax.bitwise_and(lax.eq(x1, zero), lax.ne(x2, zero)), zero, one
      )
      for _ in range(bits):
          acc = _where(lax.bitwise_and(x2, one), lax.mul(acc, x1), acc)
          x1 = lax.mul(x1, x1)
          x2 = lax.shift_right_logical(x2, one)
      return acc
  
imports: from __future__ import annotations
  from functools import partial
  import operator
  from textwrap import dedent
  from typing import Any, Callable, overload
  import numpy
  from jax._src import core
  from jax._src import dtypes
  from jax._src.api import jit
  from jax._src.custom_derivatives import custom_jvp
  from jax._src.lax import lax
  from jax._src.typing import Array, ArrayLike
  from jax._src.numpy.util import check_arraylike, promote_args, promote_args_inexact, promote_args_numeric, promote_dtypes_inexact, promote_dtypes_numeric, promote_shapes, _where, _wraps, check_no_float0s
label_desc: Use image node_id 25 for calling a global function with example usage: _pow_int_int(x1, x2) and returns: acc