There is no direct correlation between file size and compressed size.
I.e. sample for RLE compression (much worse than GZIP, but easier to show idea):
File 1: {0,0,0,0} 4 bytes compresses to approximately 2 bytes {4,0}
File 2: {1,2,3,4} 4 bytes grows to approximately 8 bytes instead of compression {1,1,1,2,1,3,1,4}
In general more random data is in the file than less compressible file is.
For compiled binaries different options may trigger extra tables to be included (like source locations) or use different (ASCII vs. UTF-16) string representation - all this may change amount of repetition in the file that compression can use to actually compress binaries.