digraph g {
	Start [shape=box,label=<Start<br/>x = x_in>];
	End [shape=box];
	Start -> End [style=dashed];
	Start -> "if (x < 0)" -> "throw" -> "Error exit" -> End;
	"throw" -> "return Math.sqrt(x)" [style=dashed];
	"if (x < 0)" -> "return Math.sqrt(x)" -> "Normal exit" -> End;
	// pdg
	f [label="f()",shape=rect];
	x_in [label = "x = x_in", style = dashed];
	if [label = "if (x < 0)"];
	t [label = "throw"];
	ret [label = "return Math.sqrt(x)"];
	ee [label = "error exit", style = dashed];
	ne [label = "normal exit", style = dashed];
	f -> x_in;
	f -> if -> t -> {ret ee ne};
	{ edge [color = red, constraint = false];
		x_in -> {if ret};
	}
}
