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; }