digraph pdf { entry [label="enter f()",style=filled]; entry -> {while; D}; while [label="while (X)",style=filled]; C [style="bold,filled"] "if (Y)" [style=filled] "if (Z)" [style=filled] while -> {"if (Y)"} -> while; break2 [style=filled] break1 [style=filled] "if (Y)" -> {"if (Z)" C}; "if (Y)" -> break2 [constraint = false]; "if (Z)" -> {A break1 B break2}; break1 -> B; break1 -> break2; break2 -> {C while}; {rank=same; A break1 B break2} {rank=same; "if (Z)" C} {rank=same; while D} {edge [style=invis]; A -> break1 -> B -> break2; } }