Taken from Knuth Algorithm S mergesort P162-163 Vol 3 Second edition 1998 The major change is that the scratch buffer is not required to be adjacent and there are some changes because C array indexing starts with 0. This is
Dennis Ritchie on alias analysis in the C programming language 1988
This 1998 note by Dennis Ritchie from comp.lang.c (and also here ) is very current since the concept of noalias has definitely crept back into the standard. I have reproduced it verbatim, but lightly formatted for readability. For further reading
