digraph CFG {
  node [fontname="Helvetica"];
  n611 [label="START", shape=ellipse, style=filled, color=gray];
  n611 -> n662;
  n662 [label="10", shape=box];
  n662 -> n663;
  n663 [label="CALL f1", shape=box, style=filled, color=orange];
  n663 -> n613;
  n663 -> n665;
  n613 [label="START f1(b)", shape=ellipse, style=filled, color=green];
  n613 -> n618;
  n618 [label="b", shape=box];
  n618 -> n619;
  n619 [label="0", shape=box];
  n619 -> n620;
  n620 [label="b == 0", shape=box];
  n620 -> n621;
  n621 [label="<?>", shape=diamond];
  n621 -> n625 [label="T"];
  n621 -> n626 [label="F"];
  n625 [label="0", shape=box];
  n625 -> n614;
  n614 [label="END f1(b)", shape=ellipse, style=filled, color=green];
  n614 -> n631;
  n614 -> n642;
  n614 -> n646;
  n614 -> n665;
  n631 [label="RET f1", shape=box, style=filled, color=orange];
  n631 -> n614;
  n642 [label="RET f1", shape=box, style=filled, color=orange];
  n642 -> n655;
  n655 [label="a", shape=box];
  n655 -> n656;
  n656 [label="b", shape=box];
  n656 -> n657;
  n657 [label="a * b", shape=box];
  n657 -> n658;
  n658 [label="CALL g", shape=box, style=filled, color=orange];
  n658 -> n647;
  n658 -> n660;
  n647 [label="START g(c)", shape=ellipse, style=filled, color=green];
  n647 -> n650;
  n650 [label="a", shape=box];
  n650 -> n651;
  n651 [label="b", shape=box];
  n651 -> n652;
  n652 [label="a * b", shape=box];
  n652 -> n653;
  n653 [label="c", shape=box];
  n653 -> n654;
  n654 [label="(a * b) * c", shape=box];
  n654 -> n648;
  n648 [label="END g(c)", shape=ellipse, style=filled, color=green];
  n648 -> n660;
  n660 [label="RET g", shape=box, style=filled, color=orange];
  n660 -> n616;
  n616 [label="END f2(a, b)", shape=ellipse, style=filled, color=green];
  n616 -> n688;
  n688 [label="RET f2", shape=box, style=filled, color=orange];
  n688 -> n612;
  n612 [label="END", shape=ellipse, style=filled, color=gray];
  n646 [label="RET f1", shape=box, style=filled, color=orange];
  n646 -> n655;
  n665 [label="RET f1", shape=box, style=filled, color=orange];
  n665 -> n667;
  n667 [label="10", shape=box];
  n667 -> n680;
  n680 [label="20", shape=box];
  n680 -> n681;
  n681 [label="30", shape=box];
  n681 -> n682;
  n682 [label="CALL max", shape=box, style=filled, color=orange];
  n682 -> n668;
  n682 -> n684;
  n668 [label="START max(a, b)", shape=ellipse, style=filled, color=green];
  n668 -> n671;
  n671 [label="a", shape=box];
  n671 -> n672;
  n672 [label="b", shape=box];
  n672 -> n673;
  n673 [label="a > b", shape=box];
  n673 -> n674;
  n674 [label="<?>", shape=diamond];
  n674 -> n678 [label="T"];
  n674 -> n679 [label="F"];
  n678 [label="a", shape=box];
  n678 -> n669;
  n669 [label="END max(a, b)", shape=ellipse, style=filled, color=green];
  n669 -> n684;
  n684 [label="RET max", shape=box, style=filled, color=orange];
  n684 -> n686;
  n686 [label="CALL f2", shape=box, style=filled, color=orange];
  n686 -> n615;
  n686 -> n688;
  n615 [label="START f2(a, b)", shape=ellipse, style=filled, color=green];
  n615 -> n632;
  n632 [label="a", shape=box];
  n632 -> n633;
  n633 [label="b", shape=box];
  n633 -> n634;
  n634 [label="a > b", shape=box];
  n634 -> n635;
  n635 [label="<?>", shape=diamond];
  n635 -> n639 [label="T"];
  n635 -> n643 [label="F"];
  n639 [label="a", shape=box];
  n639 -> n640;
  n640 [label="CALL f1", shape=box, style=filled, color=orange];
  n640 -> n613;
  n640 -> n642;
  n643 [label="b", shape=box];
  n643 -> n644;
  n644 [label="CALL f1", shape=box, style=filled, color=orange];
  n644 -> n613;
  n644 -> n646;
  n679 [label="b", shape=box];
  n679 -> n669;
  n626 [label="b", shape=box];
  n626 -> n627;
  n627 [label="1", shape=box];
  n627 -> n628;
  n628 [label="b - 1", shape=box];
  n628 -> n629;
  n629 [label="CALL f1", shape=box, style=filled, color=orange];
  n629 -> n613;
  n629 -> n631;
}