code: def exp(computation: BaseComputation, gas_per_byte: int) -> None:
      
      base, exponent = computation.stack_pop(num_items=2, type_hint=constants.UINT256)
  
      bit_size = exponent.bit_length()
      byte_size = ceil8(bit_size) // 8
  
      if exponent == 0:
          result = 1
      elif base == 0:
          result = 0
      else:
          result = pow(base, exponent, constants.UINT_256_CEILING)
  
      computation.consume_gas(
          gas_per_byte * byte_size,
          reason="EXP: exponent bytes",
      )
  
      computation.stack_push(result)
docs: Exponentiation