$begingroup$ For (a), a simple way to take a look at is that you have lowered your chance Room to only the combinations that have at least a single boy: Why do C compilers still desire push in excess of mov for preserving registers, even when mov appears more rapidly https://share.evernote.com/note/91c6354d-2887-12d0-6d41-1b26614dcfdf