code: func callgrindAddress(prevInfo *graph.NodeInfo, curr uint64) string {
  	abs := fmt.Sprintf("%#x", curr)
  	if prevInfo == nil {
  		return abs
  	}
  
  	prev := prevInfo.Address
  	if prev == curr {
  		return "*"
  	}
  
  	diff := int64(curr - prev)
  	relative := fmt.Sprintf("%+d", diff)
  
  	// Only bother to use the relative address if it is actually shorter.
  	if len(relative) < len(abs) {
  		return relative
  	}
  
  	return abs
  }
docs: // callgrindAddress implements the callgrind subposition compression scheme if
  // possible. If prevInfo != nil, it contains the previous address. The current
  // address can be given relative to the previous address, with an explicit +/-
  // to indicate it is relative, or * for the same address.