digraph pdf {
	entry -> {while; D};
    entry [style = filled];
	while [label = "while (X)", style = filled];
	while -> {"if (Y)" C};
    C [style = "bold,filled"];
    "if (Y)" -> C [label = 2];
    "if (Y)" [style = filled];
	"if (Y)" -> {"if (Z)" B break2};
	"if (Z)" -> {A break1};
    "if (Z)" [style = filled, color = lightblue];
    "if (Z)" -> {B break2} [label = 1];
	break1 -> {B break2} [label = 1];
	break2 -> {C while} [label = 2];
	{rank=same; A break1 B break2}
    break1 [label = "break 1", style = filled, color = lightblue];
    break2 [label = "break 2", style = filled];
	{rank=same; "if (Z)" C}
	{rank=same; while D}
	{edge [style=invis];
		A -> break1 -> B -> break2;
	}
}