C:\test\C>bufswap 2097147 1048571 2 ### 2^20+prime prime size:2097147 offset;1048571 [ 0 1 ... 1048569 1048570 ^ 1048571 1048572 ... 2097145 2097146 ] [ 1048571 1048572 ... 2097145 2097146 ^ 0 1 ... 1048569 1048570 ] iterative: swaps:2097147 took 0.050917112 secs. [ 0 1 ... 1048569 1048570 ^ 1048571 1048572 ... 2097145 2097146 ] [ 1048571 1048572 ... 2097145 2097146 ^ 0 1 ... 1048569 1048570 ] recursive: swaps:2097146 took 0.022471381 secs. [ 0 1 ... 1048569 1048570 ^ 1048571 1048572 ... 2097145 2097146 ] [ 1048571 1048572 ... 2097145 2097146 ^ 0 1 ... 1048569 1048570 ] reversive: swaps:2097146 took 0.030067538 secs. C:\test\C>bufswap 33554429 16777213 2 ### 2^24+prime prime size:33554429 offset;16777213 [ 0 1 ... 16777211 16777212 ^ 16777213 16777214 ... 33554427 33554428 ] [ 16777213 16777214 ... 33554427 33554428 ^ 0 1 ... 16777211 16777212 ] iterative: swaps:33554429 took 0.519861854 secs. [ 0 1 ... 16777211 16777212 ^ 16777213 16777214 ... 33554427 33554428 ] [ 16777213 16777214 ... 33554427 33554428 ^ 0 1 ... 16777211 16777212 ] recursive: swaps:33554428 took 0.212679449 secs. [ 0 1 ... 16777211 16777212 ^ 16777213 16777214 ... 33554427 33554428 ] [ 16777213 16777214 ... 33554427 33554428 ^ 0 1 ... 16777211 16777212 ] reversive: swaps:33554428 took 0.275975182 secs. C:\test\C>bufswap 134217723 67108859 2 ### 2^26+prime prime size:134217723 offset;67108859 [ 0 1 ... 67108857 67108858 ^ 67108859 67108860 ... 134217721 134217722 ] [ 67108859 67108860 ... 134217721 134217722 ^ 0 1 ... 67108857 67108858 ] iterative: swaps:134217723 took 2.986443308 secs. [ 0 1 ... 67108857 67108858 ^ 67108859 67108860 ... 134217721 134217722 ] [ 67108859 67108860 ... 134217721 134217722 ^ 0 1 ... 67108857 67108858 ] recursive: swaps:134217722 took 0.957572077 secs. [ 0 1 ... 67108857 67108858 ^ 67108859 67108860 ... 134217721 134217722 ] [ 67108859 67108860 ... 134217721 134217722 ^ 0 1 ... 67108857 67108858 ] reversive: swaps:134217722 took 1.185514126 secs. C:\test\C>bufswap 268435417 134217689 2 ### 2^27+prime prime size:268435417 offset;134217689 [ 0 1 ... 134217687 134217688 ^ 134217689 134217690 ... 268435415 268435416 ] [ 134217689 134217690 ... 268435415 268435416 ^ 0 1 ... 134217687 134217688 ] iterative: swaps:268435417 took 11.702352647 secs. [ 0 1 ... 134217687 134217688 ^ 134217689 134217690 ... 268435415 268435416 ] [ 134217689 134217690 ... 268435415 268435416 ^ 0 1 ... 134217687 134217688 ] recursive: swaps:268435416 took 1.888340531 secs. [ 0 1 ... 134217687 134217688 ^ 134217689 134217690 ... 268435415 268435416 ] [ 134217689 134217690 ... 268435415 268435416 ^ 0 1 ... 134217687 134217688 ] reversive: swaps:268435416 took 2.337291168 secs.