Author: Julia Lawall <Julia.Lawall@lip6.fr> The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ identifier lbl; @@ if (…) GOTO(lbl,…); +else GOTO(lbl,…); @@ identifier lbl,rc; constant c; expression e,e1; @@ if ( – e + !e ) – GOTO(lbl,\(rc\|c\)); -else GOTO(lbl,e1); + e1; +goto lbl; @@ identifier lbl,rc; constant c; expression e,e1; …