First, I want to thank Bruce Shriver and
Dennis Allison for encouraging me to publish this book. I am indebted to many
colleagues at IBM, several of whom are cited in the Bibliography. But one
deserves special mention: Martin E. Hopkins, whom I think of as "Mr.
Compiler" at IBM, has been relentless in his drive to make every cycle
count, and I'm sure some of his spirit has rubbed off on me. Addison-Wesley's
reviewers have improved the book immensely. Most of their names are unknown to
me, but the review by one whose name I did learn was truly outstanding: Guy L.
Steele, Jr., completed a 50-page review that included new subject areas to
address, such as bit shuffling and unshuffling, the sheep and goats operation,
and many others that will have to wait for a second edition ( ). He suggested algorithms that beat the ones I used.
He was extremely thorough. For example, I had erroneously written that the
hexadecimal number AAAAAAAA factors as 2 ?3 ?17 ?257 ?65537; Guy pointed
out that the 3 should be a 5. He suggested improvements to style and did not
shirk from mentioning minutiae. Wherever you see "parallel prefix" in
this book, the material is due to Guy.
H. S. Warren, Jr.
Yorktown, New York
February 2002