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