futility pruning simplification

I reverted the 48-bit stuff, rebased on the current master, checked the diff by reading it carefully. This one is good for pulling, just squash into one commit if possible, to keep history clean.

bench 7243575