Richard Giblett's Architectural Algorithms http://j.mp/1wccfrV