Avoid skipping zero-shifts.
Avoid skipping zero-shifts.

As far as I can tell, this is unnecessary for correctness
(zero-shifting is well-defined, unlike 64-shifting uint64_t),
and is performance-neutral. (Additional branching is a cost,
in code size if nothing else.)

[v3]
x86 MSVC f: 391.105
x86 MSVC e: 133.115
x86 LLVM f: 355.525
x86 LLVM e: 103.691

x64 MSVC f: 164.878
x64 MSVC e:  60.158
x64 LLVM f: 125.690
x64 LLVM e:  43.805

ulfjack/ryu,ulfjack/ryu,ulfjack/ryu,ulfjack/ryu