Computing Remainders by Doubling
eli.thegreenplace.net