Addition/subtraction are also much simpler/cheaper than they would be in an entirely logarithmic model. If floats were just 2^x with some 64 bit fixed point x, it's not clear to me how to do addition efficiently.
$ time xz linux-4.14-rc6.tar
real 4m26.009s
user 4m24.828s
sys 0m0.724s
$ wc -c linux-4.14-rc6.tar.xz
103705148 linux-4.14-rc6.tar.xz
$ time zstd --ultra -20 linux-4.14-rc6.tar
linux-4.14-rc6.tar : 12.81% (824350720 => 105564246 bytes, linux-4.14-rc6.tar.zst)
real 4m34.129s
user 4m33.484s
sys 0m0.432s
$ time cat linux-4.14-rc6.tar.xz | xz -d > out1
real 0m9.677s
user 0m6.608s
sys 0m0.704s
$ time cat linux-4.14-rc6.tar.zst | zstd -d > out2
real 0m1.702s
user 0m1.220s
sys 0m0.520s
[0]: https://github.com/facebook/zstd/blob/dev/doc/images/DCspeed...