A pre-compressor, as rule should be put at the beginning of a method, which alters the content of the file, so that a compressor will get better results, that without pre-compressor ...
Logically everyone can experience any concatenated method, for better compression ratios or best speed of execution, but unaware of a new discovery in a new concatenated method, you can encounter errors during decompression.
Compression :
"pzlib+srep64+lzma" In= 1 GB / pzlib = 2.07GB > srep64 = 2.23GB > lzma = 466MB /T = 00:04:50:48
"srep64+pzlib+lzma" In= 1 GB / srep64 = 1.0GB > pzlib = 1.54GB > lzma = 697MB /T = 00:04:48:45
"srep64+pzlib+srep64+lzma" In= 1 GB / srep64 = 1.0GB > pzlib = 1.54GB > srep64 = 1.65GB > lzma = 685MB /T = 00:05:05:40
"pzlib+srep64+pzlib+lzma" In= 1 GB / pzlib = 2.07GB > srep64 = 2.23GB > pzlib = 0GB > lzma = 466MB /T = 00:05:10:30
************************************************** **************************
Decompression :
pzlib+srep64+lzma = OK - /T = 00:01:18:965
srep64+pzlib+lzma = ERROR
srep64+pzlib+srep64+lzma = ERROR
pzlib+srep64+pzlib+lzma = OK - /T = 00:01:20:59