digraph CFG {
  node [fontname="Helvetica"];
  n14 [label="START", shape=ellipse, style=filled, color=gray];
  n14 -> n65;
  n65 [label="10", shape=box];
  n65 -> n66;
  n66 [label="CALL f1", shape=box, style=filled, color=orange];
  n66 -> n16;
  n66 -> n68;
  n16 [label="START f1(b)", shape=ellipse, style=filled, color=green];
  n16 -> n21;
  n21 [label="b", shape=box];
  n21 -> n22;
  n22 [label="0", shape=box];
  n22 -> n23;
  n23 [label="b == 0", shape=box];
  n23 -> n24;
  n24 [label="<?>", shape=diamond];
  n24 -> n28 [label="T"];
  n24 -> n29 [label="F"];
  n28 [label="0", shape=box];
  n28 -> n17;
  n17 [label="END f1(b)", shape=ellipse, style=filled, color=green];
  n17 -> n34;
  n17 -> n45;
  n17 -> n49;
  n17 -> n68;
  n34 [label="RET f1", shape=box, style=filled, color=orange];
  n34 -> n17;
  n45 [label="RET f1", shape=box, style=filled, color=orange];
  n45 -> n58;
  n58 [label="a", shape=box];
  n58 -> n59;
  n59 [label="b", shape=box];
  n59 -> n60;
  n60 [label="a * b", shape=box];
  n60 -> n61;
  n61 [label="CALL g", shape=box, style=filled, color=orange];
  n61 -> n50;
  n61 -> n63;
  n50 [label="START g(c)", shape=ellipse, style=filled, color=green];
  n50 -> n53;
  n53 [label="a", shape=box];
  n53 -> n54;
  n54 [label="b", shape=box];
  n54 -> n55;
  n55 [label="a * b", shape=box];
  n55 -> n56;
  n56 [label="c", shape=box];
  n56 -> n57;
  n57 [label="(a * b) * c", shape=box];
  n57 -> n51;
  n51 [label="END g(c)", shape=ellipse, style=filled, color=green];
  n51 -> n63;
  n63 [label="RET g", shape=box, style=filled, color=orange];
  n63 -> n19;
  n19 [label="END f2(a, b)", shape=ellipse, style=filled, color=green];
  n19 -> n91;
  n91 [label="RET f2", shape=box, style=filled, color=orange];
  n91 -> n15;
  n15 [label="END", shape=ellipse, style=filled, color=gray];
  n49 [label="RET f1", shape=box, style=filled, color=orange];
  n49 -> n58;
  n68 [label="RET f1", shape=box, style=filled, color=orange];
  n68 -> n70;
  n70 [label="10", shape=box];
  n70 -> n83;
  n83 [label="20", shape=box];
  n83 -> n84;
  n84 [label="30", shape=box];
  n84 -> n85;
  n85 [label="CALL max", shape=box, style=filled, color=orange];
  n85 -> n71;
  n85 -> n87;
  n71 [label="START max(a, b)", shape=ellipse, style=filled, color=green];
  n71 -> n74;
  n74 [label="a", shape=box];
  n74 -> n75;
  n75 [label="b", shape=box];
  n75 -> n76;
  n76 [label="a > b", shape=box];
  n76 -> n77;
  n77 [label="<?>", shape=diamond];
  n77 -> n81 [label="T"];
  n77 -> n82 [label="F"];
  n81 [label="a", shape=box];
  n81 -> n72;
  n72 [label="END max(a, b)", shape=ellipse, style=filled, color=green];
  n72 -> n87;
  n87 [label="RET max", shape=box, style=filled, color=orange];
  n87 -> n89;
  n89 [label="CALL f2", shape=box, style=filled, color=orange];
  n89 -> n18;
  n89 -> n91;
  n18 [label="START f2(a, b)", shape=ellipse, style=filled, color=green];
  n18 -> n35;
  n35 [label="a", shape=box];
  n35 -> n36;
  n36 [label="b", shape=box];
  n36 -> n37;
  n37 [label="a > b", shape=box];
  n37 -> n38;
  n38 [label="<?>", shape=diamond];
  n38 -> n42 [label="T"];
  n38 -> n46 [label="F"];
  n42 [label="a", shape=box];
  n42 -> n43;
  n43 [label="CALL f1", shape=box, style=filled, color=orange];
  n43 -> n16;
  n43 -> n45;
  n46 [label="b", shape=box];
  n46 -> n47;
  n47 [label="CALL f1", shape=box, style=filled, color=orange];
  n47 -> n16;
  n47 -> n49;
  n82 [label="b", shape=box];
  n82 -> n72;
  n29 [label="b", shape=box];
  n29 -> n30;
  n30 [label="1", shape=box];
  n30 -> n31;
  n31 [label="b - 1", shape=box];
  n31 -> n32;
  n32 [label="CALL f1", shape=box, style=filled, color=orange];
  n32 -> n16;
  n32 -> n34;
}