2011-06-29: Ehtesham Zahoor of Universite Nancy 2 and LORIA contributed the new DictHash function below. The old DictHash function calculated the hash value based on the first 6 characters of the input symbol. The new DictHash function below calculates the hash value based on the last 6 characters. This will improve performance because symbols tend to differ in the final characters rather than the initial characters. In decreasoner.c, replace the old DictHash function with the following new DictHash function: int DictHash(Dict *d,char *symbol) { unsigned char s[6]; size_t len; len=(size_t)strlen(symbol); memset(s,0,6); if (len > 6) { memcpy(s,symbol+(len-6),6); } else { memcpy(s,symbol,(size_t)len); } return (int)(((s[1]+s[5]+(s[0]+s[4])*(long)256) + (s[3]+s[2]*(long)256)*(long)481) % d->size); }