Solidity contracts bytecode usually start with `6080604052`, which stands for `mstore(0x40, 0x80)`. But sometimes, we don't have gas for that.
Try this: put `mstore(0x40, returndatasize())` at the very start.
The bytecode will instead start with `3d604052`. Smaller, better,…