Bad code generation due to shrink-wrap optimisation