++histogram[len / 16];
atomic_increment (&histogram[len / 16]);
malloc (size_t len){  struct header *result = NULL;  /* Determine real implementation if not already happened.  */  if (__builtin_expect (initialized <= 0, 0))    {      if (initialized == -1)	return NULL;      me ();    }  /* If this is not the correct program just use the normal function.  */  if (not_me)    return (*mallocp) (len);  /* Keep track of number of calls.  */  ++calls[idx_malloc];  /* Keep track of total memory consumption for `malloc'.  */  total[idx_malloc] += len;  /* Keep track of total memory requirement.  */  grand_total += len;  /* Remember the size of the request.  */  if (len < 65536)    ++histogram[len / 16];  else    ++large;  /* Total number of calls of any of the functions.  */  ++calls_total;  /* Do the real work.  */  result = (struct header *) (*mallocp) (len + sizeof (struct header));  if (result == NULL)    {      ++failed[idx_malloc];      return NULL;    }  /* Update the allocation data and write out the records if necessary.  */  update_data (result, len, 0);  /* Return the pointer to the user buffer.  */  return (void *) (result + 1);}