        if (argc == 2) {
                printf("1 argc\n", argc);
                goto A;
        } else {
                printf("2 argc\n", argc);
A:
                printf("goto!\n");
        }

GCC is pretty fuqn smart with this code.. i wrote this to get some whack
control flow in if/else blocks.  but gcc reduced the above to
two printf calls! it effectively disabled what i wanted to test so thats
why there is an if_else_with_goto2.c

 80483ec:       75 12                   jne    8048400 <main+0x20>
 80483ee:       83 c4 f8                add    $0xfffffff8,%esp
 80483f1:       6a 02                   push   $0x2
 80483f3:       68 88 84 04 08          push   $0x8048488
 80483f8:       eb 0f                   jmp    8048409 <main+0x29>

now we jump directly to the "uncalled" printf in the 'else block with
the args setup in the 'if block!

 80483fa:       8d b6 00 00 00 00       lea    0x0(%esi),%esi

^^ we have some "garbage" here due to basic block alignment (look at
the jne above).

these places are good for binary mutations, because they represent
dead space within the binary.

 8048400:       83 c4 f8                add    $0xfffffff8,%esp

^^ this is the "start" of the else block.

 8048403:       50                      push   %eax
 8048404:       68 90 84 04 08          push   $0x8048490
 8048409:       e8 fa fe ff ff          call   8048308 <_init+0x70>

