parameters: (context, builder, lower, upper, data)
return_statement: return start, end
docstring: Given [lower, upper) byte offsets and a base data pointer,
      compute the memory pointer bounds as pointer-sized integers.
docstring_summary: Given [lower, upper) byte offsets and a base data pointer,
      compute the memory pointer bounds as pointer-sized integers.
docstring_tokens: Given [ lower upper ) byte offsets and a base data pointer compute the memory pointer bounds as pointer - sized integers .
function: def compute_memory_extents(context, builder, lower, upper, data):
      """
      Given [lower, upper) byte offsets and a base data pointer,
      compute the memory pointer bounds as pointer-sized integers.
      """
      data_ptr_as_int = builder.ptrtoint(data, lower.type)
      start = builder.add(data_ptr_as_int, lower)
      end = builder.add(data_ptr_as_int, upper)
      return start, end
function_tokens: def compute_memory_extents ( context , builder , lower , upper , data ) : data_ptr_as_int = builder . ptrtoint ( data , lower . type ) start = builder . add ( data_ptr_as_int , lower ) end = builder . add ( data_ptr_as_int , upper ) return start , end